From d65ba27a7f3e88ebee75a64a8f49b00d9f9561b4 Mon Sep 17 00:00:00 2001 From: Antoine Durand-Gasselin Date: Sun, 9 Aug 2009 14:25:54 +0200 Subject: [PATCH] =?UTF-8?q?[jabber]=20l'interface=20web=20doit=20g=C3=A9re?= =?UTF-8?q?r=20les=20inscriptions=20sur=20ejabberd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit reste à: * réimplémenter le lostpassword ? * décider si l'on retient l'adresse mail, nom et prénom * décider si on transforme ce script en macro moinmoin (immonde) darcs-hash:20090809122554-bd074-f3f7ecd5d39f291a781506c13a70ef21576b06f2.gz --- jabber/register.py | 106 ++++++++++++++++++++------------------------- jabber/template | 2 +- 2 files changed, 47 insertions(+), 61 deletions(-) diff --git a/jabber/register.py b/jabber/register.py index 606096b6..9de13a28 100755 --- a/jabber/register.py +++ b/jabber/register.py @@ -1,12 +1,13 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -########################################### -# Système d'inscription en ligne à jabber # -# 14/02/2004 -- Frédéric Pauget # -########################################### +############################################## +# Système d'inscription en ligne à jabber # +# 14/02/2004 -- Frédéric Pauget # +# Migration à ejabberd le 9 août 2009 -- adg # +############################################## -import os, cgi, string, time, sys +import os, cgi, string, time, sys, commands form = cgi.FieldStorage() print "content-type: text/html" print @@ -14,8 +15,7 @@ print file=open('/var/www/jabber/template') html=file.read() -jabberuserdir='/var/lib/jabber/jabber.crans.org/' # Avec un / à la fin -logfile='/var/log/jabber/inscriptions.log' +logfile='/var/log/ejabberd/inscriptions.log' page ="

Création d'un compte Jabber.

" @@ -33,14 +33,7 @@ try : col_user='FF0000' user='' - filename=jabberuserdir+user+".xml" - - if user : - if os.path.exists(filename) : - page += "Erreur : login déja pris.

" - col_user='FFFF00' - user='' - + # vérification des mots de passe try : pass1=form['pass1'].value pass2=form['pass2'].value @@ -51,6 +44,7 @@ try : password='' col_pass='FF0000' + # vérification du nom try : nom=form['nom'].value nom=string.capitalize(nom) @@ -62,6 +56,7 @@ try : nom='' col_nom='FF0000' + # vérification du prénom try : prenom=form['prenom'].value prenom=string.capitalize(prenom) @@ -73,6 +68,7 @@ try : prenom='' col_prenom='FF0000' + # vérification du mail try : mail=form['mail'].value mail = string.lower(mail) @@ -98,52 +94,42 @@ if col_user!='FFFFFF' or col_pass!='FFFFFF' or col_mail!='FFFFFF' or col_nom!='F page+="Certaines donnes sont incorrectes :

" if user and password and nom and prenom and mail: - t=time.localtime() - timestamp='' - for i in [0,1,2,3,4,5] : - if t[i]<10 : timestamp += "0%s" % t[i] - else : timestamp += "%s" % t[i] - timestamp=timestamp[0:8]+"T"+timestamp[8:10]+':'+timestamp[10:12]+':'+timestamp[12:14] - file=open(filename,'w') - file.write("%s" % password) - file.write("") - file.write("%s" % user) - file.write("%s" % password) - file.write("%s.%s" % (prenom,nom) ) - file.write("%s" % mail) - file.write("registered" % timestamp) -# file.write("\n" % user) -# file.write(" Bienvenue !\n") -# file.write(" Bienvenue sur le seveur Jabber du Cr@ns -- Nous espérons que vous aprécierez ce service !\n") -# file.write(" Offline Storage" % (user, timestamp) ) - file.write("") - file.close() - os.chmod(filename,0600) - # Paranoia : on loggue - file=open(logfile,'a') - file.write("%s %s %s %s.%s\n" % (timestamp, os.environ['REMOTE_HOST'], user, prenom, nom) ) - file.close() + r, msg = commands.getstatusoutput('/usr/sbin/ejabberdctl %s%s%s%s' % + ('register', commands.mkarg(user), + ' jabber.crans.org', + commands.mkarg(password))) + if msg: + page += '

ejabberdctl : %s

' % msg - page += "Enregistrement réussi :

Bonne utilisation de Jabber :)

" - page += "

Plus d'informations pour configurer son client sur le wiki." -else : - page += "" - page += "" - page += "
Identifiant souhaité (JID):@jabber.crans.org" % (col_user,user) - page += "
Mot de passe :" % col_pass - page += "
Retaper mot de passe :" % col_pass - page += "
Nom :" % (col_nom,nom) - page += "
Prénom :" % (col_prenom,prenom) - page += "
Adresse mail :" % (col_mail,mail) - page += "
" - page += "
" + if r == 0: + page += "Enregistrement réussi :

Bonne utilisation de Jabber :)

" + page += "

Plus d'informations pour configurer son client sur le wiki." + + print html % page + sys.exit(0) + + else: +# page += "Erreur : login déja pris.

" + col_user='FF0000' + user='' + +page += "" +page += "" +page += "
Identifiant souhaité (JID):@jabber.crans.org" % (col_user,user) +page += "
Mot de passe :" % col_pass +page += "
Retaper mot de passe :" % col_pass +page += "
Nom :" % (col_nom,nom) +page += "
Prénom :" % (col_prenom,prenom) +page += "
Adresse mail :" % (col_mail,mail) +page += "
" +page += "
" print html % page diff --git a/jabber/template b/jabber/template index cf99f926..c202e36c 100644 --- a/jabber/template +++ b/jabber/template @@ -45,7 +45,7 @@ function MM_displayStatusMsg(msgStr) { //v1.0 //--> - +