//inclusioni dei file di base
include_once("objects/database.php");
include_once("objects/configurazioni.php");
include_once("objects/sessionuser.php");
include_once("objects/lingue.php");
include_once("objects/paginazione.php");
include_once("objects/smartimage.php");
include_once("objects/pagina.php");
include_once("objects/licenza.php");
include_once("objects/blocchi.php");
include_once("lib/funzioni.php");
include_once("lib/Checker.class.php");
include_once("config.php");
include_once("init.php");
//inclusione per template smarty
include_once("objects/smarty/template_front.class.php");
//ricavo la dir ed il file corrente
$file = $_GET['file'];
$dir = $_GET['dir'];
//inizio la sessione
session_set_cookie_params(60*240, "/");
session_start();
//procedura di logout
if ($_GET["logout"]){
$_SESSION["sessionUserFront"] = "";
header("Location:index.php");
}
$email_amministratore = $config->recupera_variabile("email_amministratore");
//verifico l'esistenza di parametri in post
$richiesta_autenticazione = false;
if($_POST["username_form"] != "" && $_POST["password_form"] != ""){
$admin_username = $_POST["username_form"];
$admin_password = md5($_POST["password_form"]);
$richiesta_autenticazione = true;
}//in alternativa li cerco nella sessione
elseif($_SESSION["sessionUserFront"] != ""){
$sessionUserFront = $_SESSION["sessionUserFront"];
$admin_username = $sessionUserFront->impostaUtente["username"];
$admin_password = $sessionUserFront->impostaUtente["password"];
}
elseif($_SESSION["inactiveUser"] != ""){
//dump($_SESSION["inactiveUser"], false);
$admin_username = $_SESSION["inactiveUser"]["username"];
$admin_password = $_SESSION["inactiveUser"]["password"];
}
else{
//infine se mancano del tutto mi assicuro di azzerarli
$admin_username = "";
$admin_password = "";
}
//effettuo l'autenticazione dell'utente
$sessionuser->controllaUtente($admin_username, $admin_password);
//se il login fallisce azzero i valori nel cookie
if ($sessionuser->logged){
//metto l'oggetto utente in sessione
$_SESSION["sessionUserFront"] = $sessionuser;
$_SESSION["inactiveUser"] = "";
}else{
$_SESSION["sessionUserFront"] = "";
if ($richiesta_autenticazione) $_REQUEST["errore"] = "autenticazione fallita";
}
//verifico l'esistenza del file e se serve definisco il file di default
if (!isset($file)){
$file = "home";
}
//effettuo lo stesso discorso con la directory, se non � settata definisco quella di default
if (!isset($dir) || $dir==""){
$dir = $default_dir;
}
//ora che sono definiti file e dir verifico i permessi sul modulo della dir in questione
//(controllo relativo solo ai moduli attivi sul cms corrente [LIVELLO CLIENTE])
if (!$obLicenza->verificaModulo($dir)){
die("Accesso non consentito per la directory ". $dir .".");
}
//effettuo quindi un semplice controllo sulla lunghezza della stringhe dir e file, se superano un limite significa che si tratta di un tentativo di forzatura del sistema e mostro un errore
if ((strlen($file))>25){
die("Accesso non consentito");
}
if ((strlen($dir))>25){
die("Accesso non consentito");
}
//posso quindi procedere con l'inclusione dell'oggetto e del file config della directory corrente
include_once($moduli ."/". $dir ."/object.php");
include_once($moduli ."/". $dir ."/config.php");
$errore = $_REQUEST["errore"];
$messaggio = $_REQUEST["messaggio"];
$tpl = new Template($path);
if(!isset($_SESSION["tags"]) || isset($_GET["lang"])){
//RECUPERO I TESTI DELLE TRADUZIONI
$campi = "ti.tag, tc.traduzione";
$tabFrom = "traduzioni_index AS ti LEFT JOIN traduzioni_contents AS tc ON ti.id=tc.id AND tc.lingua_id='" . $lingua_corrente . "'";
$sql_where = "";
$order_by = "tag";
$listaTesti = $db->listaMod($campi, $tabFrom, $sql_where, $order_by);
foreach($listaTesti as $tag){
$tags[$tag["tag"]]=$tag["traduzione"];
}
$_SESSION["tags"] = $tags;
} else {
$tags = $_SESSION["tags"];
}
$tpl->assign("tags", $tags);
//javascript di default, se variano in funzione della sezione reistanziare la variabile all'interno del modulo
$listaJS = '
';
$tpl->assign('listaJS', $listaJS);
//assegno la variabile della dir e del file correnti
$title = $config->recupera_variabile("maintitle");
$keywords = $config->recupera_variabile("metakewords");
$tpl->assign('sessionuser', $sessionuser);
$tpl->assign('loggato', $sessionuser->logged);
$tpl->assign('title', $title);
$tpl->assign('keywords', $keywords);
$tpl->assign('dir', $dir);
$tpl->assign('file', $file);
$tpl->assign('phpself', $_SERVER['PHP_SELF']);
$tpl->assign('dir_upload', $dir_upload);
$tpl->assign('dir_immagini', $dir_immagini);
$tpl->assign('dir_file', $dir_file);
$tpl->assign('email_amministratore', $email_amministratore);
//assegno la dir iniziale dei template del frontend
$tpl->assign('dirTemplate', $dirTemplate ."/");
//assegno la variabile website
$tpl->assign('website', $website);
//assegno eventuali errori/messaggi
$tpl->assign('errore', $errore);
$tpl->assign('messaggio', $messaggio);
//includo una pagina che prepara tutti i blocchi necessari
include($moduli."/".$dir_blocchi."/genera_blocchi.php");
//assegno testata e piede di default
$testata = $tpl->fetch("default/testata.tpl");
$piede = $tpl->fetch("default/piede.tpl");
//includo la pagina che mi interessa
include($moduli."/".$dir."/".$file.".php");
//ogni file ritrna sempre una variabile che si chiama corpo_principale
$tpl->assign('corpo_principale', $corpo_principale);
//assegno le variabili di piede e testata al template
$tpl->assign('testata', $testata);
$tpl->assign('piede', $piede);
$tpl->display('default/index.tpl');
?>