ACC SHELL

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

<?php

function strip_page($page){

	$page = ereg_replace('{HOST_NAME}','',$page);
	$page = ereg_replace("{a}(.+){/a}",'',$page);
	$page = ereg_replace("{img}(.+){/img}",'',$page);
	$page = ereg_replace("{foto}(.+){/foto}",'',$page);
	$page = ereg_replace('{/textarea}','</textarea>',$page);
	$page = ereg_replace('& ','&amp; ',$page);
	$page = ereg_replace("{FOLDER-([0-9]+)}",'',$page);
	$page = strip_tags($page);

	return $page;

}

function page_replace($page){

	$page = str_replace('{HOST_NAME}',HOST_NAME,$page);
	$page = str_replace('{img}','<img src="'.HOST_NAME.'g_small/',$page);
	$page = str_replace('{/img}','" alt="img" border="0" />',$page);
	$page = str_replace('{foto}','<img src="'.HOST_NAME.'g_foto/',$page);
	$page = str_replace('{/foto}','" alt="img" border="0" />',$page);
	$page = str_replace('{a}','<a class="gal" href="'.HOST_NAME.'g_foto/',$page);
	$page = str_replace('{:a}','">',$page);
	$page = str_replace('{/a}','</a>',$page);
	$page = str_replace('{/textarea}','</textarea>',$page);
	$page = ereg_replace('& ','&amp; ',$page);
	preg_match_all("(FOLDER-([0-9]+))",$page,$folder);

	for($i=0;$i<count($folder[1]);$i++){

		$n = $folder[1][$i];

		$query = "SELECT path FROM ".DBPREFIX."gallery WHERE parent = '$n' AND typ = '2' ORDER BY ord ASC";

		$sent = mysql_query($query);

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

			$img_path[] = $data->path;

		}

		for($j=0;$j<count($img_path);$j++){

		$image_path .= 	'<a class="inside_img gal" href="'.HOST_NAME.'g_foto/'.$img_path[$j].'">'.
							'<img src="'.HOST_NAME.'g_small/'.$img_path[$j].'" alt="mauritius" border="0" />'.
							'</a>';

			if((($j+1)%4) == 0){

				$image_path .= '<div class="clear"></div>';

			}

		}
		$page = str_replace('{FOLDER-'.$folder[1][$i].'}',$image_path,$page);
		unset($image_path,$img_path);

	}

	return $page;

}

class sablona{

//vraci nazev sablony s danym id
public static function getNameTemplate($id){
    
    $query = "SELECT name FROM ".DBPREFIX."template WHERE id = $id";
    $sent = mysql_query($query);
    $data = mysql_fetch_object($sent);
    
    return array($data->name);
    
}


var $stranka;

	function sablona($page,$home){

		$this->stranka = $home;

		if(!empty($page) && $page != 'index' && $page != 'default'){

			$page .= ".php";

			if(file_exists($page)){

				$this->stranka = $page;
			}
		}

		include($this->stranka);

	}
}

class page{

	var $page, $footer;

	function select_template($seo_url,$page){

		if(empty($page)){

			$query = "SELECT t.name, p.img
					  FROM ".DBPREFIX."page p, ".DBPREFIX."template t
					  WHERE p.home = 1 && p.template = t.id";

		}
		else{

			switch($page){

				case 'page':
				case 'aktualita':
					$query = "SELECT t.name, p.img
							  FROM ".DBPREFIX."page p, ".DBPREFIX."template t
							  WHERE p.seo_url = '$seo_url' && p.template = t.id";
				break;

				case 'reference':
				case 'katalog':

					$query = "SELECT t.name, p.img
							  FROM ".DBPREFIX."setting s, ".DBPREFIX."template t
							  WHERE s.name = 'ref_template' && s.parameter = t.id";

				break;
				case 'gallery':
				case 'gallery2':

                                         $query = "SELECT t.name
							  FROM ".DBPREFIX."setting s, ".DBPREFIX."template t
							  WHERE s.name = 'gallery_template' && s.parameter = t.id";
				break;
      
                default:
			$query = "SELECT t.name, p.img
					  FROM ".DBPREFIX."page p, ".DBPREFIX."template t
					  WHERE p.home = 1 && p.template = t.id";
	             break;
			}

		}

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		if(!empty($data->name)){

			return array($data->name,$data->img);

		}
		else{

			$query = "SELECT t.name, p.img
					  FROM ".DBPREFIX."page p, ".DBPREFIX."template t
					  WHERE p.home = 1 && p.template = t.id";

			$sent = mysql_query($query);
			$data = mysql_fetch_object($sent);
			return array($data->name,$data->img);

		}

	}

        //vraci jmeno kategorie stranky s danym seoUrl
        public static function nameCategory($seoUrl){

            $query = "	SELECT pc.name FROM ".DBPREFIX."page p,  ".DBPREFIX."page_category pc
                        WHERE p.seo_url = '".$seoUrl."'  AND p.category = pc.id";

		$sent = mysql_query($query);

                $data = mysql_fetch_object($sent);

                return $data->name;
        }

        //vraci nazev kategorie o danem id
        public static function getNameCategory($id){
            $query = "SELECT name FROM ".DBPREFIX."page_category WHERE id = $id";

		$sent = mysql_query($query);

                $data = mysql_fetch_object($sent);

                return $data->name;

        }


	function show($name){
////nalezne zobrazovanou stranku
		$query = "SELECT page, footer FROM ".DBPREFIX."page WHERE seo_url = '$name'";

		$sent = mysql_query($query);

		if(!($data = mysql_fetch_object($sent))){
      $query = "SELECT page, footer FROM ".DBPREFIX."page WHERE seo_url = 'text-error'";
		  $sent = mysql_query($query);
		  $data = mysql_fetch_object($sent);
    }

		$page = page_replace($data->page);

		$this->page = stripslashes($page);
		if($this->footer != 1){
		$this->footer = stripslashes($data->footer);
		}

	}

	var $home_page;

	function home(){

		$query = "SELECT page, footer FROM ".DBPREFIX."page WHERE home = 1 ORDER BY name";

		$sent = mysql_query($query);

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

			$page = page_replace($data->page);

			$this->home_page[] = stripslashes($page);

			if($this->footer != 1){

				$this->footer = stripslashes($data->footer);

			}

		}

	}
	function getparent($idm, $id){
    $query = "SELECT name FROM ".DBPREFIX."page WHERE seo_url='".(($id)?$id:$idm)."';"; //nalezne nazev zobrazovane stranky
    $sent = mysql_query($query);
    $data = mysql_fetch_object($sent);
    $tmp=(($data->name)?$data->name:$idm);
    $tmp2=($tmp?$tmp:$id);
    if ($_GET['page']=="gallery") {
      $gal= new gallery;
      $galname=$gal->name($gal->select_gallery_id($id));
      if (!$galname) $galname="Fotogalerie";
    }
    return (($_GET['page']=="gallery")?$galname:($tmp2?$tmp2:"Aktuální články a názory"));
  }


}

class menu{

    function makeSeoUrl($url) {
    static $tbl = array("\xc3\xa1"=>"a","\xc3\xa4"=>"a","\xc4\x8d"=>"c","\xc4\x8f"=>"d","\xc3\xa9"=>"e","\xc4\x9b"=>"e","\xc3\xad"=>"i","\xc4\xbe"=>"l","\xc4\xba"=>"l","\xc5\x88"=>"n","\xc3\xb3"=>"o","\xc3\xb6"=>"o","\xc5\x91"=>"o","\xc3\xb4"=>"o","\xc5\x99"=>"r","\xc5\x95"=>"r","\xc5\xa1"=>"s","\xc5\xa5"=>"t","\xc3\xba"=>"u","\xc5\xaf"=>"u","\xc3\xbc"=>"u","\xc5\xb1"=>"u","\xc3\xbd"=>"y","\xc5\xbe"=>"z","\xc3\x81"=>"A","\xc3\x84"=>"A","\xc4\x8c"=>"C","\xc4\x8e"=>"D","\xc3\x89"=>"E","\xc4\x9a"=>"E","\xc3\x8d"=>"I","\xc4\xbd"=>"L","\xc4\xb9"=>"L","\xc5\x87"=>"N","\xc3\x93"=>"O","\xc3\x96"=>"O","\xc5\x90"=>"O","\xc3\x94"=>"O","\xc5\x98"=>"R","\xc5\x94"=>"R","\xc5\xa0"=>"S","\xc5\xa4"=>"T","\xc3\x9a"=>"U","\xc5\xae"=>"U","\xc3\x9c"=>"U","\xc5\xb0"=>"U","\xc3\x9d"=>"Y","\xc5\xbd"=>"Z"," "=>"-");
	 $seo_url = strtr($url, $tbl);
	 $seo_url = str_replace('\"','qt',$seo_url);
	 $seo_url = str_replace('\'','qt',$seo_url);
	 $seo_url = strtolower($seo_url);
	 $seo_url = preg_replace('~[^-a-z0-9_]+~', '', $seo_url);

	return $seo_url;

    }


