www.itcms.it or http://www.vigilenapoletano.it or www.vigile.altervista.org or www.artiaco.it */
/* email=> admin@itcms.it */
/* */
/* L'uso di questo script implica il tacito assenso alle condizioni di licenza e d'uso allegate alla distribuzione: */
/* */
/*************************************************************************************************************************/
// (utilizzo del portale con le Url classiche Utilizzo di ? e & gia da dopo index.php)
// la versione 1.6.2 è pubblicata il 28-10-2005
// 1-02-2006 permette di parserizzare le Url o meno.
// la versione 1.7.0 beta è pubblicata il 10-02-2006
// la versione 1.7.0 star è pubblicata il 22-02-2006
// la versione 1.8.0 betaWSierra è pubblicata il 29-08-2006
// la versione 1.8.0 Stealth è pubblicata il 29-09-2006
// CAMBIO DENOMINAZIONE DEL SOFTWARE DA cmsvigile A itCms (VIGILECMS => ITCMS)
// la versione 1.9.0 Shuttle è pubblicata il ??-??-20?? inizio 30-09-2006
/*MODIFICHE PER 21-09-2005 MYROOT COSTANTE*/
$myroot=dirname($_SERVER['SCRIPT_NAME']) ;
if($myroot=="\\" or strlen($myroot)<2) $myroot="";
/*MODIFICHE PER 05-12-2005 MYROOT url assoluta*/
$myroot= "http://".$_SERVER[HTTP_HOST].$myroot;
// mod $myroot costante
define('MYROOT',$myroot); // MYROOT = "HTTP://www.mioserver.it/cartella1/cartella2"
if (file_exists("mainfile.php")) include ("mainfile.php");
if(not_installed()) exit; // se il portale non è installato mi fermo qui.
else include (LOGS_TAB."/creazione.php"); // carico i dati del super amministratore
// mess. di errore
error_reporting (E_ALL ^ E_NOTICE);
// includo file con funzioni
include ("func.inc.php");
//inizializzo classe cronometro
$executionScript = new Cronometro;
$executionScript->start();
// vedo il tempo di realizzo delle pagine
$view_exec=true;
//$UnParser=true;
if(is_file(CONFIG_TAB."/config.php") and !is_file(CONFIG_TAB."/configGEN.php"))
include (CONFIG_TAB."/config.php");// retrocompatibilità con versioni < 1.9
if(is_file(CONFIG_TAB."/configADM.php")) include (CONFIG_TAB."/configADM.php");
if(is_file(CONFIG_TAB."/configGEN.php")) include (CONFIG_TAB."/configGEN.php");
if($UnParser)$QPoint="?"; else $QPoint="/";
if($UnParser)$EComm="&"; else $EComm="/";
if($UnParser)$Q_Point="&"; else $Q_Point="?";
//8-4-2008 settaggio cartella dove inizializzare i file di sessione.
// questo per ora vale per ARUBA...
//ini_set("session.save_path","/web/htdocs/".str_replace("http://","",$myroot)."/home/tmp/");
session_start();
//echo"
\$myroot=$myroot
";
////////////////// Email al passaggio di googlebooth
//if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Googlebot' ) !== false )
// @mail($email_amministra, "Visita di Googlebot", sendMailAdmin()."\nSul tuo sito Googlebot ha visitato la tua pagina : $myroot".$_SERVER['REQUEST_URI']);
//////////////////
############################ riconoscimenti preliminari ##############################
// controllo preliminare dei dati inseriti nella sessione
if (isset($_SESSION[user]) or isset ($_SESSION[pass])) {
if(!is_utente()) {
unset ($_SESSION[user]);
unset ($_SESSION[pass]);
session_unset();session_destroy();
if (isset($_COOKIE["rem_user"]) && isset ($_COOKIE["rem_pass"])){
setcookie("rem_user", "$_SESSION[user]", time()-3600*$day_cookie);// dopo il logout cancella il cookie
setcookie("rem_pass", "$_SESSION[pass]", time()-3600*$day_cookie);// dopo il logout cancella il cookie
}
Header("Location: index.php/nav=Home.01"); //??????????
}
}
//=============== NEW LOGIN modify on: 21-12-2005============================
// se si è premuto il pulsante --LOGIN-- (per farsi riconoscere con pass e user)
if (isset($_POST[logon])){
$md5_pass=md5($_POST[pass]); // cripto in md5 la password immessa per confrontarla con quella del database
//modifica tutto in minuscolo del nome utente con prima lettera maiuscola (in questo caso evito case sensitive sul nome)
//in qualunque modo immetto l'username es: anToniO oppure ANTONIO oppure AntoNIO diventano sempre == Antonio
$_POST[user]=ucfirst(strtolower($_POST[user]));
//--------------------------------------------------------------------------------------------
//se esiste un file contenente il nome e pass inseriti dall'utente
if(file_exists(USERS_TAB."/$_POST[user].$md5_pass.php")){
unset ($_SESSION[access]); // elimino la sessione relativa all'accesso come anonimo, in modo da far risultare un primo accesso all'utente registrato.
//registro i dati nella sessione // security normalizzed SESSION
$_SESSION[user] = htmlspecialchars(str_replace("/","",$_POST[user]));
$_SESSION[pass] = htmlspecialchars($md5_pass); // in tal modo le sessioni verranno generate con file criptati e i cookie con l'md5 della pass criptata
//se voglio ricordare il login al prossimo collegamento creo nel computer dell'utente dei cookie
if ($_POST[remember] == "yes") {
// attento solo alla cancellatura del cookie che dovrà contenenre lo stesso numero di giorni a ritroso?????
setcookie("rem_user", $_POST[user],(time()+3600*24*$day_cookie),"/",""); //ricorda il login $day_cookie giorni
setcookie("rem_pass", $md5_pass, (time()+3600*24*$day_cookie),"/",""); //ricorda il login $day_cookie giorni
}
// MESSAGGIO DI LOGIN EFFETTUATO PIù REDIRECT
$page= (isset($_SESSION[returnAdmin])) ? $_SESSION[returnAdmin] : $_SERVER[HTTP_REFERER];
//$page= (isset($_SESSION[returnAdmin])) ? "$myroot/index.php{$QPoint}$_SESSION[returnAdmin]" : "$myroot/index.php?nav=Home.01";
//$page="$myroot/index.php?nav=Home.01";
refresh_imm($page,3);
}
}
//se al primo accesso ho memorizzato un cookie sul mio computer, il portale verifica e mi riconosce
//20-03-2008 modifica applicazione sicurezza gli admin devono sempre loggarsi
if (!isset($_SESSION[user]) and isset($_COOKIE[rem_user]) and isset ($_COOKIE[rem_pass])) {
if(file_exists(USERS_TAB."/$_COOKIE[rem_user].$_COOKIE[rem_pass].php") and !file_exists(ADMIN_TAB."/$_COOKIE[rem_user].$_COOKIE[rem_pass].php") ){
//if(file_exists(USERS_TAB."/$_COOKIE[rem_user].$_COOKIE[rem_pass].php") ){
// security normalizzed SESSION
$_SESSION[user] = htmlspecialchars(str_replace("/","",$_COOKIE[rem_user]));
$_SESSION[pass] = htmlspecialchars($_COOKIE[rem_pass]);
logthis ("si è collegato al Sito: riconosciuto con Cookie!");
UserVisita ();// aggiornamento database utente per numero di visite
} else if (file_exists(USERS_TAB."/$_COOKIE[rem_user].$_COOKIE[rem_pass].php") and !isset($_SESSION[Admin])){
// accesso di un admin loggato
$_SESSION[Admin] = $_COOKIE[rem_user];
if($_SERVER[HTTP_REFERER]!="") $_SESSION[HTTP_REFERER]=$_SERVER[HTTP_REFERER];
$urlAdm = (array_key_exists("PATH_INFO",$_SERVER)) ? (substr($_SERVER["PATH_INFO"], 1)) : $_SERVER[QUERY_STRING];
//
//echo"
// ";
//
if(!is_array($_POST)) {
echo"
";
} else{
// NELLA RICHIESTA DI LOGIN PER L'ADMIN DEVO TENERE CONTO DEI VALORI INVIATI DA UN MODULO, NEL CASO IL SERVER DOVESSE CANCELLARE LA SESSIONE
foreach($_POST as $key => $value) $totalForm.="\r\n";
//echo "$totalForm"; exit;
echo"
";
}
exit;
}
}
/////// modifica per whos on line (chi è in linea) del 1-3-2005 copyright 2004-05 vigilenapoletano
//se al primo accesso non ho un cookie sul mio computer il portale verifica e mi assegna un numero ip
if (!isset($_COOKIE[rem_user]) and !isset ($_COOKIE[rem_pass]) and !isset($_SESSION[user])) {
// in questo caso sono un guest (utente anonimo)
$_SESSION[ip]=getenv("REMOTE_ADDR");
}
// se si effettua --LOGOUT--
if (isset($_GET[log]) and $_GET[log] == "off" ){
setcookie("rem_user", "$_POST[user]", (time()-3600*24*$day_cookie),"/","");// dopo il logout cancella il cookie
setcookie("rem_pass", "$_POST[pass]", (time()-3600*24*$day_cookie),"/","");// dopo il logout cancella il cookie
$rem_user=$_SESSION[user];
unset ($_SESSION[user]);
unset ($_SESSION[pass]);
unset ($_SESSION[skin]);
unset ($_SESSION[include_skin]);
session_destroy();
echo"
";
exit;
}
if (is_utente()){
include (USERS_TAB."/$_SESSION[user].$_SESSION[pass].php"); // carico i dati dell'utente registrato
$_SESSION[skin]=$dati_user[skin];
if($myroot=="") { // se il portale si trova nella root del server web...
$_SESSION[include_skin] = substr($_SESSION["skin"],1);
} else $_SESSION[include_skin] = str_replace("$myroot/","", $_SESSION[skin]);
}
if (!isset($_SESSION[skin])) { // se non è stata caricata nessuna skin (dall'file dell'utente) o la session skin non esiste (utente anonimo)
$_SESSION[skin] = "$myroot/$defaultskin"; // creo la sessione con la skin predefinita
$_SESSION[include_skin] = "$defaultskin"; // creo la sessione con la skin predefinita
}
// Se, per un errore qualuque, la $_SESSION[skin] non conduce ad una skin esistente carico la predefinita
if(!is_dir($_SESSION[include_skin]) or !file_exists("$_SESSION[include_skin]/fun.graphic.php")) {
$_mess_error_skin="
Attenzione $_SESSION[user] hai problemi con la skin scelta da te precedentemente. Imposta nuova skin/grafica
";
$_SESSION[skin] = "$myroot/$defaultskin"; // creo la sessione con la skin predefinita
$_SESSION[include_skin] = "$defaultskin"; // creo la sessione per permettere le inclusioni dalla dir skin predefinita
}
verifyTemplate();
include_once ("$_SESSION[include_skin]/fun.graphic.php"); // file contenente le funzioni per costruire la grafica del sito
/////////////// sito in manutenzione
if ($maintanence == "1" and !is_admin()){
include "page/manutenzione.php";
exit();
}
/////////// fine sito in manutenzione
////////// MODIFICHE E PARSER PER LE URL GRADITE AI MOTORI DI RICERCA////////////////////////
////////// MODIFICHE E PARSER PER LE URL GRADITE AI MOTORI DI RICERCA////////////////////////
if(isset($_SERVER["PATH_INFO"]))
$array_GET=url_Parser($_SERVER["PATH_INFO"]);
////////// MODIFICHE E PARSER PER LE URL GRADITE AI MOTORI DI RICERCA////////////////////////
////////// MODIFICHE E PARSER PER LE URL GRADITE AI MOTORI DI RICERCA////////////////////////
// file database gruppi di utenti
$dbGroup=CONFIG_TAB."/group.php";
if(is_file($dbGroup)) $catGroup=file($dbGroup);
if(is_array($catGroup)){
foreach($catGroup as $row){
list($id, $nomCat, $imgCat)=explode("<~>",trim($row));
$arrayGroupN[$id]=$nomCat;
$arrayGroupI[$id]=$imgCat;
}
}
// array con associazione id e nome gruppi
$arrayGroupN=getGroup();
// array con associazione id e immagine gruppi
$arrayGroupI=getGroup(1);
########################## fine riconoscimenti preliminari ##############################
//---------------da quì parte la pagina html------------------------------------------------------
// template
if (is_file("$_SESSION[include_skin]/template.php"))include"$_SESSION[include_skin]/template.php";
else include"template/standard_template.php";
//FUNCTION==========================
// controllo per verificare lo stato di installazione
function not_installed(){
if(!is_dir(DATABASE) or !file_exists(LOGS_TAB."/creazione.php") ){
//il portale non è installato
echo"
PORTALE NON ISTALLATO! ATTENDERE REDIRECT...
";
return true;
} else if (!file_exists("mainfile.php")) {
echo"Attenzione manca il file principale: mainfile.php.";
return true;
}
}
?>