Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 299 → Rev 447

/trunk/client/inscription/classes/inscription.class.php
1,233 → 1,234
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: inscription.class.php,v 1.3 2005-03-02 12:46:40 alex Exp $
/**
* Inscription
*
* Un module d'inscription, en général ce code est spécifique à
* un site web
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.3 $ $Date: 2005-03-02 12:46:40 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
require_once 'HTML/QuickForm.php' ;
 
class HTML_formulaireInscription extends HTML_Quickform {
 
/**
* Constructeur
*
* @param string formName Le nom du formulaire
* @param string method Méthode post ou get
* @param string action L'action du formulaire.
* @param int target La cible.
* @param Array attributes Les attributs HTML en plus.
* @param bool trackSubmit ??
* @return void
* @access public
*/
function HTML_forumlaireInscription ( $formName, $method = "post", $action, $target = "_self", $attributes, $trackSubmit = false ) {
HTML_Quickform::HTML_Quickform($formName, $method, $action, $target, $attributes, $trackSubmit) ;
}
 
/**
*
*
* @return void
* @access public
*/
function construitFormulaire($url, $liste_pays)
{
$squelette =& $this->defaultRenderer();
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<li class="liste_inscription">'."\n".'<label>{label}</label>'."\n".'{element}'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</li>'."\n");
$squelette->setGroupElementTemplate ('<span class="groupe_formulaire"><label>{label}</label> {element}</span>', 'groupe_cp_ville') ;
$squelette->setGroupElementTemplate ('<span class="groupe_formulaire"><label>{label}</label> {element}</span>', 'groupe_nom') ;
$squelette->setRequiredNoteTemplate("\n".'<p>'."\n".'<span class="symbole_obligatoire">*</span> {requiredNote}'."\n".'</p>'."\n");
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_AJOUT_MEMBRE.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
$this->addElement ('text', 'email', INS_EMAIL) ;
$this->addRule ('email', INS_EMAIL_REQUIS, 'required','', 'client') ;
$this->addRule ('email', INS_MAIL_INCORRECT, 'email', '', 'client') ;
$this->registerRule('doublonmail', 'callback', 'verif_doublonMail');
$this->addRule('email', INS_MAIL_DOUBLE, 'doublonmail', true);
// A faire, grouper les mots de passe
$this->addElement ('password', 'mot_de_passe', INS_MOT_DE_PASSE, array ('size' => '8')) ;
$this->addElement ('password', 'mot_de_passe_repete', INS_REPETE_MOT_DE_PASSE, array ('size' => '8')) ;
$this->addRule ('mot_de_passe', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
$this->addRule ('mot_de_passe_repete', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
$this->addRule (array ('mot_de_passe', 'mot_de_passe_repete'), INS_MOTS_DE_PASSE_DIFFERENTS, 'compare', '', 'client') ;
$nom_prenom[] = & HTML_QuickForm::createElement ('text', 'nom', INS_NOM, array ('size' => '12')) ;
$nom_prenom[] = & HTML_QuickForm::createElement ('text', 'prenom', INS_PRENOM, array ('size' => '12')) ;
$this->addGroup ($nom_prenom, 'groupe_nom', '', '', false) ;
if (INS_UTILISE_WIKINI) {
$this->addElement ('text', 'nom_wikini', INS_NOM_WIKI, array ('size' => '12')) ;
$this->addRule ('nom_wikini', INS_MAUVAIS_NOM_WIKI, 'regex', '/(!?[A-Z][A-Za-z0-9]*[a-z0-9]+[A-Z][A-Za-z0-9]*)/', 'client') ;
$this->registerRule('doublonwikini', 'callback', 'verif_doublonNomWiki');
$this->addRule('nom_wikini', INS_NOMWIKI_DOUBLE, 'doublonwikini', true);
}
$this->addElement ('text', 'adresse_1', INS_ADRESSE) ;
$this->addElement ('text', 'adresse_2', INS_ADRESSE) ;
if (INS_CHAMPS_TELEPHONE) $this->addElement('text', 'telephone', INS_TELEPHONE, array ('size' => '12')) ;
if (INS_CHAMPS_FAX) $this->addElement('text', 'fax', INS_FAX, array ('size' => '12')) ;
$this->addElement ('text', 'region', INS_REGION) ;
$cp_ville[] = & HTML_QuickForm::createElement ('text', 'cp', INS_CODE_POSTAL, array ('size' => '6')) ;
$cp_ville[] = & HTML_QuickForm::createElement ('text', 'ville', INS_VILLE) ;
$this->addGroup ($cp_ville, 'groupe_cp_ville', '', '', false) ;
$this->addGroupRule ('groupe_cp_ville', INS_CODE_POSTAL_REQUIS, 'required', '', 1, 'client') ;
// L'élément pays est construit à partir du tableau liste_pays
 
$this->addElement ('select', 'pays', INS_PAYS, $liste_pays) ;
if (INS_CHAMPS_STRUCTURE) $this->addElement('text', 'structure', INS_STRUCTURE) ;
$this->addElement ('text', 'site', INS_SITE_INTERNET) ;
// on fait un groupe avec les boutons pour les mettres sur la même ligne
$buttons[] = &HTML_QuickForm::createElement('button', 'annuler', INS_ANNULER, array ("onclick" => "javascript:document.location.href='".$url."'"));
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', INS_VALIDER);
$this->addGroup($buttons, null, null, '&nbsp;');
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
 
$this->setRequiredNote(INS_CHAMPS_REQUIS) ;
} // end of member function construitFormulaire
/** Modifie le formulaire pour l'adapter au cas des structures
*
*
* @return void
* @access public
*/
function formulaireStructure()
{
$this->removeElement('groupe_nom') ;
$this->removeElement('email', false) ;
$mail = & HTML_QuickForm::createElement ('text', 'email', INS_MAIL_STRUCTURE) ;
$this->insertElementBefore ($mail, 'mot_de_passe') ;
$nom_structure = & HTML_QuickForm::createElement ('text', 'nom', INS_NOM_STRUCTURE) ;
$this->insertElementBefore ($nom_structure, 'email') ;
$this->removeElement ('site', false) ;
$site_structure = & HTML_QuickForm::createElement ('text', 'site', INS_SITE_STRUCTURE) ;
$this->insertElementBefore ($site_structure, 'pays') ;
$this->addElement ('hidden', 'est_structure', 1) ;
$sigle_structure = & HTML_QuickForm::createElement ('text', 'sigle_structure', INS_SIGLE_STRUCTURE) ;
$this->insertElementBefore ($sigle_structure, 'nom') ;
$this->addRule ('sigle_structure', INS_SIGLE_REQUIS, 'required', '', 'client') ;
}
/**
*
*
* @return string
* @access public
*/
function toHTML( )
{
$res = HTML_QuickForm::toHTML() ;
return $res ;
} // end of member function toHTML
 
 
 
}
 
class ListeDePays extends PEAR{
 
var $_db ;
/** Constructeur
* Vérifie l'existance de la table gen_pays_traduction
*
* @param DB Un objet PEAR::DB
* @return
*/
function ListeDePays (&$objetDB) {
$this->_db = $objetDB ;
$requete = "show tables" ;
$resultat = $objetDB->query ($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
while ($ligne = $resultat->fetchRow()) {
if ($ligne[0] == 'gen_pays_traduction') {
return ;
}
}
return $this->raiseError ('La table gen_pays_traduction n\'est pas présente dans la base de donnée !') ;
}
/** Renvoie la liste des pays traduite
*
* @param string une chaine de type i18n ou une chaine code iso langue (fr_FR ou fr ou FR)
* @return un tableau contenant en clé, le code iso du pays, en majuscule et en valeur le nom du pays traduit
*/
function getListePays ($i18n) {
if (strlen($i18n) == 2) {
$i18n = strtolower($i18n)."-".strtoupper($i18n) ;
}
$requete = "select gpt_id_pays, gpt_nom_pays_traduit from gen_pays_traduction where gpt_id_i18n='".$i18n."'" ;
$resultat = $this->_db->query ($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
if ($resultat->numRows() == 0) {
return $this->raiseError('Le code fourni ne correspond à aucun pays ou n\'est pas dans la table!') ;
}
$retour = array() ;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$retour[$ligne->gpt_id_pays] = $ligne->gpt_nom_pays_traduit ;
}
return $retour ;
}
}
 
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: inscription.class.php,v 1.4 2005-03-21 16:57:30 florian Exp $
/**
* Inscription
*
* Un module d'inscription, en général ce code est spécifique à
* un site web
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.4 $ $Date: 2005-03-21 16:57:30 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
require_once 'HTML/QuickForm.php' ;
 
class HTML_formulaireInscription extends HTML_Quickform {
 
/**
* Constructeur
*
* @param string formName Le nom du formulaire
* @param string method Méthode post ou get
* @param string action L'action du formulaire.
* @param int target La cible.
* @param Array attributes Les attributs HTML en plus.
* @param bool trackSubmit ??
* @return void
* @access public
*/
function HTML_formulaireInscription( $formName, $method = "post", $action, $target = "_self", $attributes, $trackSubmit = false ) {
HTML_Quickform::HTML_Quickform($formName, $method, $action, $target, $attributes, $trackSubmit) ;
}
 
/**
*
*
* @return void
* @access public
*/
function construitFormulaire($url, $liste_pays)
{
$squelette =& $this->defaultRenderer();
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<li class="liste_inscription">'."\n".'<label>{label}</label>'."\n".'{element}'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</li>'."\n");
$squelette->setGroupElementTemplate('<span class="groupe_formulaire"><label>{label}</label> {element}</span>', 'groupe_cp_ville') ;
$squelette->setGroupElementTemplate('<span class="groupe_formulaire"><label>{label}</label> {element}</span>', 'groupe_nom') ;
$squelette->setRequiredNoteTemplate("\n".'<p>'."\n".'<span class="symbole_obligatoire">*</span> {requiredNote}'."\n".'</p>'."\n");
$this->addElement('html', '<br /><h2>'.INS_AJOUT_MEMBRE.'</h2><br />');
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_COORD_PERSO.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
$this->addElement('text', 'email', INS_EMAIL) ;
$this->addRule('email', INS_EMAIL_REQUIS, 'required','', 'client') ;
$this->addRule('email', INS_MAIL_INCORRECT, 'email', '', 'client') ;
$this->registerRule('doublonmail', 'callback', 'verif_doublonMail');
$this->addRule('email', INS_MAIL_DOUBLE, 'doublonmail', true);
// A faire, grouper les mots de passe
$this->addElement('password', 'mot_de_passe', INS_MOT_DE_PASSE, array ('size' => '8')) ;
$this->addElement('password', 'mot_de_passe_repete', INS_REPETE_MOT_DE_PASSE, array ('size' => '8')) ;
$this->addRule('mot_de_passe', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
$this->addRule('mot_de_passe_repete', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
$this->addRule(array ('mot_de_passe', 'mot_de_passe_repete'), INS_MOTS_DE_PASSE_DIFFERENTS, 'compare', '', 'client') ;
$nom_prenom[] = & HTML_QuickForm::createElement('text', 'nom', INS_NOM, array ('size' => '12')) ;
$nom_prenom[] = & HTML_QuickForm::createElement('text', 'prenom', INS_PRENOM, array ('size' => '12')) ;
$this->addGroup($nom_prenom, 'groupe_nom', '', '', false) ;
if (INS_UTILISE_WIKINI) {
$this->addElement('text', 'nom_wikini', INS_NOM_WIKI, array ('size' => '12')) ;
$this->addRule('nom_wikini', INS_MAUVAIS_NOM_WIKI, 'regex', '/(!?[A-Z][A-Za-z0-9]*[a-z0-9]+[A-Z][A-Za-z0-9]*)/', 'client') ;
$this->registerRule('doublonwikini', 'callback', 'verif_doublonNomWiki');
$this->addRule('nom_wikini', INS_NOMWIKI_DOUBLE, 'doublonwikini', true);
}
$this->addElement('text', 'adresse_1', INS_ADRESSE1) ;
$this->addElement('text', 'adresse_2', INS_ADRESSE2) ;
if (INS_CHAMPS_TELEPHONE) $this->addElement('text', 'telephone', INS_TEL, array ('size' => '12')) ;
if (INS_CHAMPS_FAX) $this->addElement('text', 'fax', INS_FAX, array ('size' => '12')) ;
$this->addElement('text', 'region', INS_REGION) ;
$cp_ville[] = & HTML_QuickForm::createElement('text', 'cp', INS_CODE_POSTAL, array ('size' => '6')) ;
$cp_ville[] = & HTML_QuickForm::createElement('text', 'ville', INS_VILLE) ;
$this->addGroup($cp_ville, 'groupe_cp_ville', '', '', false) ;
$this->addGroupRule('groupe_cp_ville', INS_CODE_POSTAL_REQUIS, 'required', '', 1, 'client') ;
// L'élément pays est construit à partir du tableau liste_pays
 
$this->addElement('select', 'pays', INS_PAYS, $liste_pays) ;
if (INS_CHAMPS_STRUCTURE) $this->addElement('text', 'structure', INS_STRUCTURE) ;
$this->addElement('text', 'site', INS_SITE_INTERNET) ;
// on fait un groupe avec les boutons pour les mettres sur la même ligne
$buttons[] = &HTML_QuickForm::createElement('button', 'annuler', INS_ANNULER, array ("onclick" => "javascript:document.location.href='".$url."'"));
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', INS_VALIDER);
$this->addGroup($buttons, null, null, '&nbsp;');
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
 
$this->setRequiredNote(INS_CHAMPS_REQUIS) ;
} // end of member function construitFormulaire
/** Modifie le formulaire pour l'adapter au cas des structures
*
*
* @return void
* @access public
*/
function formulaireStructure()
{
$this->removeElement('groupe_nom') ;
$this->removeElement('email', false) ;
$mail = & HTML_QuickForm::createElement('text', 'email', INS_MAIL_STRUCTURE) ;
$this->insertElementBefore($mail, 'mot_de_passe') ;
$nom_structure = & HTML_QuickForm::createElement('text', 'nom', INS_NOM_STRUCTURE) ;
$this->insertElementBefore($nom_structure, 'email') ;
$this->removeElement('site', false) ;
$site_structure = & HTML_QuickForm::createElement('text', 'site', INS_SITE_STRUCTURE) ;
$this->insertElementBefore($site_structure, 'pays') ;
$this->addElement('hidden', 'est_structure', 1) ;
$sigle_structure = & HTML_QuickForm::createElement('text', 'sigle_structure', INS_SIGLE_STRUCTURE) ;
$this->insertElementBefore($sigle_structure, 'nom') ;
$this->addRule('sigle_structure', INS_SIGLE_REQUIS, 'required', '', 'client') ;
}
/**
*
*
* @return string
* @access public
*/
function toHTML( )
{
$res = HTML_QuickForm::toHTML() ;
return $res ;
} // end of member function toHTML
 
 
 
}
 
class ListeDePays extends PEAR{
 
var $_db ;
/** Constructeur
* Vérifie l'existance de la table gen_pays_traduction
*
* @param DB Un objet PEAR::DB
* @return
*/
function ListeDePays(&$objetDB) {
$this->_db = $objetDB ;
$requete = "show tables" ;
$resultat = $objetDB->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
while ($ligne = $resultat->fetchRow()) {
if ($ligne[0] == INS_TABLE_PAYS) {
return ;
}
}
return $this->raiseError('La table gen_pays_traduction n\'est pas présente dans la base de donnée !') ;
}
/** Renvoie la liste des pays traduite
*
* @param string une chaine de type i18n ou une chaine code iso langue (fr_FR ou fr ou FR)
* @return un tableau contenant en clé, le code iso du pays, en majuscule et en valeur le nom du pays traduit
*/
function getListePays($i18n) {
if (strlen($i18n) == 2) {
$i18n = strtolower($i18n)."-".strtoupper($i18n) ;
}
$requete = "select ".INS_CHAMPS_ID_PAYS.", ".INS_CHAMPS_LABEL_PAYS." from ".INS_TABLE_PAYS;
$resultat = $this->_db->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
if ($resultat->numRows() == 0) {
return $this->raiseError('Le code fourni ne correspond à aucun pays ou n\'est pas dans la table!') ;
}
$retour = array() ;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$retour[$ligne[INS_CHAMPS_ID_PAYS]] = $ligne[INS_CHAMPS_LABEL_PAYS];
}
return $retour ;
}
}
 