	function select($open,$page,$inc,$nameCategory){

        if($nameCategory==="Pro spolupracovníky"){
            $menuName="menu_spoluprac";
        }
        else{
            $menuName="menu";
        }

        //nalezeni polozek menu
		$query = "	SELECT m.id AS menu_id, m.name, m.parent, u.url, m.page, m.url AS url_id
					FROM ".DBPREFIX.$menuName." m,  ".DBPREFIX."menu_url u
					WHERE m.url = u.id  AND m.view = 1 AND m.parent = 0
					ORDER BY m.pos ASC";

		$sent = mysql_query($query);

		$menu = '<ul class="menu">'."\n";

               /* $query2 = "SELECT m.parent FROM ".DBPREFIX."menu m, ".DBPREFIX."page p WHERE p.seo_url='".$page."' AND p.id = m.page";//zjisti rodice menu aktivni stranky

                $sent2 = mysql_query($query2);

                $data2 = mysql_fetch_object($sent2);*/

		//pouzivame k ocislovani polozek v menu na webu unitedsolution.cz
    $pocet = 1;
		
    while($data = mysql_fetch_object($sent)){

			$url_m_name = $this->makeSeoUrl(stripslashes($data->name));

			if(!empty($data->page)){    //jestliĹľe dane dana slozka menu nekam ukazeje(nejde o uvodni strnaku)
                                                    //nalezne stranky kam slozka menu ukazuje
				$sql = "SELECT seo_url, name FROM ".DBPREFIX."page WHERE id = '$data->page'";

				$s = mysql_query($sql);

				$n = mysql_fetch_object($s);

			}
      
      // na webu unitedsolution.cz muze byt max 6 polozek v menu
      if($pocet == 6) {
         $menu.="\t\t".'<li class="menu-'.$pocet.' last">';
      }else{    
			   $menu.="\t\t".'<li class="menu-'.$pocet.'">';
			}
			$pocet++;

			if($data->url_id != 2){//nejde o uvodni stranku
                            if ((isset($page)) && ($url_m_name==$page)){//jde-li o aktivni polozku menu, pak ji zvirazni a prida znacku pro submenu
                                $menu .='<a class="active" href="'.HOST_NAME;
                                $menu .=(!empty($data->url) ? $data->url : '').
									(!empty($n->seo_url) ? $n->seo_url : '').
									'/">'.stripslashes($data->name);
                                $menu .='</a>';
                               // $menu .='{SUB_MENU}';
                            }
                            else{//nejedna se o aktivni polozku
                                $menu .='<a href="'.HOST_NAME;
                                $menu .=(!empty($data->url) ? $data->url : '').
									(!empty($n->seo_url) ? $n->seo_url : '').
									'/">'.stripslashes($data->name);
                                $menu .='</a>';


                                /*if ((isset($page)) && ($data2->parent == $data->menu_id)){//jestlize aktivni stranka je v submenu prave pridavaneho menu
                                    $menu .='{SUB_MENU}';
                                }*/
                            }

			}//jde o uvodni stranku
			else{

                            if (!isset($page)){
                                $menu.="\t\t".'<a class="active" href="'.HOST_NAME.'">'.stripslashes($data->name).'</a>';
                            }
                            else{
                                $menu.="\t\t".'<a href="'.HOST_NAME.'">'.stripslashes($data->name).'</a>';
                            }

                        }
			//unset($n->seo_url);
			unset($data->url);
            if(!isset($n)) $n = null;
                        //// vyda pocet polozek v podmenu dane složky menu, jestliže zobrazovaná stránka = dane polozce menu
			//if(isset($n) && ($page == $n->seo_url || strtolower($open) == $n->seo_url) /*$page == $url_m_name || $open == $url_m_name*/){

			//	$query2 = "SELECT COUNT(*) AS pocet FROM ".DBPREFIX."menu WHERE parent = '$data->menu_id'";

			//	$sent2 = mysql_query($query2);

			//	$info = mysql_fetch_object($sent2);

			//}

			$menu .= '</li>'."\n";
			//unset($n->seo_url);

		}

                if($nameCategory==="Pro spolupracovníky"){//jsme-li na strance pro spolupracovniky, tak se prida automaticky 2 menu s pevne danym odkazem ven

                    $menu .="\t\t".'<li class="menu-'.$pocet.' '.($pocet==6?'last':'').'"><a href="http://ftp.unitedsolution.cz/uso/Login.aspx">SMLOUVY</a></li>'."\n";
                    $pocet++;
                    $menu .="\t\t".'<li class="menu-'.$pocet.' '.($pocet==6?'last':'').'"><a href="http://ftp.unitedsolution.cz/webfiles/manager/">MANAŽEŘI</a></li>'."\n";
                }


		$menu .= "\t".'</ul>'."\n";

		return $menu;

	}


    //casem asi predelat :X
	function select_sub($open,$page,$inc){

        if($page == '404') return '';
        if($inc == 'sitemap') return '';
                ////nalezne menu k aktualne zobrazovane strance
		$query = "	SELECT m.id, m.parent
					FROM ".DBPREFIX."page p, ".DBPREFIX."menu m
					WHERE p.seo_url = '$page' AND p.id = m.page";

		$sent = mysql_query($query);
        $parent = mysql_fetch_object($sent);
        ////jestliže nemá rodice, tak..
        $parentId = $parent->parent == 0 ? $parent->id : $parent->parent;
                ////nalezne podmenu k zobrazovane strance
		$query = "	SELECT m.page
					FROM ".DBPREFIX."menu m
					WHERE m.parent = '" . $parentId . "'";

		$sent = mysql_query($query);

        $menu = '<ul class="submenu">';

	    while($data = mysql_fetch_object($sent)){
                        ////nalezne stranku na kterou ukazuje aktualni slozka podmenu
			$query = "	SELECT p.name, p.seo_url
						FROM ".DBPREFIX."page p
						WHERE p.id = '" . $data->page . "'";

			$sent2 = mysql_query($query);
            $n2 = mysql_fetch_object($sent2);

            if ($n2->seo_url==$page){//je-li vybrane podmenu aktivni strnaka tak ji zvirazni
                $menu .='<li><a class="active" href="'.HOST_NAME;
            }
            else{
                $menu .='<li><a href="'.HOST_NAME;
            }

            $menu .= (!empty($n2->seo_url) ? $n2->seo_url : '').

				  '/">'.stripslashes($n2->name).'</a>'.

				  '</li>';
         }

         $menu.='</ul>';

		return $menu;

	}

	function select2($open,$page,$inc){

		$query = "	SELECT m.id, m.name, u.url, m.page, m.url AS url_id
					FROM ".DBPREFIX."menu m,  ".DBPREFIX."menu_url u
					WHERE m.url = u.id  AND m.view = 1 AND m.parent = 0
					ORDER BY m.pos ASC";

		$sent = mysql_query($query);

		$menu = '<ul class="foo_menu">'."\n";
		//$menu.='<li><b>menu:&nbsp;</b></li>';
		while($data = mysql_fetch_object($sent)){

			$url_m_name = $this->makeSeoUrl(stripslashes($data->name));


			if(!empty($data->page)){

				$sql = "SELECT seo_url FROM ".DBPREFIX."page WHERE id = '$data->page'";

				$s = mysql_query($sql);

				$n = mysql_fetch_object($s);

			}
			if($data->url_id != 2){

				$menu .= "\t\t".'<li><a href="'.HOST_NAME. // $url_m_name.'/'.
									(!empty($data->url) ? $data->url : '').
									(!empty($n->seo_url) ? $n->seo_url : '').
									'/">'.stripslashes($data->name).'</a>&nbsp;&nbsp;';

			}
			else{

				$menu .= "\t\t".'<li><a href="'.HOST_NAME.'">'.stripslashes($data->name).'</a>&nbsp;&nbsp;';

			}
			$menu_line = 1;
			unset($n->seo_url);
			unset($data->url);

			$menu .= '</li>'."\n";

		}

		$menu .= "\t".'</ul>'."\n";

		return $menu;

	}

