1 && time() > $disattivaFino){ $output = 'KO';//<---------------------- triggera fpm restart indiCacheUnset("countErroriOrdinaloWebNei3Minuti"); } else if($countErroriOrdinaloWebNei3Minuti) $output = "countErroriOrdinaloWebNei3Minuti: ".$countErroriOrdinaloWebNei3Minuti; else $output = 'ok'; } //chiamata su web3.tnx.it verso se stesso ogni minuto else if($_GET['utilitaOrdinalo'] == 'healthCheck' && time() > $disattivaFino){ $debugControlloErrore = $_GET['debugtnx']; if($debugControlloErrore) $checkUrl = "https://esercenti.ordinalo.net/utente1/?utilita=onlineCheck&sleep=30"; else $checkUrl = "https://esercenti.ordinalo.net/utente1/?utilita=onlineCheck"; $context = stream_context_create(array( 'http' => array( 'timeout' => 20,//https://bugs.php.net/bug.php?id=76342 ) )); $time = -microtime(true); $res = @file_get_contents($checkUrl, false, $context); $time = round(($time+microtime(true))*100)/100; if(!$debugControlloErrore) db_q("insert into indi_admin.webServerHealthCheck (seconds) values ($time)"); $timeoutLimit = 4; if($res != 'ok' || $time > $timeoutLimit){ $intervalloMinuti = 3; $key = "countErroriOrdinaloWebNei3Minuti".($debugControlloErrore?"Debug":""); $countErroriOrdinaloWebNei3Minuti = (int)indiCacheGet($key); $countErroriOrdinaloWebNei3Minuti++; indiCacheSet($key, $countErroriOrdinaloWebNei3Minuti, 60*($intervalloMinuti+0.5)); if($countErroriOrdinaloWebNei3Minuti > 1){ $desc = "Timeout Ordinalo alle ".strftime("%H:%M").": ".$countErroriOrdinaloWebNei3Minuti.' errori in '.$intervalloMinuti.'\', ultima '.$time.'", controlla mail per conferma riavvio'; $dest = "carlo@tnx.it,moreeasy+nospam@gmail.com,m.ceccarelli@tnx.it";//sync con /root/script/carlo/ordinaloHealtCheck.php mailtnx($debugControlloErrore ? "carlo@tnx.it" : $dest, $desc, $checkUrl."\n\nRISPOSTA: ".print_r($res, true)); if(!$debugControlloErrore){ //157 caratteri: //Timeout Ordinalo alle 10:05: 2 errori in 3', ultima in 0.25" https://esercenti.ordinalo.net/utente1/?utilita=onlineCheck, controlla mail per conferma riavvio tnxSmsAlert($desc." ".$checkUrl, [ '3347537306'=>10, "3286833622"=>3 ] ); } $output = "KO"; } $output = $countErroriOrdinaloWebNei3Minuti; } else $output = $res; } else if($_GET['utilitaOrdinalo'] == 'testSms'){ $output = tnxSmsAlert("utilitaOrdinalo testSms", ["3286833622"=>1] ); } indiObCleanAll();//per sicurezza die((string)$output); } if($_GET['utilitaAvatable']){ //cecca prova invio sms da centralino virtuale if($_GET['utilitaAvatable'] == 'sms'){ //controllo con chiave temporale per i prossimi 30 secondi $tk = ceil((time()-30)/60)*60; if(is_tnx() && $_GET["tk"] === md5($tk)){ $output = tnxSmsAlert($_GET["msg"], [$_GET["to"]=>1] ); } else { $output = "permesso negato"; } } indiObCleanAll();//per sicurezza die((string)$output); } //SISTEMO BASE SE ssl = SI //non controllo $DATI["forza_ssl"] === true perchè potrei visitare una pagina http in https //cecca 13/03/17 tolto cambio in https, fatto prima verso riga 716 (e anche per locale invece che solo per remoto) /* if(((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') and $DATI['dove_sono'] == "rem") or $_GET['indi_ssl'] ==1) { $DATI["baseurl"] = str_replace("http://","https://",$DATI["baseurl"]); $DATI["baseurl2"] = substr($DATI["baseurl"],0,strlen($DATI["baseurl"])-1); $DATI['cdn_baseurl'] = 'https://cdn.tnx.it/'; } */ if($GLOBALS['tnxBoot'] != "admin_tnx"){ //menu if($DATI["menu_ref"] != "root") { $DATI["livello"] = menu_livello(); $DATI["riferimento"] = menu_riferimento($DATI["livello"]); } else { $DATI["livello"] = "0"; $DATI["riferimento"] = $CONF_MENU["menu_ref"]; } //variabili globali per navigazione semplificata //trovo le pagine di livelli $DATI["indi_menu_ref_curr"] = $DATI["riferimento"]; $DATI["indi_menu_ref_0"] = menu_riferimento("0"); $DATI["indi_menu_ref_1"] = menu_riferimento("1"); $DATI["indi_menu_ref_2"] = menu_riferimento("2"); $DATI["indi_menu_ref_3"] = menu_riferimento("3"); $DATI["menu_ref_curr"] = $DATI["indi_menu_ref_curr"]; $DATI["menu_ref_0"] = $DATI["indi_menu_ref_0"]; $DATI["menu_ref_1"] = $DATI["indi_menu_ref_1"]; $DATI["menu_ref_2"] = $DATI["indi_menu_ref_2"]; $DATI["menu_ref_3"] = $DATI["indi_menu_ref_3"]; //alias da finire $DATI["menu_alias_0"] = $MENU[$DATI["indi_menu_ref_0"]][$lang]["menu_alias"]; $DATI["menu_alias_1"] = $MENU[$DATI["indi_menu_ref_1"]][$lang]["menu_alias"]; $DATI["menu_alias_2"] = $MENU[$DATI["indi_menu_ref_2"]][$lang]["menu_alias"]; $DATI["menu_alias_3"] = $MENU[$DATI["indi_menu_ref_3"]][$lang]["menu_alias"]; //template $DATI["template_0"] = $MENU[$DATI["indi_menu_ref_0"]][$lang]["template"]; $DATI["template_1"] = $MENU[$DATI["indi_menu_ref_1"]][$lang]["template"]; $DATI["template_2"] = $MENU[$DATI["indi_menu_ref_2"]][$lang]["template"]; $DATI["template_3"] = $MENU[$DATI["indi_menu_ref_3"]][$lang]["template"]; //template_sub_1 $DATI["template_sottopagine_padre"] = $MENU[$DATI["menu_ref"]][$lang]["template_sottopagine"]; $DATI["template_sottopagine_1"] = $MENU[$DATI["indi_menu_ref_1"]][$lang]["template_sottopagine"]; $DATI["template_sottopagine_2"] = $MENU[$DATI["indi_menu_ref_2"]][$lang]["template_sottopagine"]; $DATI["template_sottopagine_3"] = $MENU[$DATI["indi_menu_ref_3"]][$lang]["template_sottopagine"]; //pagina successiva e precedente ver < 6 //aggiunto *_stesso_ramo carlo if($DATI["menu_pagina_successiva_precedente_init"] == "SI" and $CONF["indi_subversion"] < 6) { $DATI["menu_pagina_successiva"] = menu_pagina_successiva(); if($DATI['menu_ref'] == $MENU[$DATI["menu_pagina_successiva"]][$DATI["lang"]]['menu_ref']) $DATI["menu_pagina_successiva_stesso_ramo"] = $DATI["menu_pagina_successiva"]; $DATI["menu_pagina_precedente"] = menu_pagina_precedente(); if($DATI['menu_ref'] == $MENU[$DATI["menu_pagina_precedente"]][$DATI["lang"]]['menu_ref']) $DATI["menu_pagina_precedente_stesso_ramo"] = $DATI["menu_pagina_precedente"]; } //id univoco della pagina $id_pagina = abs(crc32(md5($DATI['baseurl'].$pagina.$lang.$agg))); $DATI['id_pagina'] = $id_pagina; if(PHP_MAJOR_VERSION < 7 || (PHP_MAJOR_VERSION === 7 && PHP_MINOR_VERSION < 1)){//<7.1: srand() has been made an alias of mt_srand() //random pseudocasuale, va' in base al seme e affligge le funzione random e shuffle //da fare usando id_pagina if(isset($CONF["SEME"])) srand(abs(crc32(md5($CONF["SEME"].$pagina.$lang.$agg)))); else srand(abs(crc32(md5($DATI["SEME"].$pagina.$lang.$agg)))); } } //###################### GESTIONE INCLUDE LINGUE ######################## if($CONF["indi_subversion"] < 6) { //###################### INCLUDE LINGUE DEFAULT ######################## if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info("Inizio","--------- LINGUE","INDI"); //includo variabili lingue xxx if(is_file($CONF['dir_include']."lang_xxx.inc.php")) { include($CONF['dir_include']."lang_xxx.inc.php"); $indi_file_size .= @filesize($CONF['dir_include']."lang_xxx.inc.php"); //if($CONF['VERSIONING'] == "AUTO") $indi_versioning_array[$CONF['dir_include']."lang_xxx.inc.php"] = "lang"; $TXT_XXX = $TXT['xxx']; $TXT_LANG = $TXT[$lang]; @reset($LANG); while(list($k, $v)=@each($LANG)) { unset($TXT[$k]); unset($TXT['xxx']); } $TXT_TMP = @array_merge((array)$TXT_XXX,(array)$TXT_LANG); unset($TXT_XXX); unset($TXT_LANG); //eventualmente mettere unset($TXT) } else if($CONF['dove_sono'] == "loc") d_err("File principale lingue non trovato: $CONF[dir_include]lang_xxx.inc.php","LINGUE","INDI"); //include file di lingua specifico if(is_file($CONF[dir_include]."lang_".$lang.".inc.php")) { include($CONF['dir_include']."lang_".$lang.".inc.php"); $indi_file_size .= @filesize($CONF['dir_include']."lang_".$lang.".inc.php"); //if($CONF['VERSIONING'] == "AUTO") $indi_versioning_array[$CONF['dir_include']."lang_".$lang.".inc.php"] = "lang"; $TXT_LANG = $TXT[$lang]; $TXT_XXX = $TXT['xxx']; //rimuovo le altre lingue se presenti @reset($LANG); while(list($k, $v)=@each($LANG)) { unset($TXT[$k]); unset($TXT['xxx']); } } else d_info("File non trovato: ".$CONF['dir_include']."lang_".$lang.".inc.php","LINGUE","INDI"); //merge lingue $TXT = @array_merge((array)$TXT_TMP,(array)$TXT_XXX,(array)$TXT_LANG, (array)$TXT); $TXT[$lang] = $TXT; //pulisco unset($TXT_XXX); unset($TXT_TMP); unset($TXT_LANG); } else { //###################### [ GESTIONE INCLUDE LINGUE NUOVA ] ######################## // il cliclo sui file va' fatto all' inizio per ottimizzare gli usi seguenti d_info("Inizio","LINGUE","INDI"); //merge iniziale $TXT = @array_merge((array)$TXT, (array)$TXT['xxx'],(array) $TXT[$lang]); //pulisco foreach($LANG as $k => $v) { unset($TXT[$k]); unset($TXT['xxx']); } foreach($DATI as $k => $v ) { $kk = trim(substr($k,0,strpos($k,":"))); if($kk == "file") { if(trim($v) != "NO" and $v != "" and stristr($v,"LANG")) { $indi_file_include = substr($k,strlen($kk)+1); //risolvo le variabili di template $indi_file_include = indi_tpl($indi_file_include,$DATI,0); //1ms //controlli aggiuntivi if(is_file($indi_file_include) and indi_estensione_file($indi_file_include,"php")) { //includo file lingue include($indi_file_include); if($CONF['lingua_fallback'] != "") { //controllo lingua fb if(array_key_exists($CONF['lingua_fallback'],$LANG)) { //aggiungo ad xxx la lingua specifica ma non sovrascrivo eventuali xxx gia' presenti $TXT['xxx'] = @array_merge((array)$TXT[$CONF['lingua_fallback']], (array)$TXT['xxx']); } } //merge per aggiungere traduzioni $TXT = @array_merge((array)$TXT, (array)$TXT['xxx'],(array) $TXT[$lang]); //pulisco foreach($LANG as $k => $v) { unset($TXT[$k]); unset($TXT['xxx']); } //versioning //$indi_file_size .= @filesize($indi_file_include); if($CONF['VERSIONING'] == "AUTO") $indi_versioning_array[$indi_file_include] = "include"; d_info("$indi_file_include","FILE (LANG)","INDI"); } else if(stristr($indi_file_include,".") == true and stristr($v,"NO_ERR") == false) d_err("File non trovato/non valido: $tjswo","indi_output","INDI"); } } } //pulisco unset($v); unset($k); unset($kk); //riassegno array per compatibilita $TXT[$lang] = $TXT; d_info("Fine","LINGUE","INDI"); } //fine lingue new //risparmio qualche millisecondo if($CONF["DEBUG"] == "SI") { d_info(count($MENU),"Pagine","INDI"); d_info($CONF['indi_menu_tot_pagine'],"Pagine totali","INDI"); d_info($CONF['indi_menu_tot_lingue'],"Lingue totali","INDI"); d_info($_setlocale,"setlocale","INDI"); d_info($CONF['setlocale'],"setlocale","INDI"); //debuggo pagina e lingua e altre info d_info($CONF["REW"],"CONF[REW]","INDI"); d_info($CONF["template"],"CONF[template]","INDI"); d_info($pagina,"DATI[pagina]","INDI"); d_info($lang,"DATI[lang]","INDI"); d_info($CONF["nazione"],"DATI[nazione]","INDI"); d_info($CONF["lang_browser"],"DATI[lang_browser]","INDI"); d_info($CONF["url_richiesto_http"],"DATI[url_richiesto_http]","INDI"); d_info($CONF["agg"],"DATI[agg]","INDI"); d_info($CONF["path_base"],"DATI[path_base]","INDI"); d_info($CONF["dominio_sito"],"DATI[dominio_sito]","INDI"); d_info($CONF["base"],"DATI[base]","INDI"); d_info($CONF["baseurl"],"DATI[baseurl]","INDI"); d_info($CONF["baseurl2"],"DATI[baseurl2]","INDI"); d_info($CONF["dove_sono"],"DATI[dove_sono]","INDI"); //moduli d_info($CONF["mcharset"],"DATI[mcharset]","INDI"); d_info($DB["database"],"DATABASE","INDI"); d_info($CONF["dir_base"],"DATI[dir_base]","INDI"); //d_info($DATI["query"],"DATI[query]","INDI"); //d_info($DATI["QUERY"],"DATI[QUERY]","INDI"); //d_info($DATI["query_extra"],"DATI[query_extra]","INDI"); d_info($DATI["livello"],"DATI[livello]","INDI"); d_info($DATI["riferimento"],"DATI[riferimento]","INDI"); d_info($DATI["indi_menu_ref_curr"],"DATI[indi_menu_ref_curr]","INDI"); d_info($DATI["indi_menu_ref_0"],"DATI[indi_menu_ref_0]","INDI"); d_info($DATI["indi_menu_ref_1"],"DATI[indi_menu_ref_1]","INDI"); d_info($DATI["indi_menu_ref_2"],"DATI[indi_menu_ref_2]","INDI"); d_info($DATI["indi_menu_ref_3"],"DATI[indi_menu_ref_3]","INDI"); if($CONF["indi_subversion"] > 5) { d_info($DATI["menu_alias_0"],"DATI[menu_alias_0]","INDI"); d_info($DATI["menu_alias_1"],"DATI[menu_alias_1]","INDI"); d_info($DATI["menu_alias_2"],"DATI[menu_alias_2]","INDI"); d_info($DATI["menu_alias_3"],"DATI[menu_alias_3]","INDI"); } $db_time_visualizzazione = indi_time(); d_info("Inizio","VISUALIZZAZIONE SITO","INDI"); } if($DATI['cookie_id_utente']){ if($_COOKIE["id_utente"]) $_SESSION["STAT"]["id_utente"] = $_COOKIE["id_utente"]; else{ $_SESSION["STAT"]["id_utente"] = mt_rand(1,1000000000); setcookie("id_utente", $_SESSION["STAT"]["id_utente"], time()+60*60*24*1825, indi_cookie_path()); } } d_info($_SESSION["STAT"]["id_utente"],"id_utente","INDI"); // CECCA check per fare clear di indiCache (vedi base.inc) indiCacheCheckAutoClear(); ?>