?>
/trunk/client/inscription/langues/ins_langue_fr.inc.php
1,150 → 1,158
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: ins_langue_fr.inc.php,v 1.4 2005-03-02 12:47:03 alex Exp $
/**
* Fichier de traduction en français de l'application inscription
*
* Fichier de traduction en français de l'application inscription
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.4 $ $Date: 2005-03-02 12:47:03 $
// +------------------------------------------------------------------------------------------------------+
*/
 
define ("INS_AJOUT_MEMBRE", "Ajout d'un nouveau membre") ;
define ("INS_NOM", "Nom") ;
define ("INS_PRENOM", "Pr&eacute;nom") ;
define ("INS_PAYS", "Pays :") ;
define ("INS_LANGUES_PARLES", "Langues parl&eacute;s") ;
define ("INS_EMAIL", "Adresse mail") ;
define ("INS_MOT_DE_PASSE", "Mot de passe") ;
define ("INS_REPETE_MOT_DE_PASSE", "R&eacute;p&eacute;ter le mot de passe") ;
define ("INS_ADRESSE", "Adresse") ;
define ("INS_REGION", "R&eacute;gion") ;
define ("INS_CODE_POSTAL", "Code postal") ;
define ("INS_VILLE", "Ville") ;
define ("INS_SITE_INTERNET", "Site web personnel") ;
define ("INS_ADHERENT", "Vous &ecirc;tes adh&eacute;rents de personnes morales (associations, institutions, entreprise... )") ;
define ("INS_ORGANISME", "Organisme") ;
define ("INS_FONCTION", "Fonction") ;
define ("INS_ETES_BOTANISTE", "Vous &ecirc;tes botaniste :") ;
define ("INS_ACTIVITE_PROFESSIONNELLE", " Votre activit&eacute; professionnelle (ou celle que vous aviez)") ;
define ("INS_MEMBRE_ASSO", "Vous &ecirc;tes membre d'une association botanique, naturaliste, ou autre... :") ;
define ("INS_SPECIALISTE", " Vous &ecirc;tes sp&eacute;cialiste d'une discipline ou d'un groupe de plantes particulier, lequel :") ;
define ("INS_SPE_ZONE", "Vous &egrave;tes sp&eacute;cialiste d'une zone g&eacute;ographique, laquelle :") ;
define ("INS_ANNULER", "Annuler") ;
define ("INS_RETABLIR", "Rétablir") ;
define ("INS_VALIDER", "Valider") ;
define ("INS_MOTS_DE_PASSE_DIFFERENTS", "Les mots de passe sont diff&eacute;rents !") ;
define ("INS_EMAIL_REQUIS", "Vous devez saisir un email.") ;
define ("INS_MOT_DE_PASSE_REQUIS", "Vous devez saisir un mot de passe.") ;
define ("INS_MAIL_INCORRECT", "L'email doit avoir une forme correcte, utilisateur@domaine.ext") ;
define ("INS_MAIL_DOUBLE", "Cet email est d&eacute;j&agrave utilis&eacute; par quelqu'un d'autre") ;
define ("INS_CODE_POSTAL_REQUIS", "Vous devez indiquer un code postal") ;
define ("INS_NOTE_REQUIS", "Indique les champs requis") ;
define ("INS_MODIFIER_INSCRIPTION", "Modifier votre inscription") ;
define ("INS_SUPPRIMER_INSCRIPTION", "Supprimer votre inscription") ;
define ("INS_MESSAGE_BIENVENU", "Vous &ecirc;tes inscrit au r&eacute;seau") ;
define ("INS_FICHE_PERSONNELLE", "Fiche personnelle") ;
define ("INS_DECONNEXION", 'D&eacute;connexion') ;
define ("INS_INSCRIPTION", 'Inscription individuelle') ;
define ("INS_TEXTE_PERDU", "Si vous avez perdu votre mot de passe, indiquer ".
"votre adresse email dans le champs login ci-dessus et cliquez sur \"Valider\"") ;
define ("INS_NOM_WIKI", "Nom wiki") ;
define ("INS_MAUVAIS_NOM_WIKI", "Le nom wiki n'est pas valide (ex : NomPrenom)") ;
define ("INS_DEJA_INSCRIT", "D&eacute;j&agrave;  inscrit, identifiez-vous pour acc&eacute;der &agrave;  votre fiche personnelle :") ;
define ("INS_ERREUR_LOGIN", "Utilisateur inconnu ou mot de passe erronn&eacute;") ;
define ("INS_SI_PASSE_PERDU", "Si vous avez perdu votre mot de passe") ;
define ("INS_INDIQUE_ADRESSE", "Indiquer votre adresse email dans le champs ci-dessus.<br>\n".
"Un nouveau mot de passe vous sera envoyé.") ;
define ("INS_ENVOIE_PASSE", "Envoi du mot de passe par mail") ;
define ("INS_LAIUS_INSCRIPTION", "L'inscription au r&eacute;seau est libre et gratuite !") ;
define ("INS_LAIUS_INSCRIPTION_2", "Elle vous permet de :<br />
- consulter l'annuaire des personnes inscrites au R&eacute;seau et pouvoir ainsi &eacute;changer des informations;<br />
- acc&eacute;der &agrave;  certaines informations diffus&eacute;es sur le site ;<br />
- vous inscrire &agrave;  des projets ;<br />
- recevoir un bulletin &eacute;lectronique d'informations.") ;
define ("INS_CHAMPS_REQUIS", "Indique les champs requis") ;
define ("INS_INSCRIPTION_STRUCTURE", "Inscription structure") ;
define ("INS_MAIL_STRUCTURE", "E-mail de la structure") ;
define ("INS_NOM_STRUCTURE", "Nom de la structure") ;
define ("INS_SITE_STRUCTURE", "Site de la structure") ;
define ("INS_SIGLE_STRUCTURE", "Sigle de la structure") ;
define ("INS_SIGLE_REQUIS", "Le sigle de la structure est requis") ;
define ("INS_MESSAGE_INSCRIPTION", "Nous avons bien reçu votre demande d'inscription. Relevez votre messagerie et cliquer sur le lien pour valider votre inscription.") ;
define ("INS_MESSAGE_EXPIRATION", "Votre demande d'inscription a déjà été validé ou a expiré") ;
 
//============= L'envoie du mot de passe perdu par mail =============================
define ("INS_NOUVEAU_MOT_DE_PASSE", "Votre nouveau mot de passe") ;
define ("INS_NOUVEAU_MOT_DE_PASSE_2", "Votre nouveau mot de passe : ") ;
define ("INS_NOUVEAU_MOT_DE_PASSE_LAIUS", "\n\nCe mot de passe vous permet de modifier les informations\n".
"vous concernant dans le site\n\n") ;
define ("INS_MOT_DE_PASSE_ENVOYE_1", "Votre nouveau mot de passe a &eacute;t&eacute; ".
"envoy&eacute; &agrave; l'adresse") ;
define ("INS_MOT_DE_PASSE_ENVOYE_2", "Relevez votre messagerie, notez votre nouveau mot de passe et identifiez vous à ".
"nouveau en allant à l'inscription. N'h&eacute;sitez pas à changer ce mot de passe ".
"pour en mettre un plus simple, tr&egrave;s facile &agrave; retenir." );
//============= L'envoie d'un mail de confirmation ===================================
// Ne pas utiliser d'entités HTML
define ("INS_MAIL_INSCRIPTION_1", "Votre inscription a bien été prise en compte.\n".
"Voici les informations que nous avons enregistré :\n") ;
define ("INS_MAIL_INSCRIPTION_2", "\nVous pouvez modifier votre inscription sur \nhttp://www.vecam.org/i-j/\n".
"rubrique Inscription.\n\n".
"L'équipe I-Jumelage.") ;
 
// Envoir d'un mail à la coordination
define ("INS_MAIL_COORD_SUJET", "Un nouvel inscrit") ;
define ("INS_MAIL_COORD_CORPS", "Un nouvel inscrit") ;
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.3 2005/02/02 15:37:54 jpm
* mise à jour
*
* Revision 1.2 2004/09/01 16:38:44 alex
* modification du nom du package
*
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.4 2004/07/06 15:31:43 alex
* en cours
*
* Revision 1.3 2004/06/25 14:25:40 alex
* ajout de labels
*
* Revision 1.2 2004/06/24 07:43:55 alex
* traduction
*
* Revision 1.1 2004/06/18 09:21:15 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: ins_langue_fr.inc.php,v 1.5 2005-03-21 16:57:30 florian Exp $
/**
* Fichier de traduction en français de l'application inscription
*
* Fichier de traduction en français de l'application inscription
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.5 $ $Date: 2005-03-21 16:57:30 $
// +------------------------------------------------------------------------------------------------------+
*/
define ('INS_TITRE_INSCRIPTION', 'S\'inscrire au réseau');
define ("INS_AJOUT_MEMBRE", "Ajout d'un nouveau membre") ;
define ("INS_COORD_PERSO", "Coordonnées personnelles") ;
define ("INS_NOM", "Nom") ;
define ("INS_PRENOM", "Pr&eacute;nom") ;
define ("INS_PAYS", "Pays :") ;
define ("INS_LANGUES_PARLES", "Langues parl&eacute;s") ;
define ("INS_EMAIL", "Adresse mail") ;
define ("INS_MOT_DE_PASSE", "Mot de passe") ;
define ("INS_REPETE_MOT_DE_PASSE", "R&eacute;p&eacute;ter le mot de passe") ;
define ("INS_ADRESSE1", "Adresse (ligne 1)") ;
define ("INS_ADRESSE2", "Adresse (ligne 2)") ;
define ("INS_TEL", "T&eacute;l&eacute;phone") ;
define ("INS_FAX", "Fax") ;
define ("INS_STRUCTURE", "Structure") ;
define ("INS_REGION", "R&eacute;gion") ;
define ("INS_CODE_POSTAL", "Code postal") ;
define ("INS_VILLE", "Ville") ;
define ("INS_SITE_INTERNET", "Site web personnel") ;
define ("INS_ADHERENT", "Vous &ecirc;tes adh&eacute;rents de personnes morales (associations, institutions, entreprise... )") ;
define ("INS_ORGANISME", "Organisme") ;
define ("INS_FONCTION", "Fonction") ;
define ("INS_ETES_BOTANISTE", "Vous &ecirc;tes botaniste :") ;
define ("INS_ACTIVITE_PROFESSIONNELLE", " Votre activit&eacute; professionnelle (ou celle que vous aviez)") ;
define ("INS_MEMBRE_ASSO", "Vous &ecirc;tes membre d'une association botanique, naturaliste, ou autre... :") ;
define ("INS_SPECIALISTE", " Vous &ecirc;tes sp&eacute;cialiste d'une discipline ou d'un groupe de plantes particulier, lequel :") ;
define ("INS_SPE_ZONE", "Vous &egrave;tes sp&eacute;cialiste d'une zone g&eacute;ographique, laquelle :") ;
define ("INS_ANNULER", "Annuler") ;
define ("INS_RETABLIR", "Rétablir") ;
define ("INS_VALIDER", "Valider") ;
define ("INS_MOTS_DE_PASSE_DIFFERENTS", "Les mots de passe sont diff&eacute;rents !") ;
define ("INS_EMAIL_REQUIS", "Vous devez saisir un email.") ;
define ("INS_MOT_DE_PASSE_REQUIS", "Vous devez saisir un mot de passe.") ;
define ("INS_MAIL_INCORRECT", "L'email doit avoir une forme correcte, utilisateur@domaine.ext") ;
define ("INS_MAIL_DOUBLE", "Cet email est d&eacute;j&agrave utilis&eacute; par quelqu'un d'autre") ;
define ("INS_CODE_POSTAL_REQUIS", "Vous devez indiquer un code postal") ;
define ("INS_NOTE_REQUIS", "Indique les champs requis") ;
define ("INS_MODIFIER_INSCRIPTION", "Modifier votre inscription") ;
define ("INS_SUPPRIMER_INSCRIPTION", "Supprimer votre inscription") ;
define ("INS_MESSAGE_BIENVENU", "Vous &ecirc;tes inscrit au r&eacute;seau") ;
define ("INS_FICHE_PERSONNELLE", "Fiche personnelle") ;
define ("INS_DECONNEXION", 'D&eacute;connexion') ;
define ("INS_INSCRIPTION", 'Inscription individuelle') ;
define ("INS_TEXTE_PERDU", "Si vous avez perdu votre mot de passe, indiquer ".
"votre adresse email dans le champs login ci-dessus et cliquez sur \"Valider\"") ;
define ("INS_NOM_WIKI", "Nom wiki") ;
define ("INS_MAUVAIS_NOM_WIKI", "Le nom wiki n'est pas valide (ex : NomPrenom)") ;
define ("INS_DEJA_INSCRIT", "D&eacute;j&agrave;  inscrit, identifiez-vous pour acc&eacute;der &agrave;  votre fiche personnelle :") ;
define ("INS_ERREUR_LOGIN", "Utilisateur inconnu ou mot de passe erronn&eacute;") ;
define ("INS_SI_PASSE_PERDU", "Si vous avez perdu votre mot de passe") ;
define ("INS_INDIQUE_ADRESSE", "Indiquer votre adresse email dans le champs ci-dessus.<br>\n".
"Un nouveau mot de passe vous sera envoyé.") ;
define ("INS_ENVOIE_PASSE", "Envoi du mot de passe par mail") ;
define ("INS_LAIUS_INSCRIPTION", "L'inscription au r&eacute;seau est libre et gratuite !") ;
define ("INS_LAIUS_INSCRIPTION_2", "Pas encore inscrit? Inscrivez-vous!!<br/> L'inscription vous permet gratuitement de :<br /><ul>
<li>consulter l'annuaire des personnes inscrites au R&eacute;seau et pouvoir ainsi &eacute;changer des informations</li>
<li>acc&eacute;der &agrave;  certaines informations diffus&eacute;es sur le site</li>
<li>vous inscrire &agrave;  des projets</li>
<li>recevoir un bulletin &eacute;lectronique d'informations</li></ul>") ;
define ("INS_CHAMPS_REQUIS", "Indique les champs requis") ;
define ("INS_INSCRIPTION_STRUCTURE", "Inscription structure") ;
define ("INS_MAIL_STRUCTURE", "E-mail de la structure") ;
define ("INS_NOM_STRUCTURE", "Nom de la structure") ;
define ("INS_SITE_STRUCTURE", "Site de la structure") ;
define ("INS_SIGLE_STRUCTURE", "Sigle de la structure") ;
define ("INS_SIGLE_REQUIS", "Le sigle de la structure est requis") ;
define ("INS_MESSAGE_INSCRIPTION", "Nous avons bien reçu votre demande d'inscription. Relevez votre messagerie et cliquer sur le lien pour valider votre inscription.") ;
define ("INS_MESSAGE_EXPIRATION", "Votre demande d'inscription a déjà été validé ou a expiré") ;
 
//============= L'envoie du mot de passe perdu par mail =============================
define ("INS_NOUVEAU_MOT_DE_PASSE", "Votre nouveau mot de passe") ;
define ("INS_NOUVEAU_MOT_DE_PASSE_2", "Votre nouveau mot de passe : ") ;
define ("INS_NOUVEAU_MOT_DE_PASSE_LAIUS", "\n\nCe mot de passe vous permet de modifier les informations\n".
"vous concernant dans le site\n\n") ;
define ("INS_MOT_DE_PASSE_ENVOYE_1", "Votre nouveau mot de passe a &eacute;t&eacute; ".
"envoy&eacute; &agrave; l'adresse") ;
define ("INS_MOT_DE_PASSE_ENVOYE_2", "Relevez votre messagerie, notez votre nouveau mot de passe et identifiez vous à ".
"nouveau en allant à l'inscription. N'h&eacute;sitez pas à changer ce mot de passe ".
"pour en mettre un plus simple, tr&egrave;s facile &agrave; retenir." );
//============= L'envoie d'un mail de confirmation ===================================
// Ne pas utiliser d'entités HTML
define ("INS_MAIL_INSCRIPTION_1", "Votre inscription a bien été prise en compte.\n".
"Voici les informations que nous avons enregistré :\n") ;
define ("INS_MAIL_INSCRIPTION_2", "\nVous pouvez modifier votre inscription sur \nhttp://www.vecam.org/i-j/\n".
"rubrique Inscription.\n\n".
"L'équipe I-Jumelage.") ;
 
// Envoir d'un mail à la coordination
define ("INS_MAIL_COORD_SUJET", "Un nouvel inscrit") ;
define ("INS_MAIL_COORD_CORPS", "Un nouvel inscrit") ;
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.4 2005/03/02 12:47:03 alex
* modifications du label mot de passe
*
* Revision 1.3 2005/02/02 15:37:54 jpm
* mise à jour
*
* Revision 1.2 2004/09/01 16:38:44 alex
* modification du nom du package
*
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.4 2004/07/06 15:31:43 alex
* en cours
*
* Revision 1.3 2004/06/25 14:25:40 alex
* ajout de labels
*
* Revision 1.2 2004/06/24 07:43:55 alex
* traduction
*
* Revision 1.1 2004/06/18 09:21:15 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/inscription/configuration/ins_config.inc.php
1,150 → 1,168
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: ins_config.inc.php,v 1.2 2004-12-17 17:42:43 alex Exp $
/**
* Fichier de configuration de l'inscription
*
* A éditer de façon spécifique à chaque déploiement
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.2 $ $Date: 2004-12-17 17:42:43 $
// +------------------------------------------------------------------------------------------------------+
*/
 
 
/**
//=========================DEFINITION DE VARIABLES =================================
* Définition des variables globales
//==================================================================================
*/
 
$GLOBALS['AUTH'] = &$_GEN_commun['pear_auth'] ;
$GLOBALS['ins_db'] = &$_GEN_commun['pear_db'] ;
 
/**
//==================================== LES URLS ==================================
* Constantes liées à l'utilisation des url
//==================================================================================
*/
$GLOBALS['ins_url'] = &$_GEN_commun['url']; //l'url de base de l'application, un objet Net_URL
// Créer cet objet par $GLOBALS['ins_url'] = new Net_URL('http://....') ;
 
define ("INS_LANGUE_DEFAUT", "fr") ;
 
/**
//=========================DEFINITION DE VARIABLES =================================
* Définition des variables globales
//==================================================================================
*/
 
define ("INS_CHEMIN_FICHIER", "client/inscription/") ;
 
/**
//==================================== CONSTANTES ==================================
* Constantes des noms de tables et de champs dans l'annuaire
//==================================================================================
*/
 
define ("INS_ANNUAIRE", "annuaire") ;
define ("INS_CHAMPS_ID", "a_id") ; // Nom du champs nom
define ("INS_CHAMPS_MAIL", "a_mail") ; // Nom du champs mail
define ("INS_CHAMPS_NOM", "a_nom") ;
define ("INS_CHAMPS_PRENOM", "a_prenom") ;
define ("INS_CHAMPS_PASSE", "a_mot_de_passe") ;
define ("INS_CHAMPS_PAYS", "a_pays") ;
define ("INS_CHAMPS_CODE_POSTAL", "a_code_postal") ;
define ("INS_CHAMPS_DEPARTEMENT", "a_numero_dpt") ;
define ("INS_CHAMPS_ADRESSE_1", "a_adresse1") ;
define ("INS_CHAMPS_ADRESSE_2", "a_adresse2") ;
define ("INS_CHAMPS_VILLE", "a_ville") ;
define ("INS_CHAMPS_DATE_INSCRIPTION", "a_date_inscription") ;
define ("INS_CHAMPS_EST_STRUCTURE", "a_est_structure") ;
define ("INS_CHAMPS_SIGLE_STRUCTURE", "a_sigle_structure") ;
 
define ("INS_CHAMPS_TELEPHONE", "a_tel") ; // Laisser vide si non voulu
define ("INS_CHAMPS_FAX", "a_fax") ; // Laisser vide si non voulu
define ("INS_CHAMPS_STRUCTRE", "a_structure") ; // Laisser vide si non voulu
 
// Les champs suivant concernent la table contenant les pays et les codes iso
//
define ("PROJET_PRENOM", "U_SURNAME") ; // Nom du champs prénom
define ("PROJET_DPT", "gen_FRENCH_DPT") ; // Nom de la table département
define ("PROJET_PAYS", "gen_COUNTRY") ; // Nom de la table pays
define ("PROJET_CHAMPS_ID_PAYS", "GC_ID") ;
define ("PROJET_CHAMPS_LABEL_PAYS", "GC_NAME") ;
 
/**
//==================================== PARAMETRAGE =================================
* Pour régler certaines fonctionnalité de l'application
//==================================================================================
*/
 
define ("INS_FORMULAIRE_STRUCTURE", 0) ; // Mettre à un si on propose un formulaire pour les structures
 
define ("INS_MAIL_ADMIN_APRES_INSCRIPTION", "alexandre@tela-botanica.org") ;
define ("INS_MAIL_ADMIN_APRES_INSCRIPTION_SUJET", "[I-Jumelage]Inscription") ;
 
/**
//==================================== PARAMETRAGE =================================
* Réglage des applications externes SPIP, Wikini
//==================================================================================
*/
define ("INS_UTILISE_SPIP", 1) ; // Mettre à 0, s'il n'y a pas d'incription à SPIP
 
if (INS_UTILISE_SPIP) {
define ("INS_CHEMIN_SPIP", "") ;
}
 
define ("INS_UTILISE_WIKINI", 1) ; // Mettre à 0, s'il n'y a pas d'inscription à Wikini
if (INS_UTILISE_WIKINI) {
define ("INS_CHAMPS_NOM_WIKINI", "a_nom_wikini") ; // Le nom du champs contenant le nom wikini dans l'annuaire
}
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/12/15 13:32:38 alex
* version initiale
*
* Revision 1.2 2004/09/01 16:38:17 alex
* modification de la configuration
*
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.4 2004/07/06 15:31:33 alex
* en cours
*
* Revision 1.3 2004/06/30 10:00:53 alex
* ajout de champs pour gérer les pays
*
* Revision 1.2 2004/06/18 09:20:54 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: ins_config.inc.php,v 1.3 2005-03-21 16:57:30 florian Exp $
/**
* Fichier de configuration de l'inscription
*
* A éditer de façon spécifique à chaque déploiement
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.3 $ $Date: 2005-03-21 16:57:30 $
// +------------------------------------------------------------------------------------------------------+
*/
 
 
/**
//=========================DEFINITION DE VARIABLES =================================
* Définition des variables globales
//==================================================================================
*/
 
$GLOBALS['AUTH'] = &$_GEN_commun['pear_auth'] ;
 
//================================ BASE DE DONNEES =================================
// Constantes et variables globales d'accès à la base de donnée
//==================================================================================
define ('INS_PROTOCOLE', 'mysql') ;
define ('INS_UTILISATEUR', 'testP') ;
define ('INS_MOT_DE_PASSE_DB', 'ecnat') ;
define ('INS_HOTE', 'localhost') ;
define ('INS_BASE', 'testP') ;
define ('INS_TYPE_ENCODAGE','MD5');
define ('INS_NOM_SESSION','Educ-Envir.org'); //Nom de la session PHP
define ('INS_DUREE_SESSION',3600*12); //Durée de la session PHP
// Formation du dsn
$dsn = INS_PROTOCOLE.'://'.INS_UTILISATEUR.':'.INS_MOT_DE_PASSE_DB.'@'.INS_HOTE.'/'.INS_BASE ;
// Connection à la base de donnée
$GLOBALS['ins_db'] = & DB::connect($dsn) ;
//$GLOBALS['ins_db'] = &$_GEN_commun['pear_db'] ;
 
/**
//==================================== LES URLS ==================================
* Constantes liées à l'utilisation des url
//==================================================================================
*/
$GLOBALS['ins_url'] = &$_GEN_commun['url']; //l'url de base de l'application, un objet Net_URL
// Créer cet objet par $GLOBALS['ins_url'] = new Net_URL('http://....') ;
 
define ("INS_LANGUE_DEFAUT", "fr") ;
 
/**
//=========================DEFINITION DE VARIABLES =================================
* Définition des variables globales
//==================================================================================
*/
 
define ("INS_CHEMIN_FICHIER", "client/inscription/") ;
 
/**
//==================================== CONSTANTES ==================================
* Constantes des noms de tables et de champs dans l'annuaire
//==================================================================================
*/
 
define ("INS_ANNUAIRE", "annuaire") ;
define ("INS_CHAMPS_ID", "ga_id_utilisateur") ; // Nom du champs nom
define ("INS_CHAMPS_MAIL", "ga_mail") ; // Nom du champs mail
define ("INS_CHAMPS_NOM", "ga_nom") ;
define ("INS_CHAMPS_PRENOM", "ga_prenom") ;
define ("INS_CHAMPS_PASSE", "ga_motpasse") ;
define ("INS_CHAMPS_PAYS", "ga_ce_pays") ;
define ("INS_CHAMPS_CODE_POSTAL", "ga_code_postal") ;
define ("INS_CHAMPS_DEPARTEMENT", "ga_ce_departement") ;
define ("INS_CHAMPS_ADRESSE_1", "ga_adresse1") ;
define ("INS_CHAMPS_ADRESSE_2", "ga_adresse2") ;
define ("INS_CHAMPS_VILLE", "ga_ville") ;
define ("INS_CHAMPS_DATE_INSCRIPTION", "ga_date_inscription") ;
define ("INS_CHAMPS_EST_STRUCTURE", "ga_est_structure") ;
define ("INS_CHAMPS_SIGLE_STRUCTURE", "ga_sigle_structure") ;
 
define ("INS_CHAMPS_TELEPHONE", "ga_telephone") ; // Laisser vide si non voulu
define ("INS_CHAMPS_FAX", "ga_fax") ; // Laisser vide si non voulu
define ("INS_CHAMPS_STRUCTURE", "ga_ce_structure") ; // Laisser vide si non voulu
 
// Les champs suivant concernent la table contenant les pays et les codes iso
//
define ("INS_TABLE_DPT", "gen_departement") ; // Nom de la table département
define ("INS_TABLE_PAYS", "gen_pays") ; // Nom de la table pays
define ("INS_CHAMPS_ID_PAYS", "gp_id_pays") ;
define ("INS_CHAMPS_LABEL_PAYS", "gp_nom") ;
 
/**
//==================================== PARAMETRAGE =================================
* Pour régler certaines fonctionnalité de l'application
//==================================================================================
*/
 
define ("INS_FORMULAIRE_STRUCTURE", 1) ; // Mettre à 1 si on propose un formulaire pour les structures
 
define ("INS_MAIL_ADMIN_APRES_INSCRIPTION", "florian@ecole-et-nature.org") ;
define ("INS_MAIL_ADMIN_APRES_INSCRIPTION_SUJET", "[Ecole et Nature] Inscription") ;
 
/**
//==================================== PARAMETRAGE =================================
* Réglage des applications externes SPIP, Wikini
//==================================================================================
*/
define ("INS_UTILISE_SPIP", 0) ; // Mettre à 0, s'il n'y a pas d'incription à SPIP
 
if (INS_UTILISE_SPIP) {
define ("INS_CHEMIN_SPIP", "") ;
}
 
define ("INS_UTILISE_WIKINI", 0) ; // Mettre à 0, s'il n'y a pas d'inscription à Wikini
if (INS_UTILISE_WIKINI) {
define ("INS_CHAMPS_NOM_WIKINI", "ga_nom_wikini") ; // Le nom du champs contenant le nom wikini dans l'annuaire
}
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.2 2004/12/17 17:42:43 alex
* ajout du numéro de tel, du fax et de la structure
*
* Revision 1.1 2004/12/15 13:32:38 alex
* version initiale
*
* Revision 1.2 2004/09/01 16:38:17 alex
* modification de la configuration
*
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.4 2004/07/06 15:31:33 alex
* en cours
*
* Revision 1.3 2004/06/30 10:00:53 alex
* ajout de champs pour gérer les pays
*
* Revision 1.2 2004/06/18 09:20:54 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/inscription/inscription.php
1,187 → 1,193
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: inscription.php,v 1.3 2005-03-08 17:44:02 alex Exp $
/**
* Inscription
*
* Un module d'inscription, en général ce code est spécifique à
* un site web
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.3 $ $Date: 2005-03-08 17:44:02 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
include_once "client/inscription/configuration/ins_config.inc.php";
if (!isset($GLOBALS['lang'])) {
$GLOBALS['lang'] = INS_LANGUE_DEFAUT ;
}
include_once INS_CHEMIN_FICHIER."langues/ins_langue_".$GLOBALS['lang'].".inc.php" ;
include_once INS_CHEMIN_FICHIER."bibliotheque/inscription.fonct.php" ;
include_once INS_CHEMIN_FICHIER."classes/inscription.class.php" ;
 
 
 
// Ajout d'une feuille de style externe
GEN_stockerStyleExterne ('inscription', INS_CHEMIN_FICHIER.'inscription.css') ;
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
 
function afficherContenuCorps() {
 
$url = preg_replace ("/&amp;/", "&", INS_URL_DOCUMENT) ;
if (!isset ($GLOBALS['action'])) $GLOBALS['action'] = "" ;
$res = '' ;
$est_loggue = true ;
 
if ($GLOBALS['logout'] == 1) {
$GLOBALS['AUTH']->logout() ;
$GLOBALS['username'] = "" ;
$GLOBALS['password'] = "" ;
return AUTH_formulaire_login() ;
}
 
// L'utilisateur a-t-il cliqué sur Supprimer inscription
if (isset ($GLOBALS['supprimer'])) {
$id_utilisateur = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
//desinscription_interwikini_users ($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_LOGIN)) ;
$resultat = $GLOBALS['AUTH']->removeUser($mail_utilisateur) ;
 
if (PEAR::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
// Suppression dans SPIP
if (INS_UTILISE_SPIP) {
desinscription_spip($id_utilisateur) ;
}
$GLOBALS['AUTH']->logout() ;
return AUTH_formulaire_login() ;
}
 
if ($GLOBALS['action'] == 'sendpasswd') {
return envoie_passe() ;
}
 
// L'utilisateur a cliqué sur Inscription ou Inscription structure ou
if ($GLOBALS['action'] != '' || isset($GLOBALS['modifier'])) {
$action = preg_replace ("/&amp;/", "&", $GLOBALS['ins_url']->getURL()) ;
$formulaire = new HTML_formulaireInscription('formulaire_inscription', 'post', $action) ;
// Construction de la liste des pays
$liste_pays = new ListeDePays($GLOBALS['ins_db']) ;
$formulaire->construitFormulaire($action, $liste_pays->getListePays($GLOBALS['lang'])) ;
if (isset($GLOBALS['structure'])) {
$formulaire->formulaireStructure() ;
}
if (isset($GLOBALS['modifier'])) {
$formulaire->addElement ('hidden', 'action', 'modifier_v') ;
$formulaire->setDefaults(formulaire_defaults()) ;
}
if ($GLOBALS['action'] == 'inscription') {
$formulaire->addElement ('hidden', 'action', 'inscription_v') ;
}
if ($GLOBALS['action'] == 'inscription_v') {
if ($formulaire->validate()) {
$formulaire->process('demande_inscription', false) ;
return message_inscription() ;
}
}
if ($GLOBALS['action'] == 'modifier_v') {
if ($formulaire->validate()) {
$formulaire->process('mise_a_jour', false) ;
}
return info ($GLOBALS['AUTH']->getAuthData (INS_CHAMPS_ID)).bouton (str_replace ("&amp;", "&", $GLOBALS['ins_url']->getURL())) ;
}
return $formulaire->toHTML() ;
}
// L'inscription dans la base si l'utilisateur clique sur le lien du mail
if (isset($GLOBALS['id']) && $GLOBALS['id'] == session_id()) {
if (isset ($_SESSION['donnees_inscription'])) {
insertion ($_SESSION['donnees_inscription']) ;
$GLOBALS['AUTH']->username = $_SESSION['donnees_inscription']['email'] ;
$GLOBALS['AUTH']->password = $_SESSION['donnees_inscription']['mot_de_passe'] ;
// On loggue l'utilisateur
$GLOBALS['AUTH']->login() ;
unset ($_SESSION['donnees_inscription']) ;
envoie_mail() ;
} else {
return INS_MESSAGE_EXPIRATION ;
}
}
 
if (!$GLOBALS['AUTH']->getAuth() && $GLOBALS['action'] != "inscription" && $GLOBALS['action'] != 'inscription_v') {
if (isset($_POST['username']) && $GLOBALS['username'] != '') {
$res .= message_erreur() ;
} else {
$res .= AUTH_formulaire_login() ;
}
}
if ($GLOBALS['AUTH']->getAuth () && !isset($GLOBALS['modifier'])) {
return info ()
.bouton (str_replace ("&amp;", "&", $GLOBALS['ins_url']->getURL()))
.deconnexion($GLOBALS['ins_url']->getURL()) ;
}
return $res ;
}
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.2 2005/03/02 12:44:41 alex
* Correction du bug message d'erreur alors qu'on tente de s'inscrire simplement
*
* Revision 1.1 2004/12/15 13:32:15 alex
* version initiale
*
* Revision 1.2 2004/09/01 16:36:37 alex
* changement du chemin pour les include
*
* Revision 1.1 2004/07/06 15:42:28 alex
* en cours
*
* Revision 1.5 2004/07/06 15:28:56 alex
* en cours
*
* Revision 1.4 2004/06/25 14:26:03 alex
* modification de la suppression
*
* Revision 1.3 2004/06/23 12:41:44 alex
* amélioration de la gestion de la perte de mot de passe
*
* Revision 1.2 2004/06/18 09:18:23 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: inscription.php,v 1.4 2005-03-21 16:57:30 florian Exp $
/**
* Inscription
*
* Un module d'inscription, en général ce code est spécifique à
* un site web
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.4 $ $Date: 2005-03-21 16:57:30 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
include_once "client/inscription/configuration/ins_config.inc.php";
if (!isset($GLOBALS['lang'])) {
$GLOBALS['lang'] = INS_LANGUE_DEFAUT ;
}
include_once INS_CHEMIN_FICHIER."langues/ins_langue_".$GLOBALS['lang'].".inc.php" ;
include_once INS_CHEMIN_FICHIER."bibliotheque/inscription.fonct.php" ;
include_once INS_CHEMIN_FICHIER."classes/inscription.class.php" ;
 
if (!isset($GLOBALS['logout'])) {$GLOBALS['logout']=0;}
 
// Ajout d'une feuille de style externe
GEN_stockerStyleExterne('inscription', INS_CHEMIN_FICHIER.'inscription.css') ;
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
 
function afficherContenuCorps() {
 
$url = preg_replace ('/&amp;/', '&', $GLOBALS['ins_url']->getURL()) ;
if (!isset ($GLOBALS['action'])) $GLOBALS['action'] = '';
$res = '<h1>'.INS_TITRE_INSCRIPTION.'</h1>'."\n" ;
$est_loggue = true ;
 
if ($GLOBALS['logout'] == 1) {
$GLOBALS['AUTH']->logout() ;
$GLOBALS['username'] = '';
$GLOBALS['password'] = '';
return $res.AUTH_formulaire_login() ;
}
 
// L'utilisateur a-t-il cliqué sur Supprimer inscription
if (isset ($GLOBALS['supprimer'])) {
$id_utilisateur = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
//desinscription_interwikini_users ($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_LOGIN)) ;
$resultat = $GLOBALS['AUTH']->removeUser($id_utilisateur) ;
 
if (PEAR::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
// Suppression dans SPIP
if (INS_UTILISE_SPIP) {
desinscription_spip($id_utilisateur) ;
}
// Suppression dans Wikini
if (INS_UTILISE_WIKINI) {
$nom_wiki = $GLOBALS['AUTH']->getAuthData(INS_NOM_WIKI) ;
desinscription_interwikini_users($nom_wiki) ;
}
$GLOBALS['AUTH']->logout() ;
return $res.AUTH_formulaire_login() ;
}
 
if ($GLOBALS['action'] == 'sendpasswd') {
return $res.envoie_passe() ;
}
 
// L'utilisateur a cliqué sur Inscription ou Inscription structure ou
if ($GLOBALS['action'] != '' || isset($GLOBALS['modifier'])) {
$action = preg_replace ("/&amp;/", "&", $GLOBALS['ins_url']->getURL()) ;
$formulaire = new HTML_formulaireInscription('formulaire_inscription', 'post', $action, '_self', '', 0) ;
// Construction de la liste des pays
$liste_pays = new ListeDePays($GLOBALS['ins_db']) ;
$formulaire->construitFormulaire($action, $liste_pays->getListePays($GLOBALS['lang'])) ;
if (isset($GLOBALS['form_structure'])) {
$formulaire->formulaireStructure() ;
}
if (isset($GLOBALS['modifier'])) {
$formulaire->addElement ('hidden', 'action', 'modifier_v') ;
$formulaire->setDefaults(formulaire_defaults()) ;
}
if ($GLOBALS['action'] == 'inscription') {
$formulaire->addElement ('hidden', 'action', 'inscription_v') ;
}
if ($GLOBALS['action'] == 'inscription_v') {
if ($formulaire->validate()) {
$formulaire->process('demande_inscription', false) ;
return $res.message_inscription() ;
}
}
if ($GLOBALS['action'] == 'modifier_v') {
if ($formulaire->validate()) {
$formulaire->process('mise_a_jour', false) ;
}
return $res.info($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)).bouton(str_replace ("&amp;", "&", $GLOBALS['ins_url']->getURL())) ;
}
return $res.$formulaire->toHTML() ;
}
// L'inscription dans la base si l'utilisateur clique sur le lien du mail
if (isset($GLOBALS['id']) && $GLOBALS['id'] == session_id()) {
if (isset ($_SESSION['donnees_inscription'])) {
insertion($_SESSION['donnees_inscription']) ;
$GLOBALS['AUTH']->username = $_SESSION['donnees_inscription']['email'] ;
$GLOBALS['AUTH']->password = $_SESSION['donnees_inscription']['mot_de_passe'] ;
// On loggue l'utilisateur
$GLOBALS['AUTH']->login() ;
unset ($_SESSION['donnees_inscription']) ;
envoie_mail() ;
} else {
return $res.INS_MESSAGE_EXPIRATION ;
}
}
 
if (!$GLOBALS['AUTH']->getAuth() && $GLOBALS['action'] != "inscription" && $GLOBALS['action'] != 'inscription_v') {
if (isset($_POST['username']) && $_POST['username'] != '') {
$res .= message_erreur() ;
} else {
$res .= AUTH_formulaire_login() ;
}
}
if ($GLOBALS['AUTH']->getAuth() && !isset($GLOBALS['modifier'])) {
return $res.info().bouton(str_replace ("&amp;", "&", $GLOBALS['ins_url']->getURL())).deconnexion($GLOBALS['ins_url']->getURL()) ;
}
return $res ;
}
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.3 2005/03/08 17:44:02 alex
* suppression en utilisant removeUser de Auth plutôt qu'en requete directe
*
* Revision 1.2 2005/03/02 12:44:41 alex
* Correction du bug message d'erreur alors qu'on tente de s'inscrire simplement
*
* Revision 1.1 2004/12/15 13:32:15 alex
* version initiale
*
* Revision 1.2 2004/09/01 16:36:37 alex
* changement du chemin pour les include
*
* Revision 1.1 2004/07/06 15:42:28 alex
* en cours
*
* Revision 1.5 2004/07/06 15:28:56 alex
* en cours
*
* Revision 1.4 2004/06/25 14:26:03 alex
* modification de la suppression
*
* Revision 1.3 2004/06/23 12:41:44 alex
* amélioration de la gestion de la perte de mot de passe
*
* Revision 1.2 2004/06/18 09:18:23 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/inscription/inscription.css
1,139 → 1,140
/*
 
+----------------------------------------------------------------------------+
| inscription.css |
+----------------------------------------------------------------------------+
| Copyright (c) 2004 Tela Botanica |
+----------------------------------------------------------------------------+
| Feuille de style specifique a l'application inscription de Tela Botanica |
+----------------------------------------------------------------------------+
| Auteur : Tamara LE BOURG <tamara@tela-botanica.org> |
+----------------------------------------------------------------------------+
 
*/
 
#table_inscription {
border: 1px solid #E8AE3B;
border-collapse: collapse;
width:100%;
}
/*FORMULAIRE INSCRIPTION*/
 
#formulaire_inscription fieldset {
border: 0px;
margin: 0px;
padding: 0px;}
 