	function sitemap(){
    $query = "	SELECT m.id, m.name, u.url, m.page, m.url AS url_id
					FROM ".DBPREFIX."menu m,  ".DBPREFIX."menu_url u
					WHERE m.url = u.id  AND m.view = 1 AND m.parent = 0
					ORDER BY m.pos ASC";

		$sitemap = '<h1>'.$texts['sitemap'][$langno].'</h1>';

		$sent = mysql_query($query);
		while($data = mysql_fetch_object($sent)){
		$sitemap .= '<div class="sitemap_tab"></div>';
		$url_m_name = $this->makeSeoUrl(stripslashes($data->name));


			if(!empty($data->page)){

				$sql = "SELECT seo_url, title FROM ".DBPREFIX."page WHERE id = '$data->page'";

				$s = mysql_query($sql);

				$n = mysql_fetch_object($s);

			}

			if($data->url_id != 2){


				$sitemap .= 	'<a class="sitemap" href="'.HOST_NAME. // $url_m_name.'/'.
									(!empty($data->url) ? $data->url : '').
									(!empty($n->seo_url) ? $n->seo_url : '').
									'/">'.stripslashes($data->name).
									'</a>'.'<span class="sitemap"> - '.$n->title.'</span>';


				$sql2 = "SELECT m.name, p.seo_url FROM ".DBPREFIX."menu AS m, ".DBPREFIX."page AS p
        WHERE m.parent = '$data->id' AND m.page != '0' AND p.id = m.page";

				$s2 = mysql_query($sql2);

				while($n2 = mysql_fetch_object($s2)){
				  $sitemap .= '<a class="sitemap_sub" href="'.HOST_NAME.
                      (!empty($data->url) ? $data->url : '').
									    (!empty($n->seo_url) ? $n->seo_url : '').
									    '/'.$n2->seo_url.'/">'.$n2->name.'</a>';

        }
			}
			else{

			  $sql = "SELECT title FROM ".DBPREFIX."page WHERE home = '1'";
				$s = mysql_query($sql);
				$n = mysql_fetch_object($s);

				$sitemap .= '<a class="sitemap" href="'.HOST_NAME.'">'.stripslashes($data->name).
									'</a>'.'<span class="sitemap"> - '.$n->title.'</span>';

			}

			unset($n->seo_url);
			unset($data->url);
			$sitemap .= '<br />';


    }

    return $sitemap;
  }

}


class footer{

	var $page;

	function select_footer(){

		$query = "SELECT page FROM ".DBPREFIX."footer ORDER BY pos ASC";

		$sent = mysql_query($query);

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

			$page = page_replace($data->page);

			$this->page[] = stripslashes($page);

		}

	}

}

class heading{

	public static function select_heading($id){

		$query = "SELECT page FROM ".DBPREFIX."heading where id= '$id'";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

			$page = page_replace($data->page);

			return stripslashes($data->page);
    }

}

class gallery{

	var $id, $typ, $par, $name, $memo, $path, $seourl_gallery, $vip, $rok, $mesic,$den,$visible;

	/*nacte mesic a rok ze svolene galerie*/
	function selectCas ($parent) {
		$query = "SELECT mesic,rok FROM ".DBPREFIX."gallery WHERE id = '$parent'";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		return $data->rok.$data->mesic;
  }

  //zkontroluje spravnost formatu zadaneho data a jeho existenci
//pokud jedna z kontrol neprojde, tak  false
//jinak vraci true
public function isDate($datum){

    if(!ereg("^[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}$",$datum)){//neni-li spravny format data
        return FALSE;
    }

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

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

}

	function select($parent){

		$query = "SELECT * FROM ".DBPREFIX."gallery WHERE parent = '$parent' ORDER BY typ ASC, ord ASC, name ASC";
		//$query = "SELECT * FROM ".DBPREFIX."gallery WHERE parent = '$parent' OR (parent='0' AND typ='1') AND rok!=0 ORDER BY rok DESC, mesic DESC, den DESC";

		$sent = mysql_query($query);

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

                    if(($data->typ==2 || $data->visible)){//jde -li o viditelnou slozku nebo obrazek

			$this->id[] = $data->id;
			$this->typ[] = $data->typ;
			$this->par[] = $data->parent;
			$this->name[] = stripslashes($data->name);
			$this->memo[] = stripslashes($data->memo);
			$this->path[] = $data->path;
			$this->seourl_gallery[] = $data->seo_url;
                        $this->rok[] = $data->rok;
                        $this->mesic[] = $data->mesic;
                        $this->den[] = $data->den;
                        $this->visible[] = $data->visible;
                    }
		}

	}

	function back_button($id){

		$query = "SELECT parent FROM ".DBPREFIX."gallery WHERE id = '$id'";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		$parent = $data->parent;

		$query = "SELECT seo_url FROM ".DBPREFIX."gallery WHERE id = '$parent'";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		return $data->seo_url;

	}


        public function getDate($id){

            $query = "SELECT rok, mesic, den FROM ".DBPREFIX."gallery WHERE id = '$id'";
            $sent = mysql_query($query);
            $data = mysql_fetch_object($sent);

            return $data->den.'.'.$data->mesic.'.'.$data->rok;
        }

	function name($id){

		$query = "SELECT name FROM ".DBPREFIX."gallery WHERE id = '$id'";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		return stripslashes($data->name);

	}

	function find_hotel($id){
		//  k.memo, k.club, k.sluzby, k.a_foto, k.a_price, k.menu,
		$query = "	SELECT k.name, k.stars, k.s_memo, k.seo_url, k.logo
					FROM ".DBPREFIX."katalog k, ".DBPREFIX."gallery_hotel g
					WHERE g.id_g = '$id' AND g.id_h = k.id";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		$this->hotel_name = stripslashes($data->name);
		$this->hotel_stars = stripslashes($data->stars);
		$this->hotel_s_memo = stripslashes($data->s_memo);
		$this->hotel_seo_url = $data->seo_url;
		$this->hotel_logo = $data->logo;

	}

	function find_hotel_gallery($id){

		$query = "SELECT id_g FROM ".DBPREFIX."gallery_hotel WHERE id_h = '$id'";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		return $data->id_g;

	}

	var $foto, $createable, $my_seo_url, $my_gallery_name;

	/*nacte fotky z VIP, nahodne 7 z posledneho albumu*/
	function selectVIPImages ($pocet = 4) {

    $query = "SELECT path, parent, memo
              FROM ".DBPREFIX."gallery
              WHERE typ= '2' AND parent =
              (SELECT id FROM ".DBPREFIX."gallery WHERE typ = '1'
                 ORDER BY rok DESC, mesic DESC, den DESC, RAND() LIMIT 1)
              ORDER BY RAND() LIMIT ".$pocet;

    $result = mysql_query($query);

		while($row = mysql_fetch_object($result)){

     $this->foto[] = $row->path;
		 $this->memo[] = $row->memo;

		 $subQuery = "SELECT seo_url, name FROM ".DBPREFIX."gallery WHERE id = '".$row->parent."'";
     $subResult = mysql_query($subQuery);
     $subRow = mysql_fetch_object($subResult);

		 $this->my_seo_url[] = $subRow->seo_url;
     $this->my_gallery_name[] = $subRow->name;

		}

  }

    public function getImageFolder($id){

        $query = "SELECT path, typ FROM ".DBPREFIX."gallery WHERE parent = '$id'";
        $sent = mysql_query($query);

        while($data = mysql_fetch_object($sent)){
            if($data->typ == 2){
                return $data->path;
            }
        }

	return NO_IMAGE;

    }

	function select_foto($id_g,$zobraz){

		$id[] = $id_g;

		while(true){

			unset($query);

			$query = "SELECT COUNT(*) AS pocet FROM ".DBPREFIX."gallery WHERE typ = '2' AND (";

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

				$query .= "parent = '$id[$i]' ";

				if($i+1 != count($id)){

					$query .= "OR ";

				}
				else{

					$query .= ") ";

				}

			}

			$sent = mysql_query($query);

			$data = mysql_fetch_object($sent);

			$pocet = $data->pocet;

			if($pocet >= $zobraz){

				$createable = true;

				break;

			}
			else{

				unset($query);

				$query = "SELECT COUNT(*) AS pocet FROM ".DBPREFIX."gallery WHERE typ = '1' AND (";

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

					$query .= "parent = '$id[$i]' ";

					if($i+1 != count($id)){

						$query .= "OR ";

					}
					else{

						$query .= ") ";

					}
				}

				$sent = mysql_query($query);

				$data = mysql_fetch_object($sent);

				$pocet = $data->pocet;

				if($pocet == 0){

					break;

				}
				else{

					unset($query);

					$query = "SELECT id FROM ".DBPREFIX."gallery WHERE typ = '1' AND (";

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

						$query .= "parent = '$id[$i]' ";

						if($i+1 != count($id)){

							$query .= "OR ";

						}
						else{

							$query .= ") ";

						}

					}

					$sent = mysql_query($query);

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

						$id[] = $data->id;

					}

				}

			}

		}

		if($createable == true){

			$this->createable = $createable;

			$query = "SELECT path,parent, memo FROM ".DBPREFIX."gallery WHERE typ = '2' AND (";

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

				$query .= "parent = '$id[$i]' ";

				if($i+1 != count($id)){

					$query .= "OR ";

				}
				else{

					$query .= ") ";

				}

			}

			$query .= "ORDER BY ord ASC";

			$sent = mysql_query($query);

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

				$foto_path[] = $data->path;

			  $query = "SELECT seo_url FROM ".DBPREFIX."gallery WHERE id = '".$data->parent."'";
        $result = mysql_query($query);
        $row = mysql_fetch_object($result);

        $my_seo_url[] = $row->seo_url;
        $my_memo[] = $row->memo;

			}

			while(count($e) < $zobraz){

				$test = false;

				if(!empty($this->img_rand) && $this->img_rand <= count($foto_path)){

					$inv = rand(0,$this->img_rand - 1);

				}
				else{

					$inv = rand(0,count($foto_path)-1);

				}

				for($i=0;$i<count($e);$i++){

					if($inv == $e[$i]) $test = true;

				}

				if($test != true) $e[] = $inv;

			}

			for($i=0;$i<count($e);$i++){

				$this->foto[] = $foto_path[$e[$i]];
				$this->my_seo_url[] = $my_seo_url[$e[$i]];
			  $this->memo[] = $my_memo[$e[$i]];
			}

		}


	}

	function index_img(){

		$query = "SELECT * FROM ".DBPREFIX."gallery_index";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		return $data->id_gallery;

	}

	function footer(){

		$query = "SELECT def FROM ".DBPREFIX."gallery_setting WHERE name = 'footer'";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		return $data->def;

	}

	function select_gallery_id($name){

		$query = "SELECT id FROM ".DBPREFIX."gallery WHERE seo_url = '$name'";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		return $data->id;

	}

	function select_setting_pagenum(){

		$query = "SELECT def FROM ".DBPREFIX."gallery_setting WHERE name = 'pagenum'";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		return $data->def;

	}

	function first_foto(){
    $this->select($_GET['id']);

    for($i=0;$i<count($this->id);$i++){
	   if($this->typ[$i] != 1){ // !echo folder
	   return $this->path[$i];
	 }
  }
  return 0;
}

