ACC SHELL
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
//trida pracujici se skolenimi a jejimi kategoriemi
class training{
//begin privatni vlastnosti
private $id=null;//pole id vybranych skoleni
private $name=null;//pole nazvu vybranych skoleni
private $date=null;//pole datumu konani vybranych skoleni
private $place=null;//pole mist konani vybranych skoleni
private $time=null;//pole casu konani vybranych skoleni
private $visible=null;//pole viditelnosti vybranych skoleni
private $idCategory=null;//pole id vybranych kategorii skoleni
private $nameCategory=null;//pole nazvu vybranych kategorii skoleni
private $posCategory=null;//pole pozic vybranych kategorii skoleni
private $visibleCategory=null;//pole viditelnosti vybranych kategorii skoleni
//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 getDate($i){
return $this->date[$i];
}
public function getPlace($i){
return $this->place[$i];
}
public function getTime($i){
return $this->time[$i];
}
public function getVisible($i){
return $this->visible[$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."training_category WHERE visible=true ORDER BY pos";
$sent = mysql_query($query);
$this->setCategory($sent);//naplneni privatnich vlastnosti
}
//naplni privatni vlastnosti informacemi o kategoriich skoleni
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 informacemi o jejich skolenich
public function showAllTraining(){
$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é školení. </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->showTraining($this->idCategory[$i]);//zobrazi informace o skolenich v dane kategorii
}
return $helpStr;
}
//vraci html kod pro vypis informaci o danem skolenich z kategorie s danym id
private function showTraining($idCategory){
$this->selectTrainings($idCategory);//naplneni privatnich vlastnosti informacemi o skolenich z dane kategorie
$helpStr='<ul>'."\n";
if (count($this->id)==0){//neexistuje zadny viditelny skoleni v dane kategorii
return '<p>V teto kategorii nebylo nalezeno žádné šloleni.</p>'."\n";
}
for ($i=0;$i<count($this->id);$i++){//vypis vsech skoleni
$helpStr .= '<li>'."\n".
'<strong>'.$this->date[$i].'</strong> '.$this->name[$i].' => '.$this->place[$i].' '.$this->time[$i]."\n".
'</li>'."\n";
}
$helpStr .='</ul>'."\n";
return $helpStr;
}
//naplni privatni vlastnosti informacemi o viditelnych skolenich z kategorie o danem id podle data skoleni
private function selectTrainings($idCategory){
$query = "SELECT id, name, DATE_FORMAT(date,'%d.%m.%y') AS datum, place, time, visible FROM ".DBPREFIX."training WHERE category_id = '$idCategory' AND visible=true ORDER BY date";
$sent = mysql_query($query);
$this->setTrainings($sent);//naplneni privatnich vlastnosti
}
//naplni privatni vlastnosti informacemi o skolenich
private function setTrainings($sent){
$this->unsetTrainings();
while($data = mysql_fetch_object($sent)){
$this->id[] = $data->id;
$this->name[] = stripslashes($data->name);
$this->date[] = $data->datum;
$this->place[] = $data->place;
$this->time[] = $data->time;
$this->visible[]=$data->visible;
}
}
//odstrani vlastnosi skoleni
private function unsetTrainings(){
unset($this->id);
unset($this->name);
unset($this->date);
unset($this->place);
unset($this->time);
unset($this->visible);
}
}
?>
ACC SHELL 2018