#formulaire_inscription ul {
padding:0px;
}
 
.liste_inscription {
padding:3px 0px;
}
.liste_inscription > input, select {
position:absolute;
left:200px;
}
 
.liste_inscription > input+input {
position:absolute;
left:350px;
}
.groupe_formulaire_1 input {
position:absolute;
left:200px;
}
.groupe_formulaire_2 label {
position:absolute;
left:400px;
}
.groupe_formulaire_2 input {
position:absolute;
left:450px;
}
 
/*
#contenu form fieldset ul li {
text-align: left;
padding-left: 0px;
margin-left: 0px;
}
 
/*
#contenu form label {
float: left;
width: 20%;
text-align: left;
}
*/
 
th {
border: 1px 0px 1px 0px solid #E8AE3B;
background-color: #FFCD9B;
color: #775522;
padding: 2px;
}
 
ul.liste_inscription {
margin: 0px;
}
 
li.liste_inscription {
list-style-type: none;
margin: 4px;
}
 
.groupe_formulaire {
width:50%;
}
 
.ligne_impaire {
background-color: #FFFFFF;
font-size: 85%;
border: none;
padding: 2px;
 
}
 
.ligne2_impaire {
background-color: #FFFFFF;
font-size: 85%;
border: none;
padding: 2px;
}
 