function get_thumb($id){

		$query = "SELECT path FROM ".DBPREFIX."gallery WHERE typ = '2' AND parent=$id ORDER BY RAND() LIMIT 4";

		$sent = mysql_query($query);

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

		$path[]=$data->path;

	  }
	  return $path;
	}

	function select_vip(){

		$query = "SELECT * FROM ".DBPREFIX."gallery_vip";

		$sent = mysql_query($query);

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

			$this->vip[$data->id]=1;
		}
		return 0;
	}

}

class seo{

	var $title, $keywords, $description, $lang;
    
    //nastavi seo podle parametru
    function setSeo($title,$keywords,$description,$lang) {
	 
	 $this->title		= $title;
	 $this->keywords	= $keywords;
	 $this->description	= $description;
	 $this->lang		= $lang;
    
    }
    
	function select_seo_page($seo_url){

		$query = "SELECT title, keywords, description, lang FROM ".DBPREFIX."page WHERE seo_url = '$seo_url'";

		$sent = mysql_query($query);

		$data = mysql_fetch_object($sent);

		$this->title = $data->title;
		$this->keywords = $data->keywords;
		$this->description = $data->description;
		$this->lang = $data->lang;

	}

	function select_seo_home(){

		$query = "SELECT title, keywords, description, lang FROM ".DBPREFIX."page WHERE home = '1'";

		$sent = mysql_query($query);

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

			$title[] = $data->title;
			$keywords[] = $data->keywords;
			$description[] = $data->description;
			$lang[] = $data->lang;
		}

		unset($this->title,$this->description,$this->keywords,$this->lang);

		for($i=0;$i<count($title);$i++){

			$this->title .=	$title[$i];
			if(!empty($title[$i+1])) $this->title .= ' | ';

			$this->keywords .= $keywords[$i];
			if(!empty($keywords[$i+1])) $this->keywords .= ', ';

			$this->description .= $description[$i];
			if(!empty($description[$i+1])) $this->description .= ', ';

			$this->lang .= $lang[$i];
			if(!empty($lang[$i+1])) $this->lang .= ', ';

		}

	}

	function default_text($title_i,$keywords_i,$description_i,$lang_i){

		if(empty($title_i) || empty($keywords_i) || empty($description_i) || empty($lang_i)){

			$query = "SELECT title, keywords, description, lang FROM ".DBPREFIX."page WHERE home = '1'";

			$sent = mysql_query($query);

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

				$title[] = $data->title;
				$keywords[] = $data->keywords;
				$description[] = $data->description;
				$lang[] = $data->lang;
			}

			if(empty($title_i)){

				for($i=0;$i<count($title);$i++){

					$this->title .=	$title[$i];
					if(!empty($title[$i+1])) $this->title .= ' | ';

				}

			}

			if(empty($keywords_i)){

				for($i=0;$i<count($keywords);$i++){

					$this->keywords .= $keywords[$i];
					if(!empty($keywords[$i+1])) $this->keywords .= ', ';

				}

			}

			if(empty($description_i)){

				for($i=0;$i<count($description);$i++){

					$this->description .= $description[$i];
					if(!empty($description[$i+1])) $this->description .= ', ';

				}

			}

			if(empty($lang_i)){

				for($i=0;$i<count($lang);$i++){

					$this->lang .= $lang[$i];
					if(!empty($lang[$i+1])) $this->lang .= ', ';

				}

			}

		}

	}

}

class navigation {//pomocna trida pro spravne zobarzovani daneho poctu polozek jedne tabulky

 //vytvoreni pole $navi nesouci si parametry, na ktere stance se v tabulce nachazim a zda se maji zobrazovat odkazy na predchozi(nasledujici) stranku
 function getNavi($table, $page=1, $count=5) {
  
  $navi = array("max"     => 0,
                "count"   => 0,
                "left"    => true,
                "right"   => true,
                "page"    => 0,
                "maxPage" => 0
               );
  
  $page = intVal($page);
  $count = intVal($count);
  
  //pokud jdeme na nultou stranku, nebo zobrazujeme nula zaznamu, zkoncime s false
  if($page == 0 or $count == 0) return false;
  
  //pokusi se neco vyhledat ve zvolene databazi, pokud false, tak vraci false
  $query = "SELECT * FROM `$table` LIMIT 0,1"; 
  $result = mysql_query($query);
  
  if(!$result) return false;

  //zjistime pocet zaznamu v tabulce
  $query = "SELECT * FROM `$table`"; 
  $result = mysql_query($query);  
  
  //pocet zaznamu v tabulce, tzn. maximalni robrazitelny pocet
  $navi['max'] = mysql_num_rows($result);
  
  //prave zobrazenych zaznamu
  $actual = $page * $count;
  
  //muzeme zobrazit levou nevigaci?
  if($page == 1) {
   $navi["left"] = false;
  }
  
  //muzeme zobrazit pravou navigaci?
  if($actual >= $navi['max']) {
   $navi["right"] = false;
  }
  
  //ulozi do pole pocet zaznamu na stranku
  $navi['count'] = $count;
  
  //ulozi aktualni stranku
  $navi['page'] = $page;
  
  //ulozi maximalni pocet stranek
  $navi['maxPage'] = ceil($navi['max'] / $count);
  
  //pokud se snazime zobrazit stranku vetsi nez je maximum, tak zkoncime s false
  if($navi['maxPage'] < $page) return false;
  
  return $navi;
  
 }

