Subversion Repositories Applications.papyrus

Rev

Rev 448 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 448 Rev 483
Line 17... Line 17...
17
// |                                                                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: inscription.fonct.php,v 1.1 2005-09-22 14:02:49 ddelon Exp $
22
// CVS : $Id: inscription.fonct.php,v 1.2 2005-09-29 13:56:48 alexandre_tb Exp $
23
// CVS : $Id: inscription.fonct.php,v 1.1 2005-09-22 14:02:49 ddelon Exp $
23
// CVS : $Id: inscription.fonct.php,v 1.2 2005-09-29 13:56:48 alexandre_tb Exp $
24
/**
24
/**
25
* Fonctions du module inscription
25
* Fonctions du module inscription
26
*
26
*
27
* Fonctions du module inscription
27
* Fonctions du module inscription
28
*
28
*
Line 30... Line 30...
30
//Auteur original :
30
//Auteur original :
31
*@author        Alexandre Granier <alexandre@tela-botanica.org>
31
*@author        Alexandre Granier <alexandre@tela-botanica.org>
32
//Autres auteurs :
32
//Autres auteurs :
33
*@author        Aucun
33
*@author        Aucun
34
*@copyright     Tela-Botanica 2000-2004
34
*@copyright     Tela-Botanica 2000-2004
35
*@version       $Revision: 1.1 $ $Date: 2005-09-22 14:02:49 $
35
*@version       $Revision: 1.2 $ $Date: 2005-09-29 13:56:48 $
36
*@version       $Revision: 1.1 $ $Date: 2005-09-22 14:02:49 $
36
*@version       $Revision: 1.2 $ $Date: 2005-09-29 13:56:48 $
37
// +------------------------------------------------------------------------------------------------------+
37
// +------------------------------------------------------------------------------------------------------+
38
*/
38
*/
Line 39... Line 39...
39
 
39
 
40
// +------------------------------------------------------------------------------------------------------+
40
// +------------------------------------------------------------------------------------------------------+
Line 55... Line 55...
55
/**
55
/**
56
 *
56
 *
57
 * @param   array   les valeurs renvoyés par le formulaire
57
 * @param   array   les valeurs renvoyés par le formulaire
58
 * @return
58
 * @return
59
 */
59
 */
60
// A COMPLETER , NE MARCHE PAS
-
 
-
 
60
 
61
function demande_inscription($valeurs) {
61
function demande_inscription ($valeurs) {
62
	// On stocke les informations dans un variable de session
62
    // On stocke les informations dans un variable de session
-
 
63
    // On coupe l'identifiant de session pour ne prendre que les 8 premiers caractères
-
 
64
    // afin d'éviter d'obtenir une url trop longue
63
	$_SESSION['donnees_inscription'] = $valeurs ;
65
    $chaine = substr (session_id(), 0, 8) ;
-
 
66
    $requete_verif = 'select * from inscription_demande where id_identifiant_session="'.$chaine.'"' ;
-
 
67
    $resultat_verif = $GLOBALS['ins_db']->query ($requete_verif) ;
-
 
68
    if ($resultat_verif->numRows() != 0) {
-
 
69
        $requete_suppression = 'delete from inscription_demande where id_identifiant_session="'.$chaine.'"' ;
-
 
70
        $GLOBALS['ins_db']->query ($requete_suppression) ;
-
 
71
    }
-
 
72
    $requete = 'insert into inscription_demande set id_identifiant_session="'.$chaine.'", id_donnees="'.
-
 
73
                addslashes(serialize($valeurs)).'", id_date=NOW()' ;
-
 
74
    $resultat = $GLOBALS['ins_db']->query ($requete) ;
-
 
75
    if (DB::isError ($resultat)) {
-
 
76
        echo ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
-
 
77
    }
64
	// On envoie un email de confirmation pour l'utilisateur
78
    // On envoie un email de confirmation pour l'utilisateur
65
	$GLOBALS['ins_url']->addQueryString('id', session_id()) ;
79
    $GLOBALS['ins_url']->addQueryString ('id', $chaine) ;
-
 
80
    
-
 
81
    $corps = INS_MESSAGE_DEBUT_MAIL_INSCRIPTION ;
-
 
82
    if (INS_UTILISE_REECRITURE_URL) {
-
 
83
        $corps .= 'http://'.$GLOBALS['ins_url']->host.'/'.INS_URL_PREFIXE.$chaine ;
-
 
84
    } else {
-
 
85
        $corps .= str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL()) ;
-
 
86
    }
-
 
87
    $corps .= INS_MESSAGE_FIN_MAIL_INSCRIPTION ;
66
	mail($GLOBALS['email'], INS_ENTETE_INSCRIPTION, INS_MESSAGE_VALIDER_INSCRIPTION.$GLOBALS['ins_url']->getURL()) ;
88
    mail ($GLOBALS['email'], 'Inscription', $corps, 'From: '.INS_MAIL_ADMIN_APRES_INSCRIPTION) ;
67
}
89
}
Line 68... Line 90...
68
 
