//Autres auteurs : *@author Florian SCHMITT *@copyright Tela-Botanica 2000-2004 *@version $Revision: 1.23 $ $Date: 2007-04-11 08:30:12 $ // +------------------------------------------------------------------------------------------------------+ */ // +------------------------------------------------------------------------------------------------------+ // | ENTETE du PROGRAMME | // +------------------------------------------------------------------------------------------------------+ include_once 'configuration/bottin.config.inc.php'; include_once INS_CHEMIN_APPLI.'bibliotheque/bottin.fonct.php'; // Inclusion d'une classe personnalisé si elle existe if (file_exists (INS_CHEMIN_APPLI.'bibliotheque/inscription.class.local.php')) { include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.local.php' ; } else { include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.php'; } // +------------------------------------------------------------------------------------------------------+ // | LISTE de FONCTIONS | // +------------------------------------------------------------------------------------------------------+ if (!isset($_REQUEST['action'])) { $_REQUEST['action']=''; } if ( isset($_GET['voir_fiche']) or isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) or (isset($_REQUEST['action'])&&($_REQUEST['action']=='modifier_v'||$_REQUEST['action']=='modifier_v')) or ($GLOBALS['AUTH']->getAuth() && ($_REQUEST['action']!='modifier')) ) { //---------------le menu de l'appli----------- function afficherContenuNavigation () { $res =inscription_onglets(); return $res ; } } function afficherContenuCorps() { $res = '

'.INS_TITRE_INSCRIPTION.'

'."\n" ; //cas de la déconnexion---------------------------------------------------------------------------------- if ($_REQUEST['action'] == 'deconnexion') { $GLOBALS['AUTH']->logout() ; $_POST['username'] = '' ; $_POST['password'] = '' ; return $res.inscription_AUTH_formulaire_login() ; } //cas de la désinscription------------------------------------------------------------------------------- if ($_REQUEST['action'] == 'supprimer') { $id_utilisateur = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ; // Suppression dans SPIP if (INS_UTILISE_SPIP) { desinscription_spip($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)) ; } // Suppression dans Wikini if (INS_UTILISE_WIKINI) { $nom_wiki = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_NOM_WIKINI) ; desinscription_interwikini_users($nom_wiki) ; } // Appel des actions desinscriptions des applications clientes $d = dir(GEN_CHEMIN_CLIENT); while (false !== ($repertoire = $d->read())) { if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php')) include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php' ; } $d->close(); $resultat = $GLOBALS['AUTH']->removeUser($GLOBALS['AUTH']->getUsername()) ; if (PEAR::isError($resultat)) { die ($resultat->getMessage().'
'.$resultat->getDebugInfo()) ; } // Deconnection $GLOBALS['AUTH']->logout() ; return $res.inscription_AUTH_formulaire_login() ; } //cas de l'envoi de mot de passe par mail---------------------------------------------------------------- if ($_REQUEST['action'] == 'sendpasswd') { return inscription_envoie_passe()."\n".inscription_formulaire_envoi_passe() ; } //cas de la saisie ou la modification de l'inscription individuelle ou structure if (($_REQUEST['action'] == 'modifier')or($_REQUEST['action'] == 'modifier_v')or($_REQUEST['action'] == 'inscription')or($_REQUEST['action'] == 'inscription_v')) { $formulaire = new HTML_formulaireInscription('formulaire_inscription', 'post', preg_replace('/&/', '&', $GLOBALS['ins_url']->getURL()), '_self', '', 0) ; $formulaire->construitFormulaire(preg_replace('/&/', '&', $GLOBALS['ins_url']->getURL())); if (isset($_REQUEST['form_structure'])) { if ($_REQUEST['form_structure']==1) { $formulaire->formulaireStructure() ; } } // On ajoute la règle de vérification mail uniquement lors de l inscription if ($_REQUEST['action'] == 'inscription') { $formulaire->registerRule('doublonmail', 'callback', 'verif_doublonMail'); $formulaire->addRule('email', INS_MAIL_DOUBLE, 'doublonmail', true); } //pour la modification d'une inscription, on charge les valeurs par défauts if ($_REQUEST['action'] == 'modifier') { $formulaire->addElement('hidden', 'action', 'modifier_v') ; $formulaire->setDefaults(inscription_formulaire_defaults()) ; } if ($_REQUEST['action'] == 'inscription') { if ($GLOBALS['AUTH']->getAuth()) { } else { $formulaire->addElement('hidden', 'action', 'inscription_v') ; $formulaire->setDefaults(array('pays' => 'fr', 'visible' => 1,'lettre'=>1)); } } if ($_REQUEST['action'] == 'inscription_v') { if ($formulaire->validate()) { if (INS_MAIL_VALIDATION_INSCRIPTION) { $formulaire->process('inscription_demande', false) ; return $res.INS_MESSAGE_INSCRIPTION; } else { $formulaire->process('inscription_validee', false) ; $id_utilisateur = $GLOBALS['ins_db']->getOne('SELECT MAX('.INS_CHAMPS_ID.') FROM '.INS_ANNUAIRE) ; // Appel des actions des inscriptions des applications clientes $d = dir(GEN_CHEMIN_CLIENT); while (false !== ($repertoire = $d->read())) { if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php')) include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php' ; } $d->close(); return $res.info(); } } else { // Si le formulaire n'est pas bon on remet l'action à inscription_v $formulaire->addElement('hidden', 'action', 'inscription_v') ; } } if ($_REQUEST['action'] == 'modifier_v') { if ($formulaire->validate()) { $formulaire->process('inscription_mise_a_jour', false) ; } else { return $formulaire->toHTML(); } return $res.info(); } return $res.$formulaire->toHTML() ; } //cas de la validation par mail d'une inscription-------------------------------------------------------- if ((INS_MAIL_VALIDATION_INSCRIPTION)and(isset($_GET['id']))) { $requete = 'SELECT id_donnees FROM inscription_demande WHERE id_identifiant_session="'.$_GET['id'].'"' ; $resultat = $GLOBALS['ins_db']->query($requete) ; if (DB::isError ($resultat)) { die ("Echec de la requete : $requete
".$resultat->getMessage()) ; } if ($resultat->numRows() == 0) { return $res.INS_MESSAGE_EXPIRATION; } $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ; $donnees = unserialize (stripslashes($ligne->id_donnees)) ; $id_utilisateur = inscription_insertion($donnees) ; $GLOBALS['AUTH']->username = $donnees['email'] ; $GLOBALS['AUTH']->password = $donnees['mot_de_passe'] ; // On loggue l'utilisateur $GLOBALS['AUTH']->login() ; // inscription à la lettre d'information if (isset ($donnees['lettre'])) { inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ; } // On supprime la demande d'inscription $requete = 'delete from inscription_demande where id_identifiant_session="'.$_GET['id'].'"' ; $resultat = $GLOBALS['ins_db']->query($requete) ; if (DB::isError($resultat)) { die ("Echec de la requete : $requete
".$resultat->getMessage()) ; } // Appel des actions desinscriptions des applications clientes $d = dir(GEN_CHEMIN_CLIENT); while (false !== ($repertoire = $d->read())) { if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php')) include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php' ; } $d->close(); envoie_mail() ; } if ((!$GLOBALS['AUTH']->getAuth())&&($_REQUEST['action']!='inscription')&&($_REQUEST['action']!='inscription_v')) { if (isset($_POST['username']) && $_POST['username'] != '') { $res .= '