.ligne_paire {
background-color: #FFEBD7;
font-size: 85%;
border: none;
padding: 2px;
 
}
 
.ligne2_paire {
background-color: #FFEBD7;
font-size: 85%;
border: none;
padding: 2px;
}
 
.titre1_inscription {
font-family: Arial, Verdana, Helvetica, sans-serif;
margin: 3px 0;
font-size: 130%;
margin-top: 1em;
}
 
.titre2_inscription {
font-family: Arial, Verdana, Helvetica, sans-serif;
margin: 3px 0;
font-size: 110%;
margin-top: 1em;
}
 
.inscription_erreur {
color: #CC6633;
font-weight: bold;
text-decoration: blink;
/*
 
+----------------------------------------------------------------------------+
| inscription.css |
+----------------------------------------------------------------------------+
| Copyright (c) 2004 Tela Botanica |
+----------------------------------------------------------------------------+
| Feuille de style specifique a l'application inscription de Tela Botanica |
+----------------------------------------------------------------------------+
| Auteur : Tamara LE BOURG <tamara@tela-botanica.org> |
+----------------------------------------------------------------------------+
 
*/
 
#table_inscription {
border: 1px solid #E8AE3B;
border-collapse: collapse;
width:100%;
}
/*FORMULAIRE INSCRIPTION*/
 