90
 
69
/**
91
/**
70
 *
92
 *
Line 77... Line 99...
77
	$GLOBALS['AUTH']->username = $valeurs['email'] ;
99
	$GLOBALS['AUTH']->username = $valeurs['email'] ;
78
	$GLOBALS['AUTH']->password = $valeurs['mot_de_passe'] ;
100
	$GLOBALS['AUTH']->password = $valeurs['mot_de_passe'] ;
79
	// On loggue l'utilisateur
101
	// On loggue l'utilisateur
80
	$GLOBALS['AUTH']->login() ;
102
	$GLOBALS['AUTH']->login() ;
81
	// inscription à la lettre d'information
103
	// inscription à la lettre d'information
82
	if (isset ($valeurs['lettre'])) {
104
	if (INS_CHAMPS_LETTRE != '' && isset ($valeurs['lettre'])) {
83
		inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
105
		inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
84
	}
106
	}
85
}
107
}
Line 86... Line 108...
86
 
108
 
Line 158... Line 180...
158
    return $res;
180
    return $res;
159
}
181
}
Line 160... Line 182...
160
 
182
 
161
function insertion($valeur) {
183
function insertion($valeur) {
-
 
184
        // ===========  Insertion dans l'annuaire gen_annuaire ===================
-
 
185
		// Génération du nom wikini à partir du nom et du prénom
-
 
186
	    if (INS_UTILISE_WIKINI) {
162
        // ===========  Insertion dans l'annuaire gen_annuaire ===================
187
	        $valeur['nom_wiki'] = genere_nom_wiki ($valeur['nom'], $valeur['prenom']) ;
163
 
188
	    }
164
        $id_utilisateur = nextId(INS_ANNUAIRE, INS_CHAMPS_ID, $GLOBALS['ins_db']) ;
189
        $id_utilisateur = nextId(INS_ANNUAIRE, INS_CHAMPS_ID, $GLOBALS['ins_db']) ;
165
        $requete = 'insert into '.INS_ANNUAIRE.' set '.
190
        $requete = 'insert into '.INS_ANNUAIRE.' set '.
166
                    INS_CHAMPS_ID.'="'.$id_utilisateur.'",'.
191
                    INS_CHAMPS_ID.'="'.$id_utilisateur.'",'.
Line 173... Line 198...
173
 
198
 
174
        // ================ Insertion dans SPIP =========================================
199
        // ================ Insertion dans SPIP =========================================
175
        if (INS_UTILISE_SPIP) {
200
        if (INS_UTILISE_SPIP) {
176
            inscription_spip($id_utilisateur, $valeur) ;
201
            inscription_spip($id_utilisateur, $valeur) ;
177
        }
202
        }
178
	//inscription_interwikini_users() ;
-
 
-
 
203
	if (INS_UTILISE_WIKINI) inscription_interwikini_users('', $valeur) ;
-
 
204
	// TODO CRéer un fichier bazar/bazar.inscription.inc.php et y mettre le code qui suit
-
 
205
	// Vérifier tous les noms des répertoires du répertoire client et s'il existe
179
	
206
	// un fichier nom/nom/inscription.inc.php l'inclure
180
	//inscription dans Bazar
207
	//inscription dans Bazar
181
	$requete = 'INSERT INTO bazar_droits VALUES ('.$id_utilisateur.',1,1),('.$id_utilisateur.',2,1),('.$id_utilisateur.',3,1),('.$id_utilisateur.',7,1)';
208
	$requete = 'INSERT INTO bazar_droits VALUES ('.$id_utilisateur.',1,1),('.$id_utilisateur.',2,1),('.$id_utilisateur.',3,1),('.$id_utilisateur.',7,1)';
182
	if ($valeur['est_structure']==1) $requete.=',('.$id_utilisateur.',4,1),('.$id_utilisateur.',5,1),('.$id_utilisateur.',6,1)';
209
	if ($valeur['est_structure']==1) $requete.=',('.$id_utilisateur.',4,1),('.$id_utilisateur.',5,1),('.$id_utilisateur.',6,1)';
183
	$resultat = $GLOBALS['ins_db']->query($requete);
210
	$resultat = $GLOBALS['ins_db']->query($requete);
Line 219... Line 246...
219
 
246
 
220
function requete_annuaire($valeur) {
247
function requete_annuaire($valeur) {
221
    $req = INS_CHAMPS_NOM.'="'.$valeur['nom'].'", ';
248
    $req = INS_CHAMPS_NOM.'="'.$valeur['nom'].'", ';
222
    if (isset($valeur['prenom'])) {
249
    if (isset($valeur['prenom'])) {
223
        $req .= INS_CHAMPS_PRENOM.'="'.$valeur['prenom'].'", ';
250
        $req .= INS_CHAMPS_PRENOM.'="'.$valeur['prenom'].'", ';
224
	if (INS_UTILISE_WIKINI) $req .= INS_CHAMPS_NOM_WIKINI.'="'.ucfirst(strtr($valeur['prenom'],' ','_')).ucfirst(strtr($valeur['nom'],' ','_')).'", ' ;
251
	if (INS_UTILISE_WIKINI) $req .= INS_CHAMPS_NOM_WIKINI.'="'.$valeur['champs_wiki'].'", ' ;
225
    }
252
    }
226
    elseif (INS_UTILISE_WIKINI) $req .= INS_CHAMPS_NOM_WIKINI.'="Structure'.ucfirst(strtr($valeur['nom'],' ','_')).'", ' ;
253
    elseif (INS_UTILISE_WIKINI) $req .= INS_CHAMPS_NOM_WIKINI.'="Structure'.$valeur['champs_wiki'].'", ' ;
Line 227... Line 254...
227
    $req .=      INS_CHAMPS_MAIL.'="'.$valeur['email'].'", ' ;
254
    $req .=      INS_CHAMPS_MAIL.'="'.$valeur['email'].'", ' ;
228
    
255
    
229
    $req .= INS_CHAMPS_PASSE.'="'.md5 ($valeur['mot_de_passe']).'", '.
256
    $req .= INS_CHAMPS_PASSE.'="'.md5 ($valeur['mot_de_passe']).'", '.
Line 236... Line 263...
236
		INS_CHAMPS_EST_STRUCTURE.'="'.$valeur['est_structure'].'", '.
263
		INS_CHAMPS_EST_STRUCTURE.'="'.$valeur['est_structure'].'", '.
237
		INS_CHAMPS_TELEPHONE.'="'.$valeur['telephone'].'", '.
264
		INS_CHAMPS_TELEPHONE.'="'.$valeur['telephone'].'", '.
238
		INS_CHAMPS_FAX.'="'.$valeur['fax'].'", '.
265
		INS_CHAMPS_FAX.'="'.$valeur['fax'].'", '.
239
		INS_CHAMPS_SITE_INTERNET.'="'.$valeur['site'].'" ';
266
		INS_CHAMPS_SITE_INTERNET.'="'.$valeur['site'].'" ';
Line -... Line 267...
-
 
267
	
240
	
268
	if (INS_CHAMPS_LETTRE != '') {
241
	if (isset($valeur['lettre'])) {
269
		if (isset($valeur['lettre'])) {
-
 
270
			$req .= ', '.INS_CHAMPS_LETTRE.'="'.$valeur['lettre'].'"';
-
 
271
		}
242
		$req .= ', '.INS_CHAMPS_LETTRE.'="'.$valeur['lettre'].'"';
272
		else 	$req .= ', '.INS_CHAMPS_LETTRE.'=0';
243
	}
-
 
244
	else 	$req .= ', '.INS_CHAMPS_LETTRE.'=0';
273
	}
245
	if (isset($valeur['visible'])) {
274
	if (isset($valeur['visible'])) {
246
		$req .= ', '.INS_CHAMPS_VISIBLE.'="'.$valeur['visible'].'"';
275
		$req .= ', '.INS_CHAMPS_VISIBLE.'="'.$valeur['visible'].'"';
247
	}
276
	}
248
	else 	$req .= ', '.INS_CHAMPS_VISIBLE.'=0';
277
	else 	$req .= ', '.INS_CHAMPS_VISIBLE.'=0';
Line 272... Line 301...
272
*/
301
*/
273
function formulaire_defaults() {
302
function formulaire_defaults() {
274
    $requete = 'select '.INS_ANNUAIRE.'.* '.
303
    $requete = 'select '.INS_ANNUAIRE.'.* '.
275
                'from '.INS_ANNUAIRE.' '.
304
                'from '.INS_ANNUAIRE.' '.
276
                'where '.INS_ANNUAIRE.'.'.INS_CHAMPS_ID.'= "'.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID).'"' ;
305
                'where '.INS_ANNUAIRE.'.'.INS_CHAMPS_ID.'= "'.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID).'"' ;
