ACC SHELL
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
//trida pracujici s tiskopisy a jejimi kategoriemi
class tiskopisy{
//begin privatni vlastnosti
private $id=null;//pole id vybranych tiskopisu
private $name=null;//pole nazvu vybranych tiskopisu
private $visible=null;//pole viditelnosti vybranych tiskopisu
private $pos=null;//pole pozic vybranych tiskopsu
private $file=null;//pole nazvu dokumentu vybranych tiskopisu
private $idCategory=null;//pole id vybranych kategorii tiskopsu
private $nameCategory=null;//pole nazvu vybranych kategorii tiskopisu
private $posCategory=null;//pole pozic vybranych kategorii tiskopisu
private $visibleCategory=null;//pole viditelnosti vybranych kategorii tiskopisu
//end privatni vlastnosti
//begin pristup k privatnim vlastnostem
public function getId($i){
return $this->id[$i];
}
public function getName($i){
return $this->name[$i];
}
public function getPos($i){
return $this->Pos[$i];
}
public function getVisible($i){
return $this->visible[$i];
}
public function getfile($i){
return $this->file[$i];
}
public function getIdCategory($i){
return $this->idCategory[$i];
}
public function getNameCategory($i){
return $this->nameCategory[$i];
}
public function getPosCategory($i){
return $this->PosCategory[$i];
}
public function getVisibleCategory($i){
return $this->visibleCategory[$i];
}
//end pristup k privatnim vlastnostem
//naplni privatni vlastnosti tridy, informacemi o vsech viditelnych kategoriich podle pozice
private function selectAllCategory(){
$query = "SELECT id, name, pos, visible FROM ".DBPREFIX."tiskopisy_kategorie WHERE visible=true ORDER BY pos";
$sent = mysql_query($query);
$this->setCategory($sent);//naplneni privatnich vlastnosti
}
//naplni privatni vlastnosti informacemi o kategoriich tiskopisu
private function setCategory($sent){
$this->unsetCategory();
while($data = mysql_fetch_object($sent)){
$this->idCategory[] = $data->id;
$this->nameCategory[] = stripslashes($data->name);
$this->posCategory[] = $data->pos;
$this->visibleCategory[]=$data->visible;
}
}
//odstrani vlastnosi kategorii
private function unsetCategory(){
unset($this->idCategory);
unset($this->nameCategory);
unset($this->posCategory);
unset($this->visibleCategory);
}
//vraci html kod s viditelnymi nazvy kategorii a viditelnymi nazvy tiskopisu s odkazy na prislusne dokumenty
public function showAllForms(){
$this->selectAllCategory();//nalezne informace o vsech viditelnych kategoriich, a naplni jimi privatni vlastnosti
if(count($this->idCategory) == 0){//nebyly-li nalezeny zadne kategorie
return "<p>Nebyly nalezeny žádné tiskopisy. </p>";
}
$helpStr='';
for ($i=0;$i<count($this->idCategory);$i++){//pro kazdou kategorii
$helpStr .='<h3>'.$this->nameCategory[$i].':</h3>'."\n";//zobrazi jeji nazev
$helpStr .= $this->showForms($this->idCategory[$i]);//zobrazi aktualni nazvy tiskopisu s odkazem na prislusny dokument
}
return $helpStr;
}
//vraci html kod pro vypis viditelnych tiskopisu kategorie s danym id
private function showForms($idCategory){
$this->selectForms($idCategory);//naplneni privatnich vlastnosti informacemi o tiskopisech z dane kategorie
$helpStr='<ul>'."\n";
if (count($this->id)==0){//neexistuje zadny viditelny tiskopis v dane kategorii
return '<p>Nebyly nalezeny žádné tiskopisy.</p>'."\n";
}
for ($i=0;$i<count($this->id);$i++){//vypis vsech tiskopisu
if ($this->file[$i]!==''){//jestli-ze tiskopis obsahuje odkaz na nejaky dokument
$helpStr .= '<li>'.
'<img src="{HOST_NAME}images/'.$this->getTypeFile($this->file[$i]).'">'.//vlozi ikonku podle typu souboru
' '.'<a href="../admin/tiskopisy/dokuments/'.$this->file[$i].'" target="_blank">'.
$this->name[$i]."\n".
'</a>'.
'</li>'."\n";
}
else{
$helpStr .= '<li>'.$this->name[$i].'</li>'."\n";
}
}
$helpStr .='</ul>'."\n";
return $helpStr;
}
//vraci retezec s nazvem typu daneho souboru a koncovkou png(pdf.png, word.png, jpeg.png, excel.png).
private function getTypeFile($nameFile){
$pole=explode(".",$nameFile);
$ending=$pole[1];
switch ($ending){
case "jpg":
case "gif":
$type="jpeg";
break;
case "xls":
case "xlsx":
$type="excel";
break;
case "doc":
case "docx":
$type="word";
break;
case "pdf":
$type="pdf";
break;
}
return $type.".png";
}
//naplni privatni valstnosti informacemi o viditelnych tiskopsech z kategorie o danem id podle pozice
private function selectForms($idCategory){
$query = "SELECT id, name, pos, visible, file FROM ".DBPREFIX."tiskopisy WHERE category_id = '$idCategory' AND visible=true ORDER BY pos";
$sent = mysql_query($query);
$this->setForms($sent);//naplneni privatnich vlastnosti
}
//naplni privatni vlastnosti informacemi o tiskopisech
private function setForms($sent){
$this->unsetForms();
while($data = mysql_fetch_object($sent)){
$this->id[] = $data->id;
$this->name[] = stripslashes($data->name);
$this->pos[] = $data->pos;
$this->visible[]=$data->visible;
$this->file[]=$data->file;
}
}
//odstrani vlastnosi tiskopisu
private function unsetForms(){
unset($this->id);
unset($this->name);
unset($this->pos);
unset($this->visible);
unset($this->file);
}
}
?>
ACC SHELL 2018