$_GET, '$_POST'=>$_POST, '$_SERVER'=>$_SERVER, '$_SESSION'=>$_SESSION), TRUE); mail($email, "[PHP] FATALE: pagina bloccata per ".$GLOBALS["CONF"]["nome_sito"], $body); } else{ echo "FATAL: $msg at $file ($line)"; die; } break; case E_WARNING: case E_USER_NOTICE://generati di default con trigger_error case E_USER_WARNING: case E_RECOVERABLE_ERROR: //errore warning: //online: mando mail, non faccio vedere nulla all'utente e continuo lo script //locale: gestisco come normale warning con stampa a video if(!error_reporting()) return;//(error_reporting()==0 vuol dire che è stato soppresso l'errore con @) if(function_exists("is_spider") && is_spider()) return; //unisco gli errori del php con quelli di indi, in qualche modo $msg_unserialized = unserialize($msg); if(!is_array($msg_unserialized)) { $msg = array( "errore" => $msg, "nome" => "WARNING", "gruppo" => "PHP", ); } else{ $msg = $msg_unserialized; } $debug_print_backtrace = debug_backtrace(); /* $log_txt .= str_replace("/tnx/www/html/www/indi/SITI/","",$debug_print_backtrace[1][args][0]); $log_txt .= str_replace("/tnx/www/html/www/indi/SITI/","",$debug_print_backtrace[1][file]); $log_txt .= str_replace("/tnx/www/html/www/indi/SITI/","",$debug_print_backtrace[1][file]); //indi_log_globale(); print "
";
				print_r($debug_print_backtrace[2]);
				print "
"; */ while(list($k,$v) = each($debug_print_backtrace)) { //scrivo su file if($k == 3) { //$log_file = $debug_print_backtrace[2][0]); } if(($k > 1 and $msg['gruppo'] != "PHP") or ($msg['gruppo'] == "PHP" and $k > 0)) { // $v = "".$v['function'].$v['class']."(".nl2br(@htmlentities(indi_var_dump($v['args'][0]))).") in [".$v['file']."] (linea: ".$v['line'].")"; $v = "".$v['function'].$v['class']."(".nl2br((indi_var_dump($v['args'][0]))).") chiamato da ".$v['file']." (linea: ".$v['line'].")"; $debug_print_backtrace_out .= "
".$v."
"; } } if($msg['gruppo'] == "PHP") { $linea = " in [".$file."] linea: $line"; } if($GLOBALS["CONF"]["dove_sono"] == "rem" and $GLOBALS["CONF"]['indi_error'] == "NO"){//invio mail $body = "$msg[errore]

at $file (".($linea?$linea:$line).")

timed at " . date ("d-M-Y H:i:s", mktime()); $body .= $linea; $body .= "

http://$_SERVER[SERVER_NAME]$_SERVER[REQUEST_URI]"; $body .= $debug_print_backtrace_out; $body .= "

