ACC SHELL

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

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

class aktualne{

private $table='aktualne';//nazev tabulky s informacemi pro aktualitach

//begin privatni vlastnosti tridy
private $id=NULL;//pole id vybranych aktualit
private $title=NULL;//pole nadpisu vybranych aktualit
private $text=NULL;//pole textu vybranych aktualit
private $categoryId=NULL;//pole id kategorii vybranych aktualit
private $visible=NULL;//pole indikujici viditelnost jednotlivych aktualit
private $pos=NULL;//pole pozic vybranych aktualit
private $headingId=NULL;//id hlavicky stranky aktualne
private $headingText=NULL;//text hlavicky stranky aktualne
private $headingVisible=NULL;//viditelnost hlavicky stranky aktualne
private $msg=NULL;//potvrzeni uspesnosti akce s aktualitama
//end privatni vlastnosti tridy

//begin pristup k privatnim vlastnostem
public function getId($i){
    return $this->id[$i];
}

public function getTitle($i){
    return $this->title[$i];
}

public function getText($i){
    return $this->text[$i];
}


public function getCategoryId($i){
    return $this->categoryId[$i];
}

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

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

public function getPos($i){
    return $this->pos[$i];
}

public function getHeadingID(){
    return $this->headingId;
}

public function getHeadingText(){
    return $this->headingText;
}

public function getHeadingVisible(){
    return $this->headingVisible;
}

//end pristup k privatnim vlastnostem


//odstrani vlastnosti aktualit
public function unsetAktuality(){

    unset ($this->id);
    unset ($this->title);
    unset ($this->text);
    unset ($this->categoryId);
    unset ($this->visible);
    unset ($this->pos);

}

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

    $category = new aktualneCategory();

    $category->selectCategory();//nalezne vsechny kategorie aktualit
                                //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=aktualne/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=aktualne/aktualne&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=aktualne/aktualne&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=aktualne/aktualne&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=aktualne/aktualne&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->selectAktuality($category->getId($i));//nalezne vsechny aktuality aktualni kategorie a
                                                     //naplni jimi prislusne vlastnosi tridy
        //pro kazdou aktualitu vytvori radek s nazvem a editacnimi tlacitky
        for($j=0;$j<count($this->id);$j++){

                    //nazev aktuality a odkaz na jeho editaci
            echo    '<div class="submenu_list_page">'.
                        '<span class="s_m_name">'.
                            '<a href="default.php?page=aktualne/edit&amp;id_a='.$this->id[$j].'">'.stripslashes($this->title[$j]).'</a>'.
                        '</span>'.

                        //tlacitko pro posun aktuality o jednu pozici nahoru
                        '<span>'.
                            '<a href="default.php?page=aktualne/aktualne&amp;b=up&amp;id_a='.$this->id[$j].'">'.
                                '<img src="img/up.gif" alt="up" border="0" />'.
                            '</a>'.
			'</span>'.

                        //tlacitko pro posun aktuality o jednu pozici dolu
			'<span>'.
                            '<a href="default.php?page=aktualne/aktualne&amp;b=down&amp;id_a='.$this->id[$j].'">'.
				'<img src="img/down.gif" alt="down" border="0"/>'.
                            '</a>'.
			'</span>'.

                        //obrazek s odkazem na zmenu viditelnosti aktuality
                        '<span>'.
				'<a class="view" href="default.php?page=aktualne/aktualne&amp;b=view&amp;id_a='.$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 aktuality
                            '<span>'.
                                '<a class="delete" href="default.php?page=aktualne/aktualne&amp;b=delete&amp;id_a='.$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 aktuality patrici kategorii s danym id a
//naplni prislusne vlastnosi tridy
public function selectAktuality($id_category){

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

    $query = "SELECT * FROM ".DBPREFIX.$this->table." WHERE category_id = '".$id_category."' ORDER BY pos";

    $sent = mysql_query($query);

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

}

//presune aktualitu o danem id o jednu pozici vys nebo niz podle parametru $par
function upDown($id,$par){

    //nalezne aktualni pozici a kategorii pro aktualitu o danem id
    $query = "SELECT pos, category_id FROM ".DBPREFIX.$this->table." WHERE id = '$id'";

    $sent = mysql_query($query);

    $data = mysql_fetch_object($sent);

    $actual_pos = $data->pos;

    if($par == 'up'){//presun vys
        $new_pos = $actual_pos - 1;
    }

    else{//presun niz
        $new_pos = $actual_pos + 1;
    }
    //udava pocet kategorii na nove pozici
    $query2 = "SELECT COUNT(*) AS pocet FROM ".DBPREFIX.$this->table." WHERE pos = '$new_pos' AND category_id = '$data->category_id'";

    $sent2 = mysql_query($query2);

    $data2 = mysql_fetch_object($sent2);

    if($data2->pocet != 0){//existuje na nove pozici nejaka aktualita
        //prehozeni pozic v databazi
        $query3 = "UPDATE ".DBPREFIX.$this->table." SET pos = '$actual_pos' WHERE pos = '$new_pos' AND category_id = '$data->category_id'";

	mysql_query($query3);

	$query4 = "UPDATE ".DBPREFIX.$this->table." SET pos = '$new_pos' WHERE id = '$id'";

	mysql_query($query4);

    }

}

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

    $this->unsetAktuality();

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

	$this->id[] = $data->id;
	$this->title[] = stripslashes($data->title);
        $this->text[] = stripslashes($data->text);
        $this->pos[] = $data->pos;
        $this->categoryId[]=$data->category_id;
        $this->visible[]=$data->visible;
    }
}

