ACC SHELL

Path : /srv/www/vhosts/centrumlb/administrace/libs/
File Upload :
Current File : //srv/www/vhosts/centrumlb/administrace/libs/parametry.class.php

<?php

class Parametry {

    public $id = "";
    public $nazev = "";
    public $hodnoty = array();
    public $prirazeni_kategorii = "";
    public $obrazek = "";
    public $stav = "";
    public $priorita = "";
    public $typ_parametru = ""; //1-selectbox, 2-checkbox, 3-radibutton
    public $pagesize = '20';
    public $recordstart = '0';

    function __construct() {
	
    }

    public function getAdminTable() {
	if (isset($_SESSION['listuj']))
	    $this->pagesize = $_SESSION['listuj'];

	if (isset($_GET['recordstart']) && $navigace == '1') {
	    $this->recordstart = (isset($_GET['recordstart'])) ? (int) $_GET['recordstart'] : 0;
	}
	else
	    $this->recordstart = 0;
	/*
	  $row = dibi::select('*')
	  ->from('newsletter')
	  ->fetchall($this->recordstart, $this->pagesize);
	 */
	$query = "SELECT a.*, b.nazev typ_parametru FROM parametry a LEFT JOIN parametry_typ b ON a.typ=b.id";

	//$this->debug($query, true);
	$result = mysql_query($query);

	$num_rows = 0;
	if ($result)
	    $num_rows = mysql_num_rows($result);

	if ($num_rows > $this->pagesize) {
	    $query .= " LIMIT $this->recordstart, $this->pagesize";
	    $result = mysql_query($query);
	}
	//$this->debug($query);
	//echo "<br />celkem zaznamu: " . $num_rows . "<br />\n";
	$this->totalpages = ceil($num_rows / $this->pagesize);

	//echo "celkem stranek: " . $totalpages . "<br />\n";
	$this->currentpage = ($this->recordstart / $this->pagesize) + 1;

	if ($num_rows == 0) {
	    echo '<tr><td colspan="8">Nejsou založeny žádné parametry.</td></tr>';
	} else {
	    while ($row = mysql_fetch_assoc($result)) {

		echo "<tr>";
		echo '<td><input type="checkbox" name="checkbox[]" value="' . $row['id'] . '" id="" ></td>';

		//echo '<td><img src="'.PARAMETRY_F_ADMIN_PATH.$row['obrazek'].'" /></td>';
		echo "<td><a href=\"parametry_edit.php?id={$row['id']}\">" . $row['nazev'] . "</a></td>";

		echo '<td>' . $row['typ_parametru'] . '</td>';

		$stav = $row['stav'] == '1' ? "Ano" : "Ne";
		echo "<td><a href=\"?id={$row['id']}&amp;stav=$stav\">$stav</a></td>";

		$varianty = $row['varianty'] == '1' ? "Ano" : "Ne";
		echo "<td>$varianty</td>";

		/* Sloupec AKCE */
		echo "<td>";
		// AKCE - editace kategorie
		echo "<a href=\"parametry_edit.php?id=" . $row['id'] . "\" title=\"Editovat\"><img src=\"images/iko/note_edit.png\" alt=\"Editovat\" /></a>";
		// AKCE - prohlednout kategorii
		//echo "<a href=\"parametry_edit.php?id=" . $row['id'] . "\" title=\"Zobrazit\"><img src=\"images/iko/computer.png\" alt=\"Zobrazit\" /></a>";
		// AKCE - smazat kategorii
		echo '<a href="?smazat=' . $row['id'] . '" class="potvrzujiciLink" title="Smazat"><img src="images/iko/remove.png" alt="Smazat" /></a>';

		/* KONEC Sloupec AKCE */
		echo "</td></tr>";
	    }
	}
    }

    /*
     * @var [nazev] => nazev parametru (barva, sirka ..)
     * @var [stav] => stav parametru (1 zobrazovat, 0 nezobrazovat)
     * @var [typ_parametru] => 1 - selectbox, 2 - inputbox, 3 - radiobutton
     */

    public function pridatParametr($arr) {

	$valid = true;
	if ($arr['nazev'] == NULL) {
	    $_SESSION['message_ko'][] = "Parametr musí mít název";
	    $valid = false;
	}

	if ($valid == true) {
	    $result = dibi::query('INSERT INTO parametry', $arr);
	    if ($result)
		return dibi::getInsertId();
	    else
		return false;
	}
    }

    /**
     * @var [nazev] => nazev parametru (barva, sirka ..)
     * @var [stav] => stav parametru (1 zobrazovat, 0 nezobrazovat)
     * @var [typ_parametru] => 1 - selectbox, 2 - inputbox, 3 - radiobutton
     */
    public function pridatHodnotuParametru($arr) {

	$valid = true;
	if ($arr['nazev'] == NULL) {
	    $_SESSION['message_ko'][] = "Parametr musí mít název";
	    $valid = false;
	}

	if ($valid == true) {
	    $result = dibi::query('INSERT INTO parametry_hodnoty', $arr);
	    if ($result)
		return dibi::getInsertId();
	    else
		return false;
	}
    }

    /**
     * @var [id] => id parametru
     * @var [id_kategorie] => id kategorie ke ktere bude parametr prirazen
     */
    public function pridatPrirazeni($id, $id_kategorie) {

	$arr = array(
	    'id' => $id,
	    'id_kategorie' => $id_kategorie
	);
	try {
	    $result = dibi::query('INSERT INTO parametry_prirazeni ', $arr);
	} catch (Exception $e) {
	    return false;
	}
	return $id;
    }

    /*
     * @var nazev
     * @var predmet
     * @var obsah
     * @datum_vytvoreni
     * @id
     */

    public function updateParametr($arr) {
	$valid = true;
	if ($arr['nazev'] == NULL) {
	    $_SESSION['message_ko'][] = "Parametr musí mít název";
	    $valid = false;
	}
	if ($valid == true) {

	    $result = dibi::query('UPDATE parametry SET ', $arr, 'WHERE `id`=%i', $arr['id']);

	    if ($result) {
		$_SESSION['message_ok'][] = "Úprava parametru proběhla v pořádku.";
		return true;
	    } else {
		$_SESSION['message_ko'][] = "Úprava parametru neproběhla.";
		return false;
	    }
	}
    }

    /*
     * @int id              id hodnoty parametru
     * @int id_parametru    id parametru
     * @var nazev           nazev hodnoty
     * @bool stav           stav 1 - zobrazovat, 0 - nezobrazovat
     * @var obrazek         nazev souboru obrazku k tomuto parametru
     */

    public function updateHodnotuParametru($arr) {
	$valid = true;
	if ($arr['nazev'] == NULL) {
	    $_SESSION['message_ko'][] = "Parametr musí mít název";
	    $valid = false;
	}
	if ($valid == true) {

	    $result = dibi::query('UPDATE parametry_hodnoty SET ', $arr, 'WHERE `id`=%i', $arr['id']);

	    if ($result) {
		$_SESSION['message_ok'][] = "Úprava parametru proběhla v pořádku.";
		return true;
	    } else {
		$_SESSION['message_ko'][] = "Úprava parametru neproběhla.";
		return false;
	    }
	}
    }

    public function deleteParametry($id = false, $table = 'parametry') {
	if ($id != false) {
	    $result = dibi::query('DELETE FROM parametry WHERE [id] = %i ', $id);
	    return true;
	} else {
	    return false;
	}
    }

    public function zrusitPrirazeni($id = false) {
	if ($id) {
	    $result = dibi::query('DELETE FROM parametry_prirazeni WHERE [id] = %i ', $id);
	    if ($result) {
		return true;
	    }
	    return false;
	} else {
	    return false;
	}
    }

    public function smazatHodnotuParametru($id_parametru = false, $id_hodnoty = false) {
	if ($id_parametru && $id_hodnoty) {
	    $result = dibi::query('DELETE FROM parametry_hodnoty WHERE [id] = %i ', $id_hodnoty, ' AND id_parametru =%i', $id_parametru);
	    if ($result) {
		return true;
	    }
	    return false;
	} else {
	    return false;
	}
    }

    public function smazatFotkuParametru($id_parametru = false, $table = false) {
	if ($id_parametru && $table) {
	    $file = dibi::query('SELECT obrazek FROM ', $table, ' WHERE id=%i', $id_parametru)->fetchSingle();
	    $result = dibi::query('UPDATE ', $table, ' SET obrazek = null WHERE [id] = %i ', $id_parametru);
	    unlink(PARAMETRY_F_ADMIN_PATH . $file);
	    unlink(PARAMETRY_F_L_PATH . $file);
	    unlink(PARAMETRY_F_M_PATH . $file);
	    unlink(PARAMETRY_F_S_PATH . $file);
	    if ($result) {
		return true;
	    }
	    return false;
	} else {
	    return false;
	}
    }

    public function getInfo($id = NULL, $table = 'parametry') {

	if ($id === NULL) {
	    $result = dibi::query('SELECT * FROM parametry');
	} else {
	    $result = dibi::query('SELECT * FROM parametry WHERE [id] = %i LIMIT 1', $id);
	}


	if (count($result) == 0 || count($result) == false) {
	    return false;
	} else {
	    if ($id === NULL) {
		return $result->fetchAll();
	    }
	    else
		return $result->fetch();
	}
    }

    public function getPrirazeni($id = NULL) {
	$result = dibi::query('SELECT a.id, b.nazev, c.main_id, c.nazev nazev_kategorie
                                FROM parametry_prirazeni a
                                LEFT JOIN parametry b
                                    ON a.id=b.id
                                LEFT JOIN kategorie_popis c
                                    ON a.id_kategorie=c.id
                                WHERE [a.id] = %i ', $id);

	if (count($result) == 0 || count($result) == false) {
	    return false;
	} else {
	    return $result->fetchAll();
	}
    }

    public function getPrirazeniHodnot($id = NULL) {
	$query = 'SELECT a.id, a.nazev, a.id_parametru, a.obrazek, a.stav, a.popis, b.nazev nazev_parametru
                                FROM parametry_hodnoty a
                                LEFT JOIN parametry b
                                    ON a.id_parametru=b.id';
	if ($id) {
	    $query .= ' WHERE a.id_parametru = ' . $id;
	}
	$result = dibi::query($query)->fetchAll();

	if ($result) {
	    return $result;
	} else {
	    return false;
	}
    }

    public function getHodnotaParametru($id = NULL) {
	if (!$id) {
	    return dibi::query('SELECT a.id, a.nazev, a.popis, a.id_parametru, a.obrazek, a.stav
                                FROM parametry_hodnoty a
                                LEFT JOIN parametry b
                                    ON a.id=b.id')->fetchAll();
	} else {
	    $result = dibi::query('SELECT a.id, a.nazev, a.popis, a.id_parametru, a.obrazek, a.stav
                                FROM parametry_hodnoty a
                                LEFT JOIN parametry b
                                    ON a.id=b.id
                                WHERE [a.id] = %i ', $id, ' LIMIT ', 1);

	    if (count($result) == 0 || count($result) == false) {
		return false;
	    } else {
		return $result->fetch();
	    }
	}
    }

    public function deleteSoubor($id) {

	$result = dibi::query('SELECT obrazek FROM parametry_hodnoty WHERE id_parametru = %i', $id)->fetchAll();
	foreach ($result as $n => $row) {
	    if (!empty($row->obrazek)) {
		unlink(PARAMETRY_F_ADMIN_PATH . $row->obrazek);
		unlink(PARAMETRY_F_L_PATH . $row->obrazek);
		unlink(PARAMETRY_F_M_PATH . $row->obrazek);
		unlink(PARAMETRY_F_S_PATH . $row->obrazek);
	    }
	}
	return true;
    }

    public function getSeznamParametru($id = false) {
	if (!$id) {
	    return false;
	} else {
	    return dibi::query('SELECT * FROM parametry a LEFT JOIN parametry_prirazeni b
			    ON a.id=b.id
			    WHERE b.id_kategorie = %i', $id)->fetchAll();
	}
    }

}


ACC SHELL 2018