rendered paste body<?
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<br />"; }
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<count($rlz);$x++) {
$testing = explode("\/",$rlz[$x]);
$testing = $testing[(count($testing)-1)];
if (eregi("nuked",$testing) and empty($retour['raison'])) {
$explode = explode("nuked ",strtolower($rlz[$x]));
if(!eregi("\/",$explode[(count($explode)-1)])) { $retour['raison'] = $explode[(count($explode)-1)]; }
echo "<font color=\"#FF6600\">[NUKED] ".$explode[1]." -> ".$rlz[$x]."</font><br />\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 "<font color=\"#FF0000\">".$rlz[$x]." devient ".$retour['nfo_name']."</font><br />\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 "<br />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<br />'.$sql.'<br />'.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']."<br />\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']."<br />\n";
$login_result = ftp_login($conn_id, $ftp['login'], $ftp['pwd']);
if ($login_result) {
echo "<font color=\"#0000FF\">Connection au serveur ".$ftp['ip']."</font><br />\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 "<b>".$rep['rep']."</b> (".count($rlz)." release".$s.") | Type : ".nom_section($typerlz)."<br />\n<br />\n";
if ($rlz) {
for ($x=0;$x<count($rlz);$x++) {
if (!eregi ("INCOMPLETE",$rlz[$x]) and !eregi("KBps",$rlz[$x])) {
if (!eregi("\/",$rlz[$x])) { $rlz[$x] = "/".$rep['rep']."/".$rlz[$x]; }
$explode = explode("/",$rlz[$x]);
$testing = str_replace("[Nuked]-","",$explode[(count($explode)-1)]);
$testing = str_replace("NUKED-","",$testing);
//echo "## recherche de $testing dans la base (SELECT id,nfo FROM ftp_add_rlz where rlz='".addslashes($testing)."')<br>";
$test = mysql_fetch_array(mysql_query("SELECT id,nfo FROM ".$tbl_release." where rlz='".addslashes($testing)."'"));
echo "<b>".$testing."</b><br />\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<br />'.$sql.'<br />'.mysql_error());
echo "<font color=\"#00FF00\">Ajout de la release dans la base</font><br />\n";
}
} else {
echo "<font color=\"#FF0000\">La release est presente dans la base</font><br />\n";
$retour = fichier($rlz[$x],$test['nfo']);
}
echo "<br />-------------------------------------------------<br />\n<br />\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 "#################################################<br>";
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";
?></font>