ACC SHELL
<?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']}&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