#formulaire_inscription fieldset {
border: 0px;
margin: 0px;
padding: 0px;}
 
#formulaire_inscription ul {
padding:0px;
}
 
.liste_inscription {
background: transparent;
padding:3px 0px;
}
.liste_inscription > input, select {
position:absolute;
left:200px;
}
 
.liste_inscription > input+input {
position:absolute;
left:350px;
}
.groupe_formulaire_1 input {
position:absolute;
left:200px;
}
.groupe_formulaire_2 label {
position:absolute;
left:400px;
}
.groupe_formulaire_2 input {
position:absolute;
left:450px;
}
 
/*
#contenu form fieldset ul li {
text-align: left;
padding-left: 0px;
margin-left: 0px;
}
 
/*
#contenu form label {
float: left;
width: 20%;
text-align: left;
}
*/
 
th {
border: 1px 0px 1px 0px solid #E8AE3B;
background-color: #FFCD9B;
color: #775522;
padding: 2px;
}
 
ul.liste_inscription {
margin: 0px;
}
 
li.liste_inscription {
list-style-type: none;
margin: 4px;
}
 
.groupe_formulaire {
width:50%;
}
 
.ligne_impaire {
background-color: #FFFFFF;
font-size: 85%;
border: none;
padding: 2px;
 
}
 
.ligne2_impaire {
background-color: #FFFFFF;
font-size: 85%;
border: none;
padding: 2px;
}
 
.ligne_paire {
background-color: #FFEBD7;
font-size: 85%;
border: none;
padding: 2px;
 
}
 
.ligne2_paire {
background-color: #FFEBD7;
font-size: 85%;
border: none;
padding: 2px;
}
 
.titre1_inscription {
font-family: Arial, Verdana, Helvetica, sans-serif;
margin: 3px 0;
font-size: 130%;
margin-top: 1em;
}
 
.titre2_inscription {
font-family: Arial, Verdana, Helvetica, sans-serif;
margin: 3px 0;
font-size: 110%;
margin-top: 1em;
}
 
.inscription_erreur {
color: #CC6633;
font-weight: bold;
text-decoration: blink;
}
/trunk/client/inscription/wikini_cookie.php
1,69 → 1,69
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: wikini_cookie.php,v 1.1 2004-12-15 13:32:15 alex Exp $
/**
* Envoie de cookie pour wikini à partir d'une inscription
*
* Envoie de cookie pour wikini à partir d'une inscription
*
*@package inscription
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-12-15 13:32:15 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// Wikini envoie 3 cookies
// name avec pour valeur le nom wiki de l'utilisateur
// password avec pour valeur le mot de passe crypté de l'utilisateur
// remember la durée du cookie
 
// On fait la même chose
 
if ($userid != "") {
 
// 1. name
// On recherche le nom
$nomwikini = $AUTH->getAuthData('ga_login') ;
setcookie ("name", $nomwikini, time () + 3600 * 24 * 30, "/" ) ; // 1 mois
//2. password
// on recherche le mot de passe crypté
$requete = "select ga_mot_de_passe from gen_annuaire where ga_id_administrateur=$userid" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
die ("Erreur") ;
}
$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
$mot_de_passe = $ligne->ga_mot_de_passe ;
setcookie ("password", $mot_de_passe, time () + 3600 * 24 * 30, "/") ;
// 3. remember
setcookie ("remember", 1, time () + 3600 * 24 * 30, "/") ;
}
 
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: wikini_cookie.php,v 1.2 2005-03-21 16:57:30 florian Exp $
/**
* Envoie de cookie pour wikini à partir d'une inscription
*
* Envoie de cookie pour wikini à partir d'une inscription
*
*@package inscription
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.2 $ $Date: 2005-03-21 16:57:30 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// Wikini envoie 3 cookies
// name avec pour valeur le nom wiki de l'utilisateur
// password avec pour valeur le mot de passe crypté de l'utilisateur
// remember la durée du cookie
 
// On fait la même chose
 
if ($userid != "") {
 
// 1. name
// On recherche le nom
$nomwikini = $AUTH->getAuthData('ga_login') ;
setcookie ("name", $nomwikini, time () + 3600 * 24 * 30, "/" ) ; // 1 mois
//2. password
// on recherche le mot de passe crypté
$requete = "select ga_mot_de_passe from gen_annuaire where ga_id_administrateur=$userid" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
die ("Erreur") ;
}
$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
$mot_de_passe = $ligne->ga_mot_de_passe ;
setcookie ("password", $mot_de_passe, time () + 3600 * 24 * 30, "/") ;
// 3. remember
setcookie ("remember", 1, time () + 3600 * 24 * 30, "/") ;
}
 
?>
/trunk/client/inscription/spip_cookie.php
1,86 → 1,86
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: spip_cookie.php,v 1.1 2004-12-15 13:32:15 alex Exp $
/**
* Envoie de cookie pour SPIP à partir d'une inscription
*
* Envoie de cookie pour SPIP à partir d'une inscription
*
*@package inscription
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-12-15 13:32:15 $
// +------------------------------------------------------------------------------------------------------+
*/
 
 
// Ce fichier doit être placé à la racine de SPIP
// Il doit être appellé dans chaque squelette
// après l'ouverture d'une session, si on ouvre une session
 
// Il faut récupérer une valeur userid, c'est à dire
// loggué l'utilisateur par exemple avec PEAR
 
if ($userid != 0) {
 
 
setcookie("spip_admin", "@$login", time()+3600*24*30, "/vecam/") ;
 
include ("ecrire/inc_version.php3");
 
include_ecrire ("inc_meta.php3");
include_ecrire ("inc_session.php3");
$query = "SELECT * FROM spip_auteurs WHERE id_auteur=$userid";
$result = mysql_query($query);
$GLOBALS['auteur_session'] = mysql_fetch_array($result) ;
$GLOBALS['auteur_session']['statut'] = "1comite" ;
$GLOBALS['auteur_session']['lang'] = "en" ;
 
if (!$HTTP_COOKIE_VARS["spip_session"]) {
$id_session = $userid."_".(md5 (uniqid (rand ())));
setcookie("spip_session", $id_session, time()+3600*24*30, "/vecam/") ;
 
} else {
$id_session = preg_replace("/[0-9]+_/", $userid."_", $HTTP_COOKIE_VARS["spip_session"]) ;
setcookie("spip_session", $id_session, time()+3600*24*30, "/vecam/") ;
}
 
ajouter_session($GLOBALS['auteur_session'], $id_session) ;
 
}
 
 
 
 
 
 
 
 
 
 
 
 
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: spip_cookie.php,v 1.2 2005-03-21 16:57:30 florian Exp $
/**
* Envoie de cookie pour SPIP à partir d'une inscription
*
* Envoie de cookie pour SPIP à partir d'une inscription
*
*@package inscription
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.2 $ $Date: 2005-03-21 16:57:30 $
// +------------------------------------------------------------------------------------------------------+
*/
 
 
// Ce fichier doit être placé à la racine de SPIP
// Il doit être appellé dans chaque squelette
// après l'ouverture d'une session, si on ouvre une session
 
// Il faut récupérer une valeur userid, c'est à dire
// loggué l'utilisateur par exemple avec PEAR
 
if ($userid != 0) {
 
 
setcookie("spip_admin", "@$login", time()+3600*24*30, "/vecam/") ;
 
include ("ecrire/inc_version.php3");
 
include_ecrire ("inc_meta.php3");
include_ecrire ("inc_session.php3");
$query = "SELECT * FROM spip_auteurs WHERE id_auteur=$userid";
$result = mysql_query($query);
$GLOBALS['auteur_session'] = mysql_fetch_array($result) ;
$GLOBALS['auteur_session']['statut'] = "1comite" ;
$GLOBALS['auteur_session']['lang'] = "en" ;
 
if (!$HTTP_COOKIE_VARS["spip_session"]) {
$id_session = $userid."_".(md5 (uniqid (rand ())));
setcookie("spip_session", $id_session, time()+3600*24*30, "/vecam/") ;
 
} else {
$id_session = preg_replace("/[0-9]+_/", $userid."_", $HTTP_COOKIE_VARS["spip_session"]) ;
setcookie("spip_session", $id_session, time()+3600*24*30, "/vecam/") ;
}
 
ajouter_session($GLOBALS['auteur_session'], $id_session) ;
 
}
 
 
 
 
 
 
 
 
 
 
 
 
?>
/trunk/client/inscription/bibliotheque/ins_wiki.fonct.php
1,106 → 1,109
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: ins_wiki.fonct.php,v 1.1 2004-12-15 13:32:25 alex Exp $
/**
* Fonctions wikini
*
* Ce fichier propose 3 fonctions pour intervenir sur la table interwikini_users.
*
*@package inscription
*@subpackage fonctions_wikini
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-12-15 13:32:25 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
function inscription_interwikini_users() {
global $db, $HTTP_POST_VARS ;
$requete = "insert into interwikini_users set name=\"".$HTTP_POST_VARS['nomwiki'].
"\", password=\"".md5($HTTP_POST_VARS['password'])."\", email=\"".$HTTP_POST_VARS['email']."\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete dans interwikini_users<br />".$resultat->getMessage()) ;
}
}
 
function mod_inscription_interwikini_users($id) {
global $db, $HTTP_POST_VARS, $AUTH ;
$requete = "update interwikini_users set password=\"".md5($HTTP_POST_VARS['password'])."\", email=\"".$HTTP_POST_VARS['mail']."\"".
" where name=\"".$AUTH->getAuthData(INS_CHAMPS_LOGIN)."\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete dans interwikini_users<br />".$resultat->getMessage()) ;
}
}
 
function desinscription_interwikini_users($nomwiki) {
global $db ;
$requete = "delete from interwikini_users where name=\"$nomwiki\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete dans interwikini_users<br />".$resultat->getMessage()) ;
}
}
 
function verif_doublonNomWiki($nom_wiki) {
global $db ;
$requete = "select name from interwikini_users where name = \"$nom_wiki\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() == 0) return true ;
return false ;
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.1 2004/06/18 09:20:48 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
 
 
 
?>
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: ins_wiki.fonct.php,v 1.2 2005-03-21 16:57:30 florian Exp $
/**
* Fonctions wikini
*
* Ce fichier propose 3 fonctions pour intervenir sur la table interwikini_users.
*
*@package inscription
*@subpackage fonctions_wikini
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.2 $ $Date: 2005-03-21 16:57:30 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
function inscription_interwikini_users() {
global $db, $HTTP_POST_VARS ;
$requete = "insert into interwikini_users set name=\"".$HTTP_POST_VARS['nomwiki'].
"\", password=\"".md5($HTTP_POST_VARS['password'])."\", email=\"".$HTTP_POST_VARS['email']."\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete dans interwikini_users<br />".$resultat->getMessage()) ;
}
}
 
function mod_inscription_interwikini_users($id) {
global $db, $HTTP_POST_VARS, $AUTH ;
$requete = "update interwikini_users set password=\"".md5($HTTP_POST_VARS['password'])."\", email=\"".$HTTP_POST_VARS['mail']."\"".
" where name=\"".$AUTH->getAuthData(INS_CHAMPS_LOGIN)."\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete dans interwikini_users<br />".$resultat->getMessage()) ;
}
}
 
function desinscription_interwikini_users($nomwiki) {
global $db ;
$requete = "delete from interwikini_users where name=\"$nomwiki\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete dans interwikini_users<br />".$resultat->getMessage()) ;
}
}
 
function verif_doublonNomWiki($nom_wiki) {
global $db ;
$requete = "select name from interwikini_users where name = \"$nom_wiki\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() == 0) return true ;
return false ;
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/12/15 13:32:25 alex
* version initiale
*
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.1 2004/06/18 09:20:48 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
 
 
 
?>
/trunk/client/inscription/bibliotheque/inscription.fonct.php
1,513 → 1,519
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: inscription.fonct.php,v 1.2 2004-12-17 17:41:51 alex Exp $
// CVS : $Id: inscription.fonct.php,v 1.2 2004-12-17 17:41:51 alex Exp $
/**
* Fonctions du module inscription
*
* Fonctions du module inscription
*
*@package inscription
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.2 $ $Date: 2004-12-17 17:41:51 $
*@version $Revision: 1.2 $ $Date: 2004-12-17 17:41:51 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
include_once 'ins_wiki.fonct.php' ;
if (INS_UTILISE_SPIP) include_once 'ins_spip.fonct.php' ;
require_once 'HTML/QuickForm.php' ;
require_once 'HTML/QuickForm/checkbox.php' ;
require_once 'HTML/QuickForm/password.php' ;
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
 
/**
*
* @param array les valeurs renvoyés par le formulaire
* @return
*/
 