 //vraci kod v html pro navigacni tlacitka
 function showNavigation ($link, $page, $left, $right, $maxPage) {
  
  $navi = "<p style='margin-top: 10px; padding-top: 5px; font-size: 10pt; border-top: 1px solid #000000;'>Jste na straně č.<strong>$page</strong> z celkového počtu <strong>$maxPage</strong>" . "<br />"
        . (($left) ? "<a href='" . $link . ($page-1) . "/" . "' > << předchozí</a>" : "")
        . (($left && $right) ? " | " : " ")
        . (($right) ? "<a href='" . $link . ($page+1) . "/" . "' >další >> </a>" : "")
        . "</p>";
  return $navi;
 
 }
 
}

//trida zpracovavajici manipulaci s novinkami
class novinky{
        //vypis kalendare novinek
	function select(){
            $novinky = "";
            //nalezne informace o vsech novinkach
            $query = "	SELECT id, title, memo, url, seo_url, DATE_FORMAT(date,'%d.%m.%Y') AS date1 FROM ".DBPREFIX."novinky
					ORDER BY date DESC";

            $sent = mysql_query($query);

            unset($novinky);

            $novinky="<h2>Krátké zprávy</h2>";

            //pro vsechny novinky
            while($data = mysql_fetch_array($sent)){
                        //ziskani jejich dat
			$id = $data['id'];
			$title = stripslashes($data['title']);
			$memo = stripslashes($data['memo']);
			

			//$novinky .= '<div class="new">'."\n";
                        $novinky .= '<h3>'.$title.'</h3>'."\n";
			$novinky .= '<p class="justify">'."\n";
			$novinky .= $memo;
			$novinky .= '</p>'."\n";
            }
			//$novinky .= '</div>'."\n";
			
            return $novinky;

	}

        //nevim jestli se pouziva tak ji nemazu
	function select_all($i){
		
		
		
		$pocet_na_stranku = 5;

		$query = "	SELECT id, title, memo, url, seo_url, DATE_FORMAT(date,'%d.%m.%Y') AS date1 FROM ".DBPREFIX."novinky
					ORDER BY date DESC LIMIT ".($i*$pocet_na_stranku).",".$pocet_na_stranku;

		$sent = mysql_query($query);

		unset($novinky);

		$poc=mysql_num_rows($sent);
		while($data = mysql_fetch_array($sent)){

      $id = $data['id'];
			$title = stripslashes($data['title']);
			//$memo = strip_page(stripslashes($data['memo']));
			$memo = stripslashes($data['memo']);
			$memo_all = page_replace(stripslashes($data['memo']));
			$dat = $data['date1'];
			$url = $data['url'];
			$seo_url = $data['seo_url'];
			
      $novinky .= '<div>'."\n";
        $novinky .= '<h3><a name="'.$id.'"></a>'.$dat.' - '.$title.'</h3>'."\n";

  			$novinky .= '<div class="justify">'."\n";
  			$novinky .= $memo;
  			$novinky .= '</div>'."\n";
			$novinky .= '</div>'."\n";

		}

		$query = "SELECT COUNT(*) as pocet FROM ".DBPREFIX."novinky WHERE 1";
		$sent = mysql_query($query);
		$vysledek = mysql_fetch_array($sent);

		$novinky .= '<center>';
		if($i>0)
		  $novinky .= '<a href="'.HOST_NAME.'novinky/'.($i-1).'/">&lt;&lt; předchozí stránka</a>&nbsp;&nbsp;';
		if($vysledek['pocet'] > ($i+1)*$pocet_na_stranku)
     	  $novinky .= '<a href="'.HOST_NAME.'novinky/'.($i+1).'/">následující stránka &gt;&gt;</a>';

		$novinky .= '</center>';

		return $novinky;

	}
            //vraci v poli $data infomrace o novinkach na strance v poradi page o poctu zaznamu count
	function selectAll($page,$count){
		
		$tmpPage = ($page-1) * $count;
		
		$query = "	SELECT id, title, memo,seo_url, DATE_FORMAT(date,'%d.%m.%Y') AS date 
		            FROM ".DBPREFIX."novinky
					ORDER BY id DESC
					LIMIT $tmpPage,$count";
		
		$result = mysql_query($query);
		
        $data = array();
        
		while($row = mysql_fetch_array($result)){

         $data[] = $row;				

		}

		return $data;
	
	}
	
	var $newsName, $newsText;
        //vraci jednu novinku v html-pouziti pro zobrazeni jedne novinky na strance
	function select_one($seo){
		
		$query = "	SELECT id, title, memo, url,seo_url, DATE_FORMAT(date,'%d.%m.%Y') AS date1 FROM ".DBPREFIX."novinky
					WHERE seo_url = '$seo' OR id= '$seo'";

		$sent = mysql_query($query);

		unset($novinky);

        $data = mysql_fetch_array($sent);
        
        if(stripslashes($data['title']) == '') {
            $novinky .= '<div>'."\n";
            $novinky .= '<h2>Tato novinka nebyla nalezena.</h2>'."\n";
			$novinky .= '</div>'."\n";
        } else {

			$title = stripslashes($data['title']);
			//$memo = strip_page(stripslashes($data['memo']));
			$memo = stripslashes($data['memo']);
			$dat = $data['date1'];
			$url = $data['url'];
			$seo_url = $data['seo_url'];
			
      $novinky .= '<div>'."\n";
        $novinky .= '<h3><a href="#"></a>'.$title.' / '.$dat.'</h3>'."\n";

  			$novinky .= '<div class="justify">'."\n";
  			$novinky .= $memo;
  			$novinky .= '</div>'."\n";
			$novinky .= '</div>'."\n";
            
            $this->newsName = $title;
            $this->newsText = $memo;
	    }



		return $novinky;

	}
        //vraci jednu novinku v html-pouziti pro zobrazenivice nevinek na jedne strance
	function showOne($data) {
	
	 if(!is_array($data)) return false;
	 
	 //puvodne se vypisovala novinka v archivu cela, ted budeme zobrazovat miniatury jako na homepage
	  /*$one = "<div class='viewNews'>"
	       . "<h2>" . stripslashes($data['title']) . '/' . $data['date'] . "</h2>" . "\n"
	       . "<p>" . stripslashes($data['memo']) . "</p>"
	       . "</div>";*/
		
		$id = $data['id'];
		$title = stripslashes($data['title']);
		$memo = stripslashes(strip_tags($data['memo']));
		$memo_all = page_replace(stripslashes($data['memo']));
		$dat = $data['date'];
		$url = $data['url'];
		$seo_url = $data['seo_url'];
		
		$length = strlen($memo);
		$max = 200;
		
		$one = "<div class='viewNews'>";
					
		if(isset($url) && strlen($url) > 1) {
       		$one .= '<h3><a href="'.$url.'">'.$title.' / '.$dat.'</a></h3>'."\n";
     	} else {
       		$one .= '<h3><a href="'.HOST_NAME.'novinky/'.$seo_url.'/">'.$title.' / '.$dat.'</a></h3>'."\n";
      	}

			if($length > $max){

				$one .= '<p class="justify">'."\n";
				//$one .= substr($memo,0,$max).'...';
				$one .= $this->wordCut($memo,$max).'...';	
				$one .= '&nbsp;<a href="'.HOST_NAME.'novinky/'.$seo_url.'/">celá&nbsp;novinka</a></p>'."\n";

			}
			else{

				$one .= '<p class="justify">'."\n";
				$one .= $memo;
				$one .= '</p>'."\n";

			}
		
		
		$one .= "</div>" . "\n";

	  return $one;
	}

//rozdeleni stringu, vraci prvnich n znaku zakoncenych #[\s\n\r]+#' nepresahujici width znaku
   function wordCut($str, $width = 300) { //utf-8
   	$str = preg_split('#[\s\n\r]+#', $str);
    $len = 0;
    $return = "";
    
    foreach ($str as $val) {
    	$val .= ' ';
        $tmp = mb_strlen($val, 'utf-8');
        
        $len += $tmp;
        if ($len >= $width) {
        	return $return;
        } else
       		$return .= $val;
        }
        
        return $return;
    }
	
}

