Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 1420 → Rev 1421

/trunk/client/bottin/inscription.php
19,7 → 19,7
// | 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.23 2007-04-11 08:30:12 neiluj Exp $
// CVS : $Id: inscription.php,v 1.24 2007-05-25 14:31:10 alexandre_tb Exp $
/**
* Inscription
*
31,8 → 31,8
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Florian SCHMITT <florian@ecole-et-nature.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.23 $ $Date: 2007-04-11 08:30:12 $
*@copyright Tela-Botanica 2000-2007
*@version $Revision: 1.24 $ $Date: 2007-05-25 14:31:10 $
// +------------------------------------------------------------------------------------------------------+
*/
 
41,7 → 41,8
// +------------------------------------------------------------------------------------------------------+
include_once 'configuration/bottin.config.inc.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/bottin.fonct.php';
 
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.fonct.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/bottin.class.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' ;
71,7 → 72,9
function afficherContenuCorps() {
$res = '<h1>'.INS_TITRE_INSCRIPTION.'</h1>'."\n" ;
 
// Recuperation de la configuration
$GLOBALS ['ins_config'] = inscription::getConfig();
 
//cas de la déconnexion----------------------------------------------------------------------------------
if ($_REQUEST['action'] == 'deconnexion') {
$GLOBALS['AUTH']->logout() ;
92,11 → 95,15
$nom_wiki = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_NOM_WIKINI) ;
desinscription_interwikini_users($nom_wiki) ;
}
$msg = '';
// 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' ;
if ($repertoire != '.' || $repertoire != '..') {
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' ;
}
if ($msg != '') $res .= $msg;
}
$d->close();
119,6 → 126,9
//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('/&amp;/', '&', $GLOBALS['ins_url']->getURL()), '_self', '', 0) ;
if ($_REQUEST['action'] == 'modifier') {
$formulaire->setDefaults(inscription_formulaire_defaults()) ;
}
$formulaire->construitFormulaire(preg_replace('/&amp;/', '&', $GLOBALS['ins_url']->getURL()));
if (isset($_REQUEST['form_structure'])) {
if ($_REQUEST['form_structure']==1) {
148,17 → 158,22
if ($_REQUEST['action'] == 'inscription_v') {
if ($formulaire->validate()) {
if (INS_MAIL_VALIDATION_INSCRIPTION) {
if ($GLOBALS['ins_config']['ic_mail_valide_inscription']) {
$formulaire->process('inscription_demande', false) ;
return $res.INS_MESSAGE_INSCRIPTION;
} else {
if ($GLOBALS['ins_config']['ic_inscription_modere']) {
return inscription::demandeInscriptionModere($formulaire->getSubmitValues());
}
$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' ;
if ($repertoire != '.' && $repertoire != '..') {
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();
181,42 → 196,63
}
//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<br />".$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'] ;
if ($GLOBALS['ins_config']['ic_mail_valide_inscription'] && isset($_GET['id'])) {
// On loggue l'utilisateur
$GLOBALS['AUTH']->login() ;
// si l inscription est modere on place la demande en attente
// et on envoie un mail au moderateur
// inscription à la lettre d'information
if (isset ($donnees['lettre'])) {
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
if ($GLOBALS['ins_config']['ic_inscription_modere']) {
$requete_attente = 'insert into inscription_attente select * from inscription_demande where id_identifiant_session="'.
$_GET['id'].'"';
$resultat = $GLOBALS['ins_db']->query($requete_attente);
if (DB::isError ($resultat)) {
return ("Echec de la requete : $requete<br />".$resultat->getMessage());
}
$mails_moderateur = split ('/\n/', $GLOBALS['ins_config']['ic_mail_moderateur']);
foreach ($mails_moderateur as $mail) {
mail ($mail, INS_MODERATION_SUJET, INS_NOUVELLE_INSCRIPTION_A_MODERE) ;
}
} else {
$requete = 'SELECT id_donnees FROM inscription_demande WHERE id_identifiant_session="'.$_GET['id'].'"' ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError ($resultat)) {
return ("Echec de la requete : $requete<br />".$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($GLOBALS['ins_config']['ic_mail_inscription_news']) ;
}
// 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();
envoie_mail() ;
}
// 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<br />".$resultat->getMessage()) ;
return ("Echec de la requete : $requete<br />".$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')) {
238,6 → 274,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.23 2007/04/11 08:30:12 neiluj
* remise en état du CVS...
*
* Revision 1.20.2.1 2007/01/26 10:32:59 alexandre_tb
* suppression d un notice
*
/trunk/client/bottin/bibliotheque/bottin.class.php
26,11 → 26,11
*@version 05 avril 2006
// +-----------------------------------------------------------------------------------------------+
//
// $Id: bottin.class.php,v 1.1 2006-12-13 13:26:52 alexandre_tb Exp $
// $Id: bottin.class.php,v 1.2 2007-05-25 14:31:24 alexandre_tb Exp $
// FICHIER : $RCSfile: bottin.class.php,v $
// AUTEUR : $Author: alexandre_tb $
// VERSION : $Revision: 1.1 $
// DATE : $Date: 2006-12-13 13:26:52 $
// VERSION : $Revision: 1.2 $
// DATE : $Date: 2007-05-25 14:31:24 $
*/
 
 
82,8 → 82,145
}
}
 
 
class inscription extends PEAR {
/**
* Constructeur
*
*
* @return void
* @access public
*/
function inscription() {
}
/**
* Renvoie le code HTML d une liste avec les lettres
*
* @global Un pointeur vers une connexion de base de donnee $GLOBALS['ins_url']
* @return array ['ic_param'] les parametres tels que dans la table inscription_config
* @access public
*/
function getConfig() {
// Recuperation de la configuration
$requete = 'select * from inscription_configuration';
$resultat = $GLOBALS['ins_db']->query($requete);
if (DB::isError($resultat)) return "Echec de la requete : $requete<br />".$resultat->getMessage() ;
if ($resultat->numRows() != 0) {
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
return $ligne;
} else {
return $this->raiseError('La table inscription_configuration est vide...');
}
}
/**
* Renvoi un tableau avec les informations de inscription_attente
*
* @global Un pointeur vers une connexion de base de donnee $GLOBALS['ins_db']
* @return array Un tableau ['id'], ['nom'], ['prenom'] ... ou la chaine vide si il n'y a personne en attente
* @access public
*/
function getInscritEnAttenteModeration() {
$requete = 'select * from inscription_attente';
$resultat = $GLOBALS['ins_db']->query($requete);
$tableau_inscrit = array();
if (DB::isError($resultat)) return "Echec de la requete : $requete<br />".$resultat->getMessage() ;
if ($resultat->numRows() != 0) {
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$donnees = unserialize (stripslashes($ligne->ia_donnees)) ;
array_push ($tableau_inscrit, array_merge (array('id' => $ligne->ia_id_inscription, 'date' => $ligne->ia_date), $donnees));
}
return $tableau_inscrit;
} else {
return '';
}
}
/** Renvoi le tableau des inscrits en attente
*
* @global $GLOBALS['ins_url'] un objet Net_URL avec l url courante
* @param array Un tableau de tableau d inscrit avec ['id'],['nom'],['prenom'],['email'],['ville'],['date']
* @return string Un tableau HTML
*/
function getTableauEnAttente($tableau) {
$html = '';
$table = new HTML_Table();
$table->addRow(array (INS_NOM, INS_EMAIL, INS_VILLE, INS_DATE_INS, INS_ACTION), '', 'TH');
$GLOBALS['ins_url']->addQueryString(ANN_NOM_VARIABLE_ACTION, ANN_ACTION_VALIDER_INSCRIPTION);
$action = '<a href="'.$GLOBALS['ins_url']->getURL().'">'.'</a>';
foreach ($tableau as $demandeur) {
$table->addRow(array($demandeur['nom'].' '.$demandeur['prenom'], $demandeur['email'], $demandeur['ville'], $demandeur['date']));
}
return $table->toHTML();
}
/**
* Renvoie un tableau avec les moderateurs de l inscription
* ceux du champs ic_mail_moderateur
*
* @return array Un tableau de mail de moderateur
*/
function getModerateurs() {
}
/**
* Insere une demande d inscription dans la table inscription_attente et
* envoi un mail aux moderateurs
*
* @param string Un identifiant de session, soit genere aleatoirement soit venu de la tablea inscription_demande
* @global array la globale $GLOBALS['ins_config']
* @global mixed un pointeur vers une base de donnees $GLOBALS['ins_db']
* @return string Un message a renvoye a l utilisateur indiquant que sa demande a ete prise en compte
*/
function demandeInscriptionModere($valeurs) {
// On stocke les informations dans un variable de session
// On coupe l'identifiant de session pour ne prendre que les 8 premiers caractères
// afin d'éviter d'obtenir une url trop longue
$chaine = substr (session_id(), 0, 8) ;
$requete_verif = 'select * from inscription_attente where ia_id_inscription="'.$chaine.'"' ;
$resultat_verif = $GLOBALS['ins_db']->query ($requete_verif) ;
if ($resultat_verif->numRows() != 0) {
$requete_suppression = 'delete from inscription_attente where ia_id_inscription="'.$chaine.'"' ;
$GLOBALS['ins_db']->query ($requete_suppression) ;
}
$requete = 'insert into inscription_attente set ia_id_inscription="'.$chaine.'", ia_donnees="'.
addslashes(serialize($valeurs)).'", ia_date=NOW()' ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError ($resultat)) {
echo ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
// On envoie un email aux moderateurs
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/Template/IT.php';
$tpl = new HTML_Template_IT() ;
// Le gabarit du mail est dans un template
// template 3
$url = $GLOBALS['ins_url']->getURL();
$requete = 'select it_template from inscription_template where it_id_template=3'.
' and it_i18n like "%'.INS_LANGUE_DEFAUT.'"' ;
if (!$tpl -> setTemplate($GLOBALS['ins_db']->getOne ($requete))) {
echo 'erreur' ;
}
$tpl->setVariable('URL_INSCRIPTION', $url) ;
$mails_moderateur = split ('/\n/', $GLOBALS['ins_config']['ic_mail_moderateur']);
foreach ($mails_moderateur as $mail) {
mail ($mail, INS_MODERATION_SUJET, INS_NOUVELLE_INSCRIPTION_A_MODERE) ;
}
return INS_MESSAGE_EN_ATTENTE ;
}
}
//-- Fin du code source ------------------------------------------------------------
/*
* $Log: not supported by cvs2svn $
* Revision 1.1 2006/12/13 13:26:52 alexandre_tb
* version initiale
*
*/
?>
/trunk/client/bottin/bibliotheque/bottin.fonct.php
605,9 → 605,18
 
 
/**
* Inscription_demande
*
* @param array les valeurs renvoyés par le formulaire
* @return
* Cette fonction insere dans la table inscription_demande
* les donnees saisies dans le formulaire
* et envoi un mail de confirmation a l utilisateur
* Ce mail contient un lien pour valider l inscription
*
* Le mail peut etre modifier via le modele de inscription_template
* ayant pour it_id_template = 2
*
* @param array les valeurs renvoyes par le formulaire
* @return void
*/
function inscription_demande($valeurs) {
// On stocke les informations dans un variable de session
665,7 → 674,7
$GLOBALS['AUTH']->login() ;
// inscription à la lettre d'information
if (INS_CHAMPS_LETTRE != '' && isset ($valeurs['lettre'])) {
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
//inscription_lettre($GLOBALS['ins_config']['ic_mail_inscription_news']) ;
}
}
 
797,11 → 806,11
if (INS_CHAMPS_LETTRE != '') {
if (isset($valeur['lettre'])) {
$req .= ', '.INS_CHAMPS_LETTRE.'="'.$valeur['lettre'].'" ';
inscription_lettre('inscrire');
//inscription_lettre('inscrire');
}
else {
$req .= ', '.INS_CHAMPS_LETTRE.'=0 ';
inscription_lettre('desinscrire');
//inscription_lettre('desinscrire');
}
}
828,6 → 837,9
}
if (INS_UTILISE_WIKINI && isset ($valeur['nom_wiki'])) $req .= ','.INS_CHAMPS_NOM_WIKINI.'="'.$valeur['nom_wiki'].'"';
if ($GLOBALS['ins_config']['ic_google_key']) {
$req .= ', a_longitude="'.$valeur['longitude'].'", a_latitude="'.$valeur['latitude'].'"';
}
return $req ;
}
 
870,6 → 882,10
$valeurs_par_defaut['visible'] = $ligne[INS_CHAMPS_VISIBLE] ;
$valeurs_par_defaut['sigle_structure'] = $ligne[INS_CHAMPS_SIGLE_STRUCTURE] ;
if (INS_CHAMPS_NUM_AGREMENT != '') $valeurs_par_defaut['num_agrement'] = $ligne[INS_CHAMPS_NUM_AGREMENT] ;
if ($GLOBALS['ins_config']['ic_google_key']) {
$valeurs_par_defaut['longitude'] = $ligne['a_longitude'] ;
$valeurs_par_defaut['latitude'] = $ligne['a_latitude'] ;
}
return $valeurs_par_defaut ;
}
 
1287,6 → 1303,9
//-- Fin du code source ------------------------------------------------------------
/*
* $Log$
* Revision 1.13 2007/04/20 14:04:38 alexandre_tb
* inclusion de QuickForm qui manquait
*
* Revision 1.12 2007/04/11 08:30:12 neiluj
* remise en état du CVS...
*
/trunk/client/bottin/bibliotheque/inscription.fonct.php
19,7 → 19,7
// | 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.28 2007-04-20 08:39:37 alexandre_tb Exp $
// CVS : $Id: inscription.fonct.php,v 1.29 2007-05-25 14:32:17 alexandre_tb Exp $
/**
* Fonctions du module inscription
*
31,7 → 31,7
//Autres auteurs :
*@author Florian Schmitt <florian@ecole-et-nature.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.28 $ $Date: 2007-04-20 08:39:37 $
*@version $Revision: 1.29 $ $Date: 2007-05-25 14:32:17 $
// +------------------------------------------------------------------------------------------------------+
*/
 
96,23 → 96,7
mail ($GLOBALS['email'], 'Inscription', $tpl->get(), 'From: '.INS_MAIL_ADMIN_APRES_INSCRIPTION) ;
}
 
/**
*
* @param array les valeurs renvoyés par le formulaire
* @return
*/
 
function inscription_validee($valeurs) {
insertion($valeurs) ;
$GLOBALS['AUTH']->username = $valeurs['email'] ;
$GLOBALS['AUTH']->password = $valeurs['mot_de_passe'] ;
// On loggue l'utilisateur
$GLOBALS['AUTH']->login() ;
// inscription à la lettre d'information
if (INS_CHAMPS_LETTRE != '' && isset ($valeurs['lettre'])) {
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
}
}
 
/**
* Renvoie l'accueil de l'inscription
266,6 → 250,9
$req .= ",".INS_CHAMPS_DEPARTEMENT."='$n_dpt'";
}
if (INS_UTILISE_WIKINI && isset ($valeur['nom_wiki'])) $req .= ','.INS_CHAMPS_NOM_WIKINI.'="'.$valeur['nom_wiki'].'"';
if ($GLOBALS['ins_config']['ic_google_key']) {
$req .= ', a_longitude="'.$valeur['longitude'].'", a_latitude="'.$valeur['latitude'].'"';
}
return $req ;
}
 
312,123 → 299,6
}
 
 
/** info() - Renvoie une fiche d'information sur la personne ou la structure
*
* @param integer identifiant de la fiche a afficher, mettre -1 pour voir sa propre fiche
* @param text nom de l'onglet de la fiche
*
* @return text Code HTML de la fiche
*/
function info($id=-1, $type_info='fiche') {
if ($id==-1) $id=$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
$requete = 'SELECT * FROM '.INS_ANNUAIRE.' WHERE '.INS_ANNUAIRE.'.'
.INS_CHAMPS_ID.'="'.$id.'"' ;
$resultat = $GLOBALS['ins_db'] -> query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
 
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
//voir la présentation de la fiche
if ($type_info=='fiche') {
if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 1) {
$res = '<h1>'.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_FICHE_STRUCTURE.'</h2>'."\n" ;
$res .= '<ul class="affiche_infos">'."\n";
$res .= ligne_inscription(INS_SIGLE_DE_LA_STRUCTURE, $ligne[INS_CHAMPS_SIGLE_STRUCTURE]) ;
if (INS_CHAMPS_NUM_AGREMENT != '') $res .= ligne_inscription(INS_NUM_AGREMENT, $ligne[INS_CHAMPS_NUM_AGREMENT]) ;
} else {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_FICHE_PERSONNELLE.'</h2>'."\n" ;
$res .= '<ul class="affiche_infos">'."\n";
}
$res .= ligne_inscription(INS_ADRESSE_1, $ligne[INS_CHAMPS_ADRESSE_1]) ;
$res .= ligne_inscription(INS_ADRESSE_2, $ligne[INS_CHAMPS_ADRESSE_2]) ;
$res .= ligne_inscription(INS_CODE_POSTAL, $ligne[INS_CHAMPS_CODE_POSTAL]) ;
$res .= ligne_inscription(INS_VILLE, $ligne[INS_CHAMPS_VILLE]) ;
$pays = new ListeDePays($GLOBALS['ins_db']) ;
$res .= ligne_inscription(INS_PAYS, $pays->getNomPays($ligne[INS_CHAMPS_PAYS], INS_LANGUE_DEFAUT)) ;
$res .= ligne_inscription(INS_TELEPHONE, $ligne[INS_CHAMPS_TELEPHONE]) ;
$res .= ligne_inscription(INS_FAX, $ligne[INS_CHAMPS_FAX]) ;
if (INS_UTILISE_WIKINI) {
$res .= ligne_inscription (INS_NOM_WIKI, $ligne[INS_CHAMPS_NOM_WIKINI]) ;
}
if ($ligne[INS_CHAMPS_SITE_INTERNET]!='') {
$res .= ligne_inscription(INS_SITE_INTERNET, '<a href="'.$ligne[INS_CHAMPS_SITE_INTERNET].'" onclick="javascript:window.open(this.href);return false;">'.$ligne[INS_CHAMPS_SITE_INTERNET].'</a>');
}
if ($GLOBALS['AUTH']->getAuth()) $res .= ligne_inscription(INS_EMAIL, '<a href="mailto:'.$ligne[INS_CHAMPS_MAIL].'">'.$ligne[INS_CHAMPS_MAIL].'</a>');
else $res .= '<br /><p class="zone_info">'.INS_PAS_IDENTIFIE.'</p>'."\n";
$res .= '</ul>'."\n";
if ($id==$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)) {
$res .= '<br />'."\n";
$res .= '<ul>'."\n";
if ($ligne[INS_CHAMPS_VISIBLE] == 1) {
$res .= '<li>'.INS_VOUS_APPARAISSEZ.'</li>'."\n";
} else $res .= '<li>'.INS_VOUS_APPARAISSEZ_PAS.'</li>'."\n";
if (INS_CHAMPS_LETTRE != '') {
if ($ligne[INS_CHAMPS_LETTRE] == 1) {
$res .= '<li>'.INS_VOUS_RECEVEZ_LETTRE.'</li>'."\n";
} else $res .= '<li>'.INS_VOUS_RECEVEZ_PAS_LETTRE.'</li>'."\n";
}
$res .= '</ul>'."\n";
$res .= '<br />'."\n";
$res .= '<ul>'."\n";;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=modifier&amp;form_structure='.$ligne[INS_CHAMPS_EST_STRUCTURE].'">'.INS_MODIFIER_INSCRIPTION.'</a></li>'."\n" ;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=supprimer&amp;form_structure='.$ligne[INS_CHAMPS_EST_STRUCTURE].'" onclick="javascript:return confirm(\''.INS_SUPPRIMER_INSCRIPTION.'?\');">'.INS_SUPPRIMER_INSCRIPTION.'</a></li>'."\n" ;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=deconnexion">'.INS_DECONNEXION.'</a></li>'."\n" ;
$res .= '</ul>'."\n";
}
//voir les abonnements presents dans les applis clientes
} elseif ($type_info=='abonnement') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_GESTION_DES_ABONNEMENTS.'</h2>'."\n" ;
// Appel des actions d'abonnement des applications clientes
$d = dir(GEN_CHEMIN_CLIENT);
$abonnement='';
$abonnements='';
while (false !== ($repertoire = $d->read())) {
if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.'bibliotheque'.GEN_SEP.$repertoire.'.abonnement.inc.php')) {
require_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.'bibliotheque'.GEN_SEP.$repertoire.'.abonnement.inc.php' ;
$abonnements .= $abonnement;
}
}
$d->close();
$res .= $abonnements;
//voir les actus
} elseif ($type_info=='actus') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_ACTUALITES_DEPOSEES.'</h2>'."\n" ;
require_once GEN_CHEMIN_CLIENT.'bazar'.GEN_SEP.'configuration'.GEN_SEP.'baz_config.inc.php';
require_once GEN_CHEMIN_CLIENT.'bazar'.GEN_SEP.'bibliotheque'.GEN_SEP.'bazar.fonct.rss.php';
$_GET['action']=1;
$res .= RSSversHTML(gen_RSS('', '', $id, 1, ''), 0, 'jma', 0);
//voir les ressources
} elseif ($type_info=='ressources') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_RESSOURCES_ASSOCIEES.'</h2>'."\n" ;
$requete = 'SELECT bf_id_fiche, bf_titre FROM bazar_fiche, bazar_appropriation WHERE ba_ce_id_fiche=bf_id_fiche AND ba_ce_id_structure='.$id ;
$resultat = $GLOBALS['ins_db'] -> query($requete) ;
$res .= '<ul>'."\n";
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<li><a href="'.INS_URL_BAZAR.'&amp;action=8&amp;id_fiche='.$ligne['bf_id_fiche'].'" onclick="window.open(this.href,\'_blank\');return false;">'.$ligne['bf_titre'].'</a></li>'."\n";
}
$res .= '</ul><br />'."\n";
//voir les competences
} elseif ($type_info=='competences') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_COMPETENCES_ASSOCIEES.'</h2>'."\n" ;
}
return $res ;
}
 
 
/** ligne_inscription() - Renvoie une ligne avec label et valeur
*
* @param string label Le label
517,32 → 387,7
}
 
/**
* Inscrit un adhérent à la lettre d'actualité par l'envoie d'un email subscribe / unsubscribe
* à la liste
*
* @global AUTH Un objet PEAR::Auth
* @return boolean true en cas de succès
*/
 
function inscription_lettre($action) {
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.php' ;
$mail = & Mail::factory ('smtp') ;
$email = $GLOBALS['AUTH']->getUsername() ;
$headers ['Return-Path'] = $email ;
$headers ['From'] = "<".$email.">" ;
$headers ['Subject'] = $action ;
$headers ['Reply-To'] = $email ;
$mail -> send ($action, $headers, "") ;
if (PEAR::isError ($mail)) {
echo '<p class="erreur">Le mail n\'est pas parti...</p>' ;
return false ;
}
return true ;
}
 
/**
*
* @global ins_db Un pointeur vers un objet PEAR::DB connecté
* @return
*/
657,37 → 502,6
}
 
//==============================================================================
/** 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
716,6 → 530,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.28 2007/04/20 08:39:37 alexandre_tb
* correction de commentaire
*
* Revision 1.27 2007/04/11 08:30:12 neiluj
* remise en état du CVS...
*
/trunk/client/bottin/inscription.admin.php
25,8 → 25,9
*@package bottin
//Auteur original :
*@author Florian Schmitt <florian@ecole-et-nature.org>
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@copyright Tela-Botanica 2000-2007
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
71,17 → 72,9
// Gestion des boutons de l'interface
if (isset($_POST['afficheur_annuler'])) {
return false;
} else if (isset($_POST['afficheur_enregistrer_quitter'])) {
$requete = 'UPDATE gen_menu SET gm_application_arguments="type_annuaire='.$_POST['type_annuaire'].'" WHERE gm_id_menu='.$_GET['adme_menu_id'];
$resultat = $this->objet_pear_db->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
return false;
}
}
//--------------------------------------------------------------------------------------------------------------
// Gestion des valeurs par defauts, en fonctions des donnees sauvees dans carto_config
 
$requete = 'SELECT gm_application_arguments FROM gen_menu WHERE gm_id_menu='.$_GET['adme_menu_id'];
$resultat = $this->objet_pear_db->query($requete) ;
if (DB::isError($resultat)) {
105,17 → 98,49
$valeurs_par_defaut['type_annuaire']=0;
}
//-------------------------------------------------------------------------------------------------------------
// Si le formulaire vient d etre poste, on met a jour la table inscription_configuration
if (isset($_POST['enregistrer_quitter'])) {
$req = 'update inscription_configuration set '.
'ic_formulaire_structure="'.$_POST['ic_formulaire_structure'].'", '.
'ic_url_bazar="'.$_POST['ic_url_bazar'].'", '.
(isset ($_POST['ic_inscription_modere']) ? 'ic_inscription_modere="'.$_POST['ic_inscription_modere'].'", ':'').
'ic_mail_moderateur="'.$_POST['ic_mail_moderateur'].'", '.
'ic_sujet_mail="'.$_POST['ic_sujet_mail'].'", '.
'ic_utilise_nom_wiki="'.$_POST['ic_utilise_nom_wiki'].'", '.
(isset ($_POST['ic_genere_nom_wiki']) ? 'ic_genere_nom_wiki="'.$_POST['ic_genere_nom_wiki'].'", ':'').
(isset ($_POST['ic_utilise_reecriture_url']) ? 'ic_utilise_reecriture_url="'.$_POST['ic_utilise_reecriture_url'].'", ':'').
'ic_url_prefixe="'.$_POST['ic_url_prefixe'].'", '.
(isset ($_POST['ic_mail_valide_inscription']) ? 'ic_mail_valide_inscription="'.$_POST['ic_mail_valide_inscription'].'", ':'').
'ic_google_key="'.$_POST['ic_google_key'].'", '.
'ic_mail_admin_apres_inscription="'.$_POST['ic_mail_admin_apres_inscription'].'"';
//$this->objet_pear_db->query($req);
// On place la configuration dans gm_application_arguments de la table gen_menu
$requete = 'update gen_menu set gm_application_arguments = \''.serialize($_POST).'" where gm_id_menu="'.
$_REQUEST['adme_menu_id'].'\'';
$resultat = $this->objet_pear_db->query($requete);
if (DB::isError($resultat)) {
return ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
}
// Requete pour recuperer les valeurs de la table inscription_config
$requete = 'select * from inscription_configuration';
$resultat = $this->objet_pear_db->getRow($requete, '', DB_FETCHMODE_ASSOC) ;
$resultat = $this->objet_pear_db->query($requete) ;
if (DB::isError($resultat)) {
return ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
if (!is_object($resultat)) {
$this->sortie_xhtml .= 'ok';
} else {
if ($resultat->numRows() == 0) {
return 'La table inscription_configuration est vide. Il faut qu\'elle contienne au moins une ligne';
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
 
//-------------------------------------------------------------------------------------------------------------
// Gestion du formulaire
$this->objet_pear_url->addQueryString('adme_site_id', $_GET['adme_site_id']);
142,17 → 167,16
$form->addElement('textarea', 'ic_mail_moderateur', INS_MAILS_MODERATEURS, array('cols' => 30, 'rows' => 4));
$form->addElement('checkbox', 'ic_mail_valide_inscription', INS_INSCRIPTION_VERIFICATION_EMAIL);
$form->addElement('textarea', 'ic_mail_admin_apres_inscription', INS_MAILS_ADMIN, array('cols' => 30, 'rows' => 4));
$form->addElement('text', 'ic_sujet_mail', INS_SUJET_MAIL_CONFIRMATION);
$form->addElement('text', 'ic_sujet_mail', INS_SUJET_MAIL_CONFIRMATION, array('size' => '60'));
$form->addElement('checkbox', 'ic_utilise_nom_wiki', INS_CHAMPS_WIKI);
$form->addElement('checkbox', 'ic_genere_nom_wiki', INS_GENERE_NOM_WIKI);
$form->addElement('checkbox', 'ic_utilise_reecriture_url', INS_REECRITURE_URL);
$form->addElement('text', 'ic_url_prefixe', INS_PREFIXE_URL);
$form->addElement('submit', 'afficheur_enregistrer_quitter', INS_ENREGISTRER_ET_QUITTER);
$form->addElement('text', 'ic_google_key', INS_GOOGLE_KEY, array('size' => '60'));
$form->addElement('submit', 'enregistrer_quitter', INS_ENREGISTRER_ET_QUITTER);
$form->addElement('button', 'afficheur_annuler', INS_ANNULER);
//$liste_bouton_fin = '</ul>'."\n";
//$form->addElement('html', $liste_bouton_fin);
foreach ($resultat as $cle => $valeur) $valeurs_par_defaut[$cle] = $valeur ;
$form->setDefaults($valeurs_par_defaut);
$form->setDefaults($ligne);
$this->sortie_xhtml .= $form->toHTML()."\n";
return $this->sortie_xhtml;
}