All pastes #899360 Raw Edit

FUCK PREBOT-PHP BY JHD

public php v1 · immutable
·published 2008-02-11 01:49 UTC
rendered paste body
<?/*#!/usr/bin/php -q<?$pid = pcntl_fork();if ($pid == -1) {  die("impossible de forker"); } elseif ($pid) {   exit();} else { }if (!posix_setsid()) {  die("impossible de se dtacher du terminal");}*///---------------------------------------------//---------------------------------------------// PreBot-PHP v1 - par omBres pour les potes// contact : essaye sur IRC :p //---------------------------------------------//---------------------------------------------// PreBot-PHP est un bot dvelopp en php qui permet d'ajouter des releases// sur une base sql. Il est multiplateforme (Unix, Windows, etc..). Pour le// faire fonctionner, il suffit d avoir un interpreteur php et une base sql.// Tous les tests ont t ralis sur une debian et windows XP avec apache2 // + php4 + sql + phpmyadmin.//// Liste des commandes disponibles://    Commandes sur le salon addpre://       * !addpre release section pour ajouter une release//       * !nuke release motif pour nuker une release//       * !unnuke release ou !unuke release pour dnuker une release//	  Commandes publiques//       * !db ou !bd : donne le nombre total de releases dans la base//       * !stat ou !stats pseudo : donne le nbre de rlz ajoute par pseudo//       * !version : retourne la version du bot//       * !pre ou !dupe release: pour rechercher une release////    Commandes addeurs//       * !ident login pass (en pv du bot) : permet de s'identifier//       * !invite (en pv du bot) pour s'inviter sur le salon addpre////    Commandes administrateurs//       * Toutes les commandes + les suivantes//       * !b ou !ban pseudo/host pour bannir une personne ou un host//       * !unban ou !deban pseudo/host pour dbannir une personne ou un host//       * !op pseudo pour opper une personne//       * !deop pseudo pour dopper une personne//       * !voice ou !v pseudo pour voicer un personne//       * !devoice ou !dv pseudo pour devoicer une personne//       * !halfop ou !h pseudo pour halfoper une personne//       * !dehalfop ou !dh pour dehalfoper une personne//       * !kick pseudo pour kicker une personne//       * !kickban ou !kb pseudo pour bannir puis kicker une personne//       * !join #salon (password) pour joindre un salon (en pv du bot)//       * !part #salon pour quitter un salon (en pv du bot)//       * !adduser pseudo pass email {ADMIN,ADDEUR,MEMBRE} pour ajouter une personne (en pv du bot)//       * !deluser pseudo pour supprimer une personne (en pv du bot)//// Configuration (cf. plus bas)://       * Paramtres de connexion  la base sql//       * Configuration IRC//       * Configuration du skin//// Installation://       * Installer la base de donne vierge contenant les tables sur votre//       serveur SQL (prebot-php.sql).//       * Configurer le fichier prebot-php.php, section configuration//       * Uploader prebot-php.php sur votre host et dans un explorateur //       (ou dans la console sous linux) lancer la page.//       * Par dfault, il existe un administrateur dont le login est test//       et le pass est test. //       Identifiez-vous au bot (tapez en pv !ident test test) puis crez//       votre compte administrateur (!adduser login pass email@fai.fr admin).//       Logguez-vous avec ce compte (!ident login pass en pv du bot) puis//       supprimer le compte de test (!deluser test).////---------------------------------------------//---------------------------------------------//-------Paramtres de connection  la base sqldefine('sqlhost','localhost'); //ip de la base de donnedefine('sqllogin','root'); //login de connection  la dbdefine('sqlpassword','');//pass de connection  la dbdefine('sqldb','prebot'); //nom de la db//---------------------------------------------//-------Configuration IRC$serveur = "irc.voila.fr";$port = 6667;$pseudo = "testprebot";$identd = "prebot";$salon_addpre = "#addpre";$salon_addprepass = "passchan"; //password du salon addpre mettre "" si pas de pass$salon_liste = array("#tests","#a","#b","#c","#d"); //maximum de salons conseills: 5 - Seuls ces salons auront les annonces de pre (pas les salons ajouter avec la commande !join)$salon_pass = array("","","","",""); //password des salons - mettre "" si un salon n' a pas de password$allowquerycmd = true; //true: autorise l execution des commandes lorsque la demande se fait en pv du bot sinon false//---------------------------------------------//--------Configuration du Skin// %couleur% + num pour la couleur (ctrl=K)// %gras% pour le gras (ctrl+b)// %souligne% pour le soulign (ctrl+u)// %nbrlz% pour le nbre de rlz// %hostid% pour l'hostname d identification// %user% pour l user// %status% pour le status// %salon% pour le salon// %section% pour la section// %rlz% pour la release// %nuke% pour la raison du nuke// %nbresult% pour le nombre de resultat// %date% pour la datedefine('msg_not_allow',"%couleur%2[%couleur%14FUCK%couleur%2] %couleur%7Vous n'tes pas autoris  excuter cette requte - Logguez-vous");define('msg_kick',"%couleur%7Casse Toi Grosse Pute :)");define('msg_db',"%couleur%2[%couleur%14PreBot-PHP%couleur%2] %couleur%7Database %couleur%2[%couleur%14%nbrlz% Releases%couleur%2]");define('msg_ident_good',"%couleur%2[%couleur%14IDENT%couleur%2] %couleur%7Membre logu (HostID: %hostid%)");define('msg_ident_bad',"%couleur%2[%couleur%14IDENT%couleur%2] %couleur%7Mauvais login ou password");define('msg_stats_bad',"%couleur%2[%couleur%14STATS%couleur%2] %couleur%7Le nom d'utilisateur n'est pas valide");define('msg_stats_good',"%couleur%2[%couleur%14STATS%couleur%2] %couleur%7%user% a ajout %nbrlz% releases"); define('msg_invite_good',"%couleur%2[%couleur%14INVITE%couleur%2] %couleur%7%user% s'invite sous le pseudo %invite%"); define('msg_adduser_bad',"%couleur%2[%couleur%14ADDUSER%couleur%2] %couleur%7Format invalide: !adduser login pass email {ADMIN,ADDEUR,MEMBRE}");define('msg_adduser_exist',"%couleur%2[%couleur%14ADDUSER%couleur%2] %couleur%7%user% existe dj dans la base de donne - Choisissez un autre login");define('msg_adduser_good',"%couleur%2[%couleur%14ADDUSER%couleur%2] %couleur%7%user% a t ajout dans le groupe %status%");define('msg_deluser_bad',"%couleur%2[%couleur%14DELUSER%couleur%2] %couleur%7Vous devez prcisez un pseudo valide");define('msg_deluser_good',"%couleur%2[%couleur%14DELUSER%couleur%2] %couleur%7%user% a t supprim de la base de donnes");define('msg_join_good',"%couleur%2[%couleur%14JOIN%couleur%2] %couleur%7J ai joins le salon %salon%");define('msg_join_bad',"%couleur%2[%couleur%14JOIN%couleur%2] %couleur%7Vous devez prcisez un salon");define('msg_part_good',"%couleur%2[%couleur%14PART%couleur%2] %couleur%7J ai quitt le salon %salon%");define('msg_part_bad',"%couleur%2[%couleur%14PART%couleur%2] %couleur%7Vous devez prcisez un salon");define('msg_annonce_rlz',"%couleur%2[%couleur%14%section%%couleur%2] %couleur%7%rlz%");define('msg_annonce_nuke',"%couleur%2[%couleur%14NUKE%couleur%2] %couleur%7%rlz% (%couleur%4%nuke%%couleur%7)");define('msg_annonce_unuke',"%couleur%2[%couleur%14UNUKE%couleur%2] %couleur%7%rlz%");define('msg_dupe_search',"%couleur%2[%couleur%14PreBot-PHP%couleur%2] %couleur%7Recherche <%couleur%14%rlz%%couleur%7> - %nbresult% rsultats ");define('msg_dupe_good',"%couleur%2[%couleur%14PreBot-PHP%couleur%2] %couleur%12%rlz% %couleur%7(%date%) %couleur%2[%couleur%14%section%%couleur%2]");define('msg_dupe_bad',"%couleur%2[%couleur%14PreBot-PHP%couleur%2] %couleur%7 Vous devez prcisez au moins 3 caractres");//--------FIN DE CONFIGURATION - NE RIEN MODIFIER SOUS CETTE LIGNE//---------------------------------------------//---------------------------------------------set_time_limit(0); //pour eviter le ping timeout$fp = fsockopen($serveur, $port, &$errno, &$errstr, 10);if(!$fp) {    	echo '<font color="#FF0000">[ERREUR] '.$errstr.' ('.$errno.')</font><br>\n';} else {    send("NICK $pseudo");    send("USER $identd \"$identd\" \"$serveur\" :$identd");    while(!feof($fp))    {		$tmp = fgets($fp,512);		echo $tmp;		$tmp = str_replace("\r", "", $tmp); 		$tmp = str_replace("\n", "", $tmp); 		$tab_tmp=explode(" ",$tmp);				//-------Gestion du Ping		if ($tab_tmp[0] == "PING") 		{			$pong = "PONG ".strstr($tab_tmp[1],":");		    send($pong);			echo '<font color="#CCCCCC">[PONG] '.$pong.'</font><br>';		}		//--------Test si offset good		elseif (isset($tab_tmp[1]))		{			//-------Joindre les salons			if ($tab_tmp[1] == "001")			{				for ($i = 0; $i < sizeof($salon_liste); $i++)				{					send("JOIN ".$salon_liste[$i].' '.$salon_pass[$i]);					echo '<font color="#FF9900">[JOIN] J ai joins le salon '.$salon_liste[$i].'</font><br>';				}				echo '<font color="#FF9900">[JOIN] J ai joins le salon '.$salon_addpre.'</font><br>'; 				send("JOIN ".$salon_addpre.' '.$salon_addprepass);			}			//-------Ecoute des textes sur salons et pv			if ($tab_tmp[1] == "PRIVMSG")			{				if ((isset($tab_tmp[2])) && (isset($tab_tmp[3])))				{					$tmpuser = str_replace(":","",strtok($tmp,"!")); //on recupre l'user					$tmpsalon = $tab_tmp[2]; //on recupre le salon ou le pseudo du bot si c est un pv					$tmpcmd = str_replace(":","",$tab_tmp[3]); //on recupre la commande					$hostid = str_replace(":","",$tab_tmp[0]);					if (strcmp($tmpsalon,$salon_addpre) == 0)					{						if (strcmp($tmpcmd,"!addpre") == 0)						{							if ((isset($tab_tmp[4])) && (isset($tab_tmp[5])))							{															$rlz = $tab_tmp[4];								$section = correctionsections($tab_tmp[5]);								addpre($rlz,$section,$salon_liste,$hostid);							}						}						if (strcmp($tmpcmd,"!nuke") == 0)						{							if ((isset($tab_tmp[4])) && (isset($tab_tmp[5])))							{															$rlz = $tab_tmp[4];								$motif = $tab_tmp[5];								nuke($rlz,$motif,$salon_liste);							}						}								if ((strcmp($tmpcmd,"!unuke") == 0) || (strcmp($tmpcmd,"!unnuke") == 0))						{							if (isset($tab_tmp[4]))							{															$rlz = $tab_tmp[4];								unuke($rlz,$salon_liste);							}						}																		}					if (left($tmpsalon,1) == "#")					{						if ((strcmp($tmpcmd,"!db") == 0) || (strcmp($tmpcmd,"!bd") == 0))						{							db($tmpsalon);						}						elseif ((strcmp($tmpcmd,"!stat") == 0) || (strcmp($tmpcmd,"!stats") == 0))						{							if (isset($tab_tmp[4]))							{								stats($tmpsalon,$tab_tmp[4]);							}							else { send("PRIVMSG ".$tmpsalon." :".codecouleur(msg_stats_bad)); }						}						elseif ((strcmp($tmpcmd,"!version") == 0) || (strcmp($tmpcmd,"!info") == 0))						{							version($tmpsalon);						}						elseif ((strcmp($tmpcmd,"!pre") == 0) || (strcmp($tmpcmd,"!dupe") == 0))						{							if (isset($tab_tmp[4]))							{								$i = 5;								$rlz = $tab_tmp[4];								while ($i < 10)								{									if (isset($tab_tmp[$i]))									{										$rlz = $rlz."%".$tab_tmp[$i];										$i = $i + 1;									}									else { $i = 15; }								}								if (strlen($rlz) < 3)								{									send("PRIVMSG ".$tmpuser." :".codecouleur(msg_dupe_bad));								}								else								{											dupe($tmpuser,$rlz);								}								}							else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_dupe_bad)); }								}																		//commandes op						elseif ((strcmp($tmpcmd,"!b") == 0) || (strcmp($tmpcmd,"!ban") == 0))						{							if (isset($tab_tmp[4]))							{								ban($tmpsalon,$tab_tmp[4],$hostid);							}													}						elseif ((strcmp($tmpcmd,"!unban") == 0) || (strcmp($tmpcmd,"!deban") == 0))						{							if (isset($tab_tmp[4]))							{								unban($tmpsalon,$tab_tmp[4],$hostid);							}													}												elseif (strcmp($tmpcmd,"!op") == 0)						{							if (isset($tab_tmp[4]))							{								op($tmpsalon,$tab_tmp[4],$hostid);							}													}													elseif (strcmp($tmpcmd,"!deop") == 0)						{							if (isset($tab_tmp[4]))							{								deop($tmpsalon,$tab_tmp[4],$hostid);							}													}													elseif (strcmp($tmpcmd,"!kick") == 0)						{							if (isset($tab_tmp[4]))							{								kick($tmpsalon,$tab_tmp[4],$hostid);							}													}						elseif ((strcmp($tmpcmd,"!voice") == 0) || (strcmp($tmpcmd,"!v") == 0))						{							if (isset($tab_tmp[4]))							{								voice($tmpsalon,$tab_tmp[4],$hostid);							}													}							elseif ((strcmp($tmpcmd,"!devoice") == 0) || (strcmp($tmpcmd,"!dv") == 0))						{							if (isset($tab_tmp[4]))							{								devoice($tmpsalon,$tab_tmp[4],$hostid);							}													}						elseif ((strcmp($tmpcmd,"!halfop") == 0) || (strcmp($tmpcmd,"!h") == 0))						{							if (isset($tab_tmp[4]))							{								halfop($tmpsalon,$tab_tmp[4],$hostid);							}													}							elseif ((strcmp($tmpcmd,"!dehalfop") == 0) || (strcmp($tmpcmd,"!dh") == 0))						{							if (isset($tab_tmp[4]))							{								dehalfop($tmpsalon,$tab_tmp[4],$hostid);							}													}																									elseif ((strcmp($tmpcmd,"!kickban") == 0) || (strcmp($tmpcmd,"!kb") == 0))						{							if (isset($tab_tmp[4]))							{								ban($tmpsalon,$tab_tmp[4],$hostid);								kick($tmpsalon,$tab_tmp[4],$hostid);							}													}																								}					else					{ 						if ((strcmp($tmpcmd,"!ident") == 0))						{							if ((isset($tab_tmp[4])) && (isset($tab_tmp[5])))							{								$login = $tab_tmp[4];								$pass = $tab_tmp[5];								ident($tmpuser,$login,$pass,$hostid);							}						}						elseif (strcmp($tmpcmd,"!invite") == 0)						{							invite($tmpuser,$salon_addpre,$hostid);						}						elseif (strcmp($tmpcmd,"!adduser") == 0)						{							if ((isset($tab_tmp[4])) && (isset($tab_tmp[5])) && (isset($tab_tmp[6])) && (isset($tab_tmp[7])))							{								$login = $tab_tmp[4];								$pass = $tab_tmp[5];								$email = $tab_tmp[6];								$status = $tab_tmp[7];								adduser($tmpuser,$hostid,$login,$pass,$email,$status);							}							else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_adduser_bad)); }						}						elseif (strcmp($tmpcmd,"!deluser") == 0)						{							if (isset($tab_tmp[4]))							{								$login = $tab_tmp[4];								deluser($tmpuser,$hostid,$login);							}							else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_deluser_bad)); }						}						elseif (strcmp($tmpcmd,"!join") == 0)						{							if (isset($tab_tmp[4]))							{								$salon = $tab_tmp[4];								if (isset($tab_tmp[5]))								{									$chanpass = $tab_tmp[5];								}								else { $chanpass = ""; }								joindre($tmpuser,$hostid,$salon,$chanpass);							}							else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_join_bad)); }						}						elseif (strcmp($tmpcmd,"!part") == 0)						{							if (isset($tab_tmp[4]))							{								$salon = $tab_tmp[4];								partir($tmpuser,$hostid,$salon);							}							else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_part_bad)); }						}						elseif ((strcmp($tmpcmd,"!version") == 0) || (strcmp($tmpcmd,"!info") == 0))						{							version($tmpuser);						}																																													elseif ($allowquerycmd == true) //si mode commande en pv est allow						{							if ((strcmp($tmpcmd,"!db") == 0) || (strcmp($tmpcmd,"!bd") == 0))							{								db($tmpuser);							}								elseif ((strcmp($tmpcmd,"!stat") == 0) || (strcmp($tmpcmd,"!stats") == 0))							{								if (isset($tab_tmp[4]))								{									stats($tmpuser,$tab_tmp[4]);								}								else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_stats_bad)); }							}								elseif ((strcmp($tmpcmd,"!pre") == 0) || (strcmp($tmpcmd,"!dupe") == 0))							{								if (isset($tab_tmp[4]))								{									$i = 5;									$rlz = $tab_tmp[4];									while ($i < 10)									{										if (isset($tab_tmp[$i]))										{											$rlz = $rlz."%".$tab_tmp[$i];											$i = $i + 1;										}										else { $i = 15; }									}									if (strlen($rlz) < 3)									{										send("PRIVMSG ".$tmpuser." :".codecouleur(msg_dupe_bad));									}									else									{												dupe($tmpuser,$rlz);									}									}								else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_dupe_bad)); }									}														}					}				}			}					}    }    fclose($fp);    return "OK";}//--------Fonction de connection a la base sqlfunction connection() {	echo mysql_connect(sqlhost, sqllogin, sqlpassword); // Connexion  MySQL	echo mysql_select_db(sqldb); // Slection de la base dupe}//--------fonction de deconnection de la base sqlfunction deconnection() { mysql_close(); }//--------fonction dupefunction dupe($tmpuser,$rlz){	connection();	$rlz = '%'.$rlz.'%';	$req = mysql_query("SELECT count(*) FROM release WHERE release_nom LIKE '".$rlz."' LIMIT 3;");	$res = mysql_result($req,0);	send("PRIVMSG ".$tmpuser." :".codecouleur(str_replace("%nbresult%","$res",str_replace("%rlz%","$rlz",msg_dupe_search))));	if ($res > 0)	{		$req = mysql_query("SELECT * FROM release WHERE release_nom LIKE '".$rlz."' LIMIT 3;");		while ($donnees = mysql_fetch_array($req))		{			$section = $donnees['release_section'];			$time = $donnees['release_timestamp'];			$rlzgood = $donnees['release_nom'];			send("PRIVMSG ".$tmpuser." :".codecouleur(str_replace("%section%","$section",str_replace("%date%","$time",str_replace("%rlz%","$rlzgood",msg_dupe_good)))));		}			}	deconnection();}//--------fonction nukefunction nuke($rlz,$motif,$salon_liste){	connection();	$req = mysql_query("SELECT count(*) FROM release WHERE release_nom = '".$rlz."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$date = date("Y-m-d");		$heure = date("H:i:s");		$req = mysql_query("UPDATE release SET release_nuke = '".$motif."' WHERE release_nom = '".$rlz."' LIMIT 1 ;");		for ($i = 0; $i < sizeof($salon_liste); $i++)		{			send("PRIVMSG ".$salon_liste[$i]." :".codecouleur(str_replace("%nuke%","$motif",str_replace("%rlz%","$rlz",msg_annonce_nuke))));		}				echo '<font color="#FF0000">[NUKE] '.$rlz.' ('.$motif.') ('.$date.' '.$heure.')</font><br>';	}	deconnection();}//--------fonction de deconnection de la base sqlfunction deconnection() { mysql_close(); }//--------fonction unnukefunction unuke($rlz,$salon_liste){	connection();	$req = mysql_query("SELECT count(*) FROM release WHERE release_nom = '".$rlz."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$date = date("Y-m-d");		$heure = date("H:i:s");		$req = mysql_query("UPDATE release SET release_nuke = '' WHERE release_nom = '".$rlz."' LIMIT 1 ;");		for ($i = 0; $i < sizeof($salon_liste); $i++)		{			send("PRIVMSG ".$salon_liste[$i]." :".codecouleur(str_replace("%rlz%","$rlz",msg_annonce_unuke)));		}				echo '<font color="#FF0000">[UNUKE] '.$rlz.' ('.$date.' '.$heure.')</font><br>';	}	deconnection();}//--------fonction addprefunction addpre($rlz,$section,$salon_liste,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM release WHERE release_nom = '".$rlz."';");	$res = mysql_result($req,0);	if ($res == 0)	{		$date = date("Y-m-d");		$heure = date("H:i:s");		$req = mysql_query("INSERT INTO release ( `release_id` , `release_nom` , `release_timestamp` , `release_nuke` , `release_section` ) VALUES ('', '".$rlz."', NOW( ) , NULL , '".$section."');");		for ($i = 0; $i < sizeof($salon_liste); $i++)		{			send("PRIVMSG ".$salon_liste[$i]." :".codecouleur(str_replace("%section%","$section",str_replace("%rlz%","$rlz",msg_annonce_rlz))));		}				$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");		$res = mysql_result($req,0);		if ($res2 > 0)		{			$req2 = mysql_query("SELECT membre_total_rlz FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");			$res2 = mysql_result($req2,0);			$nbrlz = $res2 + 1;			$req2 = mysql_query("UPDATE membre SET membre_total_rlz = '".$nbrlz."' membre_host = '".$hostid."' LIMIT 1;");		}			echo '<font color="#009900">[RLZ] '.$rlz.' dans '.$section.' ('.$date.' '.$heure.')</font><br>';	}	deconnection();}//--------fonction correctionsectionsfunction correctionsections($section){	$tmp = eregi("[[:punct:]]COVERS|COVER",$section,$regs); if (isset($regs[0])) { return "COVERS"; }	$tmp = eregi("[[:punct:]]PS2|[[:punct:]]PS2DVD|[[:punct:]]PS2CD[[:punct:]]|[[:punct:]]PS2DVD|PS2",$section,$regs); if (isset($regs[0])) { return "PS2"; }	$tmp = eregi("[[:punct:]]eBOOK|BOOK|eBOOK",$section,$regs); if (isset($regs[0])) { return "eBOOK"; }	$tmp = eregi("day|IMAGESET",$section,$regs); if (isset($regs[0])) { return "0DAY"; }	$tmp = eregi("[[:punct:]]XXX|XXX",$section,$regs); if (isset($regs[0])) { return "XXX"; }	$tmp = eregi("[[:punct:]]NGC|NGC",$section,$regs); if (isset($regs[0])) { return "NGC"; }	$tmp = eregi("[[:punct:]]GBA|GBA",$section,$regs); if (isset($regs[0])) { return "GBA"; }	$tmp = eregi("[[:punct:]]MDVDR[[:punct:]]|MUSiC",$section,$regs); if (isset($regs[0])) { return "MDVDR"; }	$tmp = eregi("[[:punct:]]DVDR[[:punct:]]|DVD",$section,$regs); if (isset($regs[0])) { return "DVDR"; }		$tmp = eregi("MP3",$section,$regs); if (isset($regs[0])) { return "MP3"; }	$tmp = eregi("ANIME",$section,$regs); if (isset($regs[0])) { return "ANiMES"; }	$tmp = eregi("SVCD",$section,$regs); if (isset($regs[0])) { return "SVCD"; }	$tmp = eregi("DOX",$section,$regs); if (isset($regs[0])) { return "DOX"; }	$tmp = eregi("VCD",$section,$regs); if (isset($regs[0])) { return "VCD"; }	$tmp = eregi("APP",$section,$regs); if (isset($regs[0])) { return "APPS"; }	$tmp = eregi("MV|ViD",$section,$regs); if (isset($regs[0])) { return "MVIDEO"; }	$tmp = eregi("[[:punct:]]PSP[[:punct:]]|PSP",$section,$regs); if (isset($regs[0])) { return "PSP"; }	$tmp = eregi("[[:punct:]]NDS[[:punct:]]|NDS",$section,$regs); if (isset($regs[0])) { return "NDS"; }	$tmp = eregi("[[:punct:]]PPC[[:punct:]]|PPC",$section,$regs); if (isset($regs[0])) { return "PPC"; }	$tmp = eregi("[[:punct:]]S\d\dE\d\d[[:punct:]]|[[:punct:]]S\dE\d[[:punct:]]|(?i)TV|SERiE|TV",$section,$regs); if (isset($regs[0])) { return "TV"; }		$tmp = eregi("[[:punct:]]XBOX360|XBOX360",$section,$regs); if (isset($regs[0])) { return "XBOX360"; }	$tmp = eregi("[[:punct:]]XBOXDVD|[[:punct:]]XBOX[[:punct:]]|XBOX",$section,$regs); if (isset($regs[0])) { return "XBOX"; }	$tmp = eregi("GAME",$section,$regs); if (isset($regs[0])) { return "GAMES"; }	$tmp = eregi("[[:punct:]]X[Vv]iD[[:punct:]]|XViD",$section,$regs); if (isset($regs[0])) { return "XViD"; }	$tmp = eregi("[[:punct:]]Di[Vv]X[[:punct:]]|DiVX",$section,$regs); if (isset($regs[0])) { return "DiVX"; }	return "OTHER";}//--------fonction !joinfunction joindre($tmpuser,$hostid,$salon,$chanpass){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("JOIN ".$salon." ".$chanpass);			send("PRIVMSG ".$tmpuser." :".codecouleur(str_replace("%salon%","$salon",msg_join_good)));			echo '<font color="#FF9900">[JOIN] J ai joins le salon '.$salon.'</font><br>'; 					}		else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_not_allow)); }	}	deconnection();}//--------fonction !partfunction partir($tmpuser,$hostid,$salon){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("PART ".$salon);			send("PRIVMSG ".$tmpuser." :".codecouleur(str_replace("%salon%","$salon",msg_part_good)));			echo '<font color="#FF9900">[PART] J ai quitt le salon '.$salon.'</font><br>'; 					}		else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_not_allow)); }	}	deconnection();}//--------fonction !deluser function deluser($tmpuser,$hostid,$login){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			$req2 = mysql_query("SELECT count(*) FROM membre WHERE membre_nom = '".$login."';");			$res2 = mysql_result($req2,0);			if ($res2 > 0)			{				$req = mysql_query("DELETE FROM membre WHERE membre_nom = '".$login."' LIMIT 1 ;");				send("PRIVMSG ".$tmpuser." :".codecouleur(str_replace("%user%","$login",msg_deluser_good)));				echo '<font color="#0033FF">[DELUSER] Le membre'.$login.' a t supprim</font><br>'; 			}			else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_deluser_bad)); }		}		else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_not_allow)); }	}	else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_not_allow)); }	deconnection();}//--------fonction !adduserfunction adduser($tmpuser,$hostid,$login,$pass,$email,$status){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			$req2 = mysql_query("SELECT count(*) FROM status WHERE status_desc = '".$status."';");			$res2 = mysql_result($req2,0);			if ($res2 > 0)			{				$req = mysql_query("SELECT status_id FROM status WHERE status_desc = '".$status."' LIMIT 1;");				$resstatus = mysql_result($req,0);				$req = mysql_query("SELECT count(*) FROM membre WHERE membre_nom = '".$login."';");				$resbool = mysql_result($req,0);				if ($resbool != 0)				{					send("PRIVMSG ".$tmpuser." :".codecouleur(str_replace("%user%","$login",msg_adduser_exist)));				}				else				{					$req = mysql_query("INSERT INTO membre ( `membre_nom` , `membre_pass` , `membre_mail` , `membre_total_rlz` , `membre_status` , `membre_host` ) VALUES ('".$login."', '".md5($pass)."', '".$email."', '0', '".$resstatus."', NULL);");					send("PRIVMSG ".$tmpuser." :".codecouleur(str_replace("%status%","$status",str_replace("%user%","$login",msg_adduser_good))));					echo '<font color="#0033FF">[ADDUSER] '.$login.' a t ajout dans le groupe '.$status.'</font><br>'; 				}			}			else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_adduser_bad)); }		}		else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_not_allow)); }	}	else { send("PRIVMSG ".$tmpuser." :".codecouleur(msg_not_allow)); }	deconnection();}//--------fonction !banfunction ban($tmpsalon,$banni,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("MODE ".$tmpsalon." +b ".$banni);		}	}	deconnection();}//--------fonction !unbanfunction unban($tmpsalon,$banni,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("MODE ".$tmpsalon." -b ".$banni);		}	}	deconnection();}//--------fonction !voicefunction voice($tmpsalon,$user,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("MODE ".$tmpsalon." +v ".$user);		}	}	deconnection();}//--------fonction !devoicefunction devoice($tmpsalon,$user,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("MODE ".$tmpsalon." -v ".$user);		}	}	deconnection();}//--------fonction !halfopfunction halfop($tmpsalon,$user,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("MODE ".$tmpsalon." +h ".$user);		}	}	deconnection();}//--------fonction !dehalfopfunction dehalfop($tmpsalon,$user,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("MODE ".$tmpsalon." -h ".$user);		}	}	deconnection();}//--------fonction !opfunction op($tmpsalon,$user,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("MODE ".$tmpsalon." +o ".$user);		}	}	deconnection();}//--------fonction !deopfunction deop($tmpsalon,$user,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("MODE ".$tmpsalon." -o ".$user);		}	}	deconnection();}//--------fonction !kickfunction kick($tmpsalon,$user,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_status FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$res = mysql_result($req,0);		if ($res == 100)		{			send("KICK ".$tmpsalon." ".$user." :".codecouleur(msg_kick));		}	}	deconnection();}//--------fonction !invitefunction invite($tmpuser,$salon_addpre,$hostid){	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_host = '".$hostid."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("SELECT membre_nom FROM membre WHERE membre_host = '".$hostid."' LIMIT 1;");		$nom = mysql_result($req,0);		send("PRIVMSG ".$salon_addpre." :".codecouleur(str_replace("%user%","$nom",str_replace("%invite%","$tmpuser",msg_invite_good))));		send("INVITE ".$tmpuser." ".$salon_addpre);		echo '<font color="#99FF66">[INVITE] '.$nom.' s est invit sous le pseudo'.$tmpuser.'</font><br>'; 	}	else	{		send("PRIVMSG ".$tmpuser." :".codecouleur(msg_not_allow));	}	deconnection();}//--------fonction !identfunction ident($tmpuser,$login,$pass,$hostid) {	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_nom = '".$login."' AND membre_pass = '".md5($pass)."';");	$res = mysql_result($req,0);	if ($res > 0)	{		$req = mysql_query("UPDATE `membre` SET `membre_host` = '".$hostid."' WHERE `membre_nom` = '".$login."' LIMIT 1 ;");		send("PRIVMSG ".$tmpuser." :".codecouleur(str_replace("%hostid%","$hostid",msg_ident_good)));		echo '<font color="#99FF66">[IDENT] '.$nom.' s est invit sous le pseudo'.$tmpuser.'</font><br>';	}	else	{		send("PRIVMSG ".$tmpuser." :".codecouleur(msg_ident_bad));	}	deconnection();}//--------fonction !statfunction stats($tmpsalon,$tmpnick) {	connection();	$req = mysql_query("SELECT count(*) FROM membre WHERE membre_nom = '".$tmpnick."';");	$res = mysql_result($req,0);	if ($res >0)	{		$req = mysql_query("SELECT membre_total_rlz FROM membre WHERE membre_nom = '".$tmpnick."';");		$res = mysql_result($req,0);			send("PRIVMSG ".$tmpsalon." :".codecouleur(str_replace("%nbrlz%",$res,str_replace("%user%",$tmpnick,msg_stats_good))));	}	else	{		send("PRIVMSG ".$tmpsalon." :".codecouleur(msg_stats_bad));	}	deconnection();}//--------fonction !versionfunction version($tmpsalon) {	send("PRIVMSG ".$tmpsalon." :".codecouleur("%couleur%2[%couleur%14VERSION%couleur%2] %couleur%7PreBot-PHP v0.0.1 by omBres"));}//--------fonction !dbfunction db($tmpsalon) {	connection();	$req = mysql_query("SELECT count(*) FROM release;");	$nbrlz = mysql_result($req,0);	send("PRIVMSG ".$tmpsalon." :".codecouleur(str_replace("%nbrlz%","$nbrlz",msg_db)));	deconnection();}//--------fonction d'ecriture sur le socket $fpfunction send($tmp) { global $fp; fputs($fp,$tmp."\n"); }//--------fonction leftfunction left($str,$nbr) {   return substr($str,0,$nbr);}function codecouleur($phrase) {	$phrase = str_replace("%couleur%",chr(3),$phrase);	$phrase = str_replace("%gras%",chr(2),$phrase);	$phrase = str_replace("%souligne%",chr(31),$phrase);	return $phrase;}?>