" . print_r(array('$_GET'=>$_GET, '$_POST'=>$_POST, '$_SERVER'=>$_SERVER, '$_SESSION'=>$_SESSION), TRUE)."
"; if(!$GLOBALS["warning_email_report_c3k"]){//non ho già inviato un errore durante questa richiesta php $GLOBALS["warning_email_report_c3k"] = mail($email, "[$msg[gruppo]] $msg[nome] in una pagina di ".$GLOBALS["CONF"]["nome_sito"], $body, 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/html; charset=iso-8859-1' . "\r\n"); } } else{//stampa a video indi $backtrace_html = "
$msg[gruppo] $msg[nome]:
$msg[errore] $linea
---> mostra backtrace "; $GLOBALS['indi_error_messages'][$GLOBALS['indi_error_messages_k']++] = $backtrace_html; } break; default: //il gestore di errori è stato chiamamto con un codice diverso da un E_USER_* mail("carlo@tnx.it", "Aggiornare la funzione indi_error_handler()", "Gestire il codice di errore ".$code."\n\n" . print_r(array('$_GET'=>$_GET, '$_POST'=>$_POST, '$_SERVER'=>$_SERVER, '$_SESSION'=>$_SESSION), TRUE)); break; } } function indi_exception_handler($exc){//wrapper per far gestire le eccezioni al gestore d'errori $code = $exc->getCode(); if(!$code) $code = E_USER_WARNING;//se non c'è un codice lo faccio passare (e arrivare come email) come un warning $msg = $exc->getMessage(); if(!$msg) $msg = "Eccezione senza descrizione"; $file = $exc->getFile(); $line = $exc->getLine(); indi_error_handler($code, $msg, $file, $line, array()); } //funzione per start sessione una sola volta function indi_session_start(){ if($GLOBALS[indi_session_start] == ""){ //imposto manualmente il session id ??? (problema sicurezza forse) if (isset($_POST["PHPSESSID"])) {//per swfupload in area protetta session_id($_POST["PHPSESSID"]); } //tipo di cache di sessione // indi_session_cache("SI"); session_start(); $GLOBALS[indi_session_start] = true; } } //imposta la cache della sessione e in generale | public | private_no_expire //???? da parametrizzare 30 minuti function indi_session_cache($STATO="NO"){ // if($GLOBALS[indi_session_start]) { if($STATO != "SI"){ session_cache_limiter('nocache'); } else { //disabilito cache session_cache_limiter('private'); session_cache_expire(30); } // session_write_close(); session_start(); // } } //funzione che gestiche gli header di cache, richiamata nell' index1.1 function indi_cache_header () { global $DATI; if($DATI['indi_cache_header'] == "AUTO") { //default $DATI['indi_cache_header'] = "cache_default"; //se c'e' un post if(count($_POST) > 0) { //$DATI['indi_cache_header'] = "cache_form"; d($_POST); } //se sono autenticato o se ho roba nel carrello no cache sempre //per ora non importarebbe con il cache_default che aggiorna sempre if($DATI['auth'] == "SI" or count($_SESSION['indicarr']) > 0) { $DATI['indi_cache_header'] = "cache_no"; } } if($DATI['indi_cache_header'] == "cache_default") { header("Expires: "); header("Pragma: "); header("Cache-Control: private, pre-check=0"); //header("Cache-Control: private, max-age=600, pre-check=600"); } //tolgo gli header elseif($DATI['indi_cache_header'] == "cache_reset") { //tolgo la roba header("Pragma: "); header("Expires: "); header("Cache-Control: "); } //abilito cache elseif($DATI['indi_cache_header'] == "cache_si") { header("Expires: "); header("Pragma: "); header("Cache-Control: private, max-age=600, pre-check=600"); } //abilito cache elseif($DATI['indi_cache_header'] == "cache_form") { //header("Expires: Thu, 19 Nov 1981 08:52:00 GMT"); header("Expires: "); header("Pragma: "); header("Cache-Control: private, max-age=300, pre-check=300"); } //disabilito cache elseif($DATI['indi_cache_header'] == "cache_no") { header("Expires: Thu, 19 Nov 1981 08:52:00 GMT"); header("Pragma: no-cache"); header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); //header("Cache-Control: private, pre-check=0"); } else { d_err("indi_cache_header:no_defined","INDI"); } } //session_cache_limiter('private'); //???riesumo la sessione da dentro la pagina in test function indi_session_resume(){ ini_set("session.use_cookies", false); $name = ini_get("session.name"); session_id($_COOKIE[$name]); session_start(); } //funzione time function indi_time() { global $indi_time, $time_diff; $time_tmp=microtime(); $time=substr($time_tmp,11).substr($time_tmp,1,9); $time_diff = substr($time-$indi_time,0,6); return $time_diff; } //controllo di cache function indi_cache($file) { $if_modified_since = preg_replace('/;.*$/', '', $_SERVER["HTTP_IF_MODIFIED_SINCE"]); $mtime = filemtime($file); $gmdate_mod = gmdate('D, d M Y H:i:s', $mtime) . ' GMT'; if ($if_modified_since == $gmdate_mod) { header("HTTP/1.0 304 Not Modified"); exit; } header("Last-Modified: $gmdate_mod"); } //###################### COSE STRANE ############################ if(trim(substr($_SERVER['REQUEST_URI'],strrpos($_SERVER['REQUEST_URI'],"/")+1,strlen($_SERVER['REQUEST_URI']))) == "favicon.ico") { header ("HTTP/1.0 404 Not Found"); exit(); } else { //CONTROLLO RICHIESTE STRANE //primo controllo per richieste ai file appese dietro ai parametri if(stristr($_SERVER['REQUEST_URI'],"_pics/_pics/") or stristr($_SERVER['REQUEST_URI'],"_files/_files/") or stristr($_SERVER['REQUEST_URI'],"/_files/_pics/") or stristr($_SERVER['REQUEST_URI'],"/_pics/_files/")) { header ("HTTP/1.0 404 Not Found"); exit(); } } //INIZIALIZZO CONTATORE DI TEMPO $indi_time_tmp=microtime(); $indi_time=substr($indi_time_tmp,11).substr($indi_time_tmp,1,9); //###################### ERRORI ############################ if(function_exists("set_exception_handler")){//PHP5 set_error_handler('indi_error_handler', E_ALL&~E_STRICT&~E_NOTICE);//tutti esclusi i notice e gli strict set_exception_handler('indi_exception_handler'); } else{//PHP4 set_error_handler('indi_error_handler'); } //### INDIZIO $indi_base_dir = "INDI_ver1.1"; $CONF["indi_ver"] = $indi_base_dir; //error_reporting (E_ALL); define('INDI','ver1.1'); set_magic_quotes_runtime(0); ini_set('session.use_cookies', true); ini_set('session.use_trans_sid', false); ini_set('session.use_only_cookies', true); set_time_limit(600); //5 minuti //imposto dove sono if (stristr($_SERVER['SERVER_NAME'],'dyndns') or stristr($_SERVER['SERVER_ADDR'],'192.168.0.105')) { $CONF['dove_sono'] = 'loc'; } else $CONF['dove_sono'] = 'rem'; $indi_location = $CONF["dove_sono"]; //utilita INDI admi etc if($_GET["indi_red_sito"] != "") { header("Location: ../".$_GET["indi_red_sito"]."/?a=1"); exit(); } //deprecata if($_GET["indi_file_css"] != "") { //controllo cache prima di tutto indi_cache($_GET["indi_file_css"].".css"); header('Content-type: text/css'); readfile($_GET["indi_file_css"].".css"); exit(); } if($_GET["indi_file_pdf"] != "") { //controllo cache prima di tutto indi_cache($_GET["indi_file_pdf"].".pdf"); header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="'.$_GET["indi_file_pdf"].'.pdf"'); readfile($_GET["indi_file_pdf"].".pdf"); exit(); } if($_GET["indi_file_swf"] != "") {//usata per il grabber dall'amministrazione di indi if(is_file($_GET["indi_file_swf"].".swf")){ header("Content-type: application/x-shockwave-flash"); readfile($_GET["indi_file_swf"].".swf"); exit(); } } //include un file che si trova nella cartella di template if($_GET["indi_file_tpl"] != "") { $file = "../../$indi_base_dir/template/_files/".$_GET["indi_file_tpl"]; //controllo input ?? da aggiungere controllo sulla fine del file if(stristr($_GET["indi_file_tpl"],"..") or !is_file($file)) exit(); //controllo cache prima di tutto indi_cache($file); //genero header giusto ??? DA FARE readfile($file); exit(); } if($_GET["indi_file"] != "") { //controllo input ??? da fare //if(stristr($_GET["indi_file"])) exit(); //controllo cache prima di tutto //indi_cache($_GET["indi_file"]); //readfile($_GET["indi_file"]); //exit(); } if($_GET["dimage"] != "") { include("../../$indi_base_dir/functions_dtxt.inc.php"); //superdefault $font = "arial" ; $font_size = 20; $font_color = '#aaa555' ; $background_color = '#ffffff' ; $transparent_background = true ; $extension = '.png' ; //prendo parametri if($_GET[dtxtf]) $font = $_GET[dtxtf]; if($_GET[dtxts]) $font_size = $_GET[dtxts]; if($_GET[dtxtc]) $font_color = $_GET[dtxtc]; if($_GET[dtxtb]) $background_color = $_GET[dtxtb]; if($_GET[dtxtt]) $transparent_background = $_GET[dtxtt]; if($_GET[dtxte]) $extension = $_GET[dtxte]; if($transparent_background == "NO") $transparent_background = false ; else $transparent_background = true; /* --------------------------------------------------------------------------- For basic usage, you should not need to edit anything below this comment. If you need to further customize this script's abilities, make sure you are familiar with PHP and its image handling capabilities. --------------------------------------------------------------------------- */ //cartella $font_ext = ".ttf" ; $font_dir = "../../$indi_base_dir/_lib/fonts/" ; $font_file = $font_dir.$font.$font_ext; $cache_images = true ; $cache_folder = 'indi/_txt_cache' ; $mime_type = 'image/png' ; $send_buffer_size = 4096; // check for GD support if(!function_exists('ImageCreate')) fatal_error('Error: Server does not support PHP image generation') ; // clean up text if(empty($_GET['text'])) fatal_error('Error: No text specified.') ; $text = $_GET['text'] ; if(get_magic_quotes_gpc()) $text = stripslashes($text) ; $text = javascript_to_html($text) ; // look for cached copy, send if it exists $hash = md5(basename($font_file) . $font_size . $font_color . $background_color . $transparent_background . $text) ; $cache_filename = $cache_folder . '/' . $hash . $extension ; if($cache_images && ($file = @fopen($cache_filename,'rb'))) { header('Content-type: ' . $mime_type) ; while(!feof($file)) print(($buffer = fread($file,$send_buffer_size))) ; fclose($file) ; exit ; } // check font availability $font_found = is_readable($font_file) ; if(!$font_found) { fatal_error('Error: The server is missing the specified font.') ; } // create image $background_rgb = hex_to_rgb($background_color) ; $font_rgb = hex_to_rgb($font_color) ; $dip = get_dip($font_file,$font_size) ; $box = @ImageTTFBBox($font_size,0,$font_file,$text) ; $image = @ImageCreate(abs($box[2]-$box[0]),abs($box[5]-$dip)) ; if(!$image || !$box) { fatal_error('Error: The server could not create this heading image.') ; } // allocate colors and draw text $background_color = @ImageColorAllocate($image,$background_rgb['red'], $background_rgb['green'],$background_rgb['blue']) ; $font_color = ImageColorAllocate($image,$font_rgb['red'], $font_rgb['green'],$font_rgb['blue']) ; ImageTTFText($image,$font_size,0,-$box[0],abs($box[5]-$box[3])-$box[1], $font_color,$font_file,$text) ; // set transparency if($transparent_background) ImageColorTransparent($image,$background_color) ; header('Content-type: ' . $mime_type) ; ImagePNG($image) ; // save copy of image for cache if($cache_images) { @ImagePNG($image,$cache_filename) ; } ImageDestroy($image) ; exit ; } //altro controllo per richieste ai file appese dietro ai parametri quando c'è la rew3 attiva ad es. http://www.tuscanyholidayaccommodation.com/toscana/nm:3/nl:1/nf1:ALI/id:22045/_pics/lightbox_overlay.png //(client che non leggono il base ad esempio) // if($_SERVER["REMOTE_ADDR"] == "192.168.0.177"){ /* $request_uri = array_shift(explode("?", $_SERVER['REQUEST_URI']));//evito il problema che si presenta se passo il percorso di un file come parametro ad es. http://indi.tnx.dyndns.org/tuscan_enterprise/index.php?p=gall_popup&l=eng&img=indi/_pics/030801_2_2247747544.jpg //controllo che nel request_uri non ci sia un file che esiste nelle cartelle qui sotto $checks = array("_pics", "_files"); foreach($checks as $folder) if(is_file(stristr($request_uri, $folder."/"))) { header ("HTTP/1.0 404 Not Found"); exit(); } // } */ //acatturo output per evitare problemi ob_start(); if(!$CONFIGURAZIONE) exit; //CORE require("$indi_base_dir/core.inc.php"); require("$indi_base_dir/core_db.inc.php"); require("$indi_base_dir/core_debug.inc.php"); // Includo configurazione base require("$indi_base_dir/base.inc.php"); //STATO //controllo comunque se il sito viene grabbato e imposto la variabile if($_SERVER['HTTP_USER_AGENT'] == "INDI_HTML_LINKGRABBER" or $_GET["indi_html"] == "1" or $_REQUEST["indi_media"] == "cdrom"){ $CONF["MEDIA"] = "cdrom"; //da cambiare in cd-rom } if($_SERVER['HTTP_USER_AGENT'] == "INDI_GRAB_LINKGRABBER" or $_GET["indi_grab"] == "1" or $_REQUEST["indi_media"] == "grab"){ $CONF["GRAB"] = "SI"; $CONF["MEDIA"] = "grab"; } //includo il file di configurazione personalizzato per il sito include($CONFIGURAZIONE); $indi_file_size = @filesize("../../".$CONFIGURAZIONE); //imposto un po' di variabili bi base anche per i moduli //PRIMA PSEUDORANDOMIZZO if(isset($IND["SEME"])) srand(abs(crc32(md5($IND["SEME"])))); else srand(abs(crc32(md5($CONF["SEME"])))); //Inizializzo le cose automatiche if($CONF["sito"] == "AUTO") $CONF["sito"] = ind_trova_sito(); //ste sta' facendo il setup si ferma if(apc_fetch($CONF["sito"]) == 1) die("

$CONF[dominio_sito] ($CONF[nome_sito]) - work in progress... wait a moment