function demande_inscription ($valeurs) {
// On stocke les informations dans un variable de session
$_SESSION['donnees_inscription'] = $valeurs ;
// On envoie un email de confirmation pour l'utilisateur
$GLOBALS['ins_url']->addQueryString ('id', session_id()) ;
mail ($GLOBALS['email'], 'inscription', $GLOBALS['ins_url']->getURL()) ;
}
 
/**
*
*
* @return
*/
 
function message_inscription () {
return INS_MESSAGE_INSCRIPTION ;
}
/**
* Réalise l'insertion dans la base de donnée
*
* @param array un tableau de valeur avec en clé les noms des champs du formulaire
* @return void
*/
 
function AUTH_formulaire_login () {
//--------------------------------------------------------------------------
// Le formulaire
//--------------------------------------------------------------------------
$GLOBALS['ins_url']->addQueryString('action', 'inscription') ;
$form = new HTML_QuickForm ('inscription', 'post', preg_replace ('/&amp;/', '&', str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL()))) ;
$form->addElement ('submit', 'Inscription', INS_INSCRIPTION) ;
if (INS_FORMULAIRE_STRUCTURE) $form->addElement ('submit', 'structure', INS_INSCRIPTION_STRUCTURE) ;
$res = "<div class=\"titre1_inscription\">".INS_LAIUS_INSCRIPTION."</div>\n" ;
$res .= "<div>".INS_LAIUS_INSCRIPTION_2."</div>\n" ;
$res .= $form->toHTML() ;
$res .= '<div>'.INS_DEJA_INSCRIT.'</div>' ;
$GLOBALS['ins_url']->removeQueryString ('action') ;
$form = new HTML_QuickForm ('inscription', 'post', str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL())) ;
$form->addElement ('text', 'username', INS_EMAIL) ;
$form->addElement ('password', 'password', INS_MOT_DE_PASSE) ;
$form->addElement('submit', 'valider', INS_VALIDER);
$res .= $form->toHTML() ;
 
$res .= "<div>".INS_TEXTE_PERDU."</div>\n" ;
return $res;
}
 
/**
*
*
*
*
* @return string HTML Un message d'erreur avec un lien pour renvoyer le mot de passe
*/
function message_erreur () {
$res = '';
// Si le mot de passe vient juste d'être envoyé, on remet le formulaire de login
if ($GLOBALS['action'] == 'sendpasswd') {
$form = new HTML_QuickForm ('inscription', 'post', str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL())) ;
$form->addElement ('text', 'username', INS_EMAIL) ;
$form->addElement ('password', 'password', INS_MOT_DE_PASSE) ;
$form->addElement('submit', 'valider', INS_VALIDER);
$res .= $form->toHTML() ;
} else {
$res .= "<div class=\"inscription_erreur\">".INS_ERREUR_LOGIN."</div>\n" ;
$res .= "<div>".INS_SI_PASSE_PERDU."</div>\n" ;
$res .= "<div>" ;
$GLOBALS['ins_url']->addQueryString('action', 'sendpasswd') ;
$res .= "<form action=\"".str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL())."\" method=\"post\">\n" ;
$res .= INS_EMAIL."&nbsp;" ;
$res .= "<input type=\"text\" value=\"".$GLOBALS['username']."\" name=\"username\" size=\"32\" /></li></ul>\n" ;
$res .= "<div>".INS_INDIQUE_ADRESSE."</div>\n" ;
$res .= "<input type=\"submit\" value=\"".INS_ENVOIE_PASSE."\" />" ;
$res .= "</form></div>\n" ;
}
// On remet le formulaire d'inscription
$GLOBALS['ins_url']->addQueryString('action', 'inscription') ;
$form = new HTML_QuickForm ('inscription', 'post', str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL())) ;
$form->addElement ('submit', 'Inscription', INS_INSCRIPTION) ;
$res .= INS_LAIUS_INSCRIPTION ;
$res .= $form->toHTML() ;
return $res;
}
 
function insertion($valeur) {
// =========== Insertion dans l'annuaire gen_annuaire ===================
 
$id_administrateur = nextId(INS_ANNUAIRE, INS_CHAMPS_ID, $GLOBALS['ins_db']) ;
$requete = 'insert into '.INS_ANNUAIRE.' set '.
INS_CHAMPS_ID.'="'.$id_administrateur.'",'.
requete_annuaire($valeur) ;
 
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
 
// ================ Insertion dans SPIP =========================================
if (INS_UTILISE_SPIP) {
inscription_spip($id_administrateur, $valeur) ;
}
//inscription_interwikini_users() ;
}
 
/**
* Réalise une mise à jour dans la base de donnée
*
* @param array un tableau de valeur avec en clé les noms des champs du formulaire
* @return void
*/
function mise_a_jour($valeur) {
// ====================Mise à jour dans l'annuaire gen_annuaire ====================
$requete = 'update '.INS_ANNUAIRE.' set '.
requete_annuaire ($valeur).
'where '.INS_CHAMPS_ID.'="'.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID).'"';
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
unset ($resultat) ;
 
// ========================= Mise à jour dans SPIP ================================
if (INS_UTILISE_SPIP) {
mod_inscription_spip($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID), $valeur) ;
}
}
 
/** requete_annuaire () - Renvoie une chaine contenant les champs de l'annuaire avec leur valeur suite à le fonction process de QuickForm
*
* @return string une requete du type champs="valeur",...
*/
 
function requete_annuaire ($valeur) {
$req = INS_CHAMPS_NOM.'="'.$valeur['nom'].'",'.
INS_CHAMPS_PRENOM.'="'.$valeur['prenom'].'",'.
INS_CHAMPS_MAIL.'="'.$valeur['email'].'",' ;
if (INS_UTILISE_WIKINI) $req .= INS_CHAMPS_NOM_WIKINI.'="'.$valeur['nomwiki'].'",' ;
$req .= INS_CHAMPS_PASSE.'="'.md5 ($valeur['mot_de_passe']).'",'.
INS_CHAMPS_PAYS.'="'.$valeur['pays'].'",'.
INS_CHAMPS_ADRESSE_1.'="'.$valeur['adresse_1'].'",'.
INS_CHAMPS_ADRESSE_2.'="'.$valeur['adresse_2'].'",'.
INS_CHAMPS_DATE_INSCRIPTION.'=NOW(),'.
INS_CHAMPS_CODE_POSTAL.'="'.$valeur['cp'].'" ' ;
if (INS_FORMULAIRE_STRUCTURE) {
$req .= ",".INS_CHAMPS_EST_STRUCTURE.'="'.$valeur['est_structure'].'"' ;
$req .= ",".INS_CHAMPS_SIGLE_STRUCTURE.'="'.$valeur['sigle_structure'].'"' ;
}
// traitement du numéro de département pour la france
if ($valeur[INS_CHAMPS_PAYS] == 'FR') {
if (preg_match("/^97|98[0-9]*/", $valeur['cp'])) {
$n_dpt = substr($valeur['cp'], 0, 3) ;
} else {
$n_dpt = substr($valeur['cp'], 0, 2) ;
}
$req .= ",".INS_CHAMPS_DEPARTEMENT."='$n_dpt'";
}
// Le téléphone et le fax
if (INS_CHAMPS_TELEPHONE) {
$req .= ",".INS_CHAMPS_TELEPHONE.'="'.$valeur['telephone'].'"' ;
}
if (INS_CHAMPS_FAX) {
$req .= ",".INS_CHAMPS_FAX.'="'.$valeur['fax'].'"' ;
}
if (INS_CHAMPS_STRUCTURE) {
$req .= ",".INS_CHAMPS_STRUCTURE.'="'.$valeur['structure'].'"' ;
}
return $req ;
}
 
 
 
/** formulaire_defaults () - Renvoie un tableau avec les valeurs par défaut du formulaire d'inscription
*
* @return array Valeurs par défaut du formulaire d'inscription
*/
function formulaire_defaults () {
$requete = 'select '.INS_ANNUAIRE.'.* '.
'from '.INS_ANNUAIRE.' '.
'where '.INS_ANNUAIRE.'.'.INS_CHAMPS_ID.'= "'.$GLOBALS['AUTH']->getAuthData (INS_CHAMPS_ID).'"' ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
$valeurs_par_defaut = array() ;
$valeurs_par_defaut['email'] = $ligne[INS_CHAMPS_MAIL];
$valeurs_par_defaut['nom'] = $ligne[INS_CHAMPS_NOM];
$valeurs_par_defaut['prenom'] = $ligne[INS_CHAMPS_PRENOM] ;
$valeurs_par_defaut['pays'] = $ligne[INS_CHAMPS_PAYS] ;
$valeurs_par_defaut['nomwiki'] = $ligne[INS_CHAMPS_LOGIN] ;
$valeurs_par_defaut['cp'] = $ligne[INS_CHAMPS_CODE_POSTAL] ;
$valeurs_par_defaut['ville'] = $ligne[INS_CHAMPS_VILLE] ;
$valeurs_par_defaut['adresse_1'] = $ligne[INS_CHAMPS_ADRESSE_1] ;
$valeurs_par_defaut['adresse_2'] = $ligne[INS_CHAMPS_ADRESSE_2] ;
$valeurs_par_defaut['telephone'] = $ligne[INS_CHAMPS_TELEPHONE] ;
$valeurs_par_defaut['fax'] = $ligne[INS_CHAMPS_FAX] ;
$valeurs_par_defaut['structure'] = $ligne[INS_CHAMPS_STRUCTURE] ;
return $valeurs_par_defaut ;
}
 
 
 
function info() {
$requete = 'select * from '.INS_ANNUAIRE.' '.
'where '.INS_ANNUAIRE.'.'.INS_CHAMPS_ID.'="'.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID).'"' ;
$resultat = $GLOBALS['ins_db'] -> query ($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
 
$ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC) ;
$res = "<h1 class=\"inscription_titre1\">".INS_MESSAGE_BIENVENU ;
$res .= "</h1>\n" ;
$res .= "<h2 class=\"inscription_titre2\">".INS_FICHE_PERSONNELLE."</h2>\n" ;
$res .= "<div>".INS_EMAIL." : ".$ligne[INS_CHAMPS_MAIL]."</div>\n" ;
if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 1) $nom = INS_NOM_STRUCTURE ; else $nom = INS_NOM ;
$res .= "<div>".$nom." : ".$ligne[INS_CHAMPS_NOM]."</div>" ;
if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 0) $res .= "<div>".INS_PRENOM." : ".$ligne[INS_CHAMPS_PRENOM]."</div>\n" ;
if ($ligne[INS_CHAMPS_LOGIN] != "") $res .= "<div>".INS_NOM_WIKI." : ".$ligne[INS_CHAMPS_LOGIN]."</div>\n" ;
if ($ligne[INS_CHAMPS_ADRESSE_1] != "") $res .= "<div>".INS_ADRESSE." : ".$ligne[INS_CHAMPS_ADRESSE_1]."</div>\n" ;
if ($ligne[INS_CHAMPS_ADRESSE_2] != "") $res .= "<div> : ".$ligne[INS_CHAMPS_ADRESSE_2]."</div>\n" ;
if ($ligne[INS_CHAMPS_TELEPHONE] != "") $res .= "<div> : ".$ligne[INS_CHAMPS_TELEPHONE]."</div>\n" ;
if ($ligne[INS_CHAMPS_FAX] != "") $res .= "<div> : ".$ligne[INS_CHAMPS_FAX]."</div>\n" ;
if ($ligne[INS_CHAMPS_STRUCTURE] != "") $res .= "<div> : ".$ligne[INS_CHAMPS_STRUCTURE]."</div>\n" ;
return $res ;
}
 
function bouton($url) {
global $GS_GLOBAL ;
$boutons = new HTML_QuickForm('inscription', 'post', $url) ; ;
//confirmation() ;
$buttons[] = &HTML_QuickForm::createElement('submit', 'modifier', INS_MODIFIER_INSCRIPTION);
$buttons[] = &HTML_QuickForm::createElement('submit', 'supprimer', INS_SUPPRIMER_INSCRIPTION,
array ("onclick" => "javascript:return confirm('".INS_SUPPRIMER_INSCRIPTION." ?');"));
$boutons->addGroup($buttons, null, null, '&nbsp;');
return $boutons->toHTML() ;
}
 
/**
* Renvoie un lien pour se déconnex=cter
*
* @return string
*/
 
function deconnexion ($url) {
// Un champs logout
return "<div><a href=\"$url&logout=1\">".INS_DECONNEXION."</a></div>" ;
}
 
/** Renvoie vrai si l'email passé en paramètre n'est pas déjà dans l'annuaire
* ou si, en cas de modification d'inscription, l'inscrit ne modifie pas son email
*
* @return boolean
*/
 
function verif_doublonMail($mail) {
if (isset ($GLOBALS['AUTH']) && $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) != '') {
$requete_mail = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE." where ".INS_CHAMPS_ID."=".$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
$resultat_mail = $GLOBALS['ins_db']->query ($requete_mail) ;
if (DB::isError ($resultat_mail)) {
die ("Echec de la requete : $requete_mail<br />".$resultat_mail->getMessage()) ;
}
$ligne_mail = $resultat_mail->fetchRow(DB_FETCHMODE_ASSOC) ;
if ($mail == $ligne_mail[INS_CHAMPS_MAIL]) {
return true ;
}
}
$requete = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE." where ".INS_CHAMPS_MAIL."= \"$mail\"" ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() == 0) return true ;
return false ;
}
 
 
function envoie_passe()
{
global $SERVER_ADMIN ;
 
$headers['From'] = $SERVER_ADMIN ;
$headers['Subject'] = INS_NOUVEAU_MOT_DE_PASSE;
 
$nouveau_passe = create_new_random(6) ;
 
$body = INS_NOUVEAU_MOT_DE_PASSE_2.$nouveau_passe ;
$body .= INS_NOUVEAU_MOT_DE_PASSE_LAIUS ;
 
// modification du mot de passe dans la base
$requete = "update ".INS_ANNUAIRE." set ".INS_CHAMPS_PASSE."=MD5(\"$nouveau_passe\") where ".INS_CHAMPS_MAIL."=\"".$GLOBALS['username']."\"" ;
 
$resultat = $GLOBALS['db']->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
 
// création du mail
if (!mail ($GLOBALS['username'], $headers['Subject'], $body)) {
return 'erreur lors de l\'envoie de mail' ;
}
 
return "<div class=\"titre1_inscription\">".INS_MOT_DE_PASSE_ENVOYE_1." $username.</div>\n".
"<div><br>".INS_MOT_DE_PASSE_ENVOYE_2."</div>\n";
 
}
 