277
    $resultat = $GLOBALS['ins_db']->query ($requete) ;
306
    $resultat = $GLOBALS['ins_db']->query ($requete) ;echo $requete ;
278
    if (DB::isError($resultat)) {
307
    if (DB::isError($resultat)) {
279
    	die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
308
    	die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
280
    }
309
    }
281
    $ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
310
    $ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
282
    $valeurs_par_defaut = array() ;
311
    $valeurs_par_defaut = array() ;
Line 315... Line 344...
315
    $res .= '<h2 class="inscription_titre2">'.INS_FICHE_PERSONNELLE.'</h2><br />'."\n" ;
344
    $res .= '<h2 class="inscription_titre2">'.INS_FICHE_PERSONNELLE.'</h2><br />'."\n" ;
316
    if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 1) {
345
    if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 1) {
317
	    $res .=  '<h3>'.$ligne[INS_CHAMPS_NOM].'</h3><br />'."\n";
346
	    $res .=  '<h3>'.$ligne[INS_CHAMPS_NOM].'</h3><br />'."\n";
318
    }
347
    }
319
    else $res .= '<h3>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h3><br />'."\n";
348
    else $res .= '<h3>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h3><br />'."\n";
320
    $res .='<label>'.INS_EMAIL.' :</label> '.$ligne[INS_CHAMPS_MAIL].'<br />'."\n" ;
