Posté : 04-01-2021 14:13
pour completer l'interrogation, je vois par exemple dans le main :
#autodoc session_manage() : Mise à jour la  ;table session
function session_manage() {
global $NPDS_Prefix, $cookie, $REQUEST_URI,& nbsp;$nuke_url;
$guest=0;
$ip=getip();
$username = isset($cookie[1]) ? $cookie [1] : $ip;
if($username==$ip)
$guest=1;
//==> mod_geoloc
!include!("modules/geoloc/geoloc_conf.php ");
$file_path = array(
'https://ipapi.co/'.$ip.'/json',
'https://api.ipdata.co/'.$ip.'?api-key='.$api_key_ipdata,
'https://extreme-ip-lookup.com/json/'.$ip,
'http://ip-api.com/json/'.$ip
);
$file = file("modules/geoloc/ge oloc_conf.php");
if(strstr($file[25],'geo_ip = 1 ')) {
$ousursit='';
global $ousursit;
$resultat=sql_query("SE LECT * FROM ".$NPDS_Prefix."ip_loc WHERE ip_ip LI KE \"$ip\"");
$controle=sql_num_rows( $resultat);
while ($row = sql_fetch_array($resultat)) {
$ousu rsit= preg_replace("#/.*?/#",'',$_SERVER['PHP_SELF']);
}
if($controle !=&nb sp;0)
sql_q uery("UPDATE ".$NPDS_Prefix."ip_loc SET ip_visite= ip_visit e +1 , ip_visi_pag = \"$ousursit\" WHERE ip_ ip LIKE \"$ip\" ");
else {
$ibid =false;
if(st rstr($nuke_url,'https')) {
  ; if(file_contents_exist($file_path[0])) {
  ; $loc = file_get_contents($file_path[0] );
  ; $loc_obj = json_decode($loc);
  ; if($loc_obj) {
  ; if(!property_exists($loc_obj,& nbsp;"error")) {
  ; $ibid=true;
  ; if (!em pty($loc_obj->country_name))
  ; $pay=removeHack($loc_obj->country_name);
  ; else
< br />   ; $pay='';
  ; if (!em pty($loc_obj->country))
  ; $codepay=removeHack($loc_obj->country);
  ; else
< br />   ; $codepay='';
  ; if (!em pty($loc_obj->city))
  ; $vi=removeHack($loc_obj->city);
  ; else
  ; $vi='';
  ; if (!em pty($loc_obj->latitude))
  ; $lat=(float)$loc_obj->latitude;
  ; else
  ; $lat='';
  ; if (!em pty($loc_obj->longitude))
  ; $long=(float)$loc_obj->longitude;
  ; else
  ; $long='';
  ; sql_query("I NSERT INTO ".$NPDS_Prefix."ip_loc (ip_long, ip_lat, ip _ip, ip_country, ip_code_country, ip_city) VALUES ('$l ong', '$lat', '$ip', '$pay', '$codepay', '$vi')");
  ; sql_query("U PDATE ".$NPDS_Prefix."ip_loc SET ip_visite= ip_visite +1, ip_visi_pag = \"$ousursit\" WHERE ip_ip LIKE& nbsp;\"$ip\" ");
  ; }
  ; }
  ; }
  ; if($ibid==false) {
  ; if(file_contents_exist($file_path[1])) {
  ; $loc = file_get_cont ents($file_path[1]);
  ; $loc_obj = json_deco de($loc);
  ; if($loc_obj) {
  ; if(!property _exists($loc_obj, "message")) {
  ; $ibid=true;
  ; if (!empty($loc_obj->country_name))
  ; $pay=removeHack($loc_obj->country_name);
  ; else
  ; $pay='';
  ; if (!empty($loc_obj->country_code))
  ; $codepay=removeHack($loc_obj->country_code);
  ; else
  ; $codepay='';
  ; if (!empty($loc_obj->city))
  ; $vi=removeHack($loc_obj->city);
  ; else
  ; $vi='';
  ; if (!empty($loc_obj->latitude))
  ; $lat=(float)$loc_obj->latitude;
  ; else
  ; $lat='';
  ; if (!empty($loc_obj->longitude))
  ; $long=(float)$loc_obj->longitude;
  ; else
  ; $long='';
  ; sql_query("INSERT INTO ".$NPDS_Prefix."ip_loc (ip_long,&nb sp;ip_lat, ip_ip, ip_country, ip_code_country, ip_city)&nbs p;VALUES ('$long', '$lat', '$ip', '$pay', '$codepay',& nbsp;'$vi')");
  ; sql_query("UPDATE ".$NPDS_Prefix."ip_loc SET ip_visite=&nb sp;ip_visite +1, ip_visi_pag = \"$ousursit\" WHERE&nbs p;ip_ip LIKE \"$ip\" ");
  ; }
  ; }
  ; }
  ; if($ibid==false) {
  ; if(file_contents_exist($file_p ath[2])) {
  ; $loc =& nbsp;file_get_contents($file_path[2]);
  ; $loc_obj&nbs p;= json_decode($loc);
  ; if ($lo c_obj->status=='success') {
  ; $ibid=true;
  ; if (!empty($loc_obj->country))
  ; $pay=removeHack($loc_obj->country);
  ; else
  ; $pay='';
  ; if (!empty($loc_obj->countryCode))
  ; $codepay=removeHack($loc_obj->countryCode);
  ; else
  ; $codepay='';
  ; if (!empty($loc_obj->city))
  ; $vi=removeHack($loc_obj->city);
  ; else
  ; $vi='';
  ; if (!empty($loc_obj->lat))
  ; $lat=(float)$loc_obj->lat;
  ; else
  ; $lat='';
  ; if (!empty($loc_obj->lon))
  ; $long=(float)$loc_obj->lon;
  ; else
  ; $long='';
  ; sql_query("INSERT INTO ".$NPDS_Prefix."ip_loc (ip_long,&nb sp;ip_lat, ip_ip, ip_country, ip_code_country, ip_city)&nbs p;VALUES ('$long', '$lat', '$ip', '$pay', '$codepay',& nbsp;'$vi')");
  ; sql_query("UPDATE ".$NPDS_Prefix."ip_loc SET ip_visite=&nb sp;ip_visite +1, ip_visi_pag = \"$ousursit\" WHERE&nbs p;ip_ip LIKE \"$ip\" ");
  ; }
  ; }
  ; }
  ; }
}
else& nbsp;if(strstr($nuke_url,'http')) {
  ; if(file_contents_exist($file_path[3])) {
  ; $loc = file_get_contents($file_path[3] );
  ; $loc_obj = json_decode($loc);
  ; if($loc_obj) {
  ; if ($loc_obj->status== 'success') {
  ; if (!em pty($loc_obj->country))
  ; $pay=removeHack($loc_obj->country);
  ; else
< br />   ; $pay='';
  ; if (!em pty($loc_obj->countryCode))
  ; $codepay=removeHack($loc_obj->countryCode);
  ; else
< br />   ; $codepay='';
  ; if (!em pty($loc_obj->city))
  ; $vi=removeHack($loc_obj->city);
  ; else
  ; $vi='';
  ; if (!em pty($loc_obj->lat))
  ; $lat=(float)$loc_obj->lat;
  ; else
  ; $lat='';
  ; if (!em pty($loc_obj->lon))
  ; $long=(float)$loc_obj->lon;
  ; else
  ; $long='';
  ; sql_query("I NSERT INTO ".$NPDS_Prefix."ip_loc (ip_long, ip_lat, ip _ip, ip_country, ip_code_country, ip_city) VALUES ('$l ong', '$lat', '$ip', '$pay', '$codepay', '$vi')");
  ; sql_query("U PDATE ".$NPDS_Prefix."ip_loc SET ip_visite= ip_visite +1, ip_visi_pag = \"$ousursit\" WHERE ip_ip LIKE& nbsp;\"$ip\" ");
  ; }
  ; }
  ; }
}
}
}
//<== mod_geoloc
$past = time()-300;
sql_query("DELETE FROM ".$NPDS_Prefix."session&nb sp;WHERE time < '$past'");
$result = sql_query("SELECT time FROM&n bsp;".$NPDS_Prefix."session WHERE username='$username'");
if ($row = sql_fetch_assoc($result)) {
if ($row['time'] < (tim e()-30)) {
sql_query("UPDATE ".$NPDS_Prefix."session SET username='$username', time='".time() ."', host_addr='$ip', guest='$guest', uri='$REQUEST_URI', a gent='".getenv("HTTP_USER_AGENT")."' WHERE username='$username'");
if ($guest==0)&nbs p;{
globa l $gmt;
sql_q uery("UPDATE ".$NPDS_Prefix."users SET user_lastvisit='".(time() +(integer)$gmt*3600)."' WHERE uname='$username'");
}
}
} else {
sql_query("INSERT INTO ".$NPDS_ Prefix."session (username, time, host_addr, guest, uri , agent) VALUES ('$username', '".time()."', '$ip',&nbs p;'$guest', '$REQUEST_URI', '".getenv("HTTP_USER_AGENT")."')");
}
}
Pourquoi ne pas le simplifier avec des fichiers mis dans le repertoire module/geoloc ?
Genre pour le fichier mainfile et la fonction session_manage
#autodoc session_manage() : Mise à jour la  ;table session
function session_manage() {
global $NPDS_Prefix, $cookie, $REQUEST_URI,& nbsp;$nuke_url;
$guest=0;
$ip=getip();
$username = isset($cookie[1]) ? $cookie [1] : $ip;
if($username==$ip)
$guest=1;
if (geoloc == $actif){
!include!(" modules/geoloc/geoloc_Core.php");
geoloc-sess ion();
}
$past = time()-300;
sql_query("DELETE FROM ".$NPDS_Prefix."session&nb sp;WHERE time < '$past'");
$result = sql_query("SELECT time FROM&n bsp;".$NPDS_Prefix."session WHERE username='$username'");
if ($row = sql_fetch_assoc($result)) {
if ($row['time'] < (tim e()-30)) {
sql_query("UPDATE ".$NPDS_Prefix."session SET username='$username', time='".time() ."', host_addr='$ip', guest='$guest', uri='$REQUEST_URI', a gent='".getenv("HTTP_USER_AGENT")."' WHERE username='$username'");
if ($guest==0)&nbs p;{
globa l $gmt;
sql_q uery("UPDATE ".$NPDS_Prefix."users SET user_lastvisit='".(time() +(integer)$gmt*3600)."' WHERE uname='$username'");
}
}
} else {
sql_query("INSERT INTO ".$NPDS_ Prefix."session (username, time, host_addr, guest, uri , agent) VALUES ('$username', '".time()."', '$ip',&nbs p;'$guest', '$REQUEST_URI', '".getenv("HTTP_USER_AGENT")."')");
}
}
Ce qui rendrait le code plus propre et indépendant du module
|