plugins_dir=Array("/usr/share/php/smarty/libs/plugins",$pathSite."/plugins/",$pathSite."/formcat/validators/",$pathSite."/formcat/plugins/" ); $fc = new formcat; $smarty->template_dir=$pathSite; $smarty->clear_all_cache();// a delete $smarty->caching = false;// a delete /* Select which module we want to watch */ $menu=$_REQUEST['menu']; if (!$menu && $auth=="ok") { $menu="partenaire"; } if (!$menu && $auth!="ok") { $menu="login"; } if (!$main[$menu]) { echo "Module '$menu' inexistant"; die(); } $connected="non"; if ($main[$menu]['protection']==1) { // Besoin d'etre auth if ($auth=="ok") { $connected="oui"; // On est bien connecte en admin } else { $connected="non"; } // On est pas connecte (pas bien) } else { $connected="np"; // Il n'y a pas de protection sur cette page } //////////////////////// PRESENTATION COMMUNE A TOUTES LES PAGES //////////// function addPresentation () { // Passé en fonction pour l'appeller que si la page n'est pas en cache global $smarty,$main, $pathModuleTemplate; // Presentation classique $smarty->assign("title",$main[$menu]['titre']); $head = $smarty->fetch($pathModuleTemplate."head.tpl"); // Head module $smarty->assign("head_contents",$head); $end = $smarty->fetch($pathModuleTemplate."end.tpl"); // End tags $smarty->assign("end_contents",$end); if ($main[$menu]['haut_de_page']) { // Si c'est activé dans le fichier global.inc.php $hautdepage=$smarty->fetch($pathModuleTemplate."haut_page.tpl"); // Haut de page $smarty->assign("haut_de_page",$hautdepage); } if ($main[$menu]['bas_de_page']) { // idem que haut_page $basdepage=$smarty->fetch($pathModuleTemplate."bas_page.tpl"); // Bas de page $smarty->assign("bas_de_page",$basdepage); } } //////// RIGHT VERIFICATION ////////// if ($_SESSION['login']->admin==1) { // We are administrator $smarty->assign("administrator",1); } $permission="no"; if ($auth=="ok") { // If we are really connected if ($main[$menu]['administrateur']==1) { // Need to be administrator if ($_SESSION['login']->admin==1) { // We are administrator $permission="ok"; } else { $permission="notadmin"; } } else { // No need to be admin $permission="ok"; } } else { // Not connected if ($main[$menu]['protection']==0) { // No need to be connected $permission="ok"; } else { $permission="no"; // Not necessary ... } } $smarty->assign("permission",$permission); ////////////////////////////// INCLUSIONS DU CORPS /////////////////// if ($permission=="ok") { $module_template=$pathModuleTemplate.$main[$menu]['module_template']; if (!$smarty->is_cached($module_template, $menu.$_REQUEST[$main[$menu]['cache']])) { // Page pas encore générée => on charge $smarty->assign("menu",$menu); $smarty->assign("auth",$auth); addPresentation(); /////////////// PHP inclusion if ($main[$menu]['module_php']) { // Module existant if (is_array($main[$menu]['module_php'])) { while(list($key, $module_php) = each($main[$menu]['module_php'])) { $module_php=$pathModulePhp.$module_php.".php"; if (is_file($module_php)) { // Fichier existe include($module_php); } else { echo "Erreur système, module php introuvable : $module_php
"; die(); } } } else { $module_php=$pathModulePhp.$main[$menu]['module_php'].".php"; if (is_file($module_php)) { // Fichier existe include($module_php); } else { echo "Erreur système, module php introuvable : $module_php
"; die(); } } } } ////// TEMPLATE INCLUSION //////// $module_template=$pathModuleTemplate.$main[$menu]['module_template']; if ($main[$menu]['dispatch']==1) { if ($_REQUEST['action']) $module_template.="_".$_REQUEST['action'].".tpl"; else $module_template.=$_REQUEST['action'].".tpl"; } else { $module_template.=".tpl"; } if (is_file($module_template)) { if ($main[$menu]['cache']=="no") { // On ne veut pas du module en cache $smarty->clear_cache($module_template); // on enleve donc le cache en question } else { if ($main[$menu]['cache']!="") { $idcache=$menu.$_REQUEST[$main[$menu]['cache']]; } } if (!$idcache) { // Pas d'id cache : on garde pas de trace $template=$smarty->fetch($module_template); } else { $template=$smarty->fetch($module_template,$idcache); } $smarty->assign("module_template",$template); } else { echo "Erreur système, module template introuvable : $module_template
"; die(); } } else { addPresentation(); if ($permission=="no") { $smarty->assign("module_template","You are not connected.
Maybe your session expired or your login/password is wrong.

Reconnection
"); } else { if ($permission=="notadmin") { $smarty->assign("module_template","You must be administrator to access to this page.
Reconnection
"); } } } //////////////////////////////////////////////////////////////////////// $smarty->register_outputfilter(array(&$fc,'fcOutputFilter')); switch ($main[$menu]['cache']) { case "no": // On veut pas de cache $smarty->clear_cache($pathModuleTemplate."index.tpl",$menu); $smarty->display($pathModuleTemplate."index.tpl",$menu); // on affiche le template final break; case "": $smarty->display($pathModuleTemplate."index.tpl",$menu); // on affiche le template final break; default: $smarty->display($pathModuleTemplate."index.tpl",$menu.$_REQUEST[$main[$menu]['cache']]); // on affiche le template final break; } //ob_end_flush(); //if ($xd) xdebug_dump_function_profile(4); //xdebug_dump_function_trace(); ?>