ACC SHELL

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

<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

//trida manipulujici se skolenimi

class training{


//begin privatni vlastnosti tridy
private $id=NULL;//pole id vybranych skoleni
private $name=NULL;//pole nazvu vybranych skoleni
private $date=NULL;//pole datumu vybranych skoleni
private $place=NULL;//pole mist konani vybranych skoleni
private $time=NULL;//pole casu konani vybranych skoleni
private $categoryId=NULL;//pole id kategorii vybranych skoleni
private $visible=NULL;//pole indikujici viditelnost jednotlivych skoleni
private $msg=NULL;//potvrzeni uspesnosti akce se skolenima
//end privatni vlastnosti tridy

//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 getCategoryId($i){
    return $this->categoryId[$i];
}

public function getVisible($i){
    return $this->visible[$i];
}

public function getMsg(){
    return $this->msg;
}

//end pristup k privatnim vlastnostem

//odstrani vlastnosti tiskopisu
public function unsetTraining(){

    unset ($this->id);
    unset ($this->name);
    unset ($this->date);
    unset ($this->place);
    unset ($this->time);
    unset ($this->categoryId);
    unset ($this->visible);

}

//zobrazi vsechny skoleni ve strukture jejich kategorii
public function show(){

    $category = new trainingCategory();

    $category->selectCategory();//nalezne vsechny kategorie skoleni
                                //naplni prislusne vlastnosi instance $category informacemi o nalezenych kategoriich

    echo '<div>'."\n";

    //pro kazdou kategorii vytvori radek s nazvem a editacnimi tlacitky
    for ($i=0;$i<$category->getNumCategory();$i++){
                //nazev kategorie a odkaz na zmenu nazvu teto kategorie
        echo    '<div class="menu_list_page">'.
                    '<span class="m_name">'.
                        '<a href="default.php?page=training/editCategory&amp;id_c='.$category->getId($i).'">'.stripslashes($category->getName($i)).'</a>'.
                    '</span>';


        echo        //tlacitko pro posun kategorie o jednu pozici nahoru
                    '<span>'.
                        '<a href="default.php?page=training/training&amp;b=up&amp;id_c='.$category->getId($i).'">'.
                            '<img src="img/up.gif" alt="up" border="0" />'.
			'</a>'.
                    '</span>'.

                    //tlacitko pro posun kategorie o jednu pozici dolu
                    '<span>'.
                        '<a href="default.php?page=training/training&amp;b=down&amp;id_c='.$category->getId($i).'">'.
                            '<img src="img/down.gif" alt="down" border="0"/>'.
			'</a>'.
                    '</span>'.

                    //obrazek s odkazem na zmenu viditelnosti kategorie
                    '<span>'.
			'<a class="view" href="default.php?page=training/training&amp;b=view&amp;id_c='.$category->getId($i).'">'.
				($category->getVisible($i) == 1 ? //volba obrzku(skryt x zobrazit)
                                    '<img src="img/show.png" alt="skryt" border="0" title="Skryt" />'
                                    :
                                    '<img src="img/hidden.png" title="Zobrazit" alt="zobrazit" border="0" />'
				).
				'</a>'.
                            '</span>'.

                    //tlacitko pro smazani kategorie
                    '<span>'.
                        '<a class="delete" href="default.php?page=training/training&amp;b=delete&amp;id_c='.$category->getId($i).'">'.
                            '<img src="img/delete.jpg" alt="Smazat" border="0" title="Smazat" />'.
			'</a>'.
                    '</span>';

            echo  '<div class="clear"></div>'.
		'</div>'."\n";

        $this->selectTrainings($category->getId($i));//nalezne vsechny skoleni aktualni kategorie a
                                                     //naplni jimi prislusne vlastnosi tridy
        //pro kazdy skoleni vytvori radek s nazvem a editacnimi tlacitky
        for($j=0;$j<count($this->id);$j++){

            $datum=explode("-",$this->date[$j]);

                    //datum a nazev skoleni a odkaz na jeho editaci
            echo    '<div class="submenu_list_page">'.
                        '<span class="s_t_name">'.
                            '<a href="default.php?page=training/edit&amp;id_t='.$this->id[$j].'">'.$datum[2].'.'.$datum[1].'.'.substr($datum[0],2,2).' | '.stripslashes($this->name[$j]).'</a>'.
                        '</span>'.

                        //obrazek s odkazem na zmenu viditelnosti skoleni
                        '<span>'.
				'<a class="view" href="default.php?page=training/training&amp;b=view&amp;id_t='.$this->id[$j].'">'.
				($this->visible[$j] == 1 ? //volba obrzku(skryt x zobrazit)
                                    '<img src="img/show.png" alt="skryt" border="0" title="Skryt" />'
                                    :
                                    '<img src="img/hidden.png" title="Zobrazit" alt="zobrazit" border="0" />'
				).
				'</a>'.
                            '</span>'.

                        //tlacitko pro smazani skoleni
                            '<span>'.
                                '<a class="delete" href="default.php?page=training/training&amp;b=delete&amp;id_t='.$this->id[$j].'">'.
                                    '<img src="img/delete.jpg" alt="Smazat" border="0" title="Smazat" />'.
                                '</a>'.
                            '</span>';



			echo '<div class="clear"></div>'.
                    '</div>'."\n";
        }
    }

    echo '</div>'."\n";
}

