documents; $cache = new Redis(); $cache->connect($redis_connection1,6379); $router = new AltoRouter(); $router->setBasePath(''); // EXTERNAL APPLICATIONS $router->map('GET','/externalapp/action', array('controller' => 'user', 'action' => 'list','view' =>'userlist'),'user_list'); // RICERCHE $router->map('GET|POST','/search/', array('controller' => 'search', 'action' => 'search','view' =>'listasemplice'),'search'); $router->map('GET','/tag/[:query]', array('controller' => 'search', 'action' => 'tagsearch','view' =>'listasemplice'),'tagsearch'); $router->map('GET','/news-del-giorno/[:giorno]', array('controller' => 'search', 'action' => 'datesearch','view' =>'listasemplice'),'datesearch'); $router->map('GET','/data/[:news].htm', array('controller' => 'data', 'action' => 'default','view' =>'listasemplice'),'listasemplice'); $router->map('GET','/video/[*:sefurl].htm', array('controller' => 'video', 'action' => 'default','view' =>'video'),'video'); // CONTROLLER PER PAGINE AMP // Recupero tutta la request uri, poiché gli articoli condivisi presentano la sefurl nel seguente formato: [company]/[sefurl] $router->map('GET','/amp/[*:sefurl]', array('controller' => 'default', 'action' => 'amp','view' =>'amp'),'amppage'); $router->map('GET','/persone', array('controller' => 'dictionary', 'action' => 'list','view' =>'dictionary'),'dictionary_list'); $router->map('GET','/persone/[:tag]', array('controller' => 'dictionary', 'action' => 'tag_list','view' =>'lista'),'tag_dictionary_list'); $router->map('GET','/corriere', array('controller' => 'default', 'action' => 'list_corriere','view' =>'corriere-list'),'corriere_list'); $router->map('GET','/italpress', array('controller' => 'italpress', 'action' => 'list','view' =>'italpress-list'),'italpress_list'); $router->map('GET','/italpress/[:sefurl]', array('controller' => 'italpress', 'action' => 'detail','view' =>'articolo'),'italpress_detail'); // Cinema // $router->map('GET', '/cinema/programmazione/[:localita]?/?[i:pagina]?', array('controller'=>'cinema', 'action'=>'list', 'view' => 'listacinema'), 'cinema_list'); $router->map('GET', '/calcio', array('controller'=>'calcio', 'action'=>'default', 'view' => 'calcio'), 'calcio'); $router->map('GET', '/cinema/[:title]/[:theater]', array('controller'=>'cinema', 'action'=>'cinema', 'view' => 'cinema'), 'theather'); $router->map('GET', '/cinema/film/[:title]/[:movie_id]', array('controller'=>'cinema', 'action'=>'film', 'view' => 'film'), 'film'); $router->map('GET', '/cinema-programmazione', array('controller'=>'cinema', 'action'=>'list', 'view' => 'listacinema'), 'lista_cinema_test'); $router->map('GET', '/prezzi-carburanti.html', array('controller'=>'benzina', 'action'=>'list' , 'view' => 'listabenzina'), 'listabenzina_citta'); $router->map('GET', '/prezzi-carburanti/impianti/[:id].html', array('controller'=>'benzina', 'action'=>'impianti' , 'view' => 'listabenzina_impianti'), 'listabenzina_impianti'); $router->map('GET', '/prezzi-carburanti/carburanti/[:id].html', array('controller'=>'benzina', 'action'=>'carburanti', 'view' => 'listabenzina_carburanti'), 'listabenzina_carburanti'); $router->map('GET', '/offerte-lavoro', array('controller'=>'lavoro', 'action'=>'list', 'view' => 'listaofferte'), 'lista_offerte'); $router->map('GET', '/offerte-lavoro/[:id]', array('controller'=>'lavoro', 'action'=>'detail', 'view' => 'dettagliofferte'), 'dettaglio_offerte'); $router->map('GET|POST', '/segnala-evento', array('controller'=>'eventi', 'action'=>'detail', 'view' => 'formeventi'), 'segnala_evento'); $router->map('GET|POST', '/eventi', array('controller'=>'eventi', 'action'=>'list', 'view' => 'listaeventisegnalati'), 'lista_eventi'); // BLOGS $router->map('GET','/blog?/?', array('controller' => 'blog', 'action' => 'default','view' =>'blog'),'blogglobal'); $router->map('GET','/blog/[:blog]?/?', array('controller' => 'blog', 'action' => 'default','view' =>'blog'),'blogname'); $router->map('GET','/blog/[:blog]?/?[*:article].htm?', array('controller' => 'blog', 'action' => 'default','view' =>'blog'),'blog'); // Thinkermail $router->map('POST','/user/signup', array('controller' => 'informabene', 'action' => 'signup','view' =>'ajax'),'signup'); $router->map('GET','/js/[:action]', array('controller' => 'js'),'js'); // $router->map('GET|POST','/search/', array('controller' => 'default', 'action' => 'search','view' =>'listasemplice'),'search'); // match current request $match = $router->match(); // Interpreta e assegna Controller e View $controller =(isset($match['target']['controller']))?$match['target']['controller']:'default'; $action =(isset($match['target']['action']))?$match['target']['action']:'default'; $view =(isset($match['target']['view']))?$match['target']['view']:'default'; $parameters=$match['params']; $smarty = new Smarty; $smarty->setCompileCheck($DEBUG); $smarty->force_compile = $DEBUG; if (is_file(LOCAL_CONTROLLERS.$controller.".php")) { include LOCAL_CONTROLLERS.$controller.".php"; } else { include DIR_CTRL.$controller.".php"; } // template di base $smarty->template_dir = Array(SMARTY_TEMPLATES,DIR_WEB."/common/ui/templates/"); $smarty->compile_dir = SMARTY_COMPILE; $smarty->addPluginsDir(DIR_SMARTY_PLUGIN); // Assegnazioni globali $smarty->assign('company',COMPANY); $smarty->assign('domain',DOMAIN); $smarty->assign('userlist',$userlist); $smarty->assign('user',$_SESSION['user']); $smarty->assign('view',$view); $smarty->assign('network',$network); $smarty->assign('companies',$companies); $smarty->assign('city_name',mb_strtoupper(CITYNAME_CLEAR)); $smarty->assign('companysocialdata',$companiessocialdata[COMPANY]); $smarty->assign('companyads',$companiesads[COMPANY]); $smarty->assign('quantcastamp',$quantcastamp[COMPANY]); $smarty->assign('g_news_link',$g_news_links[COMPANY]); $smarty->assign('companyads_mobile',$companiesads_mobile[COMPANY]); // $smarty->assign('bannerGoogleTag',$bannerGoogleTag); $smarty->assign('menu', $menu); $smarty->assign('redazioni_links', $redazioni_links); $smarty->assign('extension', $extension); $smarty->assign('debug',$DEBUG); // $smarty->assign('farmacieBanner', $farmacieBanner); $output = array(); // assegnazioni locali include @COMPANY.'/index.php'; include 'common/common.php'; /* ATTENZIONE RIVEDERE BENE QUI ELEZIONI if (!$output['elezioni_regionali_2020'] = cache_fetch("mobile_elezioni_regionali_2020")) { $output['elezioni_regionali_2020'] = file_get_contents('https://www.quinews.net/export/elezioni.php'); $result = cache_store("mobile_elezioni_regionali_2020", $output['elezioni_regionali_2020'], 86400); } if(COMPANY == 'maremma' || COMPANY == 'valdinievole' || COMPANY == 'lunigiana' || COMPANY == 'versilia' || COMPANY == 'garfagnana'){ if (!$output['elezioni_comunali_2020'] = cache_fetch(COMPANY."_elezioni_comunali_2020")) { $output['elezioni_comunali_2020'] = file_get_contents('https://www.quinews.net/export/elezioni-comunali.php?company='.COMPANY); $result = cache_store(COMPANY."_elezioni_comunali_2020", $output['elezioni_comunali_2020'], rand(85000,86390)); } }elseif(COMPANY == 'pisa' || COMPANY == 'arezzo'){ $comune=(COMPANY=='pisa')?'cascina':COMPANY; if (!$output['ballottaggio_2020'] = cache_fetch(COMPANY."_ballottaggio_2020")) { $output['ballottaggio_2020'] = file_get_contents('https://www.quinews.net/export/ballottaggio.php?comune='.$comune); $result = cache_store(COMPANY."_ballottaggio_2020", $output['ballottaggio_2020'], rand(180,210)); } }else{ $output['elezioni_comunali_2020']=''; }*/ if (!$output[COMPANY."_last_time_update"] = cache_fetch(COMPANY."_last_time_update")) { $last_time_update = $db->documents->find(array('company' => COMPANY, 'status'=>'published'), array("pubstartdate" => 1))->sort(array('pubstartdate'=> -1))->limit(1); $last_time_update = iterator_to_array($last_time_update); foreach ($last_time_update as $key => $document) { // print_r($document['pubstartdate']); date_default_timezone_set('Europe/Rome'); $output[COMPANY.'_last_time_update'] = date('H:i',$document['pubstartdate']->toDateTime()->getTimestamp()); } // $output[COMPANY.'last_time_update'] = iterator_to_array($last_time_update); $result = cache_store(COMPANY."_last_time_update", $output[COMPANY.'_last_time_update'], rand(30,90)); } $output['elezioni_regionali_2020'] =''; $smarty->assign('output',$output); // mostriamo finalmente la pagina $smarty->display($view.".tpl"); // enable to write to file times //$loadtime->writeToFile($view,'/tmp/quinews-times.log'); class loadTime{ private $time_start = 0; private $time_end = 0; private $time = 0; public function __construct(){ $this->time_start= microtime(true)*1000; } public function getDuration(){ $this->time_end = microtime(true)*1000; $this->time = $this->time_end - $this->time_start; } public function printTime($text=null){ $this->getDuration(); $url = $_SERVER['LB'] . ' - '.$_SERVER['HTTP_X_FORWARDED_PROTO'].'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; return date("Y-m-d H:i:s") . " --> ".str_pad((int)$this->time, 5, " ", STR_PAD_LEFT). ' ms' ." --> ($text) --> ". $url; } public function writeToScreen($text){ echo $this->printTime($text); } public function writeToFile($text,$outputfile=null){ if (!$outputfile) $outputfile = '/tmp/'.$_SERVER['SERVER_NAME'].'-times.log'; file_put_contents($outputfile,$this->printTime($text)."\n",FILE_APPEND); } }