"); if($CONF["base"] == "AUTO") $CONF["base"] = genera_BASE(); if($CONF["baseurl"] == "AUTO") $CONF["baseurl"] = genera_BASEURL(); $CONF["baseurl2"] = substr($CONF["baseurl"],0,strlen($CONF["baseurl"])-1); if($CONF["path_base"] == "AUTO") $CONF["path_base"] = $_SERVER['DOCUMENT_ROOT'].$CONF["base"]; if($CONF["dominio_sito"] == "AUTO") $CONF["dominio_sito"] = str_replace("http://","",$CONF["baseurl2"] ); //se non sono nel dominio di produzione metto if($CONF["meta_noindex"] == "AUTO") { if(stristr($_SERVER["SERVER_NAME"],"indi.tnx")) $CONF["meta_noindex"] = "SI"; else $CONF["meta_noindex"] = "NO"; } // IMPOSTO IL NOME DEL DATABASE IN AUTOMATICO if($DB["database"] == "AUTO") $DB["database"] = $CONF["db_prefix"].$CONF["sito"]; //PER VERSIONE CDROM e GRAB if($CONF["MEDIA"] == "cdrom" or $CONF["MEDIA"] == "grab") { $CONF["baseurl"] = ""; $CONF["baseurl2"] = ""; } //mi salvo la configurazione del sito per ripristinarla dopo aver incluso i moduli //la devo per forza includere qui perchè dalla configurazione capisco quali moduli includere $CONF_SALVATA = $CONF; //################### MODULI ################## if ($CONF['mod_html'] == "SI") require("$indi_base_dir/mod_html.inc.php"); if ($CONF['mod_grab'] == "SI") require("$indi_base_dir/mod_grab.inc.php"); if ($CONF['mod_menujb'] == "SI") require("$indi_base_dir/mod_menujb.inc.php"); if ($CONF['mod_menujb2'] == "SI") require("$indi_base_dir/mod_menujb2.inc.php"); if ($CONF['mod_pagine_dinamiche'] == "SI") require_once("$indi_base_dir/mod_pagine_dinamiche.inc.php"); else if ($CONF['mod_pagine_dinamiche2'] == "SI") require_once("$indi_base_dir/mod_pagine_dinamiche2.inc.php"); if ($CONF['mod_auth'] == "SI") require("$indi_base_dir/mod_auth.inc.php"); if ($CONF['mod_xfiles'] == "SI") require("$indi_base_dir/mod_xfiles.inc.php"); if ($CONF['mod_carr'] == "SI") require("$indi_base_dir/mod_carr.inc.php"); else if ($CONF['mod_carr2'] == "SI") require("$indi_base_dir/mod_carr2.inc.php"); if ($CONF['mod_smarty'] == "SI") require("$indi_base_dir/mod_smarty.inc.php"); if ($CONF['mod_form2'] == "SI") require("$indi_base_dir/mod_form2.inc.php"); if ($CONF['mod_snippet'] == "SI") require("$indi_base_dir/mod_snippet.inc.php"); if ($CONF['mod_disponibilita'] == "SI") require("$indi_base_dir/mod_disponibilita.inc.php"); //MODULI DEFAULT require_once("$indi_base_dir/mod_galleria.inc.php"); require_once("$indi_base_dir/mod_menu.inc.php"); require_once("$indi_base_dir/mod_form.inc.php"); require_once("$indi_base_dir/mod_visualizzazione.inc.php"); //aggiungo HACK REW ??? if($_GET["REW"] != "" and $indi_location == "loc") $CONF["REW"] = $_GET["REW"]; //MERGE DELLA CONFIGURAZIONE DEI MODULI CON QUELLA DI INDI reset($CONF_SALVATA); while(list($k, $v)=@each($CONF_SALVATA)) { if(is_array($v)) { $CONF_SALVATA_ARR[$k] = $v; unset($CONF_SALVATA[$k]); } } //mergio senza array $CONF = array_merge($CONF, (array)$CONF_SALVATA); reset($CONF_SALVATA_ARR); while(list($k, $v)=@each($CONF_SALVATA_ARR)) { $CONF[$k] = array_merge($CONF[$k], (array)$v); } //MERGE PER I CONF $CONF = array_merge($CONF,$CONF["xxx"], (array)$CONF[$lang], (array)$CONF[$indi_location]); //######################################################################## // PROGRAMMA PRINCIPALE v 1.1//########################################## //######################################################################## d_info("SETUP PROGRAMMA PRINCIPALE v 1.1","INFO","INDI"); //setup di indi ind_setup(); if($_GET['fix_indi_dir'] == 1) { for ($i = 0; $i <= 9; $i++) { mkdir("indi/_pics/$i"); for ($ii = 0; $ii <= 9; $ii++) { mkdir("indi/_pics/$i/$ii"); } } } //Disabilita SESSIONI PAGINA if($CONF["SESS"] == "SI" and !isset($_REQUEST["no_sess"])) indi_session_start(); //imposto la cache //login automatico locale if((($_GET[dq]) or ($_GET[d]) or ($_GET[ds]) or ($_GET[de]) or ($_GET[a])) and $CONF["dove_sono"] and stristr($_SERVER['REMOTE_ADDR'],"192.168.0") and $_GET[arq] == "") { //avvio sessione se sono nella superamministrazione indi_session_start(); //disabilito cache indi_session_cache("NO"); $_SESSION["admin_user"] = "tnx"; $_SESSION["admin_pass"] = "tnx"; $_SESSION["admin_debug"] = "NO"; $_SESSION["admin_setup"] = "SI"; $_REQUEST["a"] = 1; //database if(isset($_GET[d])) { $_SESSION["ap"] = "debug"; $_SESSION["ap2"] = "sito"; $_SESSION["sito_vis"] = "SI"; } if(isset($_GET[dq])) { $_SESSION["dbg_db"] = "DATAB"; $_SESSION["dbg_err"] = "err"; $_SESSION["dbg_inf"] = "inf"; $_SESSION["dbg_sito"] = ""; $_SESSION["dbg_indi"] = ""; $_SESSION["dbg_dbg"] = ""; $_SESSION["ap"] = "debug"; $_SESSION["ap2"] = "sito"; $_SESSION["sito_vis"] = "SI"; } if(isset($_GET[ds])) { $_SESSION["dbg_db"] = "DATAB"; $_SESSION["dbg_err"] = "err"; $_SESSION["dbg_inf"] = ""; $_SESSION["dbg_sito"] = "SITO"; $_SESSION["dbg_indi"] = "INDI"; $_SESSION["dbg_dbg"] = "dbg"; $_SESSION["ap"] = "debug"; $_SESSION["ap2"] = "sito"; $_SESSION["sito_vis"] = "SI"; } if(isset($_GET[de])) { $_SESSION["dbg_db"] = "DATAB"; $_SESSION["dbg_err"] = "err"; $_SESSION["dbg_inf"] = ""; $_SESSION["dbg_sito"] = "SITO"; $_SESSION["dbg_indi"] = "INDI"; $_SESSION["dbg_dbg"] = ""; $_SESSION["ap"] = "debug"; $_SESSION["ap2"] = "sito"; $_SESSION["sito_vis"] = "SI"; } if(isset($_GET[a])) { $_SESSION["sito_vis"] = "NO"; $_SESSION["admin_debug"] = "NO"; $_SESSION["admin_vis"] = "SI"; $_SESSION["admin_debug"] = "NO"; $_SESSION["ap"] = "home"; $_SESSION["ap2"] = ""; } } if($_SESSION["a"] == "1" or $_REQUEST["a"] == "1") { $CONF["DEBUG"] = "SI"; } //sottoversione d_info($CONF['indi_subversion'],"CONF[indi_subversion]","INDI"); //se il visitatore e' remoto disabilito sempre gli errori if(!stristr($_SERVER['REMOTE_ADDR'],"192.168")) $CONF['indi_error'] = "NO"; //gestione errori onscreen sito se impostati manualmente //setto cookie indi_ssv("indi_error"); $indi_error_time = time()+300; if(isset($_SESSION['indi_error'])) { if($_SESSION['indi_error'] == 1){ $CONF['indi_error'] = "SI"; } elseif($_SESSION['indi_error'] == 0) { $CONF['indi_error'] = "NO"; } else { if($_SESSION['indi_error'] > time()) $CONF['indi_error'] = "NO"; else $CONF['indi_error'] = "SI"; } $CONF['indi_error'] = "NO"; } d_info($CONF['indi_error'],'$CONF["indi_error"]'); //################### INIZIALIZZO IL MENU ################## //ovvero la configurazione generale di indi //MENU JETBOX1 if ($CONF['mod_pagine_dinamiche'] == "SI") { d_info("Inizio","--------- INIT mod_pagine_dinamiche","INDI"); $CONF['pagine_dinamiche_function'](); d_info("Fine","--------- INIT mod_pagine_dinamiche","INDI"); } else if ($CONF['mod_pagine_dinamiche2'] == "SI") { d_info("Inizio","--------- INIT mod_pagine_dinamiche2","INDI"); pagine_dinamiche_menu(); d_info("Fine","--------- INIT mod_pagine_dinamiche2","INDI"); } //MENU JETBOX1 if ($CONF['mod_menujb'] == "SI") { d_info("Inizio","--------- INIT MENU_JB","INDI"); $a = new TabellaAlberoIndi(array( "tabella" => $CONF["menujb_tabella"], "idField" => $CONF["menujb_idField"], "labelField" => $CONF["menujb_labelField"], "parentField" => $CONF["menujb_parentField"], "addUnder" => $CONF["menujb_addUnder"], "pagesNameprefix" => $CONF["menujb_pagesNameprefix"], "orderBy" => $CONF["menujb_orderBy"] )); @$a->addPagesToIndiMenu(); d_info("Fine","--------- INIT MENU_JB","INDI"); } //MENU INDI d_info("Inizio","--------- INIT MENU","INDI"); //abilito sempre cache $CONF['indi_menu_tot_pagine'] = count($MENU)*count($LANG); $CONF['indi_menu_tot_lingue'] = count($LANG); d_info($CONF['indi_menu_tot_pagine'],"Pagine totali","INDI"); d_info($CONF['indi_menu_tot_lingue'],"Lingue totali","INDI"); //disabilito APC if($_GET['indi_apc'] == "NO") { $CONF['indi_apc'] = "NO"; $DATI['indi_apc'] = "NO"; } if(($_GET['indi_apc'] == 1 or $CONF['indi_apc'] == "SI" or $CONF['indi_menu_tot_pagine'] >= 100) and function_exists("apc_fetch")) { d_info("APC","Abilito cache APC x funzione (main_link_globale) >= 100 pagine"); $apc_menu_key = md5(json_encode($MENU).json_encode($CONF)."i123"); d_info($apc_menu_key,"main_link_globale:apc_menu_key","INDI"); $mk0 = apc_fetch($apc_menu_key); if($CONF["REW"] != "NO") { $mk1 = apc_fetch($apc_menu_key."REW_ALIAS"); $mk2 = apc_fetch($apc_menu_key."REW_ALIAS_INV"); } if ($mk0 && ($mk1||!isset($mk1)) && ($mk2||!isset($mk2))) {//c3k 30.03.10 if(!trim($mk0)) indi_debug_email("carlo@tnx.it","ERRORE Cache APC: ".__LINE__.__FILE__,$apc_menu_key." (apc key)\n\n".var_export($mk0, true)); //d(strlen(gzuncompress($mk0))); $MENU = unserialize(gzuncompress($mk0)); unset($mk0); if($CONF["REW"] != "NO") { $REW_ALIAS = unserialize(gzuncompress($mk1)); unset($mk1); $REW_ALIAS_INV = unserialize(gzuncompress($mk2)); unset($mk2); } //d_info("apc:unserialize"); d_info("cache OK, after fetch","main_link_globale","INDI"); } else { main_link_globale(); $menu_serialized = gzcompress(serialize($MENU),1); if(!trim($menu_serialized)) indi_debug_email("carlo@tnx.it","ERRORE Cache APC: ".__LINE__.__FILE__,$apc_menu_key." (apc key)\n\n".var_export($menu_serialized, true)); apc_store($apc_menu_key, $menu_serialized, $CONF['indi_apc_menu_time']); unset($menu_serialized); if($CONF["REW"] != "NO") { apc_store($apc_menu_key."REW_ALIAS", gzcompress(serialize($REW_ALIAS),1), $CONF['indi_apc_menu_time']); apc_store($apc_menu_key."REW_ALIAS_INV", gzcompress(serialize($REW_ALIAS_INV),1), $CONF['indi_apc_menu_time']); } d_info("cache KO, after store","main_link_globale","INDI"); } } else { main_link_globale(); d_info("oss","INDI"); } //stat finali //d_info(strlen(serialize($MENU)),"Dimensione MENU","INDI"); //d_info(strlen(serialize($REW_ALIAS)),"Dimensione REW_ALIAS","INDI"); //d_info(strlen(serialize($REW_ALIAS_INV)),"Dimensione REW_ALIAS_INV","INDI"); d_info("Fine","--------- INIT MENU","INDI"); //d($CONF_SALVATA); //scansiono // prendo le impostazioni dalle definizioni e aggiorno il file globale e allo stesso tempo aggiorno il file MENU assegnando le variabili che devono essere assegnte if(isset($_SERVER["REDIRECT_QUERY_STRING"]) and $CONF["REW"] == "NO") ind_valori_redirect($_SERVER["REDIRECT_QUERY_STRING"]); //print rawurlencode("&"); //REWRITE /* rewritin ver_1:/lang/pagina/var:100 ver_2:/lang/pagina/var/100 ver_3:/alias/var:100 ver_4:/alias/var/100 ver_5:/alias/mixed */ if($CONF["REW"] != "NO") { //faccio qualcosa //test rimozione XSS di base in rew ver3 if($CONF['indi_remove_xss'] == "SI") $_GET = array_map("indi_remove_xss",$_GET); $REW_QUERY_XXX = explode("?",$_SERVER['REQUEST_URI']); $REW_QUERY_PATH = substr($REW_QUERY_XXX[0],strlen($CONF["base"])); $REW_QUERY_RAW_QUERY = $REW_QUERY_XXX[1]; $indi_rew = explode("/",$REW_QUERY_PATH); if($REW_QUERY_RAW["query"] != "") parse_str($REW_QUERY_RAW_QUERY,$_GET); $indi_rew_0 = $indi_rew[0]; //d($_SERVER['REQUEST_URI']); } //versione 1 //lingua/pagina/parametri if($CONF["REW"] == "ver_1" or $CONF["REW"] == "ver_2") { //parse_str($_SERVER['QUERY_STRING'],$QUERY); //print $QUERY[indirew1]; $indi_rew_1 = explode("/",$QUERY[indirew1],"&"); //imposto pagina e lingua if($indi_rew_1[0] !== "") $_GET["l"] = $indi_rew_1[0]; if($indi_rew_1[1] !== "") $_GET["p"] = $indi_rew_1[1]; if(count($indi_rew_1) > 1) { //VERSIONE 1 if($CONF["REW"] == "ver_1") { //se ci sono altri parametri for ($i=2;$i<=count($indi_rew_1);$i++){ //imposto pagina e lingua if($indi_rew_1[$i] !== "") $_GET[$indi_rew_1[$i]] = $indi_rew_1[$i+1]; $i++; } } //VERSIONE 2 elseif($CONF["REW"] == "ver_2") { //se ci sono altri parametri for ($i=2;$i<=count($indi_rew_1);$i++){ //imposto pagina e lingua if($indi_rew_1[$i] !== "") $_GET[$i-1] = $indi_rew_1[$i]; } } } } elseif ($CONF["REW"] == "ver_3" or $CONF["REW"] == "ver_4") { //VERSIONE 3 if(count($indi_rew) > 0) { //acquisisco alias per pagina elingua //VERSIONE3 /alias/100/ //mi riscrive i parametri posizionali in un array che ha come chiave la posizione //0 -> 100 //se sono passati con i duepunti mi ricera un array chiave valore // alias/id:100 //id -> 100 if($CONF["REW"] == "ver_3") { //se ci sono altri parametri if($indi_rew[0] !== "") { //cecca // damiano (eventualmente trimmare gli slash) //controllo se presente negli alias un valore uguale alla concatenazione di indi_rew con gli slash per avere pagine tipo ru/form/pippolo $max_slash = count($indi_rew); if ($max_slash > 6) $max_slash = 6; if ($indi_rew[count($indi_rew)-1] == "") $max_slash--; for ($i_slash = $max_slash; $i_slash > 0; $i_slash--) { $alias_full = strtolower(implode("/", array_slice($indi_rew, 0, $i_slash))); $slash_found = array_key_exists(strtolower(indi_urldecode($alias_full)), (array)$GLOBALS["REW_ALIAS"]); if ($slash_found !== FALSE) { $indi_rew = array_slice($indi_rew, $i_slash-1, count($indi_rew)); $indi_rew[0] = $alias_full; break; } } $indi_rew_raw_alias = strtolower(indi_urldecode($indi_rew[0])); if(isset($GLOBALS["REW_ALIAS"][$indi_rew_raw_alias])) { $_GET["l"] = $GLOBALS["REW_ALIAS"][$indi_rew_raw_alias][1]; $_GET["p"] = $GLOBALS["REW_ALIAS"][$indi_rew_raw_alias][0]; } //if(isset($GLOBALS["REW_ALIAS_LWR"][$indi_rew_raw_alias])) { //$_GET["l"] = $GLOBALS["REW_ALIAS_LWR"][$indi_rew_raw_alias][1]; //$_GET["p"] = $GLOBALS["REW_ALIAS_LWR"][$indi_rew_raw_alias][0]; //} for ($i=1;$i<=count($indi_rew);$i++){ if($indi_rew[$i] !== "") { $VAL = ""; $VAL = @explode(":",$indi_rew[$i]); $key = $VAL[0]; $val = $VAL[1]; if($key !== "") { //imposto quelli posizionali if ($CONF['get_magic_quotes_gpc'] == 1) $_GET[$i] = addslashes(indi_urldecode($indi_rew[$i])); else $_GET[$i] = indi_urldecode($indi_rew[$i]); //imposto anche quelli con i duepunti if(is_array($VAL) and $val !== "") { if ($CONF['get_magic_quotes_gpc'] == 1) $_GET[addslashes(indi_urldecode($key))] = addslashes(indi_urldecode($val)); else $_GET[indi_urldecode($key)] = indi_urldecode($val); } } } } } $_REQUEST = array_merge((array)$_REQUEST,(array)$_GET); } elseif($CONF["REW"] == "ver_4") { if($indi_rew[0] !== "") { $indi_rew_raw_alias = strtolower(indi_urldecode($indi_rew[0])); if(isset($GLOBALS["REW_ALIAS"][$indi_rew_raw_alias])) { $_GET["l"] = $GLOBALS["REW_ALIAS"][$indi_rew_raw_alias][1]; $_GET["p"] = $GLOBALS["REW_ALIAS"][$indi_rew_raw_alias][0]; } for ($i=1;$i<=count($indi_rew);$i = $i + 2){ if($indi_rew[$i] !== "") { $key = $indi_rew[$i]; //d($key); $val = $indi_rew[$i+1]; //d($val); if($key !== "") { //imposto quelli posizionali (non piu' attivi) // if ($CONF['get_magic_quotes_gpc'] == 1) $_GET[$i] = addslashes(indi_urldecode($val)); // else $_GET[$i] = indi_urldecode($val); //imposto anche quelli con i duepunti if($val !== "") { if ($CONF['get_magic_quotes_gpc'] == 1) $_GET[addslashes(indi_urldecode($key))] = addslashes(indi_urldecode($val)); else $_GET[indi_urldecode($key)] = indi_urldecode($val); } } } } } //faccio il merge $_REQUEST = array_merge((array)$_REQUEST,(array)$_GET); } } } else { //non sono nel rewrite //tolgo xss (potrebbe dare problemi) if($CONF['indi_remove_xss'] == "SI") $_GET = array_map("indi_remove_xss",$_GET); } //PARAMETRI AGGIUNTIVI CON REWRITE if($CONF["REW"] != "NO" and is_array($_GET)) { reset($_GET); while(list($k, $v)=each($_GET)) { //caso di altri parametri if($k != "l" and $k != "p" and $k != "indi_rew1" and $k != "" and $v != "" and !is_numeric($k)) { $agg .= "&".$k."=".$v; } //se trovo i duepunti non metto la variabile perche gia' messa if(is_numeric($k) and strpos($v,":") === FALSE) { $agg .= "&$k=".$v; } } //sistemo un po' if($agg{0} == "?") $agg = substr($agg,1,strlen($agg)); if($agg{0} == "&") $agg = substr($agg,1,strlen($agg)); if ($GLOBALS['CONF']['get_magic_quotes_gpc'] == 1) $agg = stripslashes($agg); } //ricostruisco parametri aggiuntivi if($CONF["REW"] == "NO" and $_SERVER['QUERY_STRING'] != "") { //SITUAZIONE STANDARD SENZA REWRITE //IMPOSTO PARAMETRI AGGIUNTIVI if(count($_GET) >= 3) { while(list($k, $v)=each($_GET)) { if($k != "l" and $k != "p") { $agg .= "&".$k."=".$v; $AGG[$k] = $v; } } //tolgo robaccia if($agg{0} == "?") $agg = substr($agg,1,strlen($agg)); if($agg{0} == "&") $agg = substr($agg,1,strlen($agg)); } } //print $INRI; //$INRI = ($PATH_INFO); //serve per memorizzare la pagina del sito e farla rimanere durante la navigazione nell' amministrazione if($_SESSION["a"] == "1" or $_REQUEST["a"] == "1") { if(isset($_GET["p"]) and isset($_GET["l"])) { //mi salvo le pagine che vedo $_SESSION["GET_SITO"] = $_SERVER["QUERY_STRING"]; } else { ind_valori_redirect($_SESSION["GET_SITO"]); } } function indi_404() { global $CONF,$DATI; $DATI['indi_404'] = 1; if (function_exists(indi_404_personalizzata)) indi_404_personalizzata(); header ("HTTP/1.0 404 Not Found"); //prevengo indicizzazione $DATI["meta_noindex"] = "SI"; $ext = indi_estensione_file($_SERVER['REQUEST_URI']); if( $ext == "js" or $ext == "css" or $ext == "jpg" or $ext == "jpeg" or $ext == "png" or $ext == "gif" or $ext == "ico" or $ext == "txt" or $ext == "asp" or $ext == "doc" or $ext == "pdf" ) exit(); //eventualmente esco e visualizzo messaggio con torna alla home page //print "

