Actualizare script filumina.ro de la versiunea din 02-04-2018, la versiunea din 07-08-2018

Conținutul fișierului Ce_e_nou.html:

Detalii actualizare

CITEȘTE ÎNTREGUL DOCUMENT, PENTRU O ACTUALIZARE CORECTĂ A SCRIPTULUI!

Această actualizare este valabilă doar pentru versiunea din data de 02-04-2018.

Pentru a instala această actualizare, urmează cu atenție următorii pași:

  1. Fă un backup al întregului site, pentru eventualitatea în care greșești ceva, sau pentru recuperarea de modificări pe care le-ai adus scriptului și bazei de date.
  2. Șterge fișierele din public_html, (ATENȚIE! DOAR FIȘIERELE, NU ȘI FOLDERELE!).
  3. Copiază fișierele din scriptul descărcat, doar fișierele din folderul pubic_html.
  4. Copiază conținutul folderului numit "actualizare_dela_02-04-2018_la_07-08-2018" unde ai copiat și fișierele, adică în public_html, sau în rădăcina domeniului pe care vrei să actualizezi acest script.
  5. Editează și salvează fișierul numit "config.php", și numele site-ului din fișierele ".htaccess" și "robots.txt" precum le-ai avut în scriptul anterior, mai multe detalii mai jos:
    Trebuie modificat numele și adresa site-ului și din fișierele robots.txt (liniile 3, 4, 5 și 6) și .htaccess (liniile 9, 10, 11, 13, 14 și 146).
    Dacă se dorește utilizarea cu un certificat SSL, se înlocuiește textul "http://" cu textul "https://" din următoarele fișiere astfel:

    • .htaccess – Linia 14, dar se decomentează și liniile 8, 9, 10 și 11
    • config.php – Liniile 3 și 7
    • robots.txt – Liniile 3, 4, 5 și 6

    pentru certificat simplu (DV); deasemenea se înlocuiește http:// cu "https://" și din fișierul config.php, linia 8 pentru certificat valabil și pentru subdomenii.
    Dacă nu ai avut modificări care țin de imagini personalizate cu numele site-ului, trebuie să faci și următorii pași pentru a elimina apariția acelor imagini:

    • /img/counter.png folosită pentru afișarea statisticilor de pe index jos (dacă nu a fost editată, se șterge următorul bloc de cod din fișierul index.php '<div style="text-align:left"><img src="'.$domenii_statice[0].'counter.png" alt="" /></div>')
    • /img/favicon.ico imaginea pentru afișarea în istoricul sau marcajele din browser (dacă nu a fost editată, se șterge următorul text din fișierul f_sus.php: '<link type="image/x-icon" rel="shortcut icon" href="'.$domenii_statice[1].'favicon.ico" />')
      • /img/logo_poze/mare.png
      • /img/logo_poze/mic.png
      • /img/logo_poze/mij.png
      • /img/logo_poze/thumb.png

      folosite pentru a imprima numele site-ului pe poze (dacă nu au fost editate, se caută după textul '##Linii care vin eliminate pentru a nu scrie numele site-ului pe poze:' în fișierele admin-adauga-poza.php și adauga-poza.php, și se urmează instrucțiunile de acolo)

    În această versiune au fost adăugate și niște logouri audio personalizate cu numele site-ului, după cum urmează:

    • /img/logo_audio/biserica_live.mp3 – folosit dacă se dorește accesarea în player a unei Biserici live al cărei link nu mai există în baza de date.
    • /img/logo_audio/fisier1.mp3 – folosit dacă se dorește accesarea în player a unui fișier de la descărcări, fișier al cărui link nu mai există în baza de date.
    • /img/logo_audio/fisier2.mp3 – folosit dacă se dorește accesarea în player a unui fișier de la descărcări, fișier al cărui album a fost blocat pentru descărcare/ascultare/vizionare.
    • /img/logo_audio/radio_online.mp3 – folosit dacă se dorește accesarea în player a unui Radio online al cărui link nu mai există în baza de date.

    Dacă nu ai posibilitatea să faci astfel de logouri, se caută după textul '##Linii care vin eliminate pentru a nu reda logouri audio cu numele site-ului:' în fișierul asculta.php, și se urmează instrucțiunile de acolo.

  6. Apelează în browser (DOAR O SINGURĂ DATĂ) fișierul numit "actualizare.php".
  7. Verifică funcționalitatea site-ului
  8. Dacă ai fișiere din versiunea anterioară, și dorești să le incluzi în acest script, trebuie să înlocuiești numele variabilelor/tabelelor/coloanelor care au fost modificate, (pentru mai multe detalii, citește și secțiunea următoare).

Ce e nou

În această versiune a scriptului au fost făcute următoarele modificări:

A fost făcut ca la instalarea scriptului să se actualizeze și data înregistrării la timpul curent pentru toate conturile din baza de date.

A fost făcut ca să se insereze știri în tabela `evenimente`, când un membru își dezactivează/reactivează contul.