-
 
321
    if ($ligne[INS_CHAMPS_ADRESSE_1] != '') $res .= '<label>'.INS_ADRESSE_1.' :</label> '.$ligne[INS_CHAMPS_ADRESSE_1].'<br />'."\n" ;
-
 
322
    if ($ligne[INS_CHAMPS_ADRESSE_2] != '') $res .= '<label>'.INS_ADRESSE_2.' :</label> '.$ligne[INS_CHAMPS_ADRESSE_2].'<br />'."\n" ;
-
 
323
    if ($ligne[INS_CHAMPS_TELEPHONE] != '') $res .= '<label>'.INS_TELEPHONE.' :</label> '.$ligne[INS_CHAMPS_TELEPHONE].'<br />'."\n" ;
-
 
324
    if ($ligne[INS_CHAMPS_FAX] != '') $res .= '<label>'.INS_FAX.' :</label> '.$ligne[INS_CHAMPS_FAX].'<br />'."\n" ;
-
 
325
    if (INS_UTILISE_WIKINI) {if ($ligne[INS_CHAMPS_NOM_WIKINI] != '') $res .= '<label>'.INS_NOM_WIKI.' :</label> '.$ligne[INS_CHAMPS_NOM_WIKINI].'<br />'."\n" ;}
-
 
-
 
349
 
326
    $res .= '<br />';
350
    $res .= '<br />';
-
 
351
    
-
 
352
       $res .= '<dl>' ;
-
 
353
    $res .= '<dt>'.INS_EMAIL.'</dt><dd>'.$ligne[INS_CHAMPS_MAIL]."</dd>\n" ;
-
 
354
    if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 1) $nom = INS_NOM_STRUCTURE ; else $nom = INS_NOM ;
-
 
355
    $res .= '<dt>'.$nom.'</dt><dd>'.$ligne[INS_CHAMPS_NOM]."</dd>" ;
-
 
356
    
-
 
357
    if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 0) $res .= '<dt>'.INS_PRENOM.'</dt><dd>'.$ligne[INS_CHAMPS_PRENOM]."</dd>\n" ;
-
 
358
    //if ($ligne[INS_CHAMPS_LOGIN] != "") $res .= '<dt>'.INS_NOM_WIKI.'</dt><dd>'.$ligne[INS_CHAMPS_LOGIN]."</dd>\n" ;
-
 
