Esempio n. 1
0
     // Brisanje pojedinacnog autotesta
     $json = json_decode(file_get_contents($fileData), true);
     $brATova = count($json["test_specifications"]);
     $id = getIntVar("id");
     // Potrebno saznati redni broj autotesta sa datim id-em
     $i = 0;
     $k = 1;
     while ($k <= $brATova) {
         if ($json["test_specifications"][$k - 1]["id"] == $id) {
             $i = $k;
             break;
         }
         $k++;
     }
     if ($i == 0) {
         ispisGreske("Nije pronađen autotest sa id-em: {$id}");
         zavrsi();
     }
     $i--;
     // Slijedi izbacivanje AT-a iz json-a, nakon toga modifikovati $data
     for ($k = $i; $k < $brATova - 1; $k++) {
         $json["test_specifications"][$k] = $json["test_specifications"][$k + 1];
         $json["test_specifications"][$k]["id"] = getNewId();
     }
     $brATova--;
     array_splice($json["test_specifications"], $brATova);
     // Izbacimo zadnji element
     saveJson($fileData, $json);
     print "Brisanje izvršeno!";
     admin_log("delete single at, file {$fileData} (mod={$mod})");
 } else {
Esempio n. 2
0
function getNewId()
{
    global $fileLastId;
    if ($fileLastId == "") {
        ispisGreske("Naziv fajla u funkciji getNewId() ne mo&#382;e biti prazan string.");
        zavrsi();
    }
    if (!($fw = fopen($fileLastId, "c+"))) {
        ispisGreske("Problem sa otvaranjem fajla <{$fileLastId}>.");
        zavrsi();
    }
    if (flock($fw, LOCK_EX)) {
        rewind($fw);
        // Vrati se na pocetak fajla, spreman za citanje
        $id = intval(trim(fgets($fw)));
        $id = $id >= PHP_INT_MAX ? 1 : $id + 1;
        ftruncate($fw, 0);
        // Pobriše sadržaj fajla
        rewind($fw);
        // Kursor na pocetak fajla ponovo
        // Treba upisati novi sadržaj
        fwrite($fw, $id);
        fflush($fw);
        flock($fw, LOCK_UN);
        fclose($fw);
    }
    return $id;
}