Modificare timp afisare Multumim... in Script notare

Aici prezentati probleme, intrebari, sau orice subiecte legate de scripturi si tutoriale de pe site.
Avatar utilizator
ionatan
Mesaje: 94

Modificare timp afisare Multumim... in Script notare

salut, si bine v-am regasit!
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;
}
?>
Acum, nu mai stiu in care fisier sa mai editez..... le-am luat la rand......... Multumesc anticipat
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

MarPlo Mesaje: 4343
Salut
Scriptul de notare care este acum pe site e o alta versiune, facuta pe sistemul de clasa si obiect. Codul pe care l-ai pus e din versiunea veche si nu functioneaza in scriptul actual.
Daca vrei sa afiseze textul "Multumim .." dupa vot pentru mai mult timp, schimba in "ratings.js" (la linia 137) codul:

Cod: Selectaţi tot

else addRtgData(rtgitem, jsonitems[rtgitem][0], jsonitems[rtgitem][1], renot);	// calls function that shows rating
Cu acesta:

Cod: Selectaţi tot

else if(ratev == '') addRtgData(rtgitem, jsonitems[rtgitem][0], jsonitems[rtgitem][1], renot);	// calls function that shows rating
else setTimeout(function(){addRtgData(rtgitem, jsonitems[rtgitem][0], jsonitems[rtgitem][1], renot);}, 4000);

ionatan Mesaje: 94
Multumesc pentru raspuns. Nu am incercat sa combin scriptul din versiunea veche cu cea noua, am incercat sa ma fac inteles, ca in acel script am reusit dar in acest a nu. Merci inca o data!
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

Subiecte similare