function envoie_mail()
{
global $SERVER_ADMIN ;
 
$headers['From'] = $SERVER_ADMIN ;
$headers['To'] = "<alexandre@tela-botanica.org>" ;
$headers['Subject'] = INS_MAIL_COORD_SUJET ;
 
$q = "select *, ".PROJET_CHAMPS_LABEL_PAYS." from ".INS_ANNUAIRE.",".PROJET_PAYS.
" where ".INS_CHAMPS_MAIL."=\"".$GLOBALS['HTTP_POST_VARS']['email']."\"".
" and ".PROJET_CHAMPS_ID_PAYS."=".INS_CHAMPS_PAYS;
 
$r = $GLOBALS['ins_db']->query($q) ;
if (DB::isError ($r)) {
die ("echec de la requete sur anuaire") ;
}
$row = $r->fetchRow(DB_FETCHMODE_ASSOC) ;
 
$body_entete = INS_MAIL_COORD_CORPS."\n" ;
$body = "mail : ".$row[INS_CHAMPS_MAIL]."\n" ;
$body .= "------------------------------------------\n";
$body .= INS_NOM.": ".unhtmlentities($row[INS_CHAMPS_NOM])." \n" ;
$body .= "Prénom : ".unhtmlentities($row[INS_CHAMPS_PRENOM])." \n" ;
$body .= INS_PAYS." : ".unhtmlentities($row[PROJET_CHAMPS_LABEL_PAYS])." \n" ;
$body .= "-------------------------------------------\n" ;
/*
// recherche des administrateurs
$requete = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE.", annu_ADMIN where ".INS_CHAMPS_ID.
"=AA_USER_ID and AA_LEVEL=0";
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
// while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
if (!mail ($headers['To'], $headers['Subject'], $body)) {
return "<tr><td>Une erreur s'est produite:<br></td></tr>\n" ;
}
//}*/
}
 
// For users prior to PHP 4.3.0 you may do this:
function unhtmlentities ($string)
{
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
return strtr ($string, $trans_tbl);
}
 
/* ***********************************
create_new_random($n,$type) permet de générer un nombre de caractères aléatoires.
 
ENTREE :
- $n : créer un 'mot' de $n caractères
- $type : permet de définir la liste des caractères disponibles
 
SORTIE : chaine de $n caractères pris dans une liste $type
*********************************** */
function create_new_random($n,$type="")
{
$str = "";
 
switch ($type){
default:{
$chaine = "abcdefghkmnpqrstuvwxyzABCDEFGHKLMNPQRSTUVWXYZ23456789";
}
break;
}
srand((double)microtime()*1000000);
for($i = 0; $i < $n; $i++){
$str .= $chaine[rand()%strlen($chaine)];
}
return "$str";
}
 
//==============================================================================
/** function nextId () Renvoie le prochain identifiant numérique libre d'une table
*
* On passe en paramètre le nom de la table et l'identifiant de la base selon PEAR DB
*
* @param mixed handler de connexion
* @param string Nom de la table
* return interger l'identifiant
*/
 
function nextId ($table, $colonne_identifiant, $db)
{
$requete = "select MAX($colonne_identifiant) as maxi from $table" ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die (__FILE__ . __LINE__ . $resultat->getMessage() . $requete);
return $GLOBALS['ins_db']->raiseError($resultat) ;
}
if ($resultat->numRows() > 1) {
return $GLOBALS['ins_db']->raiseError("<br/>La table $table a un identifiant non unique<br/>") ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
return $ligne->maxi + 1 ;
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/12/15 13:32:25 alex
* version initiale
*
* Revision 1.2 2004/09/01 16:37:52 alex
* modification du formulaire
*
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.7 2004/07/06 15:28:41 alex
* en cours
*
* Revision 1.5 2004/07/06 15:22:19 alex
* en cours
*
=======
* Revision 1.4 2004/06/30 10:00:26 alex
* modification de l'envoie de mail
*
* Revision 1.2 2004/06/23 12:41:51 alex
* amélioration de la gestion de la perte de mot de passe
*
* Revision 1.1 2004/06/18 09:20:47 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
?>
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: inscription.fonct.php,v 1.3 2005-03-21 16:57:30 florian Exp $
// CVS : $Id: inscription.fonct.php,v 1.3 2005-03-21 16:57:30 florian Exp $
/**
* Fonctions du module inscription
*
* Fonctions du module inscription
*
*@package inscription
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.3 $ $Date: 2005-03-21 16:57:30 $
*@version $Revision: 1.3 $ $Date: 2005-03-21 16:57:30 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
include_once 'ins_wiki.fonct.php' ;
if (INS_UTILISE_SPIP) include_once 'ins_spip.fonct.php' ;
require_once 'HTML/QuickForm.php' ;
require_once 'HTML/QuickForm/checkbox.php' ;
require_once 'HTML/QuickForm/password.php' ;
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
 
/**
*
* @param array les valeurs renvoyés par le formulaire
* @return
*/
 
function demande_inscription($valeurs) {
// On stocke les informations dans un variable de session
$_SESSION['donnees_inscription'] = $valeurs ;
// On envoie un email de confirmation pour l'utilisateur
$GLOBALS['ins_url']->addQueryString('id', session_id()) ;
mail ($GLOBALS['email'], 'inscription', $GLOBALS['ins_url']->getURL()) ;
}
 
/**
*
*
* @return
*/
 
function message_inscription() {
return INS_MESSAGE_INSCRIPTION ;
}
/**
* Réalise l'insertion dans la base de donnée
*
* @param array un tableau de valeur avec en clé les noms des champs du formulaire
* @return void
*/
 
function AUTH_formulaire_login() {
//--------------------------------------------------------------------------
// Le formulaire
//--------------------------------------------------------------------------
$res = '<div class="titre1_inscription"><h2>'.INS_LAIUS_INSCRIPTION.'</h2></div>'."\n" ;
$res .= '<br /><div>'.INS_DEJA_INSCRIT.'</div><br />'."\n" ;
$GLOBALS['ins_url']->removeQueryString('action') ;
$form = new HTML_QuickForm('inscription', 'post', str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL())) ;
$form->addElement('text', 'username', INS_EMAIL) ;
$form->addElement('password', 'password', INS_MOT_DE_PASSE) ;
$form->addElement('submit', 'valider', INS_VALIDER);
$res .= $form->toHTML()."\n" ;
$res .= '<div>'.INS_TEXTE_PERDU.'</div><br /><br />'."\n" ;
$GLOBALS['ins_url']->addQueryString('action', 'inscription') ;
$form = new HTML_QuickForm('inscription', 'post', preg_replace ('/&amp;/', '&', str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL()))) ;
$form->addElement('submit', 'Inscription', INS_INSCRIPTION) ;
if (INS_FORMULAIRE_STRUCTURE) $form->addElement('submit', 'form_structure', INS_INSCRIPTION_STRUCTURE) ;
$res .= "<div>".INS_LAIUS_INSCRIPTION_2."</div>\n" ;
$res .= $form->toHTML() ;
return $res;
}
 
/**
*
*
*
*
* @return string HTML Un message d'erreur avec un lien pour renvoyer le mot de passe
*/
function message_erreur () {
$res = '';
// Si le mot de passe vient juste d'être envoyé, on remet le formulaire de login
if ($GLOBALS['action'] == 'sendpasswd') {
$form = new HTML_QuickForm ('inscription', 'post', str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL())) ;
$form->addElement ('text', 'username', INS_EMAIL) ;
$form->addElement ('password', 'password', INS_MOT_DE_PASSE) ;
$form->addElement('submit', 'valider', INS_VALIDER);
$res .= $form->toHTML() ;
} else {
$res .= "<div class=\"inscription_erreur\">".INS_ERREUR_LOGIN."</div>\n" ;
$res .= "<div>".INS_SI_PASSE_PERDU."</div>\n" ;
$res .= "<div>" ;
$GLOBALS['ins_url']->addQueryString('action', 'sendpasswd') ;
$res .= "<form action=\"".str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL())."\" method=\"post\">\n" ;
$res .= INS_EMAIL."&nbsp;" ;
$res .= "<input type=\"text\" value=\"".$GLOBALS['username']."\" name=\"username\" size=\"32\" /></li></ul>\n" ;
$res .= "<div>".INS_INDIQUE_ADRESSE."</div>\n" ;
$res .= "<input type=\"submit\" value=\"".INS_ENVOIE_PASSE."\" />" ;
$res .= "</form></div>\n" ;
}
// On remet le formulaire d'inscription
$GLOBALS['ins_url']->addQueryString('action', 'inscription') ;
$form = new HTML_QuickForm ('inscription', 'post', str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL())) ;
$form->addElement ('submit', 'Inscription', INS_INSCRIPTION) ;
$res .= INS_LAIUS_INSCRIPTION ;
$res .= $form->toHTML() ;
return $res;
}
 
function insertion($valeur) {
// =========== Insertion dans l'annuaire gen_annuaire ===================
 
$id_administrateur = nextId(INS_ANNUAIRE, INS_CHAMPS_ID, $GLOBALS['ins_db']) ;
$requete = 'insert into '.INS_ANNUAIRE.' set '.
INS_CHAMPS_ID.'="'.$id_administrateur.'",'.
requete_annuaire($valeur) ;
 
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
 
// ================ Insertion dans SPIP =========================================
if (INS_UTILISE_SPIP) {
inscription_spip($id_administrateur, $valeur) ;
}
//inscription_interwikini_users() ;
}
 
/**
* Réalise une mise à jour dans la base de donnée
*
* @param array un tableau de valeur avec en clé les noms des champs du formulaire
* @return void
*/
function mise_a_jour($valeur) {
// ====================Mise à jour dans l'annuaire gen_annuaire ====================
$requete = 'update '.INS_ANNUAIRE.' set '.
requete_annuaire ($valeur).
'where '.INS_CHAMPS_ID.'="'.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID).'"';
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
unset ($resultat) ;
 
// ========================= Mise à jour dans SPIP ================================
if (INS_UTILISE_SPIP) {
mod_inscription_spip($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID), $valeur) ;
}
}
 
/** requete_annuaire () - Renvoie une chaine contenant les champs de l'annuaire avec leur valeur suite à le fonction process de QuickForm
*
* @return string une requete du type champs="valeur",...
*/
 
function requete_annuaire($valeur) {
$req = INS_CHAMPS_NOM.'="'.$valeur['nom'].'",'.
INS_CHAMPS_PRENOM.'="'.$valeur['prenom'].'",'.
INS_CHAMPS_MAIL.'="'.$valeur['email'].'",' ;
if (INS_UTILISE_WIKINI) $req .= INS_CHAMPS_NOM_WIKINI.'="'.$valeur['nomwiki'].'",' ;
$req .= INS_CHAMPS_PASSE.'="'.md5 ($valeur['mot_de_passe']).'",'.
INS_CHAMPS_PAYS.'="'.$valeur['pays'].'",'.
INS_CHAMPS_ADRESSE_1.'="'.$valeur['adresse_1'].'",'.
INS_CHAMPS_ADRESSE_2.'="'.$valeur['adresse_2'].'",'.
INS_CHAMPS_DATE_INSCRIPTION.'=NOW(),'.
INS_CHAMPS_CODE_POSTAL.'="'.$valeur['cp'].'" ' ;
if (INS_FORMULAIRE_STRUCTURE) {
$req .= ",".INS_CHAMPS_EST_STRUCTURE.'="'.$valeur['est_structure'].'"' ;
$req .= ",".INS_CHAMPS_SIGLE_STRUCTURE.'="'.$valeur['sigle_structure'].'"' ;
}
// traitement du numéro de département pour la france
if (isset($valeur[INS_CHAMPS_PAYS])) {
if ($valeur[INS_CHAMPS_PAYS] == 'FR') {
if (preg_match("/^97|98[0-9]*/", $valeur['cp'])) {
$n_dpt = substr($valeur['cp'], 0, 3) ;
} else {
$n_dpt = substr($valeur['cp'], 0, 2) ;
}
$req .= ",".INS_CHAMPS_DEPARTEMENT."='$n_dpt'";
}}
// Le téléphone et le fax
if (INS_CHAMPS_TELEPHONE) {
$req .= ",".INS_CHAMPS_TELEPHONE.'="'.$valeur['telephone'].'"' ;
}
if (INS_CHAMPS_FAX) {
$req .= ",".INS_CHAMPS_FAX.'="'.$valeur['fax'].'"' ;
}
if (INS_CHAMPS_STRUCTURE) {
$req .= ",".INS_CHAMPS_STRUCTURE.'="'.$valeur['structure'].'"' ;
}
return $req ;
}
 
 
 
/** formulaire_defaults () - Renvoie un tableau avec les valeurs par défaut du formulaire d'inscription
*
* @return array Valeurs par défaut du formulaire d'inscription
*/
function formulaire_defaults () {
$requete = 'select '.INS_ANNUAIRE.'.* '.
'from '.INS_ANNUAIRE.' '.
'where '.INS_ANNUAIRE.'.'.INS_CHAMPS_ID.'= "'.$GLOBALS['AUTH']->getAuthData (INS_CHAMPS_ID).'"' ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
$valeurs_par_defaut = array() ;
$valeurs_par_defaut['email'] = $ligne[INS_CHAMPS_MAIL];
$valeurs_par_defaut['nom'] = $ligne[INS_CHAMPS_NOM];
$valeurs_par_defaut['prenom'] = $ligne[INS_CHAMPS_PRENOM] ;
$valeurs_par_defaut['pays'] = $ligne[INS_CHAMPS_PAYS] ;
if (INS_UTILISE_WIKINI) {$valeurs_par_defaut['nomwiki'] = $ligne[INS_CHAMPS_NOM_WIKINI] ;}
$valeurs_par_defaut['cp'] = $ligne[INS_CHAMPS_CODE_POSTAL] ;
$valeurs_par_defaut['ville'] = $ligne[INS_CHAMPS_VILLE] ;
$valeurs_par_defaut['adresse_1'] = $ligne[INS_CHAMPS_ADRESSE_1] ;
$valeurs_par_defaut['adresse_2'] = $ligne[INS_CHAMPS_ADRESSE_2] ;
$valeurs_par_defaut['telephone'] = $ligne[INS_CHAMPS_TELEPHONE] ;
$valeurs_par_defaut['fax'] = $ligne[INS_CHAMPS_FAX] ;
$valeurs_par_defaut['structure'] = $ligne[INS_CHAMPS_STRUCTURE] ;
return $valeurs_par_defaut ;
}
 
 
 