Pagina non trovata

".htmlentities($CONF["baseurl2"].$_SERVER['REQUEST_URI']); //if($CONF["dove_sono"] == "rem" and ($_SESSION["a"] != "1" or $_REQUEST["a"] != "1")) indi_debug_email(null,"INDI 404 [".$CONF["baseurl2"].$_SERVER['REQUEST_URI']."]"); } //TROVO LA PAGINA E LA LINGUA DAL GET //se e' settato un link diretto, uso questo per trovare la pagina e la lingua //TROVO LA PAGINA E LA LINGUA DAL GET //se e' settato un link diretto, uso questo per trovare la pagina e la lingua //forzo indi_pagina_personalizzata //forzo indi_pagina_personalizzata (reimposto eventualmente $_GET[p] e $_GET[l] if (function_exists(indi_pagina_personalizzata)) indi_pagina_personalizzata(); //CASO NORMALE if(!isset($_GET["l"]) && $CONF["lingua_def"]) $_GET["l"] = $CONF["lingua_def"]; //CASO NORMALE if(isset($_GET["p"]) and isset($_GET["l"])) { $l = $_GET["l"]; $p = $_GET["p"]; if($CONF['get_magic_quotes_gpc'] == 1) $p = stripslashes($p); if(isset($LANG[$l]) and is_array($MENU[$p])) { $lang = $l; $pagina = $p; //controllo che non ci sia un menu link, se c'e' faccio un redirect } else { //se la pagina o la lingua sono sbagliati da errore if($CONF["MEDIA"] != "cdrom" and $CONF["MEDIA"] != "grab") indi_404(); $lang = $CONF["lingua_def"]; $pagina = $CONF["pagina_def"]; } //CASO HOME PAGE } elseif($_SERVER['QUERY_STRING'] == "" and $_SERVER['REDIRECT_QUERY_STRING'] == "") { //sono nella home page e non faccio niente $lang = $CONF["lingua_def"]; $pagina = $CONF["pagina_def"]; //redirect permanente //header("HTTP/1.1 301 Moved Permanently"); //header("Location: ".genera_link($CONF["pagina_def"],$CONF["lingua_def"],null,null,"&")); //exit(); //CASO SPECIALE CONTEMPLATO (Google, autenticazione, template alternativi } elseif($_REQUEST["t"] != "" or $_SESSION["a"] != "" or $_REQUEST["a"] != "" or $_REQUEST["aa"] != "" or $_REQUEST["gclid"] != "" or $_REQUEST["ja"] != "") { $lang = $CONF["lingua_def"]; $pagina = $CONF["pagina_def"]; //ALTRI CASI (da errore) } else { //tutti gli altri casi non sono contemplati da indi if($CONF["MEDIA"] != "cdrom" and $CONF["MEDIA"] != "grab") indi_404(); $lang = $CONF["lingua_def"]; $pagina = $CONF["pagina_def"]; } //imposto per compatibilita i valori trovati nell' array globale $CONF["lang"] = $lang; $CONF["pagina"] = $pagina; $CONF["agg"] = $agg; $CONF["query"] = $agg; //aggiungo variabili lingua jetbox2 $lang2 = strtr($lang,$LANG_JETBOX2); $CONF["lang2"] = $lang2; //aggiungo variabili lingua jetbox3 $lang3 = strtr($lang,$LANG_JETBOX3); $CONF["lang3"] = $lang3; //imposto variabile $page $page = $pagina; $CONF["page"] = $pagina; //mcharset dipende dalla lingua if($CONF["mcharset"] == "AUTO") { $CONF["mcharset"] = $MCHARSET[$lang]; } if($CONF["mcharset"] == "UTF-8") { mb_internal_encoding('UTF-8'); $CONF["setlocale"] = setlocale(LC_TIME,strtr($lang,$LANG_LOCALE).".UTF-8"); } else { $CONF["setlocale"] = setlocale(LC_TIME,strtr($lang,$LANG_LOCALE)); } d_info($CONF['setlocale'],"setlocale","INDI"); //email_encode dipende da mcharset if($CONF["email_encode"] == "AUTO") { $CONF["email_encode"] = $CONF["mcharset"]; } //creazione del tag di direzione in manier automatica in base alla lingua if($CONF["tag_dir"] == "AUTO") { $CONF["tag_dir"] = $TAG_DIR_OPTIONS[$lang]; } //risparmio qualche millisecondo if($CONF["DEBUG"] == "SI") { d_info($CONF['indi_menu_tot_pagine'],"CONF[indi_menu_tot_pagine]","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["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["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($CONF["base"],"DATI[base]","INDI"); d_info($CONF["mod_auth"],"CONF[mod_auth]","INDI"); d_info($CONF["mod_carr"],"CONF[mod_carr]","INDI"); d_info($CONF["mod_carr2"],"CONF[mod_carr2]","INDI"); d_info($CONF["mod_xfiles"],"CONF[mod_xfiles]","INDI"); d_info($CONF["mod_html"],"CONF[mod_html]","INDI"); d_info($CONF["mod_menujb"],"CONF[mod_menujb]","INDI"); d_info($CONF["mod_smarty"],"CONF[mod_smarty]","INDI"); } //Unisco i dati ed eventualmente sovrascrivo le impostazioni di default della pagina e di xxx //devo avere i valori della pagina e della lingua ?? //se ho un gruppo di configurazione metto quello prima e poi eventualmente sovrascrivo ???? if(is_array($GRUPPO)) { if($CONF["gruppo"]) $gruppo = $CONF["gruppo"]; elseif($CONF["xxx"]["gruppo"]) $gruppo = $CONF["xxx"]["gruppo"]; elseif($CONF[$lang]["gruppo"]) $gruppo = $CONF[$lang]["gruppo"]; elseif ($MENU[$pagina][$lang]["gruppo"]) $gruppo = $MENU[$pagina][$lang]["gruppo"]; if(is_array($GRUPPO[$gruppo])) { $GRUPPO_CONF = $GRUPPO[$gruppo]; } } //###################### SPAMPA ######################### //se la pagina e' nella modalita' stampa setto la variabile globale e metto i javascript per chiusura automatica e stampa if($_REQUEST["indi_stampa"] == "1" or $_REQUEST["indi_media"] == "print") { $CONF["STAMPA"] = "SI"; $CONF["MEDIA"] = "print"; //aggiungo javascript alla pagina javascript(" window.print(); //window.close(); "); } else { $CONF["STAMPA"] = "NO"; } //trovo useragent generico e poi con la versione if($CONF['ua'] == "AUTO") { if(stristr($_SERVER['HTTP_USER_AGENT'],"MSIE 5")) $CONF['ua'] = "ie5"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"MSIE 6")) $CONF['ua'] = "ie6"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"MSIE 7")) $CONF['ua'] = "ie7"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"MSIE 8")) $CONF['ua'] = "ie8"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"Firefox/1")) $CONF['ua'] = "fi1"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"Firefox/2")) $CONF['ua'] = "fi2"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"Firefox/3")) $CONF['ua'] = "fi3"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"Opera/8")) $CONF['ua'] = "op8"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"Opera/9")) $CONF['ua'] = "op9"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"iphone")) $CONF['ua'] = "ip"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"ipod")) $CONF['ua'] = "ip"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"Safari")) { if(stristr($_SERVER['HTTP_USER_AGENT'],"Version/3")) { $CONF['ua'] = "sa3"; } elseif(stristr($_SERVER['HTTP_USER_AGENT'],"Version/4")) { $CONF['ua'] = "sa4"; } } else $CONF['ua'] = "xx"; } //ie Internet explorer (ie), gecko (ge), Webkit (wk), Opera (op) if($CONF['ua2'] == "AUTO") { if(stristr($_SERVER['HTTP_USER_AGENT'],"MSIE")) $CONF['ua2'] = "ie"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"Gecko")) $CONF['ua2'] = "ge"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"AppleWebKit")) $CONF['ua2'] = "wk"; elseif(stristr($_SERVER['HTTP_USER_AGENT'],"Opera")) $CONF['ua2'] = "op"; else $CONF['ua2'] = "xx"; } //FACCIO IL PRIMO MERGE DI BASE per costruire l' array DATI $DATI = array_merge((array)$CONF,(array)$CONF["xxx"], (array)$CONF[$lang], (array)$GRUPPO_CONF, (array)$GRUPPO_CONF["xxx"],(array) $GRUPPO_CONF[$lang], (array)$CONF[$indi_location], (array)$MENU[$pagina][$lang], (array)$MENU[$pagina][$indi_location], $DATI); //SISTEMO BASE SE ssl = SI ///manca baseurl2 if($DATI["ssl"] == "SI" and $DATI['dove_sono'] == "rem") { $DATI["baseurl"] = str_replace("http://","https://",$DATI["baseurl"]); $DATI["baseurl2"] = substr($DATI["baseurl"],0,strlen($DATI["baseurl"])-1); } //tolgo gli array accessori in $DATI unset($DATI["loc"]); unset($DATI["rem"]); unset($DATI["xxx"]); unset($DATI[$lang]); //###################### APC ######################## //cache utente usata nel sito se presente ad abilitazione automatica if($DATI['indi_apc'] == "SI" or $_GET['indi_apc'] == "1") { //controllo se c'e' il modulo if(!function_exists(apc_store)) { //disabilito if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info("APC","Cache non e' presente, disabilito APC ! CONF[indi_apc] = NO"); $CONF['indi_apc'] = "NO"; $DATI['indi_apc'] = "NO"; } else { $CONF['indi_apc'] = "SI"; $DATI['indi_apc'] = "SI"; } } if($_GET['indi_apc'] === "0") { $CONF['indi_apc'] = "NO"; $DATI['indi_apc'] = "NO"; } //###################### 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"); $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 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"); $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"); //d($TXT_LANG1); $TXT = @array_merge((array)$TXT_TMP,(array)$TXT_XXX,(array)$TXT_LANG, (array)$TXT); $TXT[$lang] = $TXT; unset($TXT_XXX); unset($TXT_TMP); unset($TXT_LANG); //valute //estrae la valuta dai dati XML function indi_estrai_cambio($valuta,$data) { $out = explode($valuta,$data); $out = explode("'",$out[1]); return str_replace(",",".",trim($out[2])); } //scarica i dati XML function indi_genera_cambio() { $dati_xml = file_get_contents("http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml"); $CAMBIO['USD'] = indi_estrai_cambio("USD",$dati_xml); $CAMBIO['GBP'] = indi_estrai_cambio("GBP",$dati_xml); $CAMBIO['EUR'] = 1; return $CAMBIO; } //gestione lavori //if($_GET['indi_lavoro'] != "" and $_GET['indi_lavoro_key'] != "") indi_lavoro_start($_GET['indi_lavoro'],$_GET['indi_lavoro_key']); if(function_exists("apc_store")) { $key = "indi_cambio_999s2"; $INDI_CAMBIO = apc_fetch($key); if ($INDI_CAMBIO === FALSE) { $INDI_CAMBIO = indi_genera_cambio(); apc_store($key, $INDI_CAMBIO, 86400); d_err("Scarico dati da: http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml","INDI_CAMBIO"); } } else { d_err("La Cache apc non funziona, non faccio niente, senno' troppo peso","INDI_CAMBIO"); } //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"); //pagina successiva e precedente if($DATI["menu_pagina_successiva_precedente_init"] == "SI") { $DATI["menu_pagina_successiva"] = menu_pagina_successiva(); $DATI["menu_pagina_precedente"] = menu_pagina_precedente(); } //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"]; //scarto tutto quello che e' stampato prima ob_get_clean(); //######################################################################## //###################### AMFPHP ######################## //######################################################################## if($_GET['t'] == "flashrpc"){ chdir("../../amfphp/"); include("gateway.php"); //**********************************************************************// /* START per debbuggare le classi amfphp */ //**********************************************************************// if($_GET["class"] && $_GET["method"]){ include("amfphp/services/".$_GET["class"].".php"); $debug = new $_GET["class"](); require_once('../INDI_ver1.1/_lib/krumo/class.krumo.php'); vendor('krumo/class.krumo'); ?>$_GET["class"]$_GET["method"]()); } //**********************************************************************// /* END per debbuggare le classi amfphp */ //**********************************************************************// die(); } //scrivo un po' di roba nel debug if($GLOBALS["CONF"]["DEBUG"] == "SI") { if(is_array($INDI_CAMBIO)) d_info($INDI_CAMBIO,"INDI_CAMBIO"); else d_err("Non funziona ?","INDI_CAMBIO"); 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"); } //######################################################################## //###################### VISUALIZZAZIONE SITO ######################## //######################################################################## //###################### PSEUDORANDOMIZZO PER PAGINA #################### // usato con la funzione rand, se si vuole un vero random usare mt_rand(); //imposto la pseudorandomizzazione con il semino ??? $agg = $q ??? posso ottimizzare di piu if($GLOBALS["CONF"]["DEBUG"] == "SI") { $db_time_visualizzazione = indi_time(); d_info("Inizio","VISUALIZZAZIONE SITO","INDI"); } //id univoco della pagina $id_pagina = abs(crc32(md5($DATI['baseurl'].$pagina.$lang.$agg))); //pre module if(function_exists(pre_module_action_function)) pre_module_action_function(); if(isset($IND["SEME"])) srand(abs(crc32(md5($IND["SEME"].$pagina.$lang.$agg)))); else srand(abs(crc32(md5($DATI["SEME"].$pagina.$lang.$agg)))); //se non visualizzo il sito dall' amministrazione alleggerisco un po if($_SESSION["sito_vis"] != "NO" or ($_GET["sito_vis"] == "SI" and $_SESSION["sito_vis"] == "NO")) { //CACHE //inizio l' output buffering ob_start(); //################################################################ //###################### AZIONI MODULI ######################## //################################################################ d_info("Inizio","MODULI ACTION","INDI"); if ($CONF['mod_auth'] == "SI") auth_pre_page_action(); //FUNZIONE DA ESEGUIRE PRIMA DI ALTRE PRE ACTION if($DATI["pre_page_action"] != "") { d_info("Inizio","PRE_ACTION","INDI"); $DATI["pre_page_action"](); d_info("Fine","PRE_ACTION","INDI"); } if ($CONF['mod_carr'] == "SI"||$CONF['mod_carr2'] == "SI") { carr_pre_page_action(); } if ($CONF['mod_smarty'] == "SI") { smarty_pre_page_action(); } if ($CONF['mod_xfiles'] == "SI") { xfiles_pre_page_action(); } if ($CONF['mod_html'] == "SI") { html_pre_page_action(); } if ($CONF['mod_grab'] == "SI") grab_pre_page_action(); // CAKE // if($DATI["CAKE"] != "NO") { // d_info("Inizio","inizio inclusione CAKE","INDI"); // // if(!is_dir(dirname(__FILE__)."/".$DATI["CAKE"])){ // //errore // d_err('Non posso trovare la versione di cake impostata in $DATI[CAKE]', "", "CAKE"); // } // else{ // if (!defined('AUTO_SESSION')) define('AUTO_SESSION', false); // //includo struttura cake // require_once("cake/webroot/index.php"); // $DATI["file:_pagine/cake.inc.php"] = "COPY"; // } // d_info("Fine","fine inclusione CAKE","INDI"); // } d_info("Fine","MODULI ACTION","INDI"); //controllo se c'e' menu link e faccio il redirect if($DATI['menu_link'] != "" and is_array($MENU[$DATI['menu_link']])) { indi_redirect_pagina($DATI['menu_link']); } //controllo se e' pagina di menu //###################### PAGINA_INC ######################## //creo variabile pagina_inc usata in indi per semplificare l' inclusione dei file relativi alle pagine nel menu $DATI['pagina_inc'] = str_replace("../","",$DATI['pagina_inc']); //d($DATI['pagina_inc'],"pagina_inc"); if($DATI['pagina_inc'] == "") $DATI["pagina_inc"] = $DATI["pagina"]; if (@is_file($DATI["dir_pagine"].$DATI["pagina_inc"])) $DATI["pagina_inc"] = $DATI["dir_pagine"].$DATI["pagina_inc"]; elseif (@is_file($DATI["dir_pagine"].$DATI["pagina_inc"]."_".$lang.".inc.php")) $DATI["pagina_inc"] = $DATI["dir_pagine"].$DATI["pagina_inc"]."_".$lang.".inc.php"; elseif (@is_file($DATI["dir_pagine"].$DATI["pagina_inc"].".inc.php")) $DATI["pagina_inc"] = $DATI["dir_pagine"].$DATI["pagina_inc"].".inc.php"; elseif (@is_file($DATI["dir_pagine"].$MENU[$DATI[menu_ref]]["$lang"]["pagina"].".inc.php")) $DATI["pagina_inc"] = $DATI["dir_pagine"].$MENU[$DATI['menu_ref']]["$lang"]["pagina"].".inc.php"; //da fare per cartella gruppo o cartella riferimento elseif (@is_file($DATI["dir_pagine"].$DATI['menu_ref']."/".$DATI["pagina_inc"].".inc.php")) $DATI["pagina_inc"] = $DATI["dir_pagine"].$DATI['menu_ref']."/".$DATI["pagina_inc"].".inc.php"; //elseif (@is_file($DATI["pagina_inc"])) {} else { //404 + noindex, redirect in home page ed e-mail //indi_404(); //indi_debug_email(null,"[PHP] Err include pagina ($pagina) [".$DATI["baseurl2"].$_SERVER['REQUEST_URI']."]"); //indi_redirect_pagina($DATI['pagina_def']); } d_info($DATI["pagina_inc"],"pagina_inc","INDI"); $indi_file_size .= @filesize($DATI["pagina_inc"]); d_info("Fine","LINGUE","INDI"); //###################### GESTIONE INCLUDE ######################## d_info("Inizio","INCLUDE","INDI"); $DATI_COPY = $DATI; reset($DATI_COPY); while(list($k, $v)=each($DATI_COPY)) { $kk = trim(substr($k,0,strpos($k,":"))); if($kk == "file") { if(trim($v) != "NO" and $v != "") { $indi_file_include = substr($k,strlen($kk)+1); //se e' inc includo il file, controllo se e' uno script ovvero se finisce in .PHP (??? da migliorare) if(stristr($v,"INC") and stristr($indi_file_include,".php")) { if(@is_file($indi_file_include)) { include($indi_file_include); $indi_file_size .= @filesize($indi_file_include); d_info("INCLUSO: $indi_file_include","FILE","INDI"); } else d_err("Errore non esiste: $indi_file_include","FILE","INDI"); } //se e' inc includo il file, controllo se e' uno script ovvero se finisce in .PHP (??? da migliorare) if(stristr($v,"REQ") and stristr($indi_file_include,".php")) { if(@is_file($indi_file_include)) { require($indi_file_include); $indi_file_size .= @filesize($indi_file_include); d_info("REQUIRE: $indi_file_include","FILE","INDI"); } else d_err("Errore non esiste: $indi_file_include","FILE","INDI"); } } } } d_info("Fine","INCLUDE","INDI"); //##################### //genero md5 di DATI per cache $md5_DATI = md5(serialize($DATI)); $DATI[md5_DATI] = $md5_DATI; if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info($md5_DATI,"md5_DATI"); //genero md5 per TXT $md5_TXT = md5(serialize($TXT)); $DATI[md5_TXT] = $md5_TXT; if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info($md5_TXT,"md5_TXT"); //###################### TEMPLATE ######################## d_info("Inizio","TEMPLATE","INDI"); //da fare gestione template di base //pre template if(function_exists(pre_page_function)) pre_page_function(); if($_GET["t"] == "stat") { //statistiche e-mail include("../../$indi_base_dir/template/_template/stat.inc.php"); } elseif($_GET["html_command"]!="" and $CONF["mod_html"] == "SI") { HTML_damiano(); } elseif($_GET["grab"]==1 and $CONF["mod_grab"] == "SI" and $CONF["dove_sono"] == "loc") { GRAB_start(); } elseif($_GET["t"] == "key") { //parole chiave in tutte le lingue include("../../$indi_base_dir/template/_template/key.inc.php"); } elseif($_GET["t"] == "action") { //parole chiave in tutte le lingue include("../../$indi_base_dir/template/_template/action.inc.php"); } elseif($_GET["t"] == "webservice") { //alcuni webservice utili if($_GET["q"]) { session_write_close(); $errore = trim(ob_get_clean()); ob_start(); // $q = unserialize(str_replace('\"','"',rawurldecode($_GET["q"])));//sbagliato! $q = unserialize(stripslashes($_GET["q"]));//stripslashes per magic quotes, rawurldecode non serve perchè lo fa apache! if($q["tipo"] == "variabile" && in_array($q["nome"], $WEBSERVICES['variabili'])) { $out =$$q["nome"]; } elseif($q["tipo"] == "funzione" && in_array($q["nome"], $WEBSERVICES['funzioni'])) { //non metto if function exists così se ci sono problemi online ci arriva una segnalazione in più $out = call_user_func_array($q["nome"], $q["parametri"]); } else{ indi_debug_email("carlo@tnx.it", "chiamata webservice non autorizzata", $errore); $out = substr(base64_encode(serialize($_GET)), 0, 1+round(strlen($_SERVER['REQUEST_URI'])/3));// :) } if($errore .= ob_get_clean()){ indi_debug_email("carlo@tnx.it", "errore durante l'esecuzione di una chiamata webservice", $errore); } if(!$out){ indi_debug_email("carlo@tnx.it", "risultato 'null' di una chiamata webservice", var_export($out, true)."\n\n".var_export($_GET["q"], true)); } //indi_log_file("---$out----"); print serialize($out); exit(); } } else { if($DATI['template'] == "ajax") { //disabilito il template caso ajax non ho bisogno ne di cookie ne di template } else { //imposto template vuoto (caso ajax esempio) if($_GET["t"] == "vuoto") { $DATI['template'] = "vuoto.php"; } //???? //if($CONF["MEDIA"] == "print") print "Stampa"; //GESTIONE DELLA SESSIONE PER STATISTICHE SUPEGLOBALI //controllo se le statistiche sono attive o e' attivata solo l' opzione di trace dell' ID if($CONF["STAT"] == "SI" or $CONF["STAT_trace"] == "SI") { if ($_COOKIE["id_utente"] != "") { //apro la sessione ??? devo controllare il session start if($_SESSION["STAT"]["id_utente"] != $_COOKIE["id_utente"]) { //e imposto l ID superglobale relativo all' utente $_SESSION["STAT"]["id_utente"] = $_COOKIE["id_utente"]; } } else { // parte la sessione e imposto il COOKIE con il sess id giusto // scadenza 5 anni //potrebbe essere un motore di ricerca $_SESSION["STAT"]["id_utente"] = mt_rand(1,1000000000); setcookie("id_utente",$_SESSION["STAT"]["id_utente"],time()+60*60*24*1825); } d_info($_SESSION["id_utente"],"id_utente","INDI"); // Creo statistiche di base e imposta il sess id creo_statistiche(); } //TEMPLATE PRINCIPALE SITO //cerco il template nella cartella giusta _template/etc if(is_file($DATI['dir_template'].$DATI['template'])) include($DATI['dir_template'].$DATI['template']); else d_err("File TEMPLATE non trovato: $DATI[template]","TEMPLATE:template","INDI"); $indi_file_size .= @filesize($DATI['dir_template'].$DATI['template']); } } d_info("Fine","TEMPLATE","INDI"); $DATI['indi_file_size'] = $indi_file_size; d_info($DATI['indi_file_size'],"DATI[indi_file_size]","INDI"); //################################ OUTPUT ###################################### //risistemo eventuali variabili di template cambiate all' interno di INDI ($DATI) $DATI = array_merge($DATI, (array)$DATI['xxx'], (array)$DATI[$lang],(array)$DATI[$indi_location]); //$TXT = array_merge((array) $TXT["xxx"], (array) $TXT[$lang], (array) $TXT); $TXT_XXX = $TXT['xxx']; $TXT_LANG = $TXT[$lang]; //rimuovo le altre lingue se presenti @reset($LANG); while(list($k, $v)=@each($LANG)) { unset($TXT[$k]); unset($TXT['xxx']); } $TXT = array_merge((array) $TXT_XXX, (array) $TXT_LANG, (array) $TXT); unset($TXT_LANG); unset($TXT_XXX); $TXT[$lang] = $TXT; //md5 x gestione cache $md5_DATI = md5(serialize($DATI)); $DATI[md5_DATI] = $md5_DATI; if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info($md5_DATI,"md5_DATI"); $md5_TXT = md5(serialize($TXT)); $DATI[md5_TXT] = $md5_TXT; if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info($md5_TXT,"md5_TXT"); //setto variabile globale per errori form if($F['f_errori']) $DATI['f_errori'] = f_errori(); if(function_exists(post_page_function)) post_page_function(); //Carico la pagina appena fatta e la metto nella variabile $output_sito = ob_get_clean(); //FINE VISUALIZZAZIONE if($GLOBALS["CONF"]["DEBUG"] == "SI") { $db_time2 = indi_time(); $TIME = $db_time2 - $db_time_visualizzazione; d_info("Fine ($TIME)","VISUALIZZAZIONE SITO","INDI"); } //funzione aggiuntiva configurabile che gestisce l' output del sito per eventuali necessità' //torna l' output del sito (deprecata if($DATI['out_page_action'] != "") { d_info("Inizio","--------- OUT_ACTION","INDI"); $output_sito = $DATI['out_page_action']($output_sito); d_info("Fine","--------- OUT_ACTION","INDI"); } if(function_exists(pre_output_function)) pre_output_function(&$output_sito); //funzione che sostituisce e genera l' output del sito if($DATI["OUTPUT_FILTRO"] != "NO") { if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info("Inizio","OUTPUT","INDI"); //imposto gli header della cache, tramite variabile indi_cache_header(); d_info($DATI['indi_cache_header'],"cache_header","INDI"); //###################################### APC CACHE OUT ################################## if($DATI['indi_apc'] == "SI" and count($_POST) == 0 and $DATI['auth'] != "SI" and $DATI['indi_apc_output_time'] != 0 and $DATI['indi_apc_output'] != 'NO') { //apc if($GLOBALS["CONF"]["DEBUG"] == "SI") { $db_time_out = indi_time(); d_info("OUTPUT -> APC Start","OUTPUT","INDI"); } //d(strip_tags($output_sito)); $apc_out_key = md5($id_pagina."-".md5($output_sito)."-".$md5_DATI); if($GLOBALS["CONF"]["DEBUG"] == "SI") { $db_time_out = indi_time(); d_info($apc_out_key,"OUTPUT -> APC:apc_out_key","INDI"); } $mk = apc_fetch($apc_out_key); if ($mk !== FALSE) { $output_sito = $mk; if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; d_info($apc_out_key,"OUTPUT -> APC:OUT:","INDI"); } } else { $output_sito = indi_output($output_sito); //print $GLOBALS["DATI"]['indi_memcache_time']; apc_store($apc_out_key, $output_sito, $DATI['indi_apc_output_time']); if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug d_info($apc_out_key,"OUTPUT -> APC:IN:","INDI"); } } //###################################### MEMCACHE CACHE ################################## } else { //non sono in memcache $output_sito = indi_output($output_sito); if($GLOBALS["CONF"]["DEBUG"] == "SI") { //debug $db_time2 = indi_time(); $TIME = $db_time2 - $db_time; } } if($GLOBALS["CONF"]["DEBUG"] == "SI") { $db_time2 = indi_time(); $TIME = $db_time2 - $db_time_out; d_info("Fine ($TIME)","OUTPUT","INDI"); } } if(function_exists(post_output_function)) post_output_function(&$output_sito); } //###################### GESTIONE COPY ######################## //condizione che fa' questo solo in locale if($DATI['dove_sono'] == "loc") { d_info("Inizio","--------- FILE","INDI"); $DATI_COPY = $DATI; reset($DATI_COPY); while(list($k, $v)=each($DATI_COPY)) { $kk = trim(substr($k,0,strpos($k,":"))); if($kk == "file" || $kk == "dir") { if(trim($v) != "NO" and $v != "") { $indi_file_include = substr($k,strlen($kk)+1); //controllo se il file c'e' gia' if(stristr($v,"COPY") != FALSE and $DATI["FILE_FSYNC"] == "NO") { if(@is_dir($DATI['dir_copy_sync'].$indi_file_include)) { $res = dircopy($DATI['dir_copy_sync'].$indi_file_include, $indi_file_include, false); } else { if(@is_file($indi_file_include)) { if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info("OK NOcopy: $indi_file_include","FILE","INDI"); } else { $res = @copy($DATI['dir_copy_sync'].$indi_file_include, $indi_file_include); if($res) { if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info("COPIATO file: $indi_file_include","FILE","INDI"); } else { if($GLOBALS["CONF"]["DEBUG"] == "SI") d_err("Errore copia file: $indi_file_include","FILE","INDI"); } } } } //se e' sync lo sincronizzo nel template if(stristr($v,"SYNC") != FALSE or ($DATI["FILE_FSYNC"] == "SI" and stristr($v,"COPY") != FALSE)) { if(@filemtime($indi_file_include) >= @filemtime($DATI['dir_copy_sync'].$indi_file_include)) { if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info("OK NOsync: $indi_file_include","FILE","INDI"); } else { $if_res = @copy($DATI['dir_copy_sync'].$indi_file_include, $indi_file_include); if($if_res) { if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info("SINCRONIZZATO file: $indi_file_include","FILE","INDI"); } else { if($GLOBALS["CONF"]["DEBUG"] == "SI") d_err("Errore sincronizzazione file: $indi_file_include","FILE","INDI"); } } } } } } if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info("Fine","--------- FILE","INDI"); } //##################### SADMIN indi_ssv("indi_sadmin"); if($DATI['chi_sono'] == "noi" && stristr($_SERVER['HTTP_USER_AGENT'], "httrack") === false) { ob_start(); ?>