ACC SHELL
<?php
/**
* @author Filip Štencl
* @since 12. 04. 2018
*/
class stitky extends base {
const TABLE_NAME = 'stitky';
private $idvidea = null;
private $nazev = null;
private $mr_url = null;
private $soubor = null;
private $chyba = null;
public function __construct($id = null) {
if (!is_null($id)) { // Pokud již položka existuje, zpřístupní její vlastnosti
$sql = '
SELECT
A.*
FROM ['.self::TABLE_NAME.'] A
WHERE A.mr_url= %s
';
$result = dibi::query($sql,$id);
if($result->count() > 0) {
$row = $result->fetch();
$this->idvidea = $row->idvidea;
$this->nazev = $row->nazev;
$this->mr_url = $row->mr_url;
} else { /*set404();*/ }
}
}
public function getIdvidea() { return $this->idvidea; }
public function getNazev() { return $this->nazev; }
public function getMr_url() { return $this->mr_url; }
public function setId($id) { $this->id = $id; }
protected function getChyba() { return $this->chyba; }
protected function checkData($data) {
if(array_key_exists("id",$data)) {if(intval($data['id']) > 0) { $this->id = intval($data['id']); } else { $this->chyba .= "ID je v nesprávném formátu<br />"; return false; }}
return true;
}
public function insert() {
redirect(admin::returnBack());
}
public function edit($variables,$redirectOnEnd = true) {
$arr = pripravPost($variables);
dump($arr);
dibi::query('UPDATE ['.self::TABLE_NAME.'] SET ',$arr,'WHERE [mr_url]=%s',$arr->mr_url);
dibi::test('UPDATE ['.self::TABLE_NAME.'] SET ',$arr,'WHERE [mr_url]=%s',$arr->mr_url);
die();
redirect(admin::returnBack());
}
public function delete($redirectOnEnd = true) {
if(dibi::query("DELETE FROM [".self::TABLE_NAME."] WHERE [mr_url]=%i",intval($this->getMr_url()))) {
notification::infoBox_success("Položka <strong>".$this->getNazev()."</strong> byla smazána");
notification::zaloguj("Položka <strong>".$this->getNazev()."</strong> byla smazána",$this->getMr_url(),self::TABLE_NAME);
} else { notification::infoBox_error("Při mazání položky z databáze se vyskytla chyba"); }
if ($redirectOnEnd == true) { redirect(admin::returnBack()); }
}
}
ACC SHELL 2018