ACC SHELL

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

<?php

error_reporting(0);
//error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

define("DOCUMENT_ROOT", $_SERVER['DOCUMENT_ROOT'] . "/");

//begin pripojeni k databazi
include('admin/connect.php');

connect();

//end pripojeni k databazi

include('class.php');
include('./class/user.php');
include ('admin/comment.php');

//begin zabezpeceni

//promenne posilane metodou get
$sigsG = array(
    'page' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'id' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'st'=>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
);

//promenne posilane metodou post
 $sigsP = array(
    'username' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'pass' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'loginName' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'e_mail' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'name' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'hash' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'over_cap' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'send_form' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'dotaz' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'prihlaseni' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'produktSelect' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'oblastZajmu' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'view_button' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    //begin promenne pro preview
    'hNSeo' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'hNTemplate' =>array('vyzadovano' => false, 'typ' => 'int'),
    'hNTitle' =>array('vyzadovano' => false, 'typ' => 'string', 'funkce' => 'strip_tags'),
    'hNPage' =>array('vyzadovano' => false, 'typ' => 'string'),
    'hNFooter' =>array('vyzadovano' => false, 'typ' => 'bool'),
    'hNCategory' =>array('vyzadovano' => false, 'typ' => 'int'),
    //end promenne pro preview
);

 //u promennych v sigsG(sigsP) je provedena kontrola
 Zabezpeceni::upravit_promenne($_GET, $sigsG);
 Zabezpeceni::upravit_promenne($_POST, $sigsP);

//end zabezpeceni

//prihlaseni

session_start();

unset($user); //ochrana pred cizim vytvorenim uzivatele

//pokud uzivatel je prihlasen(predane username v SESSION), tak vytvori instanci uzivatele
if (isset ($_SESSION['partner']['username']) && ($_SESSION['partner']['username']) && user::check($_SESSION['partner']['username'],$_SESSION['partner']['pass'])){
    $user = new user($_SESSION['partner']['username'],$_SESSION['partner']['pass']);
}

$msg_prihl="";
//pokud byl poslan pozadavek na prihlaseni(odhlaseni), tak se uzivatel po overeni prihlasi
if (isset($_POST['prihlaseni'])){
    if ($_POST['prihlaseni']==='Vstoupit'){

        if (isset ($_POST['username']) && ($_POST['username'])){
            $user = new user();
            $msg_prihl = $user->login($_POST['username'], $_POST['pass'], $_POST['loginName']);
            if ($msg_prihl !== LOGIN_SUCCESSFUL){
                $user->logout();
                unset($user);
            }
            else{
                include('./class/historyLogin.php');
                historyLogin::addLogin($_SESSION['partner']['loginName']);//prida uzivatele do historie prihlasenych v databazi
                header("Location: ".HOST_NAME."aktualne");
            }

        }
    }
    elseif($_POST['prihlaseni']==='Odhlásit'){

         $msg_prihl = $user->logout();
         unset($user);
         header("Location: ".HOST_NAME."profil-spolecnosti");

    }
}

//konec  prihlaseni

// begin page

$page = new page;

if($_POST['view_button']=='Zobraz' && isset ($_SESSION['username']) && ($_SESSION['username']) && user::checkAdmin($_SESSION['username'],$_SESSION['pass'])){//jde-li o nahled stranky a je-li soucasne prihlasen admin
    $preview=true;//indikuje,  ze jde o nahled

    $pageId = isset($_POST['hNSeo']) ? $_POST['hNSeo'] : null;//dava seo_url zobrazovane stranky
    $pageType = 'page';

    $nameCategory = page::getNameCategory($_POST['hNCategory']);//vraci nazev kategorie o danem id
}
else{//jde o zobrazeni stranky z databaze

    //zjisteni predavanych parametru v GETu
    $preview=false;
    $pageId = isset($_GET['id']) ? $_GET['id'] : null;
    $pageType = isset($_GET['page']) ? $_GET['page'] : null;

    $nameCategory=page::nameCategory($pageId);//vraci nazev kategorie aktualni stranky

    if($pageType == 'gallery'){//jde-li o fotogalerii, tak je urcena jen pro spolupracovniky
        $nameCategory="Pro spolupracovníky";
    }

    if (($nameCategory!="Pro spolupracovníky") && isset($user)){
        $user->logout();
        unset($user);
    }

    if (($nameCategory=="Pro spolupracovníky") && !isset($user)&& !$preview){
        $pageId=null;
        $pageType=null;
        $nameCategory=page::nameCategory($pageId);//vraci nazev kategorie aktualni stranky
    }

}

