All pastes #905282 Raw Edit

Untitled

public text v1 · immutable
·published 2008-02-15 17:56 UTC
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>