//nalezne vsechny skoleni patrici kategorii s danym id a
//naplni prislusne vlastnosi tridy
public function selectTrainings($id_category){

    $this->unsetTraining();//odstrani privatni vlastnosti

    $query = "SELECT * FROM ".DBPREFIX."training WHERE category_id = '".$id_category."' ORDER BY date ASC";

    $sent = mysql_query($query);

    $this->setTraining($sent);//naplni privatni vlastnosti tridy

}

//naplni privatni vlastnosti tridy
public function setTraining($sent){

    $this->unsetTraining();

    while($data = mysql_fetch_object($sent)){

	$this->id[] = $data->id;
	$this->name[] = stripslashes($data->name);
        $this->date[] = $data->date;
        $this->place[] = $data->place;
        $this->time[] = $data->time;
        $this->categoryId[]=$data->category_id;
        $this->visible[]=$data->visible;
    }
}

//prida nove skoleni s nazvem $name do databaze
//naplni privatni vlastnost msg o uspesnosti akce
//vraci true nebo false podle, toho zda bylo skoleni uspesne pridano do databaze
public function add($name, $date, $place, $time, $id_category, $visible){

    if(!empty($name)){//je-li vyplneny nazev skoleni

	$name = addslashes($name);

        if(!$visible=='TRUE'){
            $visible='FALSE';
        }

	//if(!$this->existName($name)){//neexistuje-li školení s timto nazvem

            if(!empty($date) && !$this->isDate($date)){//je-li spatne vylnene datum, naplni vlastnosti msg a opusti tuto funkci
                return FALSE;
            }
            elseif (empty($date)) {//neni-li vyplnene datum
                $date = date("Y-m-d");//napleneni promenou aktualnim datem ve spravnem formatu
            }

            //vklada skoleni do databaze
            $query = "INSERT INTO ".DBPREFIX."training (name, date, place, time, category_id, visible) VALUES('$name', '$date', '$place', '$time', '$id_category',$visible)";

            if(mysql_query($query)){//bylo-li skoleni uspesne vlozeno

		$this->msg = TRAINING_CREATED;
                return TRUE;
            }

            else{//nebylo-li skoleni uspesne vlozeno
		$this->msg = SQL_ERROR.mysql_error();
                return FALSE;
            }
	//}
	//else{//existuje-li jiz tento nazev školeni
        //    $this->msg = TRAINING_NAME_EXIST;
        //    return FALSE;
	//}


    }
    else{//neni vyplnen nazev skoleni
	$this->msg = FORM_TRAINING_EMPTY;
        return FALSE;
    }

}

//zkontroluje spravnost formatu zadaneho data a jeho existenci
//pokud jedna z kontrol neprojde, tak naplni privatni vlastost msg zpravou o spatnem datumu a vrati false
//jinak vraci true
public function isDate($datum){

    if(!ereg("^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$",$datum)){//neni-li format data zadan tak jak ho vyzaduje sql
        $this->msg = WRONG_DATE_FORMAT;
        return FALSE;
    }

    $date_array = explode("-",$datum);//rozlozi datum do pole([0]=>rok,[1]=>mesic,[2]=>den)

    if (!checkdate($date_array[1], $date_array[2], $date_array[0])){//jestlize se jedna o neeexistujici datum
        $this->msg = NO_EXIST_DATE;
        return FALSE;
    }
    return TRUE;

}

//vraci true, pokud jiz skoleni s timto jmenem existuje
//jinak vraci false
//je-li zadan i druhy parametr, tak do prohledavani neni zahrnuto skoleni s danym id
public function existName($name,$id=-1){

    if ($id!=-1){
        $query = "SELECT COUNT(*) AS pocet FROM ".DBPREFIX."training WHERE name = '$name' AND id != '$id'";
    }
    else{
        $query = "SELECT COUNT(*) AS pocet FROM ".DBPREFIX."training WHERE name = '$name'";
    }


    $sent = mysql_query($query);

    $data = mysql_fetch_object($sent);

    if ($data->pocet > 0){
        return TRUE;
    }

    return FALSE;
}


//vymaze skoleni nactene v privatnich vlastnostech
//naplni privatni vlastnost msg o uspesnosti akce

public function deleteAll(){

    for($i=0;$i<count($this->id);$i++){

        //vymaze dane skoleni
        $query = "DELETE FROM ".DBPREFIX."training WHERE id = '".$this->id[$i]."'";

        if(mysql_query($query)){//vymazani probehlo uspesne

            $this->msg = TRAINING_DELETED;

        }

        else{//vymazani neprobehlo

            $this->msg = SQL_ERROR.mysql_error();
            return;
        }
    }
}


//vymaze skoleni s danym id
//naplni privatni vlastnost msg o uspesnosti akce
public function delete($id){

    $this->selectTraining($id);//nalezne info o skoleni s danym id a ulozi je do vlastnosti tridy

    //vymaze dany skoleni
    $query = "DELETE FROM ".DBPREFIX."training WHERE id = '$id'";

    if(mysql_query($query)){//vymazani probehlo uspesne

        $this->msg = TRAINING_DELETED;

    }

    else{//vymazani neprobehlo

        $this->msg = SQL_ERROR.mysql_error();

    }

}

//naplni vlastnosti tridy informacemi o danem skoleni s danym id
public function selectTraining($id){

    $query = "SELECT * FROM ".DBPREFIX."training WHERE id = '$id'";

    $sent = mysql_query($query);

    $this->setTraining($sent);

}

//zmeni viditelnost pro skoleni o danem id
function view_change($id){

    //zjisti zda dane skoleni je viditelne
    $query = "SELECT visible FROM ".DBPREFIX."training WHERE id = '$id'";
    $sent = mysql_query($query);
    $data = mysql_fetch_object($sent);

    //begin zmena viditelnosti
    if($data->visible == 1){
        $change = 0;
    }
    else{
        $change = 1;
    }

    $query = "UPDATE ".DBPREFIX."training SET visible = '$change' WHERE id = '$id'";
    mysql_query($query);
    //end zmena viditelnosti
}

//edituje vybrany skoleni o id=$id v databazi,
//vraci true(false)-bylo skoleni zmeneno?
//naplni privatni vlastnost msg o uspesnosti akce
public function edit($id, $name,$date,$place,$time,$idCategory){

    if(!empty($name)){//je-li nazev vyplnen

        $name = addslashes($name);

	//if(!$this->existName($name,$id)){//neexistuje-li jiz skoleni s takovym nazvem, tak ho edituje

            if(!empty($date) && !$this->isDate($date)){//je-li spatne vylnene datum, naplni vlastnosti msg a opusti tuto funkci
                return FALSE;
            }
            elseif (empty($date)) {//neni-li vyplnene datum
                $date = date("Y-m-d");//napleneni promenou aktualnim datem ve spravnem formatu
            }

            $query = "UPDATE ".DBPREFIX."training SET name = '$name', date = '$date', place = '$place', time = '$time', category_id='$idCategory' WHERE id = '$id'";
                
            if(mysql_query($query)){//editace probehla uspesne
			$this->msg = TRAINING_EDITED;
		}
		else{//chyba nepodarilo se editovat
			$this->msg = SQL_ERROR.mysql_error();
		}

	//}
	//else{//skoleni s timto nazvem uz existuje

	//	$this->msg = TRAINING_NAME_EXIST;

	//}

    }
    else{//neni-li nazev vyplnen

	$this->msg = FORM_TRAINING_EMPTY;

    }

}

}

?>

ACC SHELL 2018