Au fost definite în fișierul f_header.php condițiile necesare pentru eliminarea din memoria cache a resurselor generate dinamic, iar acel fișier a fost inclus în locurile în care erau definite astfel de headere.

Au fost adăugate 23 de linii la începutul fișierului img/.htaccess, condiții care fac ca resursele statice să fie păstrate în memoria cache a browserului utilizatorului.

A fost adăugat fișierul ".user.ini", deoarece unele servere nu sunt configurate să recunoască fișiere "php.ini" din scripturile clienților, iar variabilele care pot fi definite în acest tip de fișier au fost mutate din php.ini; deasemenea au fost adăugate și variabile noi, în special unele necesare pentru păstrarea sesiunii pentru un timp mai îndelungat.

Au fost revizuite toate apelările funcțiilor ini_set() și set_time_limit(); deasemenea a fost eliminat semnul "@" din locurile în care a fost definit în mod inutil.

A fost inclus fișierul "fun.php" în toate fișierele în care erau incluse fișiere specifice meniurilor, iar acele fișiere au fost incluse mai jos; modificare necesară pentru a permite includerea de fișiere după fișierul "fun.php" și în meniurile cu fișiere "f_*.php", specifice acelor meniuri, de exemplu fișierul "f_necesar.php".

A fost adăugat fișierul "f_necesar.php", fișier care oprește execuția scriptului dacă o variabilă necesară nu a fost definită, sau nu are conținut; este util de exemplu când se apelează un link de forma "https://www.filumina.ro/fisier/id/-test", link din care lipsește identitatea fișierului apelat.

Fișierul "f_grup.php" a fost redenumit în "f_grupuri.php".

A fost adăugată variabila $setari_api, variabilă în care sunt definite datele API-urilor cu care comunica acest script.

A fost adăugat pe index link pentru site-ul resursecrestine.tk, dar acel link apare doar dacă variabila $setari_api['resursecrestine'] este completată cu ID-ul personalizat pe acel site.
La cererea a câtorva utilizatori ai scriptului, a fost adăugată și posibilitatea de a avea pe index link pentru "Meditația zilei", dar acel link apare doar dacă variabila $setari_api['resursecrestine'] este completată cu un ID personalizat, și doar dacă a fost deja setată pe site-ul resursecrestine.tk.
Setarea/resetarea pentru numărul de resurse, dar și pentru ID-ul de la meditația zilei se face din fișierul cron_orar, zilnic, la sau după ora 1 AM.

Au fost redenumite fișierele: "adauga-la-ignorati.php" în "blocheaza-membru.php", "sterge-de-la-ignorati.php" în "deblocheaza-membru.php", "lista-ignorati.php" în "membrii-blocati.php".

A fost adăugat tagul "<time>" pentru versiunea HTML în fișierul f_data.php, tag care este înțeles de browsere, dar ajută la o mai bună indexare a site-ului, fiind înțeles și de motoarele de căutare.

A fost revizuit fișierul f_sitemap.php, iar la funcția sitemap() a fost adăugat și parametrul "prioritate", fiind apelat în funcție de prioritatea link-urilor din sitemap-uri astfel:

  • Pentru primele 6 niveluri se folosesc pentru versiunea HTML tagul <hX>, unde X reprezintă un număr până la 6, iar celelalte elemente marcate sunt afișate cu tagul <priority> doar în versiunea XML.
  • Cu valorile 1, 2, 3, 4, 5 și 6 sunt marcate următoarele elemente: 1. link-urile directe către meniuri, 2. link-urile către categorii, 3. în funcție de disponibilitate link-urile către albume (meniul descărcări), topicuri (meniul forum), 4, 5 și 6 celelalte elemente rămase.
  • Cu valoarea 6 mai sunt marcate link-urile paginilor/paginărilor pentru meniurile: "Evenimente recente", "Ultimele fișiere adăugate" și "Ultimele topicuri adăugate"; meniuri care conțin spre indexare link-uri deja existente în sitemap-uri, și la care au fost adăugate doar link-urile de paginare.
  • Cu valorile 7, 8, 9 și 10 sunt marcate link-uri pentru: comentarii, note, aprecieri și dezaprecieri.

A fost definit parametrul "descriere" în fișierele de sitemap-uri, conținând 150 de caractere din textele elementelor care afișează text, și a fost făcut să fie returnat pentru versiunile HTML și RSS.

A fost definit parametrul "data" în fișierele de sitemap-uri, conținând data ultimei editări a elementului; deasemenea a fost făcut ca în fișierele prin care se adaugă/editează elemente, să se seteze/actualizeze coloana `activitate` la data curentă.

Au fost eliminate următoarele tag-uri din fișierul f_sus.php, deoarece declararea lor se putea omite, ne fiind obligatorie prezența lor:

  • <meta name="HandheldFriendly" content="true" />
  • <meta name="robots" content="index,follow,noarchive,noodp,noydir" />
  • <meta name="googlebot" content="nosnippet" />

A fost lăsat următorul tag, care este returnat doar dacă variabila $head[2] este setată:
<meta name="robots" content="noindex" />