class aktuality{

	var $msg;

	function add($title,$memo,$datum,$lang){

		$title = addslashes($title);
		$memo = addslashes($memo);

		$dat_test = false;

		if(!empty($title) && !empty($memo)){

			if(!empty($datum)){

				if(ereg("^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$",$datum)){

					$date = $datum;

					$dat_test = true;

				}
				else{

					$dat_test = false;

				}
			}
			else{

				$dat_test = true;

				$date = date("Y-m-d");

			}


			if($dat_test == true){

				$query = "INSERT INTO ".DBPREFIX."aktuality (title,memo,date,lang) VALUES('$title','$memo','$date','$lang')";

				if(mysql_query($query)){

					$this->msg = ACTUALITY_ADDED;

				}
				else{

					$this->msg = SQL_ERR0R;

				}
			}
			else{

				$this->msg = WRONG_DATE_FORMAT;

			}

		}
		else{

			$this->msg = FORM_EMPTY;

		}
	}

	var $id, $title, $memo, $dat;


	function select_all(){

		$query = "	SELECT id, title, DATE_FORMAT(date,'%d.%m.%y') AS date, lang
					FROM ".DBPREFIX."aktuality
					ORDER BY date DESC, id DESC";

		$sent = mysql_query($query);

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

			$this->id[] = $data['id'];
			$this->title[] = stripslashes($data['title']);
			$this->dat[] = $data['date'];
			$this->lang[] = $data['lang'];


		}

	}

	var $str_leght;

	function edit($id,$title,$memo,$datum,$lang){

		$title = addslashes($title);
		$memo = addslashes($memo);

		if(ereg("^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$",$datum)){

			$dat_test = true;

		}
		else{

			$dat_test = false;

		}

		if($dat_test == true){

			$query = "UPDATE ".DBPREFIX."aktuality SET title = '$title', memo = '$memo', date = '$datum', lang = '$lang' WHERE id = '$id'";

			if(mysql_query($query)){

				$this->msg = EDIT_COMPLETED;

			}
			else{

				$this->msg = mysql_error();

			}
		}
		else{

			$this->msg = WRONG_DATE_FORMAT;

		}

	}

	function select_one($id){

		$query = "SELECT id, title, memo, date FROM ".DBPREFIX."aktuality WHERE id = $id";

		$sent = mysql_query($query);

		$data = mysql_fetch_array($sent);

		$this->id = $data['id'];
		$this->title = stripslashes($data['title']);
		$this->memo = stripslashes($data['memo']);
		$this->dat = $data['date'];
		$this->lang = $data['lang'];

	}

	function delete($id){

		$query = "DELETE FROM ".DBPREFIX."aktuality WHERE id = $id";

		if(mysql_query($query)){

			$this->msg = ACTUALITY_DELETED;

		}
		else{

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

		}

	}
	function select(){

		$query = "SELECT id, title, memo, DATE_FORMAT(date,'%d.%m.%Y') AS date FROM ".DBPREFIX."aktuality
		          ORDER BY date DESC, id DESC";

		$sent = mysql_query($query);

		unset($aktuality);

		$aktuality.='<div id="actual_list">';

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

			$id = $data['id'];
			$title = stripslashes($data['title']);
			$memo = strip_page(stripslashes($data['memo']));
			$memo_all = page_replace(stripslashes($data['memo']));
			$dat = $data['date'];

			$length = strlen($memo);
			$max = 600;

			$aktuality .= '<div class="act_box" id="actual_part_'.$id.'">'."\n";
			$aktuality .= '<h1>'.$title.'</h1>'."\n";

			if($length > $max){

				$aktuality .= '<div class="actual_text">'."\n";
				//$aktuality .= substr($memo,0,$max).' <br /><a class="odkaz" href="'.HOST_NAME.'News/'.$id.'/">zobrazit celý článek&gt;</a>';
				$aktuality .= $this->wordCut($memo,$max).' <br /><a class="odkaz" href="'.HOST_NAME.'News/'.$id.'/">zobrazit celý článek&gt;</a>';
				$aktuality .= '</div>'."\n";

			}
			else{

				$aktuality .= '<div class="actual_text">'."\n";
				$aktuality .= $memo_all;
				$aktuality .= '</div>'."\n";

			}

			$aktuality .= '</div>'."\n";

		}

		$aktuality .= '</div>'."\n";

		return $aktuality;

	}

	function select_small()
	{
		$query = "SELECT `id`, `title`, `memo`, DATE_FORMAT(date,'%d.%m.%Y') AS `date` FROM `".DBPREFIX."aktuality`
					    ORDER BY `date` DESC, `id` DESC LIMIT 0, 2";

		$sent = mysql_query($query);

		unset($aktuality);
		$i=1;
		while($data = mysql_fetch_array($sent)){

			$id = $data['id'];
			$title = stripslashes($data['title']);
			$memo = strip_page(stripslashes($data['memo']));
			$memo_all = page_replace(stripslashes($data['memo']));
			$dat = $data['date'];

			$length = strlen($memo);
			$max = 100;

			$aktuality .= '<div id="info'.($i++).'">';

			$aktuality .= '<div class="title">'.$title.'</div>'."\n";

			if($length > $max){

				$aktuality .= '<div class="actual_text">'."\n";
				//$aktuality .= substr($memo,0,$max).'</div>'."\n";
				$aktuality .= $this->wordCut($memo,$max).'</div>'."\n";
        $aktuality .= '<div class="date">'.$dat;

        //$aktuality .= '<a href="javascript:act_open(\''.$id.'\');">vĂ­ce &gt;</a><br /><br />';
        $aktuality .= '<a href="'.HOST_NAME.'News/"><img src="'.HOST_NAME.'images/sipka.png" alt="&gt;" /></a>';
			 $aktuality .='</div>'."\n";
      }
			else{

				$aktuality .= '<div class="actual_text">'."\n";
				$aktuality .= $memo_all;
				$aktuality .= '</div>'."\n";

				$aktuality .= '<div class="date">'.$dat.'</div>'."\n";

			}
			$aktuality .= '</div>'."\n";
			//$aktuality .=  	'<a href="index.php?akualita='.$id.'">vĂ­ce &gt;</a><br /><br />'."\n";
		}

		return $aktuality;

	}

	function select_n_items($pocet,$lng)
	{
	    unset($aktuality);

		if(!empty($lng)){
		  $lang_akt = $lng;
		}else{
		  $lang_akt = $_GET["lang"];
		}

		if(empty($lang_akt))$lang_akt="cs";
		if($lang_akt=="cs") $akt_lang="Aktuality";
		if($lang_akt=="en") $akt_lang="News";
		if($lang_akt=="de") $akt_lang="Neuheiten";
		if($lang_akt=="ru") $akt_lang="левести";
	    $aktuality .= '<div class="title">'.$akt_lang.'</div>';

		$query = "SELECT id FROM ".DBPREFIX."lang WHERE `lang` LIKE '".$lang_akt."'";
		$sent = mysql_query($query);
		$id_lang = mysql_fetch_array($sent);

		$query = "SELECT `id`, `title`, `memo`, DATE_FORMAT(date,'%d.%m.%Y') AS `datum` FROM `".DBPREFIX."aktuality`
		          WHERE `lang`='".$id_lang['id']."' ORDER BY `date` DESC";

		$sent = mysql_query($query);

		$i=1;
		while($data = mysql_fetch_array($sent) and $i<=$pocet){

			$id = $data['id'];
			$title = stripslashes($data['title']);
			$memo = strip_page(stripslashes($data['memo']));
			$dat = $data['datum'];

			$length = strlen($memo);
			$max = 100;

			$aktuality .= '<div id="aktualita">';

			$aktuality .= '<div class="title">'.$title.'</div>'."\n";

			$aktuality .= '<div class="aktualita_text">'."\n";
			if($length>$max){
			  //$aktuality .= substr($memo,0,$max).'...</div>'."\n";
			  $aktuality .= $this->wordCut($memo,$max).'...</div>'."\n";
			  
			}else{
			  $aktuality .= $memo.'</div>'."\n";
			}

            $aktuality .= '<a class="odkaz" href="'.HOST_NAME.'l-'.$lang_akt.'/News/'.$id.'/"></a>';
            $aktuality .= '<div class="date">'.$dat.'</div>';
			$aktuality .='</div>'."\n";

			$i++;
		}

		return $aktuality;

	}

	function show_one(){
	  $news_id = $_GET["news_id"];

      unset($aktualita);

      if(!empty($news_id)){
        $this->select_one($news_id);

	    $title = stripslashes($this->title);
	    $memo_all = page_replace(stripslashes($this->memo));
	    $dat = $this->date;

	    $aktualita = '<div id="actual_list">';
        $aktualita .=	'<div class="act_box">'."\n";
	    $aktualita .=	'<h1>'.$title.'</h1>'."\n";
	    $aktualita .=	'<div class="actual_text">'."\n";
	    $aktualita .=	$memo_all;
	    $aktualita .=	'</div>'."\n";
	    $aktualita .=	'</div>'."\n";
		$aktualita .=	'</div>'."\n";
	  }

	  return $aktualita;
	}
}