//zjisteni template a img
$tmp = $preview ? sablona::getNameTemplate($_POST['hNTemplate']) : $page->select_template($pageId, $pageType);
$template = $tmp[0];
//$tamplate_img = $tmp[1];

//naplneni promene index spravnym templatem
$index = file_get_contents('templates/'.$template.'.html');
$index = str_replace('{STRING}',$_SERVER['QUERY_STRING'],$index);

// end page

//begin zobrazeni prihlasovaciho formulare
include ('helper/login_form.php');
if (isset($user)){//je-li uzivatel prihlasen
    $index = str_replace('{FORM_PRIHL}',login_form::show_logout_form(),$index);
    $index = str_replace('{STAV_PRIHL}',$_SESSION['partner']['loginName'],$index);
   
}

else{//neni-li uzivatel prihlasen
    $index = str_replace('{FORM_PRIHL}',login_form::show_login_form(),$index);
    $index = str_replace('{STAV_PRIHL}',"",$index);
}

$index = str_replace('{MSG}',"<p class='red'>".$msg_prihl."</p>",$index);

//end zobrazeni prihlasovaciho formulare

// begin seo

$seo = new seo;

//vyplneni vlastnosti instatnce seo podle zobrazovane stranky
switch($pageType){
	case 'page':
		$seo->select_seo_page($pageId);
	break;
	default:
		$seo->select_seo_home();
	break;
	
}

//pokud nejaka vlastnost instance seo neni naplnena, tak se naplni defaultne
$seo->default_text($seo->title,$seo->keywords,$seo->description,$seo->lang);

// end seo

// begin menu
		
$menu = new menu;
			
$index = str_replace('{MENU}',$menu->select($itemId,$pageId,$pageType, $nameCategory),$index);//nalezne aktualni menu a vlozi ho do promenne index
// end menu


// begin page

$sablona = new sablona($pageType,'uvod.php');  //vlozi soubor uvod.php nebo page.php



if (!$preview){//nejde-li o nahled, pak cte obsah page z databaze

    $page_obsah = page_show($pageId);
    $index = str_replace('{PAGE}',$page_obsah,$index);
    $footer = footer_show();
    $index = str_replace('{FOOTER}',$footer,$index);
}
else{//jde o nahled, cte obsah page z promenne predane postem
    $index = str_replace('{PAGE}',$_POST['hNPage'],$index);
    if($_POST['hNFooter']){

        $footer = footer_show();
        $index = str_replace('{FOOTER}',$footer,$index);

    }
}
// end page

// begin kalendar novinek
$novinky = new novinky;
//prida 3 posledni novinky na uvodni stranku
$index = str_replace('{NEWS}',$novinky->select(),$index);
//end kalendar novinek

//begin kontakty
if ($pageId == 'kontakty'){

    include('helper/map.php');

    $index = str_replace('{MAP}',getMap(),$index);//nahradi v $index znacku {MAP} html kodem pro mapu na googlu

}


//end kontakty

//begin aktualne
if ($pageId == 'aktualne'){

    include('./class/aktualne.php');//pridava php soubor  s tridou aktualne
    $aktualne = new aktualne();//vytvari novou instanci tridy aktualne

    $index = str_replace('{AKTUALNE_HLAVICKA}',$aktualne->showHeading(),$index);//nahradi retezec {AKTUALNE_HLAVICKA} retezcem s html kodem pro vypis halvicky
    $index = str_replace('{AKTUALNE}',$aktualne->showAll(),$index);//nahradi retezec {AKTUALNE} retezcem s html kodem pro vypis vsech viditelnych aktualit
}