Au fost eliminate și următoarele tag-uri din fișierul index.php:

  • <link rel="author" href="//plus.google.com/113439661313276046148/posts" />
  • <meta name="google-site-verification" content="ii9dnHbN708nDYQYXjo6LX9GpPjqWvlNblIJAq_WPmk" />
  • <meta name="msvalidate.01" content="8A5F0ED314731B2E7B3F553BC02B7B11" />

Au fost adăugate următoarele variabile în fișierul fun.php, dar și în alte fișiere în care a fost necesar să fie definite:

  • $head[6] – în fișierul fun.php este definit link-ul curent, și acesta este returnat dacă nu este definit link canonical în fișierele meniurilor pentru care sunt generate sitemap-uri
  • $head[7] – returnează link-ul unui logo al site-ului, dar a fost definită și în locul următoarei definiții din anumite fișiere care afișează logoul site-ului: /'.$conn->query('SELECT`link`FROM`imagini_iconite`WHERE`pid`="3"ORDER BY RAND()LIMIT 1')->fetch_row()[0].'
  • $head[8] – în fișierul fun.php returnează valoarea <meta property="og:type" content="website" />, dar în alte fișiere poate conține și alte definiții pentru meta tag-uri necesare pentru a fi înțelese de Facebook, Twitter, Google și alte motoare de căutare, respectând standarde menționate pe site-urile ogp.me și (în viitor) schema.org
  • $head[9] – dacă este definită în alte fișiere, returnează meta tag-uri pentru o imagine specifică, în special logouri, dar dacă nu este definită decât în fișierul fun.php, returnează aleatoriu meta tag-uri cu unul din logourile site-ului
  • $head[10] – dacă este definită, returnează cuvintele cheie, dar momentan nu este definită în nici un loc în script, deoarece trebuie făcut meniu special pentru cuvinte cheie.

A fost redenumit meniul "Galerie" în "Galerie foto".

A fost redenumit meniul "Statistici" în "Statistici site".

A fost redenumit meniul "Membrii conectați zilnic" în "Statistici zilnice".

A fost redenumit meniul "Vizitatori" în "Vizitatori offline".

Au fost făcute sitemap-uri pentru meniurile: Biserici live, Chestionare, Fluxuri RSS, Galerie foto, Grupuri, Parteneri site, Radiouri online și Regulament site.

A fost făcut ca variabilele $head[X] să fie definite dacă utilizatorul nu este autentificat, dar doar pentru valorile care e necesar să fie returnate doar în modul offline.

A fost făcută pagină pentru accesarea doar a unui site partener, și a fost adăugată posibilitatea de setare a descrierii la parteneri.

Au fost adăugate meta tag-uri de recunoaștere de către Facebook, pentru logouri în fișierele care returnează logouri specifice unui element.

A fost apelată variabila $titlu în fișierul f_jos.php, fiind eliminată interogarea care returna locația utilizatorului (din tabela `membrii_conectati`), deoarece locația nu era setată în fiecare pagină care afișa variabile $back[X].

A fost adăugat fișierul "asculta.php", fișier care este folosit la playerele audio/video, făcând posibilă contorizarea ascultărilor/vizionărilor pentru elementele meniurilor: Biserici live, Descărcări, Radiouri online; dar au fost adăugate și câteva logouri audio, în cazul în care din diverse motive un link nu poate fi accesat de către player.

A fost înlocuită combinația "/[^a-z0-9_-]/i" cu combinația "/[^a-z0-9-]/i" în fișierele: informatii-invita-prietenii.php, logare.php, prieteni-invitati.php, sitemap-membrii.php; modificare necesară din cauză că în cPanel nu mai sunt acceptate subdomenii cu caracterul "_".

A fost eliminată blocarea de indexare a pozelor din fișierul robots.txt, deoarece nu se puteau indexa avatarele membrilor, și acest lucru era recunoscut ca greșit de către Google; dar în schimb au fost adăugate pentru blocare link-urile "administrare" și cele care încep cu "admin-".

Au fost adăugate în sitemap-uri toate link-urile care este recomandat să fie indexate de către motoarele de căutare.

A fost adăugat meniul "Optimizează imagini", meniu valabil doar pentru membrii care sunt declarați în variabila $id_proprietari; meniu prin care se pot optimiza imaginile site-ului care au extensiile "jpg", "jpeg" și "png", folosind API-ul de pe site-ul TinyPng.com.

Dosarul "getid3" a fost mutat în subdosarul "api".

Au fost reparate variabile care generau erori de tip notice în error_log.

Au fost înlocuite anumite cuvinte fără diacritice fiind înlocuite cu cuvinte cu diacritice la nivelul întregului script, urmând ca treptat să fie înlocuite cât mai multe.

Au fost reparate și alte erori minore, deasemenea au fost reorganizate anumite interogări, fiind eliminate unele variabile definite în mod inutil.

A fost implementat operatorul ?? în anumite locuri în care a fost necesar; fiind eliminată apelarea funcției isset (facilitate valabilă începând cu php 7.0.0), modificare care pe parcurs urmează să fie aplicată întregului script.

Download script de aici!