class podpis{

	function get(){

		$query = "SELECT * FROM ".DBPREFIX."podpis";
		$sent = mysql_query($query);
		$data = mysql_fetch_array($sent);
		return $data['podpis'];
	}
}


/**
*
* sitemap statickych stranek, prohledava i jejich obsah a vnich hleda odkazy smerujici do struktury webu (uz je ale neotevira)
*
*/
class sitemap {

 /**
 *
 * rekurzivne projde polozky menu a posklada do stromove struktury
 *
 */
 function getMenuItem($parent) {
  
  $menu = array();
  
  $query	= "SELECT m.id, m.name, m.url as menu_url, m.page, m.parent, p.seo_url, mu.url as page_url
               FROM ".DBPREFIX."menu m
               LEFT JOIN ".DBPREFIX."page p ON m.page = p.id
               LEFT JOIN ".DBPREFIX."menu_url mu ON m.url = mu.id
               WHERE m.view = '1' AND m.parent = '$parent'
               ORDER BY m.pos";  
  
  $result	= mysql_query($query);
  
  while($row = mysql_fetch_object($result)) {
          
    $menu[$row->id]['name']  = $row->name;
    $menu[$row->id]['url']   = $row->seo_url == null ? $row->page_url : $row->seo_url; 
    $menu[$row->id]['page']  = $row->menu_url;
    
    if($menu[$row->id]['url'] == 'index') {
     
     $menu[$row->id]['url'] = HOST_NAME;
     
    }    
     
    //vybereme odkazy z teto stranky
    if($menu[$row->id]['page'] == 1) {
   
     $pageLinks = $this->getLinks($menu[$row->id]['url']);
     
     if(count($pageLinks) != 0) $menu[$row->id]['next'] = $pageLinks;
     
    }
    
    $next = $this->getMenuItem($row->id);
    
    if(count($next) != 0) $menu[$row->id]['next'] = $next;
    
  }  

  return $menu;
  
 }

 /**
 *
 * tato fce veme adresu stranky, vyhleda jeji obsah a pokusi se separovat odkazy vedouci do vnitrni struktury webu
 *
 */
 function getLinks($page) {
  
  //tyto typy odkazu v mape nechceme
  $protected	= array("files", "images", "img");
  
  $query		= "SELECT p.page
             	   FROM ".DBPREFIX."page p
             	   WHERE seo_url = '$page'";
               
  $result		= mysql_query($query);
  
  $row        	= mysql_fetch_object($result);
  
  //nastaveni pro probehnuti cyklu zjistovani linku ve statickych strankach
  //$regExp    	= "(\{HOST_NAME\}[^<]*\<\/a\>)(.*)$";
  $regExp    	= "(\.\.\/[^<]*\<\/a\>)(.*)$";
  $text      	= stripslashes($row->page);
  $linksArr  	= array(); 
  $links     	= array();   
  
  while(eregi($regExp,$text,$links)) { 
   
   $link     	= $links[1];
   $link 		= str_replace('</a>','',$link);
   //$link     	= substr($link, 11);
   
   if(!in_array(substr($link, 0, strpos($link,"/")), $protected)) {
    
    $index		= count($linksArr);   
    $linksArr[$index]['name'] 	= substr($link, strpos($link,">") + 1);
    
    $linksArr[$index]['url'] 	= substr($link, 0, strpos($link,"\"")); 
    
   }
   
   $text        = $links[2];
   
  } 
  
  return $linksArr;
  
 }

 /**
 *
 * rekurzivne prochazi predane pole a vraci na vystup zformatovane odkazy
 *
 */
 function getItem($items) {

  if(!is_array($items)) return '';
  
  $tmp = '<ul>' . "\n";
      
  foreach($items as $key => $item) {
   
   $link = trim($item['url']);
   
   if(substr($link,-1) != '/') $link .=  '/'; 
    
   $tmp .= ' <li>'
        .    '<a href="' . $link . '">' . StrToLower($item['name']) . '</a>';
   
   if(isset($item['next'])) {
    
    $tmp .= $this->getItem($item['next']);

   }


   $tmp .= ' </li>' . "\n"; 
   
  }

  $tmp .= '</ul>' . "\n"; 

  return $tmp;
  
 }

 /**
 *
 * konecne spracovani, spis volani potrebnych metod :)
 *
 */ 
 function getSiteMap() {
  
  $map = $this->getMenuItem(0);
  
  
  /*echo '<pre>';
  print_r($map);
  echo '</pre>';*/

  
  $siteMap = '<h2>Mapa stránek</h2>';   
  
  $siteMap .= '<div id="sitemap">';
  
  $siteMap .= $this->getItem($map,0);
  
  $siteMap .= '</div>';
  
  return $siteMap; 
  
 }

}

//trida forum se stara o manipulaci s daty v tabulce forum_tema a forum_odpovedi
class forum{

//vypise vsechna temata v databazi a pocet odpovedi do tabulky
function ukaz_vsechna_tema(){

    $forum = '<table><tr><th width="70">Vytvořeno</th><th>Téma (počet příspěvků)</th><th>Autor</th><th width = "120">Aktualizováno</th></tr>';

    $query = "SELECT ft.id, ft.tema, u.username, DATE_FORMAT(ft.datum,'%d.%m.%Y') AS datum
        FROM ".DBPREFIX."forum_tema ft, ".DBPREFIX."users u WHERE ft.autor_id = u.id  ORDER BY ft.datum DESC";
    $sent = mysql_query($query);

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

        $query2 = "SELECT count(id) AS pocet FROM ".DBPREFIX."forum_odpovedi where tema_id=".$data['id'];
        $sent2 = mysql_query($query2);
        $data2 = mysql_fetch_array($sent2);

        if($data2['pocet']==0){
            $dat_posl_pris='-';
        }
        else{
           $dat_posl_pris = $this->posl_aktual_tema($data['id']);
        }

        $forum .='<tr><td>'.$data['datum'].'</td><td>'.'<a href="'.HOST_NAME.'/diskusni-forum/?id_tema='.$data['id'].'">'.$data['tema'].' ('.$data2['pocet'].')</a> </td><td><a href="'.HOST_NAME.'profil/?user_name='.$data['username'].'">'.$data['username'].'</a></td><td>'.$dat_posl_pris.'</td></tr>';
    }

    $forum.='</table>';
			
    return $forum;
}

//vraci formular pro pridani noveho tematu v HTML
function ukaz_form_tema($tema){

    return '<h3>Založit nové téma</h3><form method="post" class="form-comment">
                <textarea name="tema">'.$tema.'</textarea>          
                <input type="submit" value="Založit téma" />
              </form>';

}

public function posl_aktual_tema($id_tema){
     $query = "SELECT DATE_FORMAT(max(datum),'%d.%m.%Y - %k:%i') AS datum  FROM ".DBPREFIX."forum_odpovedi where tema_id=".$id_tema;
     $sent = mysql_query($query);
     $data= mysql_fetch_array($sent);

     return $data['datum'];

}

//prida zadane tema od daneho autora do tabulky forum_tema
function pridej_tema($tema, $autor_id){

    $query = "INSERT INTO ".DBPREFIX."forum_tema  (tema, autor_id, datum) VALUES ('".$tema."','".$autor_id."','".date("Y-n-d H:i:s")."')";
    $res = mysql_query($query);
    
    if (!$res) return "Při vkládání témata došlo k chybě";

    return "Téma bylo vloženo.";
}

