include('../include/config.php');
include('../include/fonction.php');
set_time_limit(250);
$debut = time();
$date = date("Y-m-d");
$dir_nfo = "/www/nfos/";
########################################################################################
# Chainage des bots irc
########################################################################################
//for($x=0;$x<$nb_botirc;$x++)
//{
//$chaine_bot.="1|||";
//}
########################################################################################
// Test Passive Mode
function force_pasv() {
global $conn_id;
if(ftp_pasv ($conn_id,true)) { echo "Passive Mode 1 - "; return true; exit; }
elseif(ftp_pasv ($conn_id,true)) { echo "Passive Mode 2 - "; return true; exit; }
elseif(ftp_pasv ($conn_id,true)) { echo "Passive Mode 3 - "; return true; exit; }
else { echo "Passive Mode False
"; }
exit;
}
function fichier($url,$testnfo) {
global $conn_id,$date,$dir_nfo;
ftp_chdir($conn_id, $url);
force_pasv();
$rlz = ftp_nlist($conn_id, $url);
if ($rlz) {
unset($raison);
for ($x=0;$x[NUKED] ".$explode[1]." -> ".$rlz[$x]."
\n";
}
if (eregi(".nfo",trim($rlz[$x])) and empty($testnfo)) {
$explode = explode("/",$rlz[$x]);
$retour['date'] = ftp_mdtm($conn_id, $explode[(count($explode)-1)]);
$retour['date'] = ($retour['date'] != "") ? $retour['date'] : date('Ymd');
$retour['nfo_name'] = date('Ymd',$retour['date'])."_".$explode[(count($explode)-1)];
echo "".$rlz[$x]." devient ".$retour['nfo_name']."
\n";
$nfofile = $dir_nfo.$retour['nfo_name'];
//@mkdir($dir_nfo.substr($date,2,2)."/");
//@mkdir($dir_nfo.substr($date,2,2)."/".substr($date,0,10)."/");
if (file_exists($nfofile)) {
$retour['temps'] = ftp_mdtm($conn_id,$rlz[$x]);
$retour['nfo_name'] = $retour['nfo_name'];
}
// Tentative de renommage de $olf_file en $new_file
if(ftp_rename($conn_id, $url.'/'.$explode[(count($explode)-1)], $nfofile)) { echo "Renommage avec succes de $nfofile\n"; } else { echo "Il y a eu un problme lors du renommage de $new_file\n"; }
// if(ftp_delete($conn_id, $url.'/'.$explode[(count($explode)-1)])) { echo $explode[(count($explode)-1)]." effacé avec succès\n"; } else { echo "Impossible d'effacer le fichier ".$explode[(count($explode)-1)]."\n"; }
break;
}
}
if (ftp_rmdir($conn_id, $url)) { echo "
Le dossier $url a été effacé avec succès\n"; } else { echo "Il y a eu un problème lors de l'effacement du dossier $url\n"; }
}
$retour = isset($retour) ? $retour : NULL;
return $retour;
}
########################################################################################
$sql = "SELECT * FROM ".$tbl_ftp_servers." WHERE port > 0";
$ftps = mysql_query($sql) or die('Erreur SQL
'.$sql.'
'.mysql_error());
while ($ftp = mysql_fetch_array($ftps)) {
flush();
// $ftp['ip'] = strrev(strtr($ftp['ip'],'_¤!§&+-|%~@=:*$89','uaeit1234567890+-'));
// $ftp['pwd'] = strrev(strtr($ftp['pwd'],'_¤!§&+-|%~@=:*$89','uaeit1234567890+-'));
echo "Tentative de Connection au serveur ".$ftp['ip'].":".$ftp['port']."
\n";
$conn_id = ftp_connect($ftp['ip'],$ftp['port'],120);
if ($conn_id) {
echo "Tentative d'identification sur le serveur FTP : ".$ftp['login']."/".$ftp['pwd']."
\n";
$login_result = ftp_login($conn_id, $ftp['login'], $ftp['pwd']);
if ($login_result) {
echo "Connection au serveur ".$ftp['ip']."
\n";
$reps = mysql_query("SELECT * FROM ".$tbl_ftp_dir." WHERE id_ftp =".$ftp['id']);
while ($rep = mysql_fetch_array($reps)) {
force_pasv();
$rlz = ftp_nlist($conn_id, "/".$rep['rep']);
$position = strrpos(substr($rep['rep'],0,-1),"/");
$endrep = substr($rep['rep'],$position+1);
if (substr($endrep,4,1) == "-" AND substr($endrep,7,1) == "-") {
$date = substr($endrep,0,10);
} else {
$date = date("Y-m-d");
}
$s = (count($rlz) > 1) ? "s" : NULL;
$typerlz = $rep['id_types'];
echo "".$rep['rep']." (".count($rlz)." release".$s.") | Type : ".nom_section($typerlz)."
\n
\n";
if ($rlz) {
for ($x=0;$x";
$test = mysql_fetch_array(mysql_query("SELECT id,nfo FROM ".$tbl_release." where rlz='".addslashes($testing)."'"));
echo "".$testing."
\n";
if (empty($test['id'])) {
$explode[(count($explode)-1)]=str_replace("[Nuked]-","",$explode[(count($explode)-1)]);
$explode[(count($explode)-1)]=str_replace("NUKED-","",$explode[(count($explode)-1)]);
unset($stat); unset($type); unset($titre);
$titre = $explode[(count($explode)-1)];
if (eregi("nuke",$rlz[$x])) { $stat = 1; } else { $stat = 0; }
$time = $date;
if ($explode[(count($explode)-1)]!="." AND $explode[(count($explode)-1)]!="..") {
$retour = fichier($rlz[$x],$test['nfo']);
$retour['raison'] = isset($retour['raison']) ? $retour['raison'] : NULL;
$retour['nfo_name'] = isset($retour['nfo_name']) ? $retour['nfo_name'] : NULL;
$retour['date'] = isset($retour['date']) ? $retour['date'] : time();
$release = addslashes($explode[(count($explode)-1)]);
$sql = "INSERT INTO ".$tbl_release." (rlz,type,datetime,stat,why,nfo,link) VALUES ('".$release."',".$typerlz.",'".date('Y-m-d',$retour['date'])." 00:00:00',".$stat.",'".$retour['raison']."','".$retour['nfo_name']."','')";
mysql_query($sql) or die('Error SQL
'.$sql.'
'.mysql_error());
echo "Ajout de la release dans la base
\n";
}
} else {
echo "La release est presente dans la base
\n";
$retour = fichier($rlz[$x],$test['nfo']);
}
echo "
-------------------------------------------------
\n
\n";
}
#recup du NFO et du sfv
#
if ($retour['nfo_name'] AND empty($type)) {
mysql_query("UPDATE ".$tbl_release." SET nfo='".$retour['nfo_name']."' WHERE id= = ".$test['id']);
}
}
}
}
echo "#################################################
";
usleep(500000);
}
ftp_quit ($conn_id) ;
}
else
{
mail($technicalemail, "Serveur $ftp[ip]", "Impossible d'acceder au serveur $ftp[ip]");
}
}
echo "temps total du script: ".intval(time()-$debut)." sec";
?>