function info() {
$requete = 'select * from '.INS_ANNUAIRE.' '.
'where '.INS_ANNUAIRE.'.'.INS_CHAMPS_ID.'="'.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID).'"' ;
$resultat = $GLOBALS['ins_db'] -> query ($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
 
$ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC) ;
$res = "<br /><h2 class=\"inscription_titre1\">".INS_MESSAGE_BIENVENU ;
$res .= "</h2><br />\n" ;
$res .= "<h3 class=\"inscription_titre2\">".INS_FICHE_PERSONNELLE."</h3><br />\n" ;
$res .= "<div>".INS_EMAIL." : ".$ligne[INS_CHAMPS_MAIL]."</div>\n" ;
if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 1) $nom = INS_NOM_STRUCTURE ; else $nom = INS_NOM ;
$res .= "<div>".$nom." : ".$ligne[INS_CHAMPS_NOM]."</div>" ;
if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 0) $res .= "<div>".INS_PRENOM." : ".$ligne[INS_CHAMPS_PRENOM]."</div>\n" ;
if (INS_UTILISE_WIKINI) {if ($ligne[INS_CHAMPS_NOM_WIKINI] != "") $res .= "<div>".INS_NOM_WIKI." : ".$ligne[INS_CHAMPS_NOM_WIKINI]."</div>\n" ;}
if ($ligne[INS_CHAMPS_ADRESSE_1] != "") $res .= "<div>".INS_ADRESSE1." : ".$ligne[INS_CHAMPS_ADRESSE_1]."</div>\n" ;
if ($ligne[INS_CHAMPS_ADRESSE_2] != "") $res .= "<div>".INS_ADRESSE2." : ".$ligne[INS_CHAMPS_ADRESSE_2]."</div>\n" ;
if ($ligne[INS_CHAMPS_TELEPHONE] != "") $res .= "<div>".INS_TEL." : ".$ligne[INS_CHAMPS_TELEPHONE]."</div>\n" ;
if ($ligne[INS_CHAMPS_FAX] != "") $res .= "<div>".INS_FAX." : ".$ligne[INS_CHAMPS_FAX]."</div>\n" ;
if ($ligne[INS_CHAMPS_STRUCTURE] != "") $res .= "<div>".INS_STRUCTURE." : ".$ligne[INS_CHAMPS_STRUCTURE]."</div>\n" ;
return $res ;
}
 
function bouton($url) {
global $GS_GLOBAL ;
$boutons = new HTML_QuickForm('inscription', 'post', $url) ; ;
//confirmation() ;
$buttons[] = &HTML_QuickForm::createElement('submit', 'modifier', INS_MODIFIER_INSCRIPTION);
$buttons[] = &HTML_QuickForm::createElement('submit', 'supprimer', INS_SUPPRIMER_INSCRIPTION,
array ("onclick" => "javascript:return confirm('".INS_SUPPRIMER_INSCRIPTION." ?');"));
$boutons->addGroup($buttons, null, null, '&nbsp;');
return $boutons->toHTML() ;
}
 
/**
* Renvoie un lien pour se déconnex=cter
*
* @return string
*/
 
function deconnexion ($url) {
// Un champs logout
return "<div><a href=\"".$url."&logout=1\">".INS_DECONNEXION."</a></div>" ;
}
 
/** Renvoie vrai si l'email passé en paramètre n'est pas déjà dans l'annuaire
* ou si, en cas de modification d'inscription, l'inscrit ne modifie pas son email
*
* @return boolean
*/
 
function verif_doublonMail($mail) {
if (isset ($GLOBALS['AUTH']) && $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) != '') {
$requete_mail = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE." where ".INS_CHAMPS_ID."=".$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
$resultat_mail = $GLOBALS['ins_db']->query ($requete_mail) ;
if (DB::isError ($resultat_mail)) {
die ("Echec de la requete : $requete_mail<br />".$resultat_mail->getMessage()) ;
}
$ligne_mail = $resultat_mail->fetchRow(DB_FETCHMODE_ASSOC) ;
if ($mail == $ligne_mail[INS_CHAMPS_MAIL]) {
return true ;
}
}
$requete = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE." where ".INS_CHAMPS_MAIL."= \"$mail\"" ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() == 0) return true ;
return false ;
}
 
 
function envoie_passe()
{
global $SERVER_ADMIN ;
 
$headers['From'] = $SERVER_ADMIN ;
$headers['Subject'] = INS_NOUVEAU_MOT_DE_PASSE;
 
$nouveau_passe = create_new_random(6) ;
 
$body = INS_NOUVEAU_MOT_DE_PASSE_2.$nouveau_passe ;
$body .= INS_NOUVEAU_MOT_DE_PASSE_LAIUS ;
 
// modification du mot de passe dans la base
$requete = "update ".INS_ANNUAIRE." set ".INS_CHAMPS_PASSE."=MD5(\"$nouveau_passe\") where ".INS_CHAMPS_MAIL."=\"".$GLOBALS['username']."\"" ;
 
$resultat = $GLOBALS['db']->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
 
// création du mail
if (!mail ($GLOBALS['username'], $headers['Subject'], $body)) {
return 'erreur lors de l\'envoie de mail' ;
}
 
return "<div class=\"titre1_inscription\">".INS_MOT_DE_PASSE_ENVOYE_1." $username.</div>\n".
"<div><br>".INS_MOT_DE_PASSE_ENVOYE_2."</div>\n";
 
}
 
function envoie_mail()
{
global $SERVER_ADMIN ;
 
$headers['From'] = $SERVER_ADMIN ;
$headers['To'] = INS_MAIL_ADMIN_APRES_INSCRIPTION ;
$headers['Subject'] = INS_MAIL_COORD_SUJET ;
 
$q = "select *, ".PROJET_CHAMPS_LABEL_PAYS." from ".INS_ANNUAIRE.",".PROJET_PAYS.
" where ".INS_CHAMPS_MAIL."=\"".$GLOBALS['HTTP_POST_VARS']['email']."\"".
" and ".PROJET_CHAMPS_ID_PAYS."=".INS_CHAMPS_PAYS;
 
$r = $GLOBALS['ins_db']->query($q) ;
if (DB::isError ($r)) {
die ("echec de la requete sur anuaire") ;
}
$row = $r->fetchRow(DB_FETCHMODE_ASSOC) ;
 
$body_entete = INS_MAIL_COORD_CORPS."\n" ;
$body = "mail : ".$row[INS_CHAMPS_MAIL]."\n" ;
$body .= "------------------------------------------\n";
$body .= INS_NOM.": ".unhtmlentities($row[INS_CHAMPS_NOM])." \n" ;
$body .= "Prénom : ".unhtmlentities($row[INS_CHAMPS_PRENOM])." \n" ;
$body .= INS_PAYS." : ".unhtmlentities($row[PROJET_CHAMPS_LABEL_PAYS])." \n" ;
$body .= "-------------------------------------------\n" ;
/*
// recherche des administrateurs
$requete = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE.", annu_ADMIN where ".INS_CHAMPS_ID.
"=AA_USER_ID and AA_LEVEL=0";
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
// while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
if (!mail ($headers['To'], $headers['Subject'], $body)) {
return "<tr><td>Une erreur s'est produite:<br></td></tr>\n" ;
}
//}*/
}
 
// For users prior to PHP 4.3.0 you may do this:
function unhtmlentities ($string)
{
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
return strtr ($string, $trans_tbl);
}
 
//==============================================================================
/** function create_new_random($n,$type) permet de générer un nombre de caractères aléatoires.
*
*
*
* ENTREE :
* - $n : créer un 'mot' de $n caractères
* - $type : permet de définir la liste des caractères disponibles
*
* SORTIE : chaine de $n caractères pris dans une liste $type
*/
function create_new_random($n,$type="")
{
$str = "";
 
switch ($type){
default:{
$chaine = "abcdefghkmnpqrstuvwxyzABCDEFGHKLMNPQRSTUVWXYZ23456789";
}
break;
}
srand((double)microtime()*1000000);
for($i = 0; $i < $n; $i++){
$str .= $chaine[rand()%strlen($chaine)];
}
return "$str";
}
 
//==============================================================================
/** function nextId () Renvoie le prochain identifiant numérique libre d'une table
*
* On passe en paramètre le nom de la table et l'identifiant de la base selon PEAR DB
*
* @param mixed handler de connexion
* @param string Nom de la table
* return interger l'identifiant
*/
 
function nextId ($table, $colonne_identifiant)
{
$requete = 'select MAX('.$colonne_identifiant.') as maxi from '.$table ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die (__FILE__ . __LINE__ . $resultat->getMessage() . $requete);
return $GLOBALS['ins_db']->raiseError($resultat) ;
}
if ($resultat->numRows() > 1) {
return $GLOBALS['ins_db']->raiseError("<br/>La table $table a un identifiant non unique<br/>") ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
return $ligne->maxi + 1 ;
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.2 2004/12/17 17:41:51 alex
* ajout du numéro de tel, du fax et de la structure
*
* Revision 1.1 2004/12/15 13:32:25 alex
* version initiale
*
* Revision 1.2 2004/09/01 16:37:52 alex
* modification du formulaire
*
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.7 2004/07/06 15:28:41 alex
* en cours
*
* Revision 1.5 2004/07/06 15:22:19 alex
* en cours
*
=======
* Revision 1.4 2004/06/30 10:00:26 alex
* modification de l'envoie de mail
*
* Revision 1.2 2004/06/23 12:41:51 alex
* amélioration de la gestion de la perte de mot de passe
*
* Revision 1.1 2004/06/18 09:20:47 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
?>
/trunk/client/inscription/bibliotheque/ins_spip.fonct.php
1,104 → 1,107
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: ins_spip.fonct.php,v 1.1 2004-12-15 13:32:25 alex Exp $
/**
* Fonctions wikini
*
* Ce fichier propose 3 fonctions pour intervenir sur la table interwikini_users.
*
*@package inscription
*@subpackage fonctions_wikini
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-12-15 13:32:25 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
function inscription_spip($id, &$valeur)
{
 
// Requete pour inscrire dans SPIP
if (isset ($valeur['nomwiki'])) {
$login = $valeur['nomwiki'] ;
} else {
$login = $valeur['email'] ;
}
$requete = "insert into spip_auteurs set id_auteur=$id, nom=\"".$valeur['prenom']." ".$valeur['nom'].
"\",email=\"".$valeur['email']."\",login=\"".$login.
"\", pass=\"".md5($valeur['password'])."\", statut=\"nouveau\", lang=\"".
strtolower($valeur['pays'])."\"" ;
@mysql_query($requete) or die ("$requete<br>Echec <br>".mysql_error()) ;
}
 
function mod_inscription_spip($id, &$valeur)
{
if (isset ($valeur['nomwiki'])) {
$login = $valeur['nomwiki'] ;
} else {
$login = $valeur['email'] ;
}
//BIEN METTRE alea_actuel, htpass ET alea_futur À ""
$requete = "update spip_auteurs set nom=\"".$valeur['prenom']." ".$valeur['nom'].
"\",email=\"".$valeur['email']."\",login=\"".$login.
"\", pass=\"".md5($valeur['password'])."\", htpass=\"\", alea_actuel=\"\", alea_futur=\"\", lang=\"fr\" where id_auteur=$id" ;
//echo $requete;
@mysql_query($requete) or die ("$requete<br>Echec <br>".mysql_error()) ;
}
function desinscription_spip($id_utilisateur)
{
$requete = 'delete from spip_auteurs where id_auteur='.$id_utilisateur ;
@mysql_query($requete) or die ("$requete<br>Echec de la requête de mise à la poubelle de l'utilisateur dans spip <br>".mysql_error()) ;
}
 
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.2 2004/06/25 14:25:27 alex
* modification de la requete de suppresssion
*
* Revision 1.1 2004/06/18 09:20:48 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
 
 
 
?>
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: ins_spip.fonct.php,v 1.2 2005-03-21 16:57:30 florian Exp $
/**
* Fonctions wikini
*
* Ce fichier propose 3 fonctions pour intervenir sur la table interwikini_users.
*
*@package inscription
*@subpackage fonctions_wikini
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.2 $ $Date: 2005-03-21 16:57:30 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
function inscription_spip($id, &$valeur)
{
 
// Requete pour inscrire dans SPIP
if (isset ($valeur['nomwiki'])) {
$login = $valeur['nomwiki'] ;
} else {
$login = $valeur['email'] ;
}
$requete = "insert into spip_auteurs set id_auteur=$id, nom=\"".$valeur['prenom']." ".$valeur['nom'].
"\",email=\"".$valeur['email']."\",login=\"".$login.
"\", pass=\"".md5($valeur['password'])."\", statut=\"nouveau\", lang=\"".
strtolower($valeur['pays'])."\"" ;
@mysql_query($requete) or die ("$requete<br>Echec <br>".mysql_error()) ;
}
 
function mod_inscription_spip($id, &$valeur)
{
if (isset ($valeur['nomwiki'])) {
$login = $valeur['nomwiki'] ;
} else {
$login = $valeur['email'] ;
}
//BIEN METTRE alea_actuel, htpass ET alea_futur À ""
$requete = "update spip_auteurs set nom=\"".$valeur['prenom']." ".$valeur['nom'].
"\",email=\"".$valeur['email']."\",login=\"".$login.
"\", pass=\"".md5($valeur['password'])."\", htpass=\"\", alea_actuel=\"\", alea_futur=\"\", lang=\"fr\" where id_auteur=$id" ;
//echo $requete;
@mysql_query($requete) or die ("$requete<br>Echec <br>".mysql_error()) ;
}
function desinscription_spip($id_utilisateur)
{
$requete = 'delete from spip_auteurs where id_auteur='.$id_utilisateur ;
@mysql_query($requete) or die ("$requete<br>Echec de la requête de mise à la poubelle de l'utilisateur dans spip <br>".mysql_error()) ;
}
 
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/12/15 13:32:25 alex
* version initiale
*
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.2 2004/06/25 14:25:27 alex
* modification de la requete de suppresssion
*
* Revision 1.1 2004/06/18 09:20:48 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
 
 
 
?>