ACC SHELL

Path : /srv/www/vhosts/unitedsolution/class/
File Upload :
Current File : /srv/www/vhosts/unitedsolution/class/tiskopisy.php

<?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
                                    '&nbsp;&nbsp;'.'<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