359
    if ($ligne[INS_CHAMPS_ADRESSE_1] != "") $res .= '<dt>'.INS_ADRESSE.'</dt><dd>'.$ligne[INS_CHAMPS_ADRESSE_1]."</dd>\n" ;
-
 
360
    if ($ligne[INS_CHAMPS_ADRESSE_2] != "") $res .= '<dd> '.$ligne[INS_CHAMPS_ADRESSE_2]."</dd>\n" ;
-
 
361
    $res .= ligne_inscription (INS_CODE_POSTAL, $ligne[INS_CHAMPS_CODE_POSTAL]) ;
-
 
362
    $res .= ligne_inscription (INS_VILLE, $ligne[INS_CHAMPS_VILLE]) ;
-
 
363
    if ($ligne[INS_CHAMPS_TELEPHONE] != "") $res .= '<dt>'.INS_TELEPHONE.'</dt><dd>'.$ligne[INS_CHAMPS_TELEPHONE]."</dd>\n" ;
-
 
364
    if ($ligne[INS_CHAMPS_FAX] != "") $res .= '<dt>'.INS_FAX.'</dt><dd>'.$ligne[INS_CHAMPS_FAX]."</dd>\n" ;
-
 
365
    if ($ligne[INS_CHAMPS_STRUCTURE] != "") $res .= '<dt>'.INS_STRUCTURE.'</dt><dd>'.$ligne[INS_CHAMPS_STRUCTURE]."</dd>\n" ;
-
 
366
	if (INS_UTILISE_WIKINI) {
-
 
367
		if ($ligne[INS_CHAMPS_NOM_WIKINI] != '') $res .= '<label>'.INS_NOM_WIKI.' :</label> '.$ligne[INS_CHAMPS_NOM_WIKINI].'<br />'."\n" ;
-
 
368
	}
-
 
369
    $res .= '</dl>' ;
-
 
370
    
327
    return $res ;
371
    return $res ;
328
}
372
}
Line -... Line 373...
-
 
373
 
-
 
374
/**
-
 
375
 *	Renvoie une ligne avec label et valeur
-
 
376
 *
-
 
377
 * @param string label Le label
-
 
378
 * @param string valeur
-
 
379
 * @return	string HTML
-
 
380
 */
-
 
381
 
-
 
382
function ligne_inscription ($label, $valeur) {
-
 
383
    if ($valeur == '') {
-
 
384
        $valeur = '&nbsp;' ;
-
 
385
    }
-
 
386
    return '<dt>'.$label.'</dt><dd>'.$valeur.'</dd>' ;
-
 
387
}
329
 
388
 
330
function bouton($url) {
389
function bouton($url) {
331
	//requete pour savoir s'il s'agit d'une structure ou d'une personne
390
	//requete pour savoir s'il s'agit d'une structure ou d'une personne
332
	$requete = 'SELECT '.INS_CHAMPS_EST_STRUCTURE.' FROM '.INS_ANNUAIRE.' '.
391
	$requete = 'SELECT '.INS_CHAMPS_EST_STRUCTURE.' FROM '.INS_ANNUAIRE.' '.
333
	'WHERE '.INS_CHAMPS_ID.'="'.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID).'"' ;
392
	'WHERE '.INS_CHAMPS_ID.'="'.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID).'"' ;
Line 395... Line 454...
395
}
454
}
Line 396... Line 455...
396
 
455
 
397
 
456
 
398
function envoie_passe()
-
 
399
{
-
 
400
    global $SERVER_ADMIN ;
457
function envoie_passe()
401
 
458
{
Line 402... Line 459...
402
    $headers['From']    = $SERVER_ADMIN ;
459
    $headers['From']    = INS_MAIL_ADMIN_APRES_INSCRIPTION ;
Line 403... Line 460...
403
    $headers['Subject'] = INS_NOUVEAU_MOT_DE_PASSE;
460
    $headers['Subject'] = INS_NOUVEAU_MOT_DE_PASSE;
Line 456... Line 513...
456
 */
513
 */
Line 457... Line 514...
457
 
514
 
458
function envoie_mail() //A COMPLETER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
515
function envoie_mail() //A COMPLETER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
459
{
516
{
-
 
517
    include_once 'Mail/mime.php' ;
460
    include_once 'Mail/mime.php' ;
518
    include_once 'Mail.php' ;
Line 461... Line 519...
461
    $crlf="\n";
519
    $crlf="\n";
462
    
520
    
463
    $headers ['From'] = INS_MAIL_ADMIN_APRES_INSCRIPTION ;
521
    $headers ['From'] = INS_MAIL_ADMIN_APRES_INSCRIPTION ;
Line 498... Line 556...
498
        return false ;
556
        return false ;
499
    }
557
    }
500
    return true ;
558
    return true ;
501
}
559
}
Line -... Line 560...
-
 