////vypise vsechny odpovedi a jejich pocet na tema $id_tema v databazi do tabulky
function ukaz_vsechny_odpovedi($id_tema){

    $query = "SELECT ft.tema, u.username, DATE_FORMAT(ft.datum,'%d.%m.%Y') AS datum 
        FROM ".DBPREFIX."forum_tema ft, ".DBPREFIX."users u where ft.id = ".$id_tema." AND ft.autor_id = u.id";

    $sent = mysql_query($query); 
    $data = mysql_fetch_array($sent);

    $posled_aktual=$this->posl_aktual_tema($id_tema);//zjistim datum posledniho prispevku pro dane tema
    $aktualizace = explode("/",$posled_aktual);

    $forum = '<h3 class="forum">'.$data['tema'].'</h3>';
    $forum .= '<p><small>Vytvořeno: '.$data['datum'].'&nbsp;&nbsp;&nbsp;&nbsp;Naposledy aktualizováno: '.$aktualizace[0].' - '.$aktualizace[1].'&nbsp;&nbsp;&nbsp;&nbsp;Založil: '.$data['username'].'</small></p>';
     
    $query2 = "SELECT fo.odpoved, u.username, DATE_FORMAT(fo.datum,'%d.%m.%Y') AS datum, DATE_FORMAT(fo.datum,'%k:%i') AS cas
         FROM ".DBPREFIX."forum_odpovedi fo, ".DBPREFIX."users u where fo.tema_id = ".$id_tema." AND fo.autor_id = u.id ORDER BY fo.datum DESC";
     
    $sent2 = mysql_query($query2);
     
    while($data2 = mysql_fetch_array($sent2)){
    
        $forum .= '<div class="comment">';
          $forum .= '<p>'.$data2['odpoved'].'</p>';
          $forum .= '<p class="author">napsal <strong><a href="'.HOST_NAME.'/profil/?user_name='.$data2['username'].'&id_tema='.$id_tema.'">'.$data2['username'].'</a></strong> dne <strong>'.$data2['datum'].' v '.$data2['cas'].'</strong></p>';
        $forum .= '</div>';

        }

    $forum.='<p><a href="'.HOST_NAME.'diskusni-forum/"> Zpět na přehled témat.</a></p>';
			
    return $forum;
    
}
//vraci formular pro pridani nove odpovedi na tema $id_tema v HTML
function ukaz_form_odpovedi($id_tema, $odpoved){

    return '<h3>Přidej vlastní názor</h3><form action="'.HOST_NAME.'diskusni-forum/?id_tema='.$id_tema.'" class="form-comment" method="post">
                <div>
                <textarea name="odpoved">'.$odpoved.'</textarea>                
                <input type="submit" value="Přidat příspěvek" />
                <div class="clear"></div>
                </div>
              </form>';
}

//prida zadanou odpoved na dane tema od daneho autora do tabulky forum_odpovedi
function pridej_odpoved($odpoved, $tema, $autor_id){


    $query = "INSERT INTO ".DBPREFIX."forum_odpovedi  (tema_id, odpoved, autor_id, datum) VALUES ('".$tema."','".$odpoved."','".$autor_id."','".date("Y-n-d H:i:s")."')";
    $res = mysql_query($query);

    if (!$res) return "Při vkládání odpovědi došlo k chybě";

    return "Odpověď byla vložena.";
}

//vraci tabulku s informacemi o uzivateli $username
public static function ukaz_profil_uzivatele($username){

    $query = "SELECT username, name, surname, e_mail, DATE_FORMAT(birthday,'%d.%m.%Y') AS birthday, vztah_HAE,
        street, city, psc, phone, mobil
        FROM ".DBPREFIX."users where username = '".$username."'";

    $sent = mysql_query($query);
    $data = mysql_fetch_array($sent);

    switch($data['vztah_HAE']){

	case 'pacient':
            $vztah = 'pacient';
            break;
        case 'zastupce':
            $vztah = 'zákonný zástupce pacienta';
            break;
        default:
            $vztah = 'ostatní';
            break;
    }

    if ($data['mobil']!=0)
        $mobil=$data['mobil'];
    else
        $mobil="-";

    if ($data['phone']!=0)
        $phone=$data['phone'];
    else
        $phone="-";


    return '<h3>Profil uživatele <strong>'.$data['username'].'</strong></h3>
      <table class="noborder">              
                    <tr>
                        <td width="150"><strong>Jméno: </strong></td>
                        <td>'.$data['name'].'</td>
                    </tr>
                    <tr>
                        <td><strong>Příjmení: </strong></td>
                        <td>'.$data['surname'].'</td>
                    </tr>
                    <tr>
                        <td><strong>Datum narození: </strong></td>
                        <td>'.$data['birthday'].'</td>
                    </tr>
                    <tr>
                        <td><strong>Vztah k HAE/AAE: </strong></td>
                        <td>'.$vztah.'</td>
                    </tr>
                  </table>
                  <h3>Kontakt</h3>
                  <table class="noborder">
                    <tr>
                        <td width="150"><strong>Ulice: </strong></td>
                        <td>'.$data['street'].'</td>
                    </tr>
                    <tr>
                        <td><strong>Město: </strong></td>
                        <td>'.$data['city'].'</td>
                    </tr>
                    <tr>
                        <td><strong>PSČ: </strong></td>
                        <td>'.$data['psc'].'</td>
                    </tr>
                    <tr>
                        <td><strong>E-mail: </strong></td>
                        <td>'.$data['e_mail'].'</td>
                    </tr>
                    <tr>
                        <td><strong>Telefon: </strong></td>
                        <td>'.$phone.'</td>
                    </tr>
                    <tr>
                        <td><strong>Mobil: </strong></td>
                        <td>'.$mobil.'</td>
                    </tr>
               </table>';

}

}




//obsahuje funkce potrebne pro registracni formular
class registr_form{

    //fraci true, pokud je $str retezec jenž obsahuje pouze cislovky
    public static function is_string_int($str){

        for ($i=0;$i<strlen($str);$i++){

            if (($str[$i]<"0") || ($str[$i]>"9")){
                return false;
            }
        }

        return true;

    }

    //vraci true pokud je retezec ve formatu telefoniho cisla
    public static function is_telephone_number($str){

        if (strlen($str)!=9) return false;

        return self::is_string_int($str);
    }

    //vraci true pokud je retezec ve formatu PSC
    public static function is_psc_number($str){

        if (strlen($str)!=5) return false;

        return self::is_string_int($str);
    }

    //kontroluje zda je promenna $email ve tvaru e-mailove adrasy
    public static function check_email($email) {
        $atom = '[-a-z0-9!#$%&\'*+/=?^_`{|}~]'; // znaky tvořící uživatelské jméno
        $domain = '[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])'; // jedna komponenta domény
        return eregi("^$atom+(\\.$atom+)*@($domain?\\.)+$domain\$", $email);
    }
}


//trida obsahujici metody zabezpeceni predavanych promennychh
class Zabezpeceni{

    //upravi prijate promenne v poli $promenne podle $signatury, nenalezali se v poli $promenne vyzadovana promenna
    //dojde k presmerovani na adresu $url_presmerovani
    public static function upravit_promenne(&$promenne, $signatury, $url_presmerovani=null){

        $docastne_pole = array();

        //projde vsechny signatury
        foreach ($signatury as $nazev => $signatura){
            //jestlize je signatura vyzadovana a neni naplnena, pak dojde k presmerovani stranky
            if (!isset($promenne[$nazev]) && isset($signatura['vyzadovano']) && $signatura['vyzadovano']){
                if ($url_presmerovani){
                    header("Location: $url_presmerovani");
                }
                else{
                    echo 'Parameter $nazev není přítomný a není zadaná žádné přesměrování URL.';
                }
                exit();
            }

            //promenne v poli $promenne se zkopiruji do docasneho pole, jen kdyz jsou obsazeny v signature
            if (isset($promenne[$nazev])){

                $docastne_pole[$nazev] = $promenne[$nazev];
                if (isset( $signatura['typ'])){//pokud je vyzadovany typ promenne, tak dojde k pretypovani
                    settype($docastne_pole[$nazev], $signatura['typ']);
                }

                if (isset($signatura['funkce'])){//je-li vyzadovana aplikace funkce na promenou, pak je aplikovana
                    $docastne_pole[$nazev] = $signatura['funkce']($docastne_pole[$nazev]);
                }
            }
        }

        $promenne = $docastne_pole;//pole promenne je naplneno osetrenymi promennymi

    }
    

}

ACC SHELL 2018