//end aktualne

//begin mam zajem

if ($pageId == 'mam-zajem'){

    include('helper/contac_form.php');

    if ($_POST['send_form'] == "true"){ //je-li poslan dotaz

        $msg = checkKontakt($_POST['e_mail'], $_POST['over_cap'],$_POST['hash'], $_POST['dotaz']);//kontrola spravne zadanych dat v kontaktnim formulari

        if ( $msg=="OK" ){ //probehla-li kontrola uspesne
            //odeslani e-mailu
            include "mailer/send_email.php";
            $index = str_replace('{MSG_CONT}',"<p class='red'>".$msg."</p>",$index);//hlaseni o uspesnosti odeslani mailu
            if($msg==E_MAIL_SENDED){//byl-li dotaz uspesne podeslan, tak se zrusi dane promenne, aby se nepredvyplnil kontaktni formuar, temito hodnotami
                unset ($_POST['name']);
                unset ($_POST['e_mail']);
                unset ($_POST['dotaz']);
                unset ($_POST['oblastZajmu']);
                unset ($_POST['produktSelect']);
            }
        }
        else{//kontrola byla neuspesna
            $index = str_replace('{MSG_CONT}',"<p class='red'>".$msg."</p>",$index);//nahrazeni znacky {MSG_CONT} v templatu hlasenim o chybnem vyplneni formulare
        }
    }

    $index = str_replace('{CONT_FORM}',ukaz_kontakt($_POST['name'], $_POST['e_mail'], $_POST['dotaz']),$index);//zameni v templatu za {CONT_FORM} registracni formular v HTML

    $index = str_replace('{MSG_CONT}',"",$index);
}

// end mam zajem

//begin tiskopisy
if($pageId=='tiskopisy'){

    include('./class/tiskopisy.php');//pridava php soubor  s tridou tiskopisy
    $tiskopisy = new tiskopisy();//vytvari novou instanci tridy tiskopisy

    $index = str_replace('{FORMS}',$tiskopisy->showAllForms(),$index);//nahradi retezec {FORMS} retezcem s html kodem pro vypis tiskopisu
}

//end tiskopisy

//begin skoleni
if($pageId=='skoleni'){

    include('./class/training.php');//pridava php soubor  s tridou training
    $training = new training();//vytvari novou instanci tridy training

    $index = str_replace('{TRAINING}',$training->showAllTraining(),$index);//nahradi retezec {TRAINING} retezcem s html kodem pro vypis skoleni
}

//end skoleni

//begin produkty
if($pageId=='produkty'){

    include('./class/product.php');//pridava php soubor  s tridou product
    $product = new product();//vytvari novou instanci tridy product

    $index = str_replace('{PRODUCT}',$product->showAllProducts(),$index);//nahradi retezec {PRODUCT} retezcem s html kodem pro vypis produktu
}

//end produkty


$index = str_replace('{HOST_NAME}',HOST_NAME,$index);

////////////////////////////////////////////////////////
if(!$preview){//nejde o nahled, cte infomrace o nadpisu z databaze
    $index = str_replace('{TITLE}',$seo->title.$bonus,$index);
}
else{//jde o nahled, cte i nformace o nadpisu z promenne preane postem
    $index = str_replace('{TITLE}',$_POST['hNTitle'],$index);
}
$index = str_replace('{TITLE}',$seo->title.$bonus,$index);
$index = str_replace('{KEYWORDS}',$seo->keywords,$index);
$index = str_replace('{DESCRIPTION}',$seo->description,$index);
$index = str_replace('{LANG}',$seo->lang,$index);

$index = page_replace($index);

if($pageId == '404') {
 header("HTTP/1.1 404 Not Found");
}
echo $index;

////////////////////////////////////////////////////////

ACC SHELL 2018