560
 
-
 
561
 
-
 
562
/**
-
 
563
 *  Génère un nom wiki valide à partir des données saisies par l'utilisateur
-
 
564
 *  fait une requete dans la base
-
 
565
 *
-
 
566
 * @return  string un nom wiki valide
-
 
567
 */
-
 
568
 
-
 
569
function genere_nom_wiki  ($nom, $prenom) {
-
 
570
    // 1. suppression des espaces
-
 
571
    $nom = trim ($nom) ;
-
 
572
    $prenom = trim ($prenom) ;
-
 
573
    
-
 
574
    // 2. suppression des caractères non ascii et ajout de la première lettre en majuscule
-
 
575
    $nom = trim_non_ascii ($nom) ;
-
 
576
    $prenom = trim_non_ascii ($prenom) ;
-
 
577
    
-
 
578
    // Vérification
-
 
579
    $nom_wiki = $nom.$prenom ;
-
 
580
    if (!preg_match('/^[A-Z][a-z]+[A-Z,0-9][A-Z,a-z,0-9]*$/', $nom_wiki)) {
-
 
581
        $nom_wiki = chr(rand(65, 90)).$nom_wiki.chr(rand(65, 90)) ;
-
 
582
    }
-
 
583
    return $nom_wiki ;
-
 
584
}
-
 
585
 
-
 
586
/**
-
 
587
 *	Cette fonction supprime les caractères autres que asccii et les chiffres
-
 
588
 *
-
 
589
 * @return	string la chaine épurée
-
 
590
 */
-
 
591
 
-
 
592
function trim_non_ascii ($nom) {
-
 
593
    $premiere_lettre = true ;
-
 
594
    for ($i = 0; $i < strlen ($nom); $i++) {
-
 
595
        if (!preg_match ('/[a-zA-Z0-9]/', $nom[$i])) {
-
 
596
            $nom[$i] = '_' ;
-
 
597
        }
-
 
598
    // remplacement de la première lettre en majuscule
-
 
599
        if (preg_match ('/[a-zA-Z]/', $nom[$i]) && $premiere_lettre) {
-
 
600
            $nom[$i] = strtoupper ($nom[$i]) ;
-
 
601
            $premiere_lettre = false ;
-
 
602
        } else {
-
 
603
            if (preg_match ('/[a-zA-Z]/', $nom[$i])) {
-
 
604
                $nom[$i] = strtolower ($nom[$i]) ;
-
 
605
            }
-
 
606
        }
-
 
607
    }
-
 
608
    $nom = preg_replace ('/_/', '', $nom) ;
-
 
609
    return $nom ;
-
 
610
}
502
 
611
 
503
// For users prior to PHP 4.3.0 you may do this:
612
// For users prior to PHP 4.3.0 you may do this:
504
function unhtmlentities($string)
613
function unhtmlentities($string)
505
{
614
{
506
    $trans_tbl = get_html_translation_table (HTML_ENTITIES);
615
    $trans_tbl = get_html_translation_table (HTML_ENTITIES);
Line 566... Line 675...
566
}
675
}
Line 567... Line 676...
567
 
676
 
568
/* +--Fin du code ----------------------------------------------------------------------------------------+
677
/* +--Fin du code ----------------------------------------------------------------------------------------+
569
*
678
*
-
 
679
* $Log: not supported by cvs2svn $
-
 
680
* Revision 1.1  2005/09/22 14:02:49  ddelon
-
 
681
* nettoyage annuaire et php5
570
* $Log: not supported by cvs2svn $
682
*
571
* Revision 1.4  2005/09/22 13:30:49  florian
683
* Revision 1.4  2005/09/22 13:30:49  florian
572
* modifs pour compatibilité XHTML Strict + corrections de bugs (mais ya encore du boulot!!)
684
* modifs pour compatibilité XHTML Strict + corrections de bugs (mais ya encore du boulot!!)
573
*
685
*
574
* Revision 1.3  2005/03/21 16:57:30  florian
686
* Revision 1.3  2005/03/21 16:57:30  florian