ACC SHELL
<?php
/**
* Třída pro nastavení stránek menu redakčního systému
*
* @author Filip Štencl
* @since 8.7.2013
*/
class admin_stranky extends base {
const TABLE_NAME = 'admin_stranky';
private $id = null;
private $nazev = null;
private $url = null;
private $kod = null;
private $idadmin_kategorie = null;
private $nazevLimit = 150;
public function __construct($id = null) {
if(!is_null($id) && intval($id) != 0) { // Pokud již položka existuje, zpřístupni její vlastnosti
$result = dibi::query('SELECT * FROM ['.self::TABLE_NAME.'] WHERE id=%i',intval($id));
if($result->count() > 0) {
$row = $result->fetch();
$this->id = $row->id;
$this->nazev = $row->nazev;
$this->url = $row->url;
$this->kod = $row->kod;
$this->idadmin_kategorie = $row->idadmin_kategorie;
} else { notification::infoBox_error("Požadovaná položka nebyla nalezena"); redirect("./"); }
}
}
public function getId() { return $this->id; }
public function getNazev() { return $this->nazev; }
public function getNazevLimit() { return $this->nazevLimit; }
public function getUrl() { return $this->url; }
public function getKod() { return $this->kod; }
public function getIdadmin_kategorie() { return $this->idadmin_kategorie; }
public function create($variables,$redirectOnEnd = true) {
$arr = pripravPost($variables);
$arr["poradi"] = dibi::query("SELECT MAX([poradi]) FROM [".self::TABLE_NAME."] WHERE idadmin_kategorie = %i",intval($arr['idadmin_kategorie']))->fetchSingle() + 1;
$this->nazev = $arr["nazev"];
parent::create($arr,$redirectOnEnd);
}
public function setId($id) { $this->id = $id; }
protected function getChyba() { return $this->chyba; }
protected function checkData($data) {
if(array_key_exists("id",$data) && intval($data['id']) == 0) { $this->chyba .= "ID je v nesprávném formátu<br />"; return false; }
if(array_key_exists("idadmin_kategorie",$data)) { if(intval($data['idadmin_kategorie']) == 0) { $this->chyba .= "rodič je v nesprávném formátu<br />"; return false; }}
if(array_key_exists("nazev",$data)) { // Oveření názvu
if(strlen($data['nazev']) <= $this->getNazevLimit()) {
if(trim(strip_tags($data['nazev'])) == "") { $this->chyba .= "Název nebyl vyplněn<br />"; return false;}
} else { $this->chyba .= "Název obsahuje více jak ".$this->getNazevLimit()." znaků<br />"; return false; }
}
return true;
}
}
ACC SHELL 2018