'.INS_ERREUR_LOGIN.'


'."\n".inscription_formulaire_envoi_passe(); } else { $res .= inscription_AUTH_formulaire_login() ; } } //cas d'une authentification réussie--------------------------------------------------------------------- if ($GLOBALS['AUTH']->getAuth() && ($_REQUEST['action']!='modifier')) { return info() ; } return $res ; } /* +--Fin du code ----------------------------------------------------------------------------------------+ * * $Log: not supported by cvs2svn $ * Revision 1.20.2.1 2007/01/26 10:32:59 alexandre_tb * suppression d un notice * * Revision 1.20 2006/12/01 13:23:17 florian * integration annuaire backoffice * * Revision 1.19 2006/10/05 13:53:54 florian * amélioration des fichiers sql * * Revision 1.18 2006/07/20 09:48:07 alexandre_tb * réglages * * Revision 1.17 2006/07/06 10:33:30 alexandre_tb * correction bug du à dernière mise à jour * * Revision 1.16 2006/07/04 09:38:31 alexandre_tb * Ajout de la règle doublon email uniquement lors de création d'une entrée * * Revision 1.15 2006/06/01 10:00:35 alexandre_tb * correction bug désinscription des appli cliente * * Revision 1.14 2006/04/10 09:48:16 alexandre_tb * Correction de bug pour les inscriptions aux autres applications * * Revision 1.13 2006/04/04 12:23:05 florian * modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire * * Revision 1.12 2006/03/15 11:05:45 alexandre_tb * ajout de l'action caché inscription_v lors du réaffichage du formulaire après erreur de saisie. * * Revision 1.11 2006/03/02 14:10:35 alexandre_tb * correction du bug desinscription wikini * * Revision 1.10 2006/03/02 13:03:45 alexandre_tb * bug de désinscription interwikini_users * * Revision 1.9 2006/02/28 14:08:27 alexandre_tb * appel des inscriptions des autres appli, sous le format: * client/appli/appli.inscription.php * * Revision 1.8 2006/02/14 10:21:08 alexandre_tb * ajout d'un appel à un fichier de classe personnalisé * * Revision 1.7 2005/12/19 13:16:14 alexandre_tb * correction d'un bug * * Revision 1.6 2005/11/18 16:04:15 florian * corrections de bugs, optimisations, tests pour rendre inscription stable. * * Revision 1.5 2005/11/17 18:48:02 florian * corrections bugs + amélioration de l'application d'inscription * * Revision 1.4 2005/10/25 14:02:21 alexandre_tb * le formulaire affiche la france par défaut * * Revision 1.3 2005/09/29 16:07:51 alexandre_tb * En cours de production. * * Revision 1.2 2005/09/27 13:59:24 alexandre_tb * correction de bogue, généralisation du code etc. * * Revision 1.1 2005/09/22 14:02:49 ddelon * nettoyage annuaire et php5 * * Revision 1.4 2005/09/22 13:30:49 florian * modifs pour compatibilité XHTML Strict + corrections de bugs (mais ya encore du boulot!!) * * Revision 1.4 2005/03/21 16:57:30 florian * correction de bug, mise à jour interface * * 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 ----------------------------------------------------------------------------------------+ */ ?>