RamiModuli --> Modulo --> Oggetto --> OggettiElementi --> Elementi */ $TimeStart=microtime(TRUE); require dirname(__FILE__)."/classes/script_start.php"; // INIT $Context = Container::get("context"); $Db = Container::get_db(); $Tree = Container::get_albero(); $Session = Container::get_session(); if( $NewLang=$_POST['switch_to_lang'] ) $Session->switch_lang($NewLang); // Cambio Lingua in base alla lingua dell''URL $Session->switch_lang(UrlDispatcher::get_url_lang()); // Dispatcho la request, se chiamo la root chiamo la pagina principale if( !UrlDispatcher::get_requested_node() ) Response::redirect( BASE_URL.'/'.DEFAULT_URL ); /* if(ENV_TYPE=='TEST') Response::debug_output(); */ // $IdNodo=$Tree->get_nodo_by_frase( UrlDispatcher::get_requested_node(),FALSE ); $IdNodo=UrlDispatcher::get_requested_node_id(); //if($IdNodo=$Tree->get_nodo_by_frase( UrlDispatcher::get_requested_node() )){ $Template=NULL; if( $NewNode=$Tree->get_redirect_to($IdNodo) ){ Response::redirect(BASE_URL.$Tree->get_node_uri($NewNode)); } // Retrieve Plugin $IdNodoRiferimento=NULL; if( !$PluginName=$Tree->get_plugin($IdNodo) ){ foreach( array_reverse(UrlDispatcher::dispatch()) as $Item ){ $IdNodoRiferimento = $Tree->get_nodo_by_frase($Item); if( $PluginName = $Tree->get_plugin($IdNodoRiferimento) ) break; } } //// Retrieve Template // Se la pagina attuale è una pagina fittizzia (gestita da un modulo), // prendo id del nodo di riferimento e comincio a cercare il template $IdNodo = $IdNodoTemp = $IdNodo ? $IdNodo : $IdNodoRiferimento; if( !$Template=$Tree->get_template( $IdNodoTemp ) ){ $IdPadre=$Tree->get_id_padre( $IdNodoTemp ); while( $IdPadre>0 && !$Template ){ // Finchè il padre non è 0 oppure ho trovato un template $Template=$Tree->get_template( $IdPadre ); $IdPadre=$Tree->get_id_padre( $IdNodoTemp ); $IdNodoTemp=$IdPadre; } } $Context->setIdNodo($IdNodo); $Content = SiteXmlReader::instance(PUBLIC_PATH.'/xml/current_pubblicazione.xml'); $Context->setXmlSito($Content); $Moduli = $Content->get_node_content((int)$IdNodo, $Session->get_cod_lang()); /// TODO :: Vedi TODO @ 114 //$TreeContents = new TreeContents($IdNodo); //if(!$Tree->get_browsable($IdNodo)) Response::raise_404(); // Load template $Template = $Template ? $Template : DEFAULT_TEMPLATE; $TemplatePath=TPL_DIR."/".trim($Template); if(file_exists($TemplatePath) && $Template){ $H2oConfig = array('autoescape'=>FALSE); if(CACHE_ON){ $H2oConfig['cache'] = 'file'; $H2oConfig['cache_dir'] = CACHE_DIR; } else{ $H2oConfig['cache'] = false; } $Tpl = new Template($TemplatePath, $H2oConfig); Container::register('template',$Tpl); } // Handle Plugins loading if($PluginName){ foreach(explode(",", $PluginName) as $Plugin) Plugin::load(trim($Plugin), $Tpl); } $NomeNodo = $Tree->get_nome_nodo( $IdNodo ); if(isset($Tpl)){ $Out=$ArrayTemp=$ArrayTemp2=$ArrayTemp3=$ArrayTemp4=array(); $Tpl->append_data(array( 'sys'=>array('envtype'=>ENV_TYPE), 'get'=>$_GET, 'post'=>$_POST, "active_lang"=>$Session->get_active_lang(), "current_lang"=>$Session->get_lang(), "all_lang"=>$Session->get_all_lang(), 'template_name'=> $Template, 'title'=> $NomeNodo, 'BASE_URL'=>BASE_URL, 'IMG_URL'=>IMG_URL, 'IMG_PRODOTTTI_URL'=>IMG_PRODOTTTI_URL, 'nodo'=>array('nome'=>$NomeNodo,'id'=>$IdNodo), 'site'=>$Tree->get_array_albero($ArrayTemp,0), 'livelli'=>array( 1=>$Tree->get_array_albero($ArrayTemp3, $Tree->get_nodo_livello($IdNodo, 1) ? $Tree->get_nodo_livello($IdNodo, 1) : $IdNodo), 2=>$Tree->get_array_albero($ArrayTemp3, $Tree->get_nodo_livello($IdNodo, 2)), 3=>$Tree->get_array_albero($ArrayTemp3, $Tree->get_nodo_livello($IdNodo, 3)), ), 'site_relative'=>$Tree->get_array_albero($ArrayTemp2,$IdNodo), // Albero discendenti 'livello_2'=>$Tree->get_array_albero($ArrayTemp3,$Tree->get_nodo_livello($IdNodo,2)), 'livello_3'=>$Tree->get_array_albero($ArrayTemp4,$Tree->get_nodo_livello($IdNodo,3)), //build_site_array_by_node( $IdNodo,FALSE ), 'path'=>UrlDispatcher::dispatch(), 'session'=>array('user'=>$_SESSION['user']), 'moduli'=>$Moduli )); /* /// TODO :: Sta roba va riscritta per la nuova lettura da XML, Treecontents non serve più qui if( $NodoLivello=$Tree->get_nodo_livello($IdNodo,1) ){ // get_object_contents vuole l'oggetto $ContentLiv2 = $TreeContents->get_site_contents($NodoLivello); $Tpl->append_data(array("moduli_livello_1"=>$ContentLiv2)); } */ /* Debug::append( "Time Elapsed: ".(microtime(TRUE)-$TimeStart)."
" ); Debug::append($Tpl->out_data()); Debug::append($_SESSION); */ Response::out($Tpl->render()); $Al = new AlberoCms(); //var_dump($GLOBALS['QUERYS']); } elseif(!$PluginName) die("Missing template"); // Potrebbe essere che non serva un template, perchè il plugin si occupa della response /* } else Response::raise_404(); */ /*/ ------------------------------------------------------------------- \*\ - Dispatcho l'url - Carico la homepage SITE_HOMEPAGE_ID se sono sulla root del sito - Preparo l'array per il template - Sparo al template l'array /*/ ?>