//prida novou aktualitu do databaze
//naplni privatni vlastnost msg o uspesnosti akce
//vraci true nebo false podle, toho zda byla aktualita uspesne pridana do databaze
public function add($title, $text, $id_category, $visible){

    if(!empty($title)){//je-li vyplneny nadpis aktuality

	$title = addslashes($title);
        $text = addslashes($text);

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

        $pos = $this->getMaxPos($id_category)+1;//naplni promenou pos nejvyssi pozici aktuality v dane kategorii zvecenou o 1

        //vklada aktualitu do databaze
        $query = "INSERT INTO ".DBPREFIX.$this->table." (title, text, pos, category_id, visible) VALUES('$title', '$text', '$pos', '$id_category',$visible)";

            if(mysql_query($query)){//byla-li aktualita uspesne vlozena

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

            else{//nebyla-li aktualita uspesne vlozena
		$this->msg = SQL_ERROR.mysql_error();
                return FALSE;
            }


    }
    else{//neni vyplnen titulek aktuality
	$this->msg = FORM_AKTUALNE_EMPTY;
        return FALSE;
    }

}


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

public function deleteAll(){

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

        //vymaze danou aktualitu
        $query = "DELETE FROM ".DBPREFIX.$this->table." WHERE id = '".$this->id[$i]."'";

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

            $this->msg = AKTUALNE_DELETED;

        }

        else{//vymazani neprobehlo

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


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

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

    //vymaze danou aktualitu
    $query = "DELETE FROM ".DBPREFIX.$this->table." WHERE id = '$id'";

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

        $this->msg = AKTUALNE_DELETED;

        //posune vsechny aktuality ze stejne kategorie a vyssi pozici o jednu pozici niz
        $query2 = "UPDATE ".DBPREFIX.$this->table." SET pos = pos - 1 WHERE pos > '".$this->pos[0]."' AND category_id = '".$this->categoryId[0]."'";
	mysql_query($query2);

    }

    else{//vymazani neprobehlo

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

    }

}

//naplni vlastnosti tridy informacemi o dane aktualite s danym id
public function selectAktualitu($id){

    $query = "SELECT * FROM ".DBPREFIX.$this->table." WHERE id = '$id'";

    $sent = mysql_query($query);

    $this->setAktuality($sent);

}

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

    //zjisti zda dana aktualita je viditelna
    $query = "SELECT visible FROM ".DBPREFIX.$this->table." 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.$this->table." SET visible = '$change' WHERE id = '$id'";
    mysql_query($query);
    //end zmena viditelnosti
}

//edituje vybranou aktualitu o id=$id v databazi,
//vraci true(false)-byla aktualita zmenena?
//naplni privatni vlastnost msg o uspesnosti akce
public function edit($id, $title,$text,$idCategory){

    $oldAktualne = new aktualne();
    $oldAktualne->selectAktualitu($id);//naplneni instance starymi informacemi o aktualite

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

        $title = addslashes($title);
        $text =addslashes($text);

        if ($idCategory!=$oldAktualne->getCategoryId(0)){//je-li pozadavek na zmenu kategorie

            $newpos = $this->getMaxPos($idCategory)+1;//naplni promenou newpos nejvyssi pozici aktualit v dane kategorii zvecenou o 1

            //posune vsechny aktuality ze stejne kategorie a vyssi pozici o jednu pozici niz
            $query2 = "UPDATE ".DBPREFIX.$this->table." SET pos = pos - 1 WHERE pos > '".$oldAktualne->getPos(0)."' AND category_id = '".$oldAktualne->getCategoryId(0)."'";
            mysql_query($query2);
        }
        else {
            $newpos=$oldAktualne->getPos(0);
        }

        $query = "UPDATE ".DBPREFIX.$this->table." SET title = '$title', text = '$text', category_id='$idCategory', pos='$newpos' WHERE id = '$id'";

        if(mysql_query($query)){//editace probehla uspesne
            $this->msg = AKTUALNE_EDITED;
	}
        else{//chyba nepodarilo se editovat
            $this->msg = SQL_ERROR.mysql_error();
        }


    }
    else{//neni-li nazev vyplnen

	$this->msg = FORM_AKTUALNE_EMPTY;

    }

}

//edituje hlavicku stranky aktualne se zadanym id
//vraci true(false)-byla hlavicka zmenena?
//naplni privatni vlastnost msg o uspesnosti akce
public function editHeading($id_h, $text,$visible){

    $text = addslashes($text);

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

    $query = "UPDATE ".DBPREFIX.$this->table."_heading SET text = '$text', visible=$visible WHERE id = '$id_h'";

    if(mysql_query($query)){//editace probehla uspesne
        $this->msg = HEADING_EDITED;
        return TRUE;
    }

    //chyba nepodarilo se editovat
    $this->msg = SQL_ERROR.mysql_error();
    return FALSE;

}

//naplni privatni vlastnosti tridy  prislusnou hlavickou o zadanem id
public function selectHeading($id_h){

    $query = "SELECT text, visible FROM ".DBPREFIX.$this->table."_heading WHERE id = '$id_h'";
    $sent = mysql_query($query);
    $data = mysql_fetch_object($sent);

    $this->headingId = $id_h;
    $this->headingText = stripslashes($data->text);
    $this->headingVisible = $data->visible;

}

//vraci maximalni hodnotu pos aktuality v dane kategorii $id_category
public function getMaxPos($id_category){

    $query = "SELECT MAX(pos) AS max_pos FROM ".DBPREFIX.$this->table." WHERE category_id = '$id_category'";

    $sent = mysql_query($query);

    $data = mysql_fetch_object($sent);

    return $data->max_pos;

}



}

?>

ACC SHELL 2018