acum ceva timp in urma, poate mai bine de 2 ani, am descarcat scriptul de notare si am reusit sa modific (marirea timpului de afisare "Multumim pt notare" acum, cred ca este alt script si nu mai reusesc in ratings.js la linia 77
ar trebui adaugata inca o linie de cod?
defapt in fisierul notare.php la linia 98
sleep(4); // Pauza 1 secunda (pt. a permite afisarea mai mult a "Multumim...")
Cod: Selectaţi tot
<?php
// Script notare - de la https://marplo.net" target="_blank
$verific = 0; // Daca e 0 se poate nota mai multe elemente in aceeasi zi, iar 1 va determina notarea unuia singur
$sep = '^^'; // Separator folosit la adaugarea si citirea datelor in fisiere
$sep2 = '^_^'; // Separator folosit la separarea elementelor de tip matrice
$f_notanti = 'notari/notanti.txt'; // Fisierul pt. stocarea celor care au notat
$f_note = 'notari/note.txt'; // Fisierul pt. stocarea notelor
// Functia e apelata cu array_map pt. a elimina adaugarea de linii in plus
function clean_rn($str) {
$str = str_replace("\r\n", '', $str);
if(strlen($str)<5) $str = '';
return $str;
}
// Creaza fisierele daca nu exista
if(!file_exists($f_notanti)) fopen($f_notanti, 'w');
if(!file_exists($f_note)) fopen($f_note, 'w');
// Preia date de mediu
$ziua = date("d");
$ip=$_SERVER['REMOTE_ADDR'];
if (isset($_POST['elm']) && isset($_POST['nota'])) {
// Verifica daca e cookie setat si extrage datele inbtr-un array
$n_cookie = array();
if(isset($_COOKIE['notari'])) $n_cookie = explode($sep2, $_COOKIE['notari']);
// Seteaza Matricele cu elementul si nota filtrate
$elm = array_map("strip_tags", $_POST['elm']);
$nota = array_map("intval", $_POST['nota']);
$note_elm = array_sum($nota); // Suma notelor elementelor primite
// Parcurge matricea cu notantii si pastreaza pe cei din ziua curenta
$notanti = file($f_notanti);
$notanti_azi = array();
for($i=0; $i<count($notanti); $i++) {
$notant = explode($sep, $notanti[$i]);
if($notant[0]==$ziua) $notanti_azi[] = trim($notanti[$i]);
}
$notarile = array_map("clean_rn", file($f_note)); // Preia intr-o matrice notarile din fisier
// In aceasta bucla se creaza si se verifica datele de notare pt. notanti
for($i=0; $i<count($elm); $i++) {
$renot["$elm[$i]"] = 0; // Variabila folosita pt. a nu efectua notare, daca e modificata
$elm_ver = ($verific===0) ? $ip.$sep.$elm[$i] : $ip; // Verificare cu fiecare element sau toate odata (doar $ip)
$cookie_ver[$i] = ($verific===0) ? $ziua.$sep.$elm[$i] : $ziua; // Pt adaugare /verificare in cookie
$notar[$i] = $ziua.$sep.$elm_ver; // Seteaza datele pt. inregistrarea celui ce a notat
// Verifica daca utilizatorul a mai notat elementul prelucrat (in datele din fisier si cookie)
// In functie de aceasta modifica valoarea lui $renot
if(in_array($notar[$i], $notanti_azi) || in_array($cookie_ver[$i], $n_cookie)) {
// Daca note_elm<1, la afisarea paginii, $renot e 1 pt. a nu se putea vota acelasi elm sau 3 pt. "Ati votat deja'
if($note_elm<1) $renot["$elm[$i]"] = 1;
else $renot["$elm[$i]"] = 3;
}
else if($note_elm>0) {
$renot["$elm[$i]"] = ($verific===0) ? 1 : 2; // Daca se voteaza acum elm e 1, sau 2 pt. a nu vota vreun alt elm
}
/* End verificare notanti */
$notari = ($nota[$i]===0) ? 0 : 1;
// Daca elementul curent are nota, adauga si nota data, incrementeaza nr. notari
for($n=0; $n<count($notarile); $n++) {
$elm_n = explode($sep, $notarile[$n]);
if(trim($elm[$i])==trim($elm_n[0])) {
$nota[$i] += trim($elm_n[1]);
$notari += trim($elm_n[2]);
break;
}
}
// Adauga /Actualizeaza notarea in matrice
$notarile[$n] = $elm[$i].$sep.$nota[$i].$sep.$notari;
$re_notari[$i] = $notarile[$n].$sep.$renot["$elm[$i]"]; // Matrice cu datele ce trebuie returnate
}
// Cand functia e apelata la notare, note_elm>0 si renot e 1 sau 2
if($note_elm>0 && (array_sum($renot)==1 || array_sum($renot)==2)) {
// Daca poate scrie in fisierul cu notanti si note
if(is_writable($f_notanti) && is_writable($f_note)) {
// Adauga in matricea cu notanti_azi si notantul curent
$notanti_azi = array_merge($notanti_azi, $notar);
// Daca a adaugat nota, adauga si notarul in fisierul specific si in cookie
if(file_put_contents($f_note, implode("\r\n", $notarile))) {
file_put_contents($f_notanti, implode("\r\n", $notanti_azi));
$n_cookie = array_merge($n_cookie, $cookie_ver); // Adauga in cookie si elementul notat
setcookie("notari", implode($sep2, $n_cookie), (time()+86400));
sleep(4); // Pauza 1 secunda (pt. a permite afisarea mai mult a "Multumim...")
}
}
}
$re = implode($sep2, $re_notari); // Defineste datele de iesire, transferate la functia ajax() din JS
echo $re;
}
?>