* @author DrX * @copyright 2008-2009 Alex Yu and DrX */ ignore_user_abort( TRUE ); set_time_limit(0); require_once 'core.php'; $bots = array(); $access = xp_get("botconfig"); $config = xp_get("config"); $sizes = array('K' => 1.0/1024, 'M' => 1, 'G' => 1024, 'T' => 1048576); foreach($access as $file) { if(function_exists("curl_init") && (stristr($file,"http://") || stristr($file,"ftp://") || stristr($file,"https://"))) { $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $file, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYPEER => FALSE )); if(!($xdccList = curl_exec($ch))) { print("ERROR: Unable to fetch remote file {$file}
\n"); print(curl_error($ch)."
\n"); continue; } } else { if(!($xdccList = file_get_contents($file))) { print("ERROR: Unable to fetch file {$file}
\n"); continue; } } $xdccList = str_replace( array( chr(2), chr(3), chr(16), chr(31), chr(13) ), "", $xdccList ); //remove irc formatting (or something <_<) if(preg_match("/\s+\*\*\s+(?:To|Pour)\s+(?:request|télécharger)\s+(?:a|un)\s+(?:file|fichier),\s+(?:type|tape)\s+\"\/msg\s+(.*?)\s+xdcc\s+send|get\s+#x\"\s+\*\*\s+\W/mi",$xdccList,$data['nick'])) { $bot = array(); $match = $config['group'] ? ".*".str_replace( array("^",".","*","\\","+","?","\$"), array("\^","\.","\*","\\\\","\+","\?","\\\$"), $config['group'] ).".*" : ".*"; eval("preg_match_all(\"/#(\\d+)\\s+\\d+x\\s+\\[.*?(\\d+\\.?\\d+?)(\\D)\\]\\s+(\\d+\\.\\d+\\.\\d+\\s+\\d+:\\d+\\s+)?(".$match.")\\W/mi\",\$xdccList,\$bot['packs']);"); $bot['nick'] = $data['nick'][1]; for($i=0;$i\n"); } } $time = time(); xp_set("bots",$bots); xp_set("time",$time); ?>