Communauté Eggdrop

Version complète : Enregistrement du salon sous chanserv
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

heretoc

Avec un script d'enregistrement nickserv trouver sur ircz fut un temps, j'ai bidouiller sa en quelques minutes de façon à faire en sorte que celui ci devienne un enregistrement Chanserv pour les pseudonymes enregistrer.

Code PHP :
<?
##
## Configuration
##

// Adresse de Connexion du Serveur
$serveur="ip.de.votre.serveur"; 
// Port du Serveur
$port="6667";
// Pseudo de chanserv
$chanserv="ChanServ";
// Pseudo de nickserv
$nickserv="NickServ";
// Pseudo de botserv
$botserv="BotServ";
// Nom du robot botserv ajouter auto
$pseudobotserv="Nom.robot";
// Realname & Message de quit
// Remplacer M par H ou laisser de façon que le pseudo est un sexe sous l'applet
$mess="20 M Inscription ChanServ";

##
## Function
##

function chanreg($pseudo,$pass,$salon) {
global $serveur, $port, $nickserv, $botserv, $pseudobotserv, $chanserv, $mess;
$ps=stripslashes($pseudo);
$mp=stripslashes($pass);
$em=stripslashes($salon);
$fp=@fsockopen($serveur,$port, $errno, $errstr, 5);
if (!$fp) { header("Location: regchan.php?err=4"); }
else {
fputs($fp,"USER $ps $ps $ps :$mess \r\n"); 
fputs($fp,"NICK $ps \r\n");
fputs($fp,"JOIN $em \r\n");
fputs($fp,"PRIVMSG $nickserv :identify $mp \r\n");
fputs($fp,"PRIVMSG $chanserv :REGISTER $em $mp Salon enregistrer.\r\n"); 
fputs($fp,"PRIVMSG $botserv :ASSIGN $em $pseudobotserv\r\n"); 
while($data=fgets($fp,1024)) { 
$arg = explode(" ",$data);
if($arg[1]=="PRIVMSG") { fputs($fp,"PRIVMSG $chanserv :INFO $em\r\n"); }
elseif($arg[0]=="ERROR") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regchan.php?err=8"); }
elseif($arg[0]=="PING") { fputs($fp,"PONG $arg[1]\r\n"); }
elseif($arg[1]=="401") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regchan.php?err=6"); }
elseif($arg[1]=="433") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regchan.php?err=7"); }
}
}
}

##
## Remote
## 

if($_POST['pseudo'] AND $_POST['motpass'] AND $_POST['salon']) {
if(!preg_match("!^[#-0-9a-z\-._]{2,15}$!i",$_POST['salon'])) { header("Location: regchan.php?err=1"); }
elseif(!preg_match("!^[a-z0-9\-._]{2,15}$!i",$_POST['motpass'])) { header("Location: regchan.php?err=2"); }
elseif(!preg_match("!^[a-z0-9\-._]{2,15}$!i",$_POST['pseudo'])) { header("Location: regchan.php?err=3"); }
else { @chanreg($_POST['pseudo'],$_POST['motpass'],$_POST['salon']); }
}

##
## Code HTML
##

echo"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>Chanserv par internet</title>
<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; CHARSET=iso-8859-1\">
<META HTTP-EQUIV=\"CONTENT-LANGAGE\" CONTENT=\"fr\">
<script language=\"javascript\" type=\"text/javascript\">
function verif()
{
var vpseudo = /^[a-z0-9\-._]{2,15}$/i;
var vsalon = /^[#-0-9a-z\-._]{2,15}$/i;
var vpass = /^[a-z0-9\-._]{2,15}$/i;
if (document.nweb.pseudo.value.length == 0)
{
alert(\"Pseudonyme\");
return false;
}
if (document.nweb.pseudo.value.length <= 2)
{
alert(\"Votre pseudonyme est incorrecte.\");
return false;
}
if (!vpseudo.test(document.nweb.pseudo.value))
{
alert(\"Votre pseudonyme comporte des caractères illegaux.\");
return false;
}
if (document.nweb.motpass.value.length == 0)
{
alert(\"Mots de passe\");
return false;
}
if (document.nweb.motpass.value.length <= 5)
{
alert(\"Votre mots de passe est pas le bon.\");
return false;
}
if (!vpass.test(document.nweb.motpass.value))
{
alert(\"Votre mot de passe comporte des caractères illegaux.\");
return false;
}
if (document.nweb.salon.value.length == 0)
{
alert(\"Salon a creer\");
return false;
}
if (!vmail.test(document.nweb.salon.value))
{
alert(\"salon Incorrect\");
return false;
}
return true;
}
</script>
</head>
<body>
<form name=\"nweb\" OnSubmit=\"return verif()\" action=\"regchan.php\" method=\"post\">
<table>
<tr><td align=\"center\" colspan=\"2\"><b></b><br><br></td></tr>";
if($_GET['err']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">salon Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="2") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Mot de passe Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="3") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="4") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Connexion Impossible</font><br><br></td></tr>"; }
elseif($_GET['err']=="5") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo déjà enregistré sur $chanserv</font><br><br></td></tr>"; }
elseif($_GET['err']=="6") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">$chanserv est offline</font><br><br></td></tr>"; }
elseif($_GET['err']=="7") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo en ligne sur le serveur</font><br><br></td></tr>"; }
elseif($_GET['err']=="8") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Erreur lors de la connexion au serveur</font><br><br></td></tr>"; }
elseif($_GET['ok']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Votre pseudo a bien été enregistré sur $chanserv</font><br><br></td></tr>"; }
echo"<tr><td align=\"right\">Pseudonyme :&nbsp;&nbsp;</td><td><input type=\"text\" name=\"pseudo\" size=\"30\" maxlength=\"20\"></td></tr>
<tr><td align=\"right\">Mot de Passe :&nbsp;&nbsp;</td><td><input type=\"text\" name=\"motpass\" size=\"30\" maxlength=\"10\"></td></tr>
<tr><td align=\"right\">Salon a creer :&nbsp;&nbsp;</td><td><input type=\"text\" name=\"salon\" size=\"30\" maxlength=\"50\"></td></tr>
<tr><td align=\"right\" colspan=\"2\"><input type=\"submit\" value=\"Enregistrer\"></td></tr>
</table>
<center> Enregistrement de votre pseudo sous $chanserv <br /><br />
<center> N'oubliez pas d'etre offline pour enregistrer votre salon, puis attendre 1min pour revenir sur le tchat. Merci<br /><br />
<center> Il n'y a aucune confirmation pour l'enregistrement du salon.<br /><br />
</form>
</body>
</html>";

?>

Voici ce qu'ont doit ajouter pour voir le formulaire d'inscription sur le site :
Code PHP :
    <iframe src="regchan.php" name="chat" height="300" width="400" > </iframe

Je rappel que ce n'est que de la bidouille, cela marche mais n'est pas parfait, donc si des gens veulents l'ameliorer/continuer n'esiter pas.
PS : Sorry mais je ne savais pas ou post ce code.
Je viens de déplacer le sujet dans la bonne rubrique. Le script est intéressant et pas bête du tout.