/trunk/client/ins_annuaire/annuaire_backoffice.php |
---|
New file |
0,0 → 1,83 |
<?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: annuaire_backoffice.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
/** |
* programme principal du module annuaire_moteur |
* |
* programme principal du module annuaire_moteur |
* |
*@package annuaire |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
include_once 'configuration/ins_annuaire.config.inc.php'; |
include_once INS_CHEMIN_APPLI.'configuration/annuaire_backoffice.config.inc.php'; |
include_once INS_CHEMIN_APPLI."annuaire.fonct.php"; |
include_once INS_CHEMIN_APPLI.'bibliotheque/annuaire_backoffice.fonct.php'; |
if (isset($lang)) { |
include_once ANN_CHEMIN_APPLI."/langues/ann_langue_$lang.inc.php" ; |
} else { |
include_once ANN_CHEMIN_APPLI.'/langues/ann_langue_fr.inc.php' ; |
} |
define ("ANN_MAIL_TOUS", 1) ; |
define ("ANN_MAIL_TOUS_ENVOIE", 2) ; |
function afficherContenuCorps () { |
global $statut ; |
if (!$GLOBALS['AUTH']->getAuth()) { |
$res = AUTH_formulaire_login() ; |
} else { |
if (isset($_GET['u_id'])) { |
include_once (ANN_CHEMIN_APPLI.'admin_annu.php'); |
$GLOBALS['ann_url']->addQueryString ('u_id', $_GET['u_id']) ; |
return putFrame() ; |
} |
if (isset ($_GET['action'])) { |
include_once (ANN_CHEMIN_APPLI.'mail_tous.php') ; |
return putFrame() ; |
} |
$res = "<div>".mkengine()."</div>\n" ; |
//mkquery() ; |
$res .= "<div>".mkresu()."</div>\n" ; |
} |
return $res ; |
} |
?> |
/trunk/client/ins_annuaire/configuration/ins_annuaire.config.inc.php |
---|
New file |
0,0 → 1,176 |
<?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_annuaire.config.inc.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
/** |
* Fichier de configuration de l'application d'inscription/annuaire |
* |
* A éditer de façon spécifique à chaque déploiement |
* |
*@package ins_annuaire |
//Auteur original : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Florian SCHMITT <florian@ecole-et-nature.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ $Date: 2005-04-06 13:33:32 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
//================================= CONSTANTES DB ================================== |
/** Nom de la table Annuaire */ |
define ('INS_ANNUAIRE', 'annuaire'); |
/** Nom de la table des départements */ |
define ('INS_TABLE_DPT', 'gen_departement'); |
/** Nom de la table des pays */ |
define ('INS_TABLE_PAYS', 'gen_pays'); |
/** Champs identifiant */ |
define ('INS_CHAMPS_ID', 'a_id'); |
/** Champs adresse mail */ |
define ('INS_CHAMPS_MAIL', 'a_mail'); |
/** Champs nom */ |
define ('INS_CHAMPS_NOM', 'a_nom'); |
/** Champs prénom */ |
define ('INS_CHAMPS_PRENOM', 'a_prenom'); |
/** Champs mot de passe */ |
define ('INS_CHAMPS_PASSE', 'a_mot_de_passe'); |
/** Champs identifiant pays */ |
define ('INS_CHAMPS_PAYS', 'a_ce_pays'); |
/** Champs code postal */ |
define ('INS_CHAMPS_CODE_POSTAL', 'a_code_postal'); |
/** Champs département */ |
define ('INS_CHAMPS_DEPARTEMENT', 'a_ce_departement'); |
/** Champs adresse 1 */ |
define ('INS_CHAMPS_ADRESSE_1', 'a_adresse1'); |
/** Champs adresse 2 */ |
define ('INS_CHAMPS_ADRESSE_2', 'a_adresse2'); |
/** Champs ville */ |
define ('INS_CHAMPS_VILLE', 'a_ville'); |
/** Champs date de l'inscription */ |
define ('INS_CHAMPS_DATE_INSCRIPTION', 'a_date_inscription'); |
/** Champs pour désigner si c'est l'inscription d'une structure */ |
define ('INS_CHAMPS_EST_STRUCTURE', 'a_est_structure'); |
/** Champs sigle de la structure */ |
define ('INS_CHAMPS_SIGLE_STRUCTURE', 'a_sigle_structure'); |
/** Champs numéro de téléphone */ |
define ('INS_CHAMPS_TELEPHONE', 'a_telephone'); |
/** Champs numéro de fax */ |
define ('INS_CHAMPS_FAX', 'a_fax'); |
/** Champs d'appartenance à une structure */ |
define ('INS_CHAMPS_STRUCTURE', 'a_ce_structure'); |
/** Champs identifiant du pays */ |
define ('INS_CHAMPS_ID_PAYS', 'gp_id_pays'); |
/** Champs nom du pays */ |
define ('INS_CHAMPS_LABEL_PAYS', 'gp_nom'); |
/** Champs pour l'abonnement à une liste */ |
define ('INS_CHAMPS_LETTRE', 'a_lettre'); |
/** Champs de la date d'inscription */ |
define ('INS_CHAMPS_DATE', 'a_date_inscription'); |
/** adresse d'inscription à la newsletter */ |
define ('INS_MAIL_INSCRIPTION_LISTE', 'newsletter-suscribe@educ-envir.org'); |
/** adresse de désinscription à la newsletter */ |
define ('INS_MAIL_DESINSCRIPTION_LISTE', 'newsletter-unsuscribe@educ-envir.org'); |
//teste si l'on est dans l'application Papyrus |
if (!defined('PAP_VERSION')) { //pas dans Papyrus |
//================================ BASE DE DONNEES ================================= |
define ('INS_PROTOCOLE', 'mysql') ; |
define ('INS_UTILISATEUR', 'test') ; |
define ('INS_MOT_DE_PASSE_DB', 'ecnat') ; |
define ('INS_HOTE', 'localhost') ; |
define ('INS_BASE', 'testP') ; |
define ('INS_TYPE_ENCODAGE','MD5'); |
// Formation du dsn |
$dsn = INS_PROTOCOLE.'://'.INS_UTILISATEUR.':'.INS_MOT_DE_PASSE_DB.'@'.INS_HOTE.'/'.INS_BASE; |
include_once 'DB.php'; //appel de la librairie DB de PEAR |
/** Variable globale contenant l'objet d'accès à la base de donnée */ |
$GLOBALS['ins_db'] =& DB::connect($dsn); |
//=============================== AUTHENTIFICATION ================================= |
include_once 'Auth.php'; //appel de la librairie Auth de PEAR |
/** Nom de la session PHP */ |
define ('INS_NOM_SESSION','Educ-Envir.org'); |
/** Durée de la session PHP */ |
define ('INS_DUREE_SESSION',3600*12); |
/** Tableau des parametres de l'authentification */ |
$params = array( |
'dsn' => $dsn, |
'table' => INS_ANNUAIRE, |
'usernamecol' => INS_CHAMPS_MAIL, |
'passwordcol' => INS_CHAMPS_MOT_DE_PASSE |
); |
/** Variable globale contenant l'objet d'authentification de l'application, un objet AUTH*/ |
$GLOBALS['AUTH']= &new Auth($GLOBALS['ins_db'], $params ); |
$GLOBALS['AUTH']->setSessionname(INS_NOM_SESSION); |
$GLOBALS['AUTH']->setExpire(INS_DUREE_SESSION); |
$GLOBALS['AUTH']->setShowLogin(false); |
//==================================== LES URLS ==================================== |
include_once 'Net_URL.php'; //appel de la librairie Net_URL de PEAR |
/** Variable globale contenant l'objet d'accès à l'URL de base de l'application, un objet Net_URL*/ |
$GLOBALS['ins_url'] = new Net_URL('http://localhost/ins_annuaire/'); |
//===================================== CHEMINS ==================================== |
/** Chemin de l'application (mettre un / à la fin) */ |
define ('INS_CHEMIN_APPLI', '/home/florian/Documents/CVS/applications_web/php/ins_annuaire/'); |
//===================================== LANGUES ==================================== |
/** Choix de la langue par défaut de l'application */ |
define ('INS_LANGUE_DEFAUT', 'fr'); |
include_once INS_CHEMIN_APPLI.'langues/ins_annuaire.langue.'.INS_LANGUE_DEFAUT.'.inc.php'; //appel du fichier de constantes des langues |
} else { //dans Papyrus |
//================================ BASE DE DONNEES ================================= |
/** Variable globale contenant l'objet d'accès à la base de données de l'application, un objet DB*/ |
$GLOBALS['ins_db'] =& $GLOBALS['_GEN_commun']['pear_db']; //Mis en commentaire pour permettre d'avoir une base de données commune avec Educ-Envir |
//=========================AUTHENTIFICATION================================= |
/** Variable globale contenant l'objet d'authentification de l'application, un objet AUTH*/ |
$GLOBALS['AUTH'] =& $GLOBALS['_GEN_commun']['pear_auth']; //Mis en commmentaire pour permettre d'avoir une base de données commune avec Educ-Envir |
//==================================== LES URLS ==================================== |
/** Variable globale contenant l'objet d'accès à l'URL de base de l'application, un objet Net_URL*/ |
$GLOBALS['ins_url'] =& $GLOBALS['_GEN_commun']['url']; |
//===================================== CHEMINS ==================================== |
/** Chemin de l'application (mettre un / à la fin) */ |
define ('INS_CHEMIN_APPLI', 'client/ins_annuaire/'); |
//===================================== LANGUES ==================================== |
/** Choix de la langue par défaut de l'application */ |
define ('INS_LANGUE_DEFAUT', $GLOBALS['_GEN_commun']['i18n']) ; |
include_once INS_CHEMIN_APPLI.'langues/ins_annuaire.langue.'.INS_LANGUE_DEFAUT.'.inc.php'; //appel du fichier de constantes des langues |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/client/ins_annuaire/configuration/annuaire_backoffice.config.inc.php |
---|
New file |
0,0 → 1,67 |
<?php |
// +--------------------------------------------------------------------------------+ |
// | annuaire_moteur_config.php | |
// +--------------------------------------------------------------------------------+ |
// | Copyright (c) 2000 - 2003 Tela Botanica | |
// +--------------------------------------------------------------------------------+ |
// | Fichier de configuration de annuaire_moteur.php | |
// +--------------------------------------------------------------------------------+ |
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> | |
// +--------------------------------------------------------------------------------+ |
// |
// $Id: annuaire_backoffice.config.inc.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
/** |
//=========================DEFINITION DE VARIABLES ================================= |
* Définition des variables globales |
//================================================================================== |
*/ |
global $GS_GLOBAL, $_SERVER ; |
/** |
//==================================== LES URLS ================================== |
* Constantes liées à l'utilisation des url |
//================================================================================== |
*/ |
define("AM_BASE_URL", 'http://'.$_SERVER["HTTP_HOST"].'/');//URL de base. Exemple: http://www.tela-botanica.org/ |
define("AM_URL_DOCUMENT",'index.php?project='.$GS_GLOBAL['project'].'&locale='. |
$GS_GLOBAL['locale'].'&doc='.$GS_GLOBAL['document_row']->GD_NOM.'&page='. |
$GS_GLOBAL['current_page_ndx']); //l'url de base de l'apllication |
/** |
//==================================== LES CHEMINS ================================= |
* Constantes définissant les chemins d'accé au différents fichiers inclus dans les |
* applications. |
//================================================================================== |
*/ |
define("AM_CHEMIN_APPLI",'client/applications_clientes/annuaire/');//le chemin vers l'application courrante |
define("AM_CHEMIN_PHP",'php/');//le chemin vers les fichiers propre à GSITE // obsolète ! |
define("AM_CHEMIN_LIBRAIRIE",'client/bibliotheque_client/fonctions/');//le chemin de la librairie de fichier php |
/** |
//==================================== CONSTANTES ================================== |
* Constantes de connexion aux bases de données MySQL |
//================================================================================== |
*/ |
define("AM_HOTE","brille.logicosme.net"); |
define("AM_UTILISATEUR","botanica"); |
define("AM_MDP","wuzvw90fq"); |
define("AM_BD_BOTA", $GS_GLOBAL['mysql_db']);//Nom de la base des tables de chorologie |
define("AM_BD_LINK", $GS_GLOBAL['link']);//Nom de la base des tables de la carto (et éventuellement de chorologie) |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de tables et de champs dans l'annuaire |
//================================================================================== |
*/ |
define ("AM_ANNUAIRE", "annuaire_tela") ; // Nom de la table d'annuaire |
define ("AM_NOM", "U_NAME") ; // Nom du champs nom |
define ("AM_MAIL", "U_MAIL") ; // Nom du champs mail |
define ("AM_PRENOM", "U_SURNAME") ; // Nom du champs prénom |
define ("AM_DPT", "gen_FRENCH_DPT") ; // Nom de la table département |
define ("AM_PAYS", "gen_COUNTRY") ; // Nom de la table pays |
?> |
/trunk/client/ins_annuaire/configuration/inscription.config.inc.php |
---|
New file |
0,0 → 1,68 |
<?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.config.inc.php,v 1.1 2005-04-06 13:33:32 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.1 $ $Date: 2005-04-06 13:33:32 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
//==================================== PARAMETRAGE ================================= |
/** Définir la présence d'un formulaire d'inscription de structure (mettre à 1 pour oui, 0 pour non */ |
define ('INS_FORMULAIRE_STRUCTURE', 1); |
/** Définir la nécessité d'envoyer un message de confirmation d'inscription (mettre à 1 pour oui, 0 pour non */ |
define ('INS_MAIL_VALIDATION_INSCRIPTION', 0); |
/** Adresse de messagerie de l'administrateur, pour suivre les inscriptions */ |
define ('INS_MAIL_ADMIN_APRES_INSCRIPTION', 'florian@ecole-et-nature.org'); |
/** Sujet du message envoyé pour l'inscription */ |
define ('INS_MAIL_ADMIN_APRES_INSCRIPTION_SUJET', '[Ecole et Nature] Inscription'); |
/** L'inscription génère t'elle l'inscription à un Spip? Mettre à 1 pour oui , et 0 pour non */ |
define ('INS_UTILISE_SPIP', 0); |
if (INS_UTILISE_SPIP) { |
/** Chemin d'accès au Spip */ |
define ('INS_CHEMIN_SPIP', ''); |
} |
/** L'inscription génère t'elle l'inscription à un Wikini? Mettre à 1 pour oui , et 0 pour non */ |
define ('INS_UTILISE_WIKINI', 0); |
if (INS_UTILISE_WIKINI) { |
/** Le nom du champs contenant le nom wikini dans l'annuaire */ |
define ('INS_CHAMPS_NOM_WIKINI', 'a_nom_wikini'); |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/client/ins_annuaire/configuration/annuaire.config.inc.php |
---|
New file |
0,0 → 1,61 |
<?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: annuaire.config.inc.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
/** |
* Fichier de configuration de l'annuaire |
* |
* 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.1 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
include_once INS_CHEMIN_APPLI.'langues/annuaire.langue.'.INS_LANGUE_DEFAUT.'.inc.php'; //appel du fichier de constantes des langues |
/** tableau contenant dans l'ordre les labels des champs à afficher dans l'annuaire*/ |
$GLOBALS['annuaire_champs_visibles']['label_champs']= array (ANN_NOM,ANN_PRENOM,ANN_VILLE,ANN_DATE); |
/** tableau contenant dans l'ordre les champs à afficher dans l'annuaire*/ |
$GLOBALS['annuaire_champs_visibles']['champs_db']= array (INS_CHAMPS_NOM,INS_CHAMPS_PRENOM,INS_CHAMPS_VILLE,INS_CHAMPS_DATE); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.3 2005/03/24 08:46:29 alex |
* version initiale |
* |
* Revision 1.2 2005/03/08 09:43:34 alex |
* -- |
* |
* Revision 1.1.1.1 2005/01/03 17:27:49 alex |
* Import initial |
* |
* Revision 1.1 2005/01/03 17:19:20 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/client/ins_annuaire/inscription.php |
---|
New file |
0,0 → 1,231 |
<?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.1 2005-04-06 13:33:32 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.1 $ $Date: 2005-04-06 13:33:32 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
include_once 'configuration/ins_annuaire.config.inc.php'; |
include_once INS_CHEMIN_APPLI.'configuration/inscription.config.inc.php'; |
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.fonct.php'; |
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.php'; |
//test pour savoir si on est dans Papyrus |
if (defined('PAP_VERSION')) { |
// Ajout d'une feuille de style externe |
GEN_stockerStyleExterne('inscription', INS_CHEMIN_APPLI.'presentations/inscription.css'); |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
function afficherContenuCorps() { |
$GLOBALS['AUTH']->start(); |
$url = preg_replace ('/&/', '&', $GLOBALS['ins_url']->getURL()) ; |
$res = '<h1>'.INS_TITRE_INSCRIPTION.'</h1>'."\n" ; |
if (!isset($_REQUEST['action'])) { |
$_REQUEST['action']=''; |
} |
if (isset ($_GET['logout']) && $_GET['logout'] == 1) { |
$GLOBALS['AUTH']->logout() ; |
$_POST['username'] = '' ; |
$_POST['password'] = '' ; |
return AUTH_formulaire_login() ; |
} |
// L'utilisateur a-t-il cliqué sur Supprimer inscription |
if (isset ($_POST['supprimer'])) { |
$requete = 'DELETE FROM '.INS_ANNUAIRE.' '. |
'WHERE '.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()) ; |
} |
// 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_NOM_WIKI) ; |
desinscription_interwikini_users($nom_wiki) ; |
} |
$GLOBALS['AUTH']->logout() ; |
return $res.AUTH_formulaire_login() ; |
} |
// L'utilisateur a-t-il cliqué sur Envoi de mot de passe par mail |
if ($_REQUEST['action'] == 'sendpasswd') { |
return $res.AUTH_formulaire_login(envoie_passe()) ; |
} |
// L'utilisateur a cliqué sur Inscription ou Inscription structure |
if ($_REQUEST['action'] != '' || isset($_POST['modifier'])) { |
$action = preg_replace ("/&/", "&", $GLOBALS['ins_url']->getURL()) ; |
$formulaire = new HTML_formulaireInscription('formulaire_inscription', 'post', $action, '_self', '', 0) ; |
$formulaire->construitFormulaire($action); |
if (isset($_POST['form_structure'])) { |
$formulaire->formulaireStructure() ; |
} |
if (isset($_POST['modifier'])) { |
$formulaire->addElement('hidden', 'action', 'modifier_v') ; |
$formulaire->setDefaults(formulaire_defaults()) ; |
} |
if ($_REQUEST['action'] == 'inscription') { |
$formulaire->addElement('hidden', 'action', 'inscription_v') ; |
} |
if ($_REQUEST['action'] == 'inscription_v') { |
if ($formulaire->validate()) { |
if (INS_MAIL_VALIDATION_INSCRIPTION) { |
$formulaire->process('demande_inscription', false) ; |
return $res.INS_MESSAGE_INSCRIPTION; |
} else { |
$formulaire->process('inscription_validee', false) ; |
return $res.info(); |
} |
} |
} |
if ($_REQUEST['action'] == 'modifier_v') { |
if ($formulaire->validate()) { |
$lettre = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_LETTRE) ; |
$formulaire->process('mise_a_jour', false) ; |
} |
if (isset($_POST['lettre'])) { |
if ($lettre == '') { |
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ; |
} |
} else { |
if ($lettre == 1) { |
inscription_lettre(INS_MAIL_DESINSCRIPTION_LISTE) ; |
} |
} |
return info(); |
} |
return $res.$formulaire->toHTML() ; |
} |
// L'inscription dans la base si l'utilisateur clique sur le lien du mail |
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)) ; |
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<br />".$resultat->getMessage()) ; |
} |
envoie_mail() ; |
} |
if (!$GLOBALS['AUTH']->getAuth() && $_REQUEST['action'] != "inscription" && $_REQUEST['action'] != 'inscription_v') { |
if (isset($_POST['username']) && $_POST['username'] != '') { |
$res .= message_erreur() ; |
} else { |
$res .= AUTH_formulaire_login() ; |
} |
} |
if ($GLOBALS['AUTH']->getAuth() && !isset($_POST['modifier'])) { |
return $res.info(); |
} |
return $res ; |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* 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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/client/ins_annuaire/annuaire.php |
---|
New file |
0,0 → 1,91 |
<? |
/*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: annuaire.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
/** |
* programme principal du module annuaire |
* |
* programme principal du module annuaire |
* |
*@package annuaire |
//Auteur original : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Florian SCHMITT <florian@ecole-et-nature.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
include_once 'configuration/ins_annuaire.config.inc.php'; |
include_once INS_CHEMIN_APPLI.'configuration/annuaire.config.inc.php'; |
include_once INS_CHEMIN_APPLI.'bibliotheque/annuaire.fonct.php'; |
/** |
* Renvoie le code HTML de l'application |
* |
* @return string HTML |
*/ |
function afficherContenuCorps () { |
$res = '<h1 class="annuaire_titre1">'.ANN_TITRE.'</h1>'."\n" ; |
if (!$GLOBALS['AUTH']->getAuth()) { |
include_once INS_CHEMIN_APPLI.'configuration/inscription.config.inc.php'; |
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.fonct.php'; |
$res .= AUTH_formulaire_login() ; |
} else { |
// Le code javascript des cases à cocher |
$java = |
'function setCheckboxes(the_form) { |
var do_check = document.forms[the_form].elements[\'selecttotal\'].checked; |
var elts = document.forms[the_form].elements[\'select[]\']; |
var elts_cnt = (typeof(elts.length) != \'undefined\') |
? elts.length |
: 0; |
if (elts_cnt) { |
for (var i = 0; i < elts_cnt; i++) { |
elts[i].checked = do_check; |
} // Fin for |
} else { |
elts.checked = do_check; |
}// Fin if... else |
return true; |
} // Fin de la fonction setCheckboxes()'; |
GEN_stockerCodeScript($java) ; |
$res .= '<h2 class="annuaire_titre2">'.ANN_CLIQUEZ_LETTRE.'</h2>'."\n"; |
// S'il y a un mail a envoyé, on l'envoie |
if (isset($_POST['select']) && is_array ($_POST['select'])) $res .= envoie_mail() ; |
$res .= parcourirAnnu('') ; |
} |
return $res; |
} |
/**------------------------------------------------------------------------------ |
* $Log: not supported by cvs2svn $ |
* |
*-- End of source ------------------------------------------------------------*/ |
?> |
/trunk/client/ins_annuaire/documentation/ins_annuaire.sql |
---|
New file |
0,0 → 1,33 |
CREATE TABLE `annuaire` ( |
`a_id` int(11) unsigned NOT NULL default '0', |
`a_ce_i18n` varchar(8) NOT NULL default '', |
`a_nom` varchar(32) NOT NULL default '', |
`a_prenom` varchar(32) NOT NULL default '', |
`a_profession` varchar(255) NOT NULL default '', |
`a_mot_de_passe` varchar(32) NOT NULL default 'X X', |
`a_mail` varchar(128) NOT NULL default '', |
`a_nom_wikini` varchar(255) NOT NULL default '', |
`a_adresse1` text, |
`a_adresse2` text, |
`a_tel` varchar(32) NOT NULL default '', |
`a_fax` varchar(32) NOT NULL default '', |
`a_code_postal` varchar(32) default NULL, |
`a_ville` varchar(255) default NULL, |
`a_pays` char(3) default NULL, |
`a_region` varchar(255) default NULL, |
`a_code_insee_commune` varchar(255) default NULL, |
`a_numero_dpt` int(10) unsigned default NULL, |
`a_date_inscription` datetime NOT NULL default '0000-00-00 00:00:00', |
`a_est_structure` tinyint(3) unsigned NOT NULL default '0', |
`a_structure` varchar(255) NOT NULL default '', |
`a_appartient_structure` int(10) unsigned NOT NULL default '0', |
`a_sigle_structure` varchar(64) NOT NULL default '', |
`a_lettre` tinyint(3) unsigned NOT NULL default '0', |
PRIMARY KEY (`a_id`) |
) ; |
CREATE TABLE `inscription_demande` ( |
`id_identifiant_session` varchar(32) NOT NULL default '', |
`id_donnees` text NOT NULL, |
`id_date` date NOT NULL default '0000-00-00', |
PRIMARY KEY (`id_identifiant_session`) |
) ; |
/trunk/client/ins_annuaire/bibliotheque/recu_pdf_corps.php |
---|
New file |
0,0 → 1,166 |
<?php |
// +----------------------------------------------------------------------------+ |
// |pdf_recu_et_mail.php | |
// +----------------------------------------------------------------------------+ |
// | Copyright (c) 2003 Tela Botanica | |
// +----------------------------------------------------------------------------+ |
// | Ce fichier génère un fichier PDF | |
// | contenant le recu pour une cotisation à Tela Botanica | |
// | Il utilise la librairie FPDF | |
// | http://www.fpdf.org/ | |
// | Il envoie également un email à l'adhérent concerné | |
// +----------------------------------------------------------------------------+ |
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> | |
// +----------------------------------------------------------------------------+ |
// |
// $Id: recu_pdf_corps.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
// Recherche des informations sur un utilisateur |
$requete = "select * from annuaire_COTISATION, annuaire_tela, MODE_COTISATION |
where IC_ID=$cotisation_id |
and IC_ANNU_ID=U_ID |
and IC_MC_ID=MC_ID" ; |
$resultat = $db->query($requete) ; |
if (DB::isError ($resultat)) { |
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ; |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ; |
$resultat->free() ; |
/* |
// On regarde si le reçu a déjà été envoyé |
$requete = "select IC_RECU from annuaire_COTISATION where IC_ID=$cotisation_id" ; |
$resultat = mysql_query ($requete) or die ($requete."<br>".mysql_error()) ; |
$ligne = mysql_fetch_object($resultat) ; |
mysql_free_result($resultat) ; |
*/ |
if ($ligne->IC_RECU != 0) { |
$num_recu = $ligne->IC_RECU ; |
// $deja_envoye permettra au programme admin_annu.php de ne pas incrementé |
// le compteur de recu |
$deja_envoye = true ; |
} else { |
$res_compteur = $db->query("select COMPTEUR from COMPTEUR_COTISATION") ; |
$ligne_compteur = $res_compteur->fetchRow(DB_FETCHMODE_OBJECT) ; |
$num_recu = $ligne_compteur->COMPTEUR ; |
$deja_envoye = false ; |
} |
@include_once "api/fpdf/fpdf.php"; |
if (!isset($envoie)) $chemin = "client/annuaire/" ; |
// Constante nécessaire à fpdf.php |
define('FPDF_FONTPATH','font/'); |
// Création de l'objet pdf |
$pdf = new FPDF(); |
$pdf->Open(); |
$pdf->AddPage("P"); |
// La ligne du haut |
$pdf->Line(10, 10, 200, 10) ; |
// Contenu du document |
$pdf->SetFont('Arial', '', 8) ; |
$pdf->Cell(150, 10, "", 0, 0) ; |
$pdf->MultiCell(40, 10, "Numéro d'ordre : $num_recu", 1,1, "C") ; |
$pdf->SetY($pdf->GetY() - 10) ; |
$pdf->SetFont('Arial','B',14); |
$pdf->Cell(0,10,'Reçu dons aux uvres', 0, 1, "C"); |
$pdf->SetFont('Arial', '', 10) ; |
$pdf->Cell(0, 0, '(Article 200-5 et 238 bis du Code Général des impôts)', 0, 1, "C") ; |
$pdf->Cell(0, 10, 'REÇU A CONSERVER ET A JOINDRE A VOTRE DECLARATION DE REVENUS 2004', 0, 1, "L") ; |
// On met le logo de Tela |
$pdf->Image($chemin."logotb.png", 12, 35, "29", "", "PNG", "http://www.tela-botanica.org/") ; |
// On écrie Les titres du cadre |
$pdf->SetFontSize(12) ; |
$pdf->Cell(100, 10, 'Bénéficiaire du don', 0, 0, "C") ; |
$pdf->Cell(100, 10, 'Donateur', 0, 1, "C") ; |
$pdf->SetFont('Arial', 'B', 10) ; |
$pdf->Cell(38, 5, '', 0, 0) ; |
$pdf->Cell(62, 5, 'Association Tela Botanica', 0, 0, "L") ; |
$pdf->SetFont('Arial', 'B', 10) ; |
$pdf->Cell(100, 5, "$ligne->U_NAME $ligne->U_SURNAME", 0, 1, "L") ; |
$pdf->SetFont('Arial', '', 10) ; |
$pdf->Cell(38, 5, '', 0, 0) ; |
$pdf->Cell(62, 5, 'Institut de Botanique', 0, 1, "L") ; |
$pdf->Cell(38, 5, '', 0, 0) ; |
$pdf->Cell(62, 5, '163, rue A. Broussonnet', 0, 0, "L") ; |
$pdf->Cell(100, 5, "$ligne->U_ADDR1", 0, 1, "L") ; |
$pdf->Cell(38, 5, '', 0, 0) ; |
$pdf->Cell(62, 5, '34090 Montpellier', 0, 0, "L") ; |
$pdf->Cell(100, 8, "$ligne->U_ADDR2", 0, 1, "L") ; |
$pdf->Cell(100, 5, 'Objet :', 0,1, "L") ; |
$pdf->SetFontSize(8) ; |
$pdf->MultiCell(100, 4, 'Contribuer au rapprochement de tous les botanistes de langue française. Favoriser l\'échange d\'information'. |
' et animer des projets botaniques grâce aux nouvelles technologies de la communication.', 0, 1, "") ; |
$pdf->SetFontSize(10) ; |
$pdf->Text(111, 58 + 8, "$ligne->U_ZIP_CODE $ligne->U_CITY") ; |
$pdf->SetFontSize(8) ; |
$pdf->MultiCell(100,4, 'Organisme d\'intérêt général à caractère scientifique concourant à la diffusion de la langue et des connaissances scientifiques françaises.', 0,1, "R") ; |
// On remonte le curseur de 52 |
$pdf->SetY($pdf->GetY() - 58) ; |
// Le cadre central |
$pdf->Cell(100, 60, '', 1) ; |
$pdf->Cell(90, 60, '', 1) ; |
$pdf->Ln() ; |
$pdf->SetFontSize(10) ; |
$pdf->Cell(0,10, 'L\'Association reconnaît avoir reçu, à titre de don, la somme de :', 0, 1, "L") ; |
$pdf->SetFont('Arial', 'B', 11) ; |
$pdf->Cell(0,10, "*** $ligne->IC_MONTANT euros ***", 0, 1, "C") ; |
$pdf->SetFont('Arial', '', 10) ; |
$pdf->Ln() ; |
$pdf->Cell(100,10, "Date du paiement : ".date ("d/m/Y", $ligne->IC_DATE), 0, 0, "L") ; |
$pdf->Cell(100, 10, 'Montpellier, le '.date("d/m/Y"), 0, 1, "L") ; |
// La signature de Daniel |
$pdf->Image($chemin."signature_Daniel.png", 110, $pdf->GetY(),28.22, "") ; |
$pdf->Ln() ; |
$pdf->Cell(0, 10, "Mode de versement : $ligne->MC_LABEL", 0, 1, "L") ; |
$pdf->Cell(100, 10, '', 0, 0) ; |
$pdf->Cell (100, 10, 'Daniel MATHIEU, Président', 0, 1, "L") ; |
$pdf->Ln(5) ; |
$pdf->SetFontSize(10) ; |
$pdf->Cell(0, 7, '60 % de votre don à Tela Botanica est déductible de vos impôts dans la limite de 20 % de votre revenu imposable.', 1, 1, "C") ; |
?> |
/trunk/client/ins_annuaire/bibliotheque/fonctions.php |
---|
New file |
0,0 → 1,267 |
<?php |
// +--------------------------------------------------------------------------------+ |
// | fonctions.php | |
// +--------------------------------------------------------------------------------+ |
// | Copyright (c) 2002 Tela Botanica | |
// +--------------------------------------------------------------------------------+ |
// | Fonctions diverses | |
// +--------------------------------------------------------------------------------+ |
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> | |
// +--------------------------------------------------------------------------------+ |
// |
// $Id: fonctions.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
// effectue une requete sur un colonne unique et renvoie le resultat sous la forme |
// d'un tableau |
function get($query) { |
$tableau = array() ; |
$query = "SELECT " . $query; |
$result = mysql_query($query) or die ("Echec de la requête sur AGORA"); |
while ($row = mysql_fetch_row($result)) { |
array_push ($tableau,$row[0]); |
} |
return $tableau ; |
} |
function textecourt($texte, $taille) { |
if (strlen($texte) > $taille) return substr($texte, 0, $taille-3)."..."; |
return $texte; |
} |
// formulaire, prend en parametre les valeurs par defaut |
function formulaire($titre="",$description="", $abreviation="", $internet="", $selectedForums="", $selectedProjet="",$origine="NOUVEAU") { |
global $baseURL, $forums, $projets, $projetAb ; |
$forums = get("AGO_A_ALIAS FROM agora") ; |
$IDforums = get ("AGO_A_ID FROM agora"); |
$projets = get("TITRE FROM PROJET_PROJET ORDER BY ABREVIATION"); |
$projetAb = get("ABREVIATION FROM PROJET_PROJET ORDER BY ABREVIATION") ; |
if ($selectedForums == "") $selectedForums = array() ; |
if ($selectedProjet == "") $selectedProjet = array() ; |
$res ="<table>\n"; |
if ($origine == "NOUVEAU") { |
$res .="<form action=\"$baseURL&menuProjet=projetadm&action=2\" method=\"post\">\n"; |
} else { |
$res .="<form action=\"$baseURL&menuProjet=projetgest&projet=$abreviation&action=2\" method=\"post\">\n"; |
} |
$res .="<tr class=\"text\"><td style=\"text-align:right;font-weight:bold;\">Titre :</td><td><input type=\"text\" |
class=\"insInputForm\" name=\"titre\" size=\"60\" value=\"$titre\"></td></tr>\n"; |
$res .="<tr class=\"text\"><td valign=\"top\" style=\"text-align:right;font-weight:bold;\">Description :</td><td><textarea name=\"description\" |
class=\"insInputForm\" cols=\"60\" rows=\"20\">$description</textarea></td></tr>\n"; |
if ($origine == "NOUVEAU") { |
$res .="<tr class=\"text\"><td style=\"text-align:right;font-weight:bold;\">Abréviation :</td>\n"; |
$res .="<td><input class=\"insInputForm\" type=\"text\" name=\"abreviation\" size=\"5\" value=\"$abreviation\"> "; |
$res .=" Au maximum 5 caractères, de préférence en majuscule.</td></tr>\n"; |
} |
$res .="<tr class=\"text\"><td style=\"text-align:right;font-weight:bold;\">Espace Internet :</td>\n"; |
$res .="<td><input class=\"insInputForm\" type=\"text\" name=\"internet\" size=\"60\" value=\"$internet\"></td></tr>\n"; |
$res .="<tr class=\"text\"><td valign=\"top\" style=\"text-align:right;font-weight:bold;\">Forums associés :</td><td><select class=\"insInputForm\" name=forumsS[] size=\""; |
$res .=count($forums); |
$res .="\" multiple>\n"; |
for ($i = 0 ; $i < count($forums) ; $i++) { |
$res .="<option value=\"$IDforums[$i]\""; |
if (in_array($forums[$i],$selectedForums)) $res .=" selected"; |
$res .=">"; |
$res .=$forums[$i]; |
$res .="</option>\n"; |
} |
$res .="</select>\n"; |
$res .="<tr class=\"text\"><td valign=\"top\" style=\"text-align:right;font-weight:bold;\">Projets associés :</td>\n<td><select class=\"insInputForm\" name=projetsS[] size=\""; |
$res .=count($projets); |
$res .="\" multiple>\n"; |
for ($i = 0 ; $i < count($projets) ; $i++) { |
$res .="<option value=\""; |
$res .=$projetAb[$i]; |
$res .="\""; |
if (in_array($projetAb[$i],$selectedProjet)) $res .=" selected"; |
$res .=">"; |
$res .=$projets[$i]; |
$res .="</option>\n"; |
} |
$res .="</select></td></tr>\n"; |
$res .="<tr><td colspan=\"2\" align=\"center\">\n"; |
if ($origine != "NOUVEAU") $res .="<input style=\"background-color:#FFFFFF\" type=\"button\" onclick=\"Javascript:history.go(-1);\" value=\"Annuler\">\n" ; |
$res .="<input style=\"background-color:#FFFFFF\" type=\"submit\""; |
if ($origine == "NOUVEAU") { |
$res .=" value=\"Créer\">"; |
} else { $res .=" value=\"Valider\">"; |
} |
$res .="</td></tr>\n"; |
$res .="</form>\n"; |
$res .="</table>\n"; |
return $res ; |
} |
function getExtension($filename) { |
$extension = explode (".",$filename) ; |
return $extension[1] ; |
} |
#-------------------------------------------------------------- |
# Insere $num espace insecable |
#-------------------------------------------------------------- |
function insert_spaces($num) { |
$res = "" ; |
for ($i = 0; $i < $num; $i++) $res .= " "; |
return $res ; |
} |
function getEnumSet($text) { |
$resultat = explode("'", $text) ; |
$retour = array() ; $j = 0 ; |
for ($i = 1 ; $i < count ($resultat)-1 ; $i = $i + 2) { |
$retour[$j] = $resultat[$i] ; |
$j++ ; |
} |
return $retour ; |
} |
$jour = array("lundi","mardi", "mercredi", "jeudi", "vendredi", "samedi","dimanche"); |
$moi = array("janvier","février","mars","avril","mai","juin","juillet","septembre","octobre","novembre","décembre") ; |
function parcourrirAnnu($event) { |
global $baseURL, $lettre, $menuProjet ; |
$outputText = "" ; |
$outputText .= "<tr><td> </td></tr>\n"; |
$outputText .= "<tr><td><table align=\"center\">"; |
$outputText .= "<tr class=\"texte_tb\">"; |
// ecrire toutes les lettres avec un lien |
for ($i = 65 ; $i <91 ; $i++) { |
$outputText .= "\t<td><a style=\"font-size:15px;\" href=\"$baseURL&menuProjet=$menuProjet&action=$event&lettre="; |
$outputText .= chr($i) ; |
$outputText .= "\">"; |
$outputText .= chr($i) ; |
$outputText .= "</a></td>\n"; |
} |
$outputText .= "<td> <a href=\"$baseURL&menuProjet=$menuProjet&action=$event&lettre=tous\">Tous</a></td>\n" ; |
$outputText .= "</tr></table></td></tr>\n"; |
// si une lettre est selectionne |
if (!empty($lettre)) { |
$query = "SELECT annuaire_tela.U_NAME,annuaire_tela.U_SURNAME,annuaire_tela.U_MAIL,annuaire_tela.U_CITY, |
annuaire_tela.U_ZIP_CODE,gen_COUNTRY.GC_NAME FROM annuaire_tela,gen_COUNTRY WHERE"; |
if ($lettre != "tous") $query .= " U_NAME LIKE \"$lettre%\" AND" ; |
$query .= " annuaire_tela.U_COUNTRY=gen_COUNTRY.GC_ID AND gen_COUNTRY.GC_LOCALE=\"fr\" |
AND U_NAME<>\"\" and U_SHOW=3 ORDER BY U_NAME" ; |
$result = mysql_query($query) or die ("Echec de la requête sur annuaire_tela..."); |
if (mysql_num_rows($result) != 0) { |
// pour chaque nom, on inscrit les infos |
$outputText .= "<tr><td> </td></tr>\n"; |
$outputText .= "<tr class=\"insTitle1\"><td>Liste des inscrits à la lettre : $lettre</td></tr>\n"; |
$outputText .= "<tr><td><table width=\"100%\">"; |
$outputText .= "<tr class=\"insTitle1\"><td>Nom</td>"; |
$outputText .= "<td>Prénom</td><td align=\"center\">E-mail</td>\n"; |
$outputText .= "<td align=\"center\">Code postal</td><td>Pays</td></tr>\n"; |
$pair = true ; |
while ($row = mysql_fetch_object($result)) { |
$outputText .= "<tr class=\"texte_tb2\""; |
if ($pair) { |
$outputText .= " bgcolor=\"#E8FFE5\""; |
$pair = false ; |
} else { |
$pair = true ; |
} |
$outputText .= "><td>$row->U_NAME</td><td>$row->U_SURNAME</td>\n"; |
$outputText .= "<td align=\"left\"><a href=\"mailto:$row->U_MAIL\">$row->U_MAIL</a></td>\n"; |
$outputText .= "<td align=\"center\">$row->U_ZIP_CODE</td>\n"; |
$outputText .= "<td>$row->GC_NAME</td>\n" ; |
$outputText .= "</tr>\n"; |
} |
$outputText .= "</table></td></tr>\n"; |
} else { |
$outputText .= "<tr><td> </td></tr>\n"; |
$outputText .= "<tr class=\"texte_tb\"><td>Pas d'inscrit</td></tr>\n"; |
} |
} |
return $outputText ; |
} |
function formRep($nom="", $description="", $origine="NOUVEAU", $visibilite="") { |
global $baseURL, $projet, $repcourant, $id ; |
if ($origine == "NOUVEAU") { |
$res = "<form action=$baseURL&action=20\" method=\"post\">\n" ; |
} else { |
$res = "<form action=$baseURL&action=19\" method=\"post\"\n>" ; |
} |
$res .= "\t<table align=\"center\">\n\t" ; |
$res .= "<tr class=\"texte_tb\"><td colspan=\"2\">N'utilisez pas d'accents, ni d'espace pour le nom du répertoire.</td></tr>\n"; |
$res .= "<tr class=\"text\"><td style=\"font-weight:bold;text-align:right\">" ; |
$res .= "Nom : </td><td><input class=\"insInputForm\" type=\"text\" name=\"nom\" size=\"80\" value=\"$nom\"></td></tr>\n" ; |
$res .= "<tr class=\"text\"><td style=\"font-weight:bold;text-align:right;vertical-align:top\">Description : </td>\n" ; |
$res .= "<td><textarea class=\"insInputForm\" name=\"description\" cols=\"81\">$description</textarea></td></tr>\n" ; |
$res .= "<tr class=\"text\"><td align=\"right\"><b>Visibilité :</b></td>\n"; |
$res .= "<td align=\"left\">\n"; |
$res .= "<input style=\"background-color:#FFFFFF;\" type=\"radio\" name=\"visible\" value=\"public\"" ; |
if ($visibilite == "public" or $visibilite == "") $res .= " checked" ; |
$res .= ">Tout public "; |
$res .= "<input style=\"background-color:#FFFFFF;\" type=\"radio\" name=\"visible\" value=\"prive\"" ; |
if ($visibilite == "prive") $res.= " checked" ; |
$res .= ">Projet seulement</td></tr>\n"; |
$res .= "<tr class=\"text\"><td><input type=\"hidden\" name=\"repcourant\" value=\"$repcourant\"</td><td>\n" ; |
$res .= "<input type=\"hidden\" name=\"id\" value=\"$id\">" ; |
$res .= "<input type=\"submit\" style=\"background-color:#FFFFFF;\"" ; |
if ($origine == "NOUVEAU") { $res.= "value=\"Valider\"" ; } else { $res .= "value=\"Modifier\"" ; } |
$res .= "></td></tr></table></form>\n" ; |
return $res ; |
} |
// renvoie le chemin complet depuis la racine de l'application |
// on indique en argument l'identifiant du repertoire en cour |
// la fonction remonte d'etage en etage jusqu'a ce que gen_voiraussi.PERE soit NULL |
function getPath($ID_rep) { |
$path = "" ; |
$query = "SELECT PERE,NOM FROM gen_repertoire WHERE ID='$ID_rep'" ; |
$result = mysql_query($query) or die ("Echec de la requête dans gen_voiraussi, au cours de la recherche |
du chemin des repertoire") ; |
$row = mysql_fetch_object($result) ; |
if ($row->PERE != NULL) { |
$path .= getPath($row->PERE)."/".$row->NOM ; |
} |
return $path ; |
} |
// renvoie le chemin avec les tag <a href |
function getHTMLPath($ID_rep) { |
global $baseURL ; |
$query = "SELECT PERE,NOM FROM gen_repertoire WHERE ID='$ID_rep'" ; |
$result = mysql_query($query) or die ("Echec de la requête dans gen_voiraussi, au cours de la recherche |
du chemin des repertoire") ; |
$row = mysql_fetch_object($result) ; |
if ($row->PERE != NULL) { |
$path .= " <b>></b><a href=\"$baseURL&repcourant=$ID_rep\">" ; |
$path .= $row->NOM ; |
$path .= "</a>\n" ; |
$path = getHTMLPath($row->PERE).$path ; |
} |
return $path ; |
} |
function nettoieAccent(&$texte) { |
// un peu barbare |
$texte = ereg_replace("é","e",$texte) ; |
$texte = ereg_replace("è","e",$texte) ; |
$texte = ereg_replace("ê","e",$texte) ; |
$texte = ereg_replace("à","a",$texte) ; |
$texte = ereg_replace("ù","u",$texte) ; |
$texte = ereg_replace("â","a",$texte) ; |
$texte = ereg_replace("ä","a",$texte) ; |
$texte = ereg_replace("ë","e",$texte) ; |
$texte = ereg_replace("î","i",$texte) ; |
$texte = ereg_replace("ô","o",$texte) ; |
$texte = ereg_replace("û","u",$texte) ; |
$texte = ereg_replace("ö","o",$texte) ; |
$texte = ereg_replace("ü","u",$texte) ; |
return $texte ; |
} |
?> |
/trunk/client/ins_annuaire/bibliotheque/inscription.fonct.spip.php |
---|
New file |
0,0 → 1,131 |
<?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.spip.php,v 1.1 2005-04-06 13:33:32 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.1 $ $Date: 2005-04-06 13:33:32 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | 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()) ; |
} |
function spip_cookie() { |
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) ; |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2005/03/21 16:57:30 florian |
* correction de bug, mise à jour interface |
* |
* 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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/client/ins_annuaire/bibliotheque/inscription.class.php |
---|
New file |
0,0 → 1,225 |
<?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.1 2005-04-06 13:33:32 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.1 $ $Date: 2005-04-06 13:33:32 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
require_once 'HTML/QuickForm.php' ; |
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 ; |
} |
} |
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) |
{ |
$squelette =& $this->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<li class="liste_inscription">'."\n".'{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}{element}</span>', 'groupe_mot_de_passe') ; |
$squelette->setGroupElementTemplate('<span class="groupe_formulaire">{label}{element}</span>', 'groupe_cp_ville') ; |
$squelette->setGroupElementTemplate('<span class="groupe_formulaire">{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) ; |
$this->addElement('password', 'mot_de_passe_repete', INS_REPETE_MOT_DE_PASSE) ; |
$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') ; |
$this->addElement('text', 'nom', INS_NOM) ; |
$this->addElement('text', 'prenom', INS_PRENOM) ; |
if (INS_UTILISE_WIKINI) { |
$this->addElement('text', 'nom_wikini', INS_NOM_WIKI) ; |
$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_1) ; |
$this->addElement('text', 'adresse_2', INS_ADRESSE_2) ; |
$this->addElement('text', 'region', INS_REGION) ; |
$this->addElement('text', 'cp', INS_CODE_POSTAL) ; |
$this->addElement('text', 'ville', INS_VILLE) ; |
$this->addRule('cp', INS_CODE_POSTAL_REQUIS, 'required', '', 'client') ; |
// L'élément pays est construit à partir du tableau liste_pays |
$liste_pays = new ListeDePays($GLOBALS['ins_db']) ; |
$this->addElement('select', 'pays', INS_PAYS, $liste_pays->getListePays(INS_LANGUE_DEFAUT)) ; |
$this->addElement('text', 'site', INS_SITE_INTERNET) ; |
$this->addElement('checkbox', 'lettre',INS_LETTRE) ; |
$defauts=array ('lettre'=>1,'pays'=>'FR'); |
$this->setDefaults($defauts); |
// 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, ' '); |
$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('nom') ; |
$this->removeElement('prenom') ; |
$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 |
} |
?> |
/trunk/client/ins_annuaire/bibliotheque/annuaire_backoffice.fonct.php |
---|
New file |
0,0 → 1,385 |
<?php |
// +--------------------------------------------------------------------------------+ |
// | annuaire_moteur_fonction.php | |
// +--------------------------------------------------------------------------------+ |
// | Copyright (c) 2000 - 2003 Tela Botanica | |
// +--------------------------------------------------------------------------------+ |
// | Les fonctions de annuaire_moteur.php | |
// +--------------------------------------------------------------------------------+ |
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> | |
// +--------------------------------------------------------------------------------+ |
// |
// $Id: annuaire_backoffice.fonct.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
/** function mkengine () |
* |
* |
* |
* @return |
*/ |
function mkengine() |
{ |
global $label_bbota; |
global $nbr_total; |
global $bouton, $HTTP_POST_VARS ; |
$mon_frag = new fragmenteur_session() ; |
$mes_vars = array ("recherche", "nom", "ville", "mail" ,"dept", "prenom", "cotisant", "pays", "sort", "T_REPONSE", "lettre","statut") ; |
// Deux cas , soit on a cliqué sur rechercher, soit on a cliqué sur un lien |
foreach ($mes_vars as $key=>$value) { |
if (!$bouton) { // on a cliqué sur un lien |
if (empty($HTTP_POST_VARS[$value])) { |
$$value = $mon_frag->getVariable($value); |
} |
} else { |
// Si on clique sur le bouton rechercher |
if (empty ($HTTP_POST_VARS[$value])) { |
$$value = "" ; |
} else { |
$$value = $HTTP_POST_VARS[$value] ; |
} |
} |
} |
// Comptage du nombre total de données dans la table (hors CACHER = 1) |
$query = "select count(*) as CPT from ".ANN_ANNUAIRE; |
$result = mysql_query($query) or die("<B>Erreur !</B> $query a échoué..."); |
if (mysql_num_rows($result) == 1) |
{ |
$tmp_nb = mysql_fetch_object($result); |
$nbr_total = $tmp_nb->CPT; |
if ($nbr_total > 0) $chaine = "parmi $nbr_total données"; |
else die("<B>Erreur</B> lors du comptage des structures ($nbr_total trouvées) : $query"); |
} |
else die("<B>Erreur</B> lors du comptage des structures : $query"); |
mysql_free_result($result); |
// fin comptage |
$ret = ""; |
// construction du moteur de str |
$ret .= "<form action=\"".$GLOBALS['ann_url']->getURL()."\" method=\"post\">\n"; |
$ret .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" summary=\"\">\n"; |
$ret .= "<tr class=\"titlePage\"><td colspan=\"2\">".AM_L_TITRE."</td></tr>\n" ; |
$ret .= "<tr class=\"insTitle1\"><td colspan=\"2\">".AM_L_TITRE." $chaine :</td></tr>\n" ; |
// ligne de recherche |
$ret .= "<tr><td colspan=\"2\">\n"; |
$ret .= "<table border=\"0\"><tr>\n" ; |
$ret .= "<td class=\"insLabel\">".AM_L_RECHERCHER." :\n</td>\n<td>"; |
$ret .= form_mk_chaineI(stripslashes($recherche), "recherche")." "; |
$ret .= "</td><td class=\"insLabel\" colspan=\"4\">".AM_L_PAYS." : \n" ; |
$ret .= "" ; |
// formulaire contenant les pays, avec par défaut soit le pays en cours |
// soit "tous les pays" |
$query_pays = "select GC_ID, GC_NAME from gen_COUNTRY where GC_LOCALE='fr'" ; |
$result_pays = mysql_query($query_pays) or die ("Echec de la requete sur gen_COUNTRY") ; |
$ret .= "<select name=\"pays\" class=\"insInputForm\">\n" ; |
$ret .= "<option value=\"tous\">Tous les pays</option>\n" ; |
while ($row_pays = mysql_fetch_object($result_pays)) { |
$ret .= "<option value=\"$row_pays->GC_ID\"" ; |
if (!empty($pays)) { |
if ($pays == $row_pays->GC_ID) $ret .= " selected" ; |
} |
$ret .= ">$row_pays->GC_NAME</option>\n" ; |
} |
$ret .= "</select>\n" ; |
$ret .= "</td>\n" ; |
$ret .= "<tr>\n"; |
$ret .= "<td class=\"insLabel\">".AM_L_NOM." :\n</td><td>"; |
$ret .= form_mk_chaineI(stripslashes($nom), "nom")." </td>\n<td class=\"insLabel\">" ; |
$ret .= AM_L_PRENOM." :</td>\n<td>".form_mk_chaineI(stripslashes($prenom), "prenom")." </td>\n<td class=\"insLabel\">" ; |
$ret .= AM_L_VILLE." :</td>\n<td>".form_mk_chaineI(stripslashes($ville), "ville")." </td>" ; |
$ret .= "</tr><tr>\n" ; |
$ret .= "<td class=\"insLabel\">".AM_L_DEPARTEMENT." : </td>\n<td>" ; |
// Construction du <select> des départements |
$requete_dpt = "select GFD_ID, GFD_NAME from gen_FRENCH_DPT" ; |
$resultat_dpt = mysql_query($requete_dpt) or die ("Echec de la requete sur gen_FRENCH_DPT<br>".mysql_error()) ; |
$ret .= "<select name=\"dept\" class=\"insInputForm\">\n" ; |
$ret .= "<option value=\"tous\">tous</option>\n" ; |
while ($ligne_dpt = mysql_fetch_object($resultat_dpt)) { |
$ret .= "<option value=\"$ligne_dpt->GFD_ID\"" ; |
if ($dept == $ligne_dpt->GFD_ID) $ret .= " selected" ; |
$ret .= ">$ligne_dpt->GFD_ID - $ligne_dpt->GFD_NAME</option>\n" ; |
} |
$ret .= "</select></td>\n" ; |
$ret .= "<td class=\"insLabel\">".AM_L_MAIL." : </td>\n<td>".form_mk_chaineI(stripslashes($mail), "mail")."</td>\n" ; |
$ret .= "<td class=\"insLabel\">".AM_L_COTISANTS." : </td>\n" ; |
$ret .= "<td>".form_mk_select(stripslashes($cotisant), "cotisant")."</td>\n"; |
$ret .= "</tr></table>\n"; |
$ret .= "</td></tr>\n"; |
$ret .= "<tr><td><table>\n" ; |
// Les statuts des inscrits |
$tableau_statut = array ("0" => "Désinscrit", "1" =>"Cotisant non inscrit", "3" =>"Inscrit") ; |
$ret .= "<tr>\n"; |
$ret .= "<td class=\"insLabel\">Statut : </td>" ; |
$ret .= "<td><select name=\"statut\" class=\"insInputForm\">\n" ; |
foreach ($tableau_statut as $key=>$value) { |
$ret .= "<option value=\"$key\"" ; |
if (!empty($HTTP_POST_VARS["statut"]) && $HTTP_POST_VARS["statut"] == $key) $ret .= " selected" ; |
if (empty($HTTP_POST_VARS["statut"]) && $key == "3") $ret .= " selected" ; |
$ret .= ">$value</option>\n" ; |
} |
$ret .= "</select></td>" ; |
$ret .= "<td class=\"insLabel\" width=\"60%\">\n"; |
$ret .= AM_L_GRP_RES." : </td>" ; |
$grp = array(20, 50, 100) ; |
$ret .= "<td><select name=\"T_REPONSE\" class=\"insInputForm\">\n" ; |
for ($i = 0; $i < count($grp); $i++) { |
$ret .= "<option value=\"".$grp[$i]."\">".$grp[$i]."</option>\n" ; |
} |
$ret .= "</select></td>" ; |
$ret .= "<td class=\"texte_tb\" align=\"right\" width=\"40%\">\n"; |
$ret .= "<input type=\"submit\" class=\"texte_tb\" value=\"".AM_L_RECHERCHER."\" name =\"bouton\">\n"; |
$ret .= "</td></tr></table>\n</td></tr>\n"; |
$ret .= "</table></form>\n"; |
return $ret; |
} |
/** function form_mk_chaineI () Renvoie une balise de type <input> |
* |
* @param string l'attribut value de la balise |
* @param string l'attibut name de la balise |
* @param string la classe CSS |
* @return string HTML |
*/ |
function form_mk_chaineI($value="", $name, $class="insInputForm") |
{ |
return "<input type=\"text\" size=\"15\" value=\"$value\" name=\"$name\" class=\"$class\">"; |
} |
function form_mk_select($value="", $name="", $class="insInputForm") { |
$res = "<select name=\"$name\" class=\"$class\">\n" ; |
$res .= "<option value=\"1\"" ; |
if ($value == 1) $res .= " selected" ; |
$res .= ">Cotisants</option>\n" ; |
$res .= "<option value=\"2\"" ; |
if ($value == 2) $res .= " selected" ; |
$res .= ">Non cotisants</option>\n" ; |
$res .= "<option value=\"3\"" ; |
if ($value == 3 || $value == "") $res .= " selected" ; |
$res .= ">Tous</option>\n" ; |
$res .= "</select>\n" ; |
return $res ; |
} |
function mkquery() |
{ |
// définition des variables globales |
global $lettre ; |
global $bouton, $HTTP_POST_VARS ; |
$mon_frag = new fragmenteur_session() ; |
// Requete sur l'annuaire pour extraire le nom, prénom, ville, nom du département (jointure), |
// l'état de la cotisation (jointure) |
// le tableau suivant contient tous les champs de la table annuaire_tela sur lesquels on peut effectuer une recherche |
$fields_annu = array("nom" => "U_NAME", "prenom" => "U_SURNAME" , "mail" => "U_MAIL" , "ville" => "U_CITY", |
"dept" => "U_FRENCH_DPT", "pays" => "U_COUNTRY" ) ; |
$mes_vars = array ("recherche", "nom", "ville", "mail" ,"dept", "prenom", "cotisant", "pays", "sort", "T_REPONSE", "lettre","statut") ; |
foreach ($mes_vars as $key=>$value) { |
if (!$bouton) { |
if (empty($HTTP_POST_VARS[$value])) { |
$$value = $mon_frag->getVariable($value); |
} |
} else { |
$lettre = "" ; |
$mon_frag->setVariable("lettre", "") ; |
$mon_frag->fixerLeDebut(0) ; |
if (empty ($HTTP_POST_VARS[$value])) { |
$$value = "" ; |
} else { |
$$value = $HTTP_POST_VARS[$value] ; |
} |
} |
} |
if ($bouton) $sort = $mon_frag->getVariable("sort") ; |
$queries = "select ".ANN_ANNUAIRE.".*" ; |
$queries .= ", ".ANN_TABLE_PAYS.".GC_NAME "; |
$queries .= "from ".ANN_ANNUAIRE ; |
$queries .= ",".ANN_TABLE_PAYS ; |
// Construction en fonction des champs saisies |
// juste le champs "rechercher", on regarde partout |
$queries .= " where (" ; |
if ($lettre == "") { |
if ($recherche != "") { |
$queries .= "(U_NAME like '%$recherche%'" ; // le premier |
foreach($fields_annu as $key=>$value) { |
if ($key == "nom") continue ; |
$queries .= ($key == "pays" ? |
$pays == "tous" ? ")" : |
") and $value = '$pays'" : " or $value like '%$recherche%'") ; // les autres |
} |
} else { |
// si un ou plusieurs autres champs ont été indiqué, on les rajoute ici |
$or_flag = false ; |
foreach($fields_annu as $key=>$valeur) { |
if ($key != "") { |
if ($key == "pays") { |
if ($$key == "tous") $queries .= ") and U_COUNTRY like '%'"; |
else $queries .= ") and $valeur like \"%".$$key."%\"" ; |
} else { |
if ($key == "dept") { |
if ($$key != "tous" && isset($HTTP_POST_VARS[$key])) { |
$queries .= " and U_FRENCH_DPT=".$$key ; |
if ($fields_annu["pays"] != "fr") $queries .= " and U_COUNTRY=\"fr\"" ; |
} |
} else { |
if ($or_flag) $queries .= "$valeur like \"%".$$key."%\"" ; |
else $queries .= "($valeur like \"%".$$key."%\"" ; |
if ($key != "ville") $queries .= " and " ; |
} |
} |
$or_flag = true ; |
} |
} |
// ici le cas ou rien n'a été saisie du tout, on affiche tout |
if (!$or_flag) { |
$queries .= "U_NAME like '%')" ; |
} |
} |
} else { |
if ($lettre == "tous") $lettre = "" ; |
$queries .="U_NAME like '$lettre%'" ; |
} |
$queries .= ")" ; |
$queries .= " and ".ANN_ANNUAIRE.".U_COUNTRY=".ANN_TABLE_PAYS.".GC_ID" ; |
if (isset($cotisant) && $cotisant != 3) if ($cotisant == 1) { |
$queries .= " and ".ANN_ANNUAIRE.".U_COT=$cotisant" ; |
} else { |
$queries .= " and ".ANN_ANNUAIRE.".U_COT=0" ; |
} |
if (isset($nom) && $nom != "") $queries .= " and U_NAME like \"%$nom%\"" ; |
if (isset($prenom) && $prenom != "") $queries .= " and U_SURNAME like \"%$prenom%\"" ; |
if (isset($ville) && $ville != "") $queries .= " and U_CITY like \"%$ville%\"" ; |
if (isset($mail) && $mail != "") $queries .= " and U_MAIL like \"%$mail%\"" ; |
if (isset($statut) && $statut != "") $queries .= " and U_SHOW=$statut" ; else $queries .= " and U_SHOW=0" ; |
if (isset($sort) && $sort != "") $queries .= " order by $sort" ; |
return $queries; |
} |
function mkresu() |
{ |
global $HTTP_HOST, $SCRIPT_URL, $SCRIPT_NAME, $bouton ; |
$mon_frag = new fragmenteur_session() ; |
$mon_frag->setURL($GLOBALS['ann_url']->getURL()) ; |
if ($bouton) $mon_frag->fixerLeDebut(0) ; |
$requete = mkquery() ; |
// Deux requetes, une avec tous les resultats, l'autre avec les résultats affichés |
$result_total = mysql_query($requete) or print ("Echec de la requete <br>$requete<br>".mysql_error()) ; |
// Affichage de la requete |
$ret_req = "<tr class=\"texte_tb\"><td><br><b>La requete : </b><br>$requete". |
" limit ".$mon_frag->lireLeDebut().",".$mon_frag->lireLePas()."</td></tr>\n" ; |
$result_final = mysql_query($requete." limit ".$mon_frag->lireLeDebut().",".$mon_frag->lireLePas()) or print (mysql_error()); |
$nbr_final = mysql_num_rows($result_total) ; |
mysql_free_result($result_total) ; |
// cxt_addVariable(AM_BD_BOTA, AM_BD_LINK, "requete_mail_tous", $requete) ; |
$_SESSION['requete_mail_tous'] = $requete ; |
$ret = "<div><table><tr>" ; |
for ($i = 65 ; $i <91 ; $i++) { |
$ret .= "\t<td><a href=\"".$GLOBALS['ann_url']->getURL()."&lettre="; |
$ret .= chr($i)."\">"; |
$ret .= chr($i) ; |
$ret .= "</a></td>\n"; |
} |
$ret .= "<td> <a href=\"".$GLOBALS['ann_url']->getURL()."&lettre=tous\">".AM_L_TOUS."</a></td>\n" ; |
$ret .= "<tr></table></div>\n" ; |
$ret .= "<div>".$mon_frag->affNbRes($nbr_final).'</div>' ; |
$ret .= "<div>".$mon_frag->fragmente($nbr_final)."</div>\n" ; |
if ($nbr_final != 0) { |
$ret .= "<div><table>\n"; |
$ret .= "<tr class=\"insTitle1\"><td nowrap><a href=\"".$GLOBALS['ann_url']->getURL()."&sort=U_NAME\">Identité</a></td>\n"; |
$ret .= "<td><a href=\"".$GLOBALS['ann_url']->getURL()."&sort=U_MAIL\">Adresse mail</a></td>\n" ; |
$ret .= "<td><a href=\"".$GLOBALS['ann_url']->getURL()."&sort=U_CITY\">".AM_L_VILLE."</a></td>\n" ; |
$ret .= "<td>Pays ou Dpt (fr)</td>\n" ; |
$ret .= "<td><a href=\"".$GLOBALS['ann_url']->getURL()."&sort=U_COT\">".AM_L_COTISANTS."</a></td></tr>\n" ; |
$cotisant = array( "non", "oui") ; |
$pair = true ; // pour afficher une ligne de résultat coloré, l'autre non |
while ($row = mysql_fetch_object($result_final)) |
{ |
$ret .= "<tr class=\"texte_tb2\""; |
if ($pair) { |
$ret .= " bgcolor=\"\"" ; |
$pair = false ; |
} else { |
$pair = true ; |
} |
$ret .= ">" ; |
$ret .= "\n<td nowrap>"; |
$urlPop = $GLOBALS['ann_url']->getURL()."&u_id=$row->U_ID"; |
$ret .= "<a href=\"$urlPop\">" ; |
$ret .= $row->U_NAME." ".$row->U_SURNAME ; |
$ret .= "</a></td>\n "; |
$ret .= "<td><a href=\"mailto:$row->U_MAIL\">$row->U_MAIL</a></td>\n" ; |
$ret .= "<td>$row->U_CITY</td>" ; |
if ($row->U_COUNTRY != 'fr') { |
$ret .= "<td>$row->GC_NAME</td>" ; |
} else { |
$req_dpt = "select GFD_NAME from ".ANN_TABLE_DEPARTEMENT.",".ANN_ANNUAIRE." where ".ANN_ANNUAIRE.".U_ID=$row->U_ID" ; |
$req_dpt .= " and ".ANN_ANNUAIRE.".U_FRENCH_DPT=".ANN_TABLE_DEPARTEMENT.".GFD_ID" ; |
$resultat_dpt = mysql_query($req_dpt) or die ("Echec de la requete sur ".ANN_TABLE_DEPARTEMENT."<br>".mysql_error()) ; |
$ligne_dpt = mysql_fetch_object($resultat_dpt) ; |
$ret .= "<td>$ligne_dpt->GFD_NAME</td>" ; |
} |
$ret .= "<td>".$cotisant[$row->U_COT]."</td></tr>\n" ; |
} |
$ret .= "</table></div>\n" ; |
$ret .= "<div>".$mon_frag->fragmente($nbr_final)."</div>\n" ; |
$ret .= "<div><a href=\"".$GLOBALS['ann_url']->getURL()."&action=".ANN_MAIL_TOUS."\">".AM_L_MAIL_SELECTION."</a></div>\n" ; |
} |
// $ret .= $ret_req ; |
return $ret; |
} |
/** function presa_mk_blkline () insere des lignes vides du type <tr><td> </td></tr> |
* |
* |
* @param integer nombre de ligne à insérer |
* @return string HTML |
*/ |
function presa_mk_blkline ($nombre) { |
$res = "" ; |
for ($i = 0; $i < $nombre; $i++) { |
$res .= "<tr><td> </td></tr>\n" ; |
} |
return $res ; |
} |
?> |
/trunk/client/ins_annuaire/bibliotheque/voir_recu_pdf.php |
---|
New file |
0,0 → 1,39 |
<?php |
// +----------------------------------------------------------------------------+ |
// |recu_pdf.php | |
// +----------------------------------------------------------------------------+ |
// | Copyright (c) 2003 Tela Botanica | |
// +----------------------------------------------------------------------------+ |
// | Ce fichier génère un fichier PDF | |
// | contenant le recu pour une cotisation à Tela Botanica | |
// | Il utilise la librairie FPDF | |
// | http://www.fpdf.org/ | |
// | | |
// | Recoie $cotisation_id en parametre | |
// +----------------------------------------------------------------------------+ |
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> | |
// +----------------------------------------------------------------------------+ |
// |
// $Id: voir_recu_pdf.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
// Inclusion des fichiers nécessaire à une connection |
include_once ("../../papyrus/configuration/pap_config.inc.php") ; |
include_once 'DB.php' ; |
$db = DB::connect (PAP_DSN) ; |
include_once "../../api/fpdf/fpdf.php"; |
$envoie = 1 ; |
include_once "recu_pdf_corps.php" ; |
// buffer est une propriété de la classe FPDF qui contient les données au format PDF. |
// habituellement on ne l'utilise pas, on appelle $pdf->Output() qui envoie les |
// entete HTTP du document généré |
$pdf->Output() ; |
?> |
/trunk/client/ins_annuaire/bibliotheque/edition_fiche.php |
---|
New file |
0,0 → 1,504 |
<?php |
// +--------------------------------------------------------------------------------+ |
// | admin_annu.php | |
// +--------------------------------------------------------------------------------+ |
// | Copyright (c) 2002 | |
// +--------------------------------------------------------------------------------+ |
// | Administration des inscrits à un annuaire de type annuaire_tela | |
// | de Gsite, | |
// | Sont également mises en jeux les tables gen_COUNTRY, gen_FRENCH_DPT, | |
// | LABELS | |
// | Plus spécifique la fonction cotisation($id) en bas permet de | |
// | gérer les cotisations versées par les inscrits, avec la table | |
// | annuaire_COTISATION | |
// +--------------------------------------------------------------------------------+ |
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> | |
// +--------------------------------------------------------------------------------+ |
// |
// $Id: edition_fiche.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
global $HTTP_HOST ; |
define ("URL_RECU", $GLOBALS['ann_url']->protocol. '://'.$GLOBALS['ann_url']->host."/client/annuaire/voir_recu_pdf.php") ; |
include_once ("HTML/Table.php") ; |
include_once 'api/formulaire/FORM_formulaire.class.php' ; |
// admin_annu est une application cliente de gsite elle commence donc |
// dans une fonction putFrame() |
function putFrame() |
{ |
global $u_id, $cotisation_id ; |
global $action ; |
global $link ; |
if (empty($action)) $action = false ; |
$url = $GLOBALS['ann_url']->getURL() ; |
// mise à jour si il y lieu |
if ($action == "up") { |
upSQL() ; |
} |
// Requete de pour récupérer toutes les infos d'un usager |
$query = "select annuaire_tela.*,annuaire_LABEL_ACT.*,annuaire_LABEL_ASS.*,gen_COUNTRY.GC_NAME" ; |
$query .= ", annuaire_LABEL_NIV.*, annuaire_LABEL_STATUT.*" ; |
$query .= " from annuaire_tela,gen_COUNTRY,gen_FRENCH_DPT," ; |
$query .= " annuaire_LABEL_ACT,annuaire_LABEL_ASS, annuaire_LABEL_NIV, annuaire_LABEL_STATUT" ; |
$query .= " where U_ID=$u_id" ; |
//$query .= " and annuaire_tela.U_FRENCH_DPT=gen_FRENCH_DPT.GFD_ID" ; |
$query .= " and annuaire_tela.U_COUNTRY=gen_COUNTRY.GC_ID" ; |
$query .= " and annuaire_tela.U_ACT=annuaire_LABEL_ACT.ID_LABEL_ACT" ; |
$query .= " and annuaire_tela.U_ASS=annuaire_LABEL_ASS.ID_LABEL_ASS" ; |
$query .= " and annuaire_tela.U_NIV=annuaire_LABEL_NIV.ID_LABEL_NIV" ; |
$query .= " and annuaire_tela.U_SHOW=annuaire_LABEL_STATUT.ID_LABEL_STATUT" ; |
$result = mysql_query($query) or die("Echec de la requete sur ".ANN_ANNUAIRE.":<br>".mysql_error().'<br>'.$query) ; |
$row = mysql_fetch_object($result) ; |
$res = "<h1>Edition d'un adhérent : $row->U_NAME $row->U_SURNAME</h1>\n" ; |
$res .= "<div>".form("Nom : ", "U_NAME", $row->U_NAME)."</div>\n" ; |
$res .= "<div>".form("Prénom : ", "U_SURNAME", $row->U_SURNAME)."</div>\n" ; |
$res .= "<div>".form("Adresse mail : ", "U_MAIL", $row->U_MAIL)."</div>\n" ; |
$res .= "<div>".form("Date d'inscription : ", "U_DATE", $row->U_DATE)."</div>\n" ; |
$res .= "<div>".form("Adresse 1 : ", "U_ADDR1", $row->U_ADDR1)."</div>\n" ; |
$res .= "<div>".form("Adresse 2 : ", "U_ADDR2", $row->U_ADDR2)."</div>\n" ; |
$res .= "<div>".form("Région : ", "U_STATE", $row->U_STATE)."</div>\n" ; |
$res .= "<div>".form("Code postal : ", "U_ZIP_CODE", $row->U_ZIP_CODE)."</div>\n" ; |
$res .= "<div>".form("Ville : ", "U_CITY", $row->U_CITY)."</div>\n" ; |
$res .= "<div>".form("Pays : ", "U_COUNTRY", $row->U_COUNTRY)."</div>\n" ; |
$res .= "<div>".form("Site web personnel : ", "U_WEB", $row->U_WEB)."</div>\n" ; |
$res .= "<div>".form("Organisme : ", "U_TITLE", $row->U_TITLE)."</div>\n" ; |
$res .= "<div>".form("Fonction : ", "U_FONCTION", $row->U_FONCTION)."</div>\n" ; |
$res .= "<div>".form("Niveau en botanique : ", "LABEL_NIV", $row->LABEL_NIV)."</div>\n" ; |
$res .= "<div>".form("Activité : ", "LABEL_ACT", $row->LABEL_ACT)."</div>\n" ; |
$res .= "<div>".form("Secteur associatif : ", "LABEL_ASS", $row->LABEL_ASS)."</div>\n" ; |
$res .= "<div>".form("Spécialité : ", "U_SPE", $row->U_SPE)."</div>\n" ; |
$res .= "<div>".form("Spécialité géographique : ", "U_GEO", $row->U_GEO)."</div>\n" ; |
$res .= "<div>".form("Statut : ", "LABEL_STATUT", $row->LABEL_STATUT)."</div>\n" ; |
if (isset($cotisation_id) && $cotisation_id != "") { |
$db = & $GLOBALS['ann_db']; |
include_once ANN_CHEMIN_APPLI."recu_pdf_corps.php" ; |
// buffer est une propriété de la classe FPDF qui contient les données au format PDF. |
// habituellement on ne l'utilise pas, on appelle $pdf->Output() qui envoie les |
// entete HTTP du document généré |
$pdf->Close() ; |
$buf = $pdf->buffer; |
// Inclusion des bibliothèques PEAR |
include_once ('Mail.php'); |
include_once ('Mail/mime.php'); |
$file = 'Recu_Fiscal_Tela_Botanica.pdf'; |
$crlf = "\r\n"; |
$hdrs = array( |
'From' => 'accueil@tela-botanica.org', |
'Subject' => 'Reçu pour don à Tela Botanica' |
); |
$mime = new Mail_mime($crlf); |
$text = "Bonjour !\n\n". |
"Le Réseau Tela Botanica vous remercie du soutien financier que vous lui avez apporté. Votre contribution permettra au réseau :\n\n". |
"- de continuer à encourager et accompagner des projets botaniques,\n". |
"- de maintenir et d'améliorer nos services Internet dédiés à la botanique.\n\n". |
"Vous trouverez en pièce jointe à ce message un document PDF contenant le reçu fiscal à imprimer". |
" et à joindre à votre déclaration d'impôts. Si vous n'arrivez pas à imprimer ce document, veuillez". |
" nous le signaler en répondant à ce mail et en indiquant votre nom et votre adresse postale. Nous vous". |
" ferons parvenir le reçu imprimé à cette adresse.\n\n". |
"Rappel : Votre contribution financière ne constitue pas une adhésion à l'Association Tela Botanica mais ". |
"bien un soutien aux actions menées par le Réseau Tela Botanica.\n\n". |
"Si ce n'est déjà fait, n'oubliez pas de vous inscrire au Réseau sur le site Internet, à l'adresse : ". |
"http://www.tela-botanica.org (menu « Inscription», onglet « Inscription»), afin que vous puissiez :\n\n". |
"- consulter l'annuaire des personnes inscrites au Réseau ;\n- localiser les membres du Réseau dans tous". |
" les pays;\n- accédez à certaines données diffusées sur le site ;\n- vous inscrire à des projets ". |
"botaniques ;\n- être informé personnellement des actualités du Réseau.\n\n". |
"Bien cordialement,\n\n". |
"Tela Botanica\nLe Réseau des Botanistes Francophones\n163, rue A. Broussonnet\n34090 Montpellier\n". |
"Tél. : 04-67-52-41-22\naccueil@tela-botanica.org\nhttp://www.tela-botanica.org\n" ; |
$mime->setTXTBody($text); |
// On attache le document PDF grace à $buf, et en indiquant son type MIME |
$mime->addAttachment($buf, 'application/pdf', $file, false) ; |
$body = $mime->get(); |
$hdrs = $mime->headers($hdrs); |
$mail =& Mail::factory('mail'); |
$mail->send($ligne->U_MAIL, $hdrs, $body); |
// On insere le numéro du reçu dans la table annuaire_COTISATION |
@mysql_query("update annuaire_COTISATION set IC_RECU=$num_recu, IC_DATE_ENVOIE_RECU=NOW() where IC_ID=$cotisation_id") ; |
// On incrémente le compteur de mail de 1 |
if (!$deja_envoye) { |
$num_recu++ ; |
mysql_query("update COMPTEUR_COTISATION set COMPTEUR=$num_recu ") ; |
} |
$res .= "<div>Le reçu a été envoyé</div>\n" ; |
} |
$res .= cotisation($u_id) ; |
$res .= suppression($u_id) ; |
return $res ; |
} |
// form construit soit un formulaire de type <input type="text" ...> et |
// de nom $field_ et place un $label devant |
// soit construit un lien vers un formulaire à partir du champs $field_ |
function form($label, $field_, $value) |
{ |
global $u_id, $GS_GLOBAL, $field ; |
$url = $GLOBALS['ann_url']->getURL() ; |
if ($field != $field_) { |
$res = "<b>$label</b>" ; |
$res .= "<a href=\"$url&field=$field_\">" ; |
if ($field_ == 'LABEL_NIV' || $field_ == 'LABEL_ACT' || $field_== 'LABEL_ASS') { |
$res .= $value ? $value : "(vide)"; |
} else if ($field_ == "U_COT") { |
if ($value == 0) { |
$res .= "non" ; |
} else { |
$res .= "oui" ; |
} |
} else { |
$res .= $value ? $value : "(vide)"; |
} |
$res .= "</a>\n" ; |
} |
if ($field == $field_) { |
$res = "\n<form action=\"$url&u_id=$u_id&action=up&field_=$field_\" method=\"post\">" ; |
$res .= "<b>$label</b>\n" ; |
switch ($field_) { |
case "U_COUNTRY" : |
$select_country = new form($GS_GLOBAL['link']) ; |
$res .= ereg_replace("gen_COUNTRY", "U_COUNTRY", $select_country->selectFromTable("gen_COUNTRY", $value, "GC_ID", "GC_NAME")) ; |
unset($select_country) ; |
break ; |
case "LABEL_NIV" : |
$res .= getFormInsInfo($field_, $value) ; |
break ; |
case "LABEL_ASS" : |
$res .= getFormInsInfo($field_, $value) ; |
break ; |
case "LABEL_ACT" : |
$res .= getFormInsInfo($field_, $value) ; |
break ; |
case "LABEL_STATUT" : |
$res .= getFormInsInfo($field_, $value) ; |
break ; |
case "U_COT" : |
$res .= "<select class=\"insInputForm\" name=\"II_COT\">\n" ; |
if ($value == 0) { |
$check0 = " selected" ; |
$check1 = "" ; |
} else { |
$check1 = " selected" ; |
$check0 = "" ; |
} |
$res .= "<option value=\"0\"$check0>non</option>\n" ; |
$res .= "<option value=\"1\"$check1>oui</option>\n" ; |
$res .= "</select>\n" ; |
break ; |
default : |
$res .= "<input type=\"text\" size=\"40\" name=\"$field_\" value=\"$value\">\n" ; |
} |
$res .= "<input type=\"submit\" value=\"valider\" class=\"texte_tb\">\n" ; |
$res .= "</form>" ; |
} |
return $res ; |
} |
// upSQL met à jour la table annuaire_tela |
function upSQL() |
{ |
global $field_ ; |
global $u_id ; |
global $HTTP_POST_VARS ; |
switch ($field_) { |
case "LABEL_STATUT" : $field_ = "U_SHOW" ; |
$id_field = "ID_LABEL_STATUT"; |
break ; |
case "LABEL_NIV" : $field_ = "U_NIV" ; |
$id_field = "ID_LABEL_NIV"; |
break ; |
case "LABEL_ACT" : $field_ = "U_ACT" ; |
$id_field = "ID_LABEL_ACT"; |
break ; |
case "LABEL_ASS" : $field_ = "U_ACT" ; |
$id_field = "ID_LABEL_ASS"; |
break ; |
default :$id_field = $field_ ; |
} |
// Recherche de l'ancien mail |
$req_am = "select U_MAIL from annuaire_tela where U_ID = $u_id" ; |
$res_am = mysql_query ($req_am) or die ("Echec ".mysql_error()) ; |
$ligne_am = mysql_fetch_object ($res_am) ; |
$ancien_mail = $ligne_am->U_MAIL ; |
$query = "update annuaire_tela set $field_=\"".$HTTP_POST_VARS[$id_field]."\" where U_ID = $u_id" ; |
mysql_query($query) or die ("<br>Echec de la requete de mise à jour<br>\n") ; |
// Traitement du département |
if ($field_ == "U_ZIP_CODE") { |
if (preg_match("/^97|98[0-9]*/", $HTTP_POST_VARS['U_ZIP_CODE'])) { |
$n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 3) ; |
} else { |
$n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 2) ; |
} |
mysql_query ("update annuaire_tela set U_FRENCH_DPT='$n_dpt' where U_ID='$u_id'") ; |
} |
// Traitement de l'adresse mail |
if ($field_ == "U_MAIL") { |
$requete = "update ins_STATS set IS_MAIL=\"".$HTTP_POST_VARS['U_MAIL']."\" where IS_MAIL=\"$ancien_mail\"" ; |
mysql_query ($requete) ; |
} |
} |
function getFormInsInfo($field, $value) |
{ |
$query = "select * from annuaire_$field" ; |
$id_field = "ID_$field" ; |
$result = mysql_query($query) or die ("Echec de la requete sur ID_$field<br>".mysql_error()) ; |
$res = "<select name=\"$id_field\" class=\"insInputForm\">\n" ; |
$i = 0 ; |
while ($row = mysql_fetch_object($result)) { |
$res .= "<option value=\"".$row->$id_field."\"" ; |
if ($value == $row->$field) $res .= " selected"; |
$res .= ">" ; |
$res .= $row->$field ; |
$res .= "</option>\n" ; |
$i++ ; |
} |
$res .= "</select>\n" ; |
return $res ; |
} |
// Fonction pour gérer les cotisations d'un inscrit, en |
// fonction de son id ($u_id) |
function cotisation($u_id) |
{ |
global $GS_GLOBAL, $action, $IC_MONTANT, $IC_DATE, $id_cot, $IC_MC_ID ; |
$res = '' ; |
// un peu de javascript pour la confirmation en cas de destruction |
$outputText = "function confirmLink(theLink, theSqlQuery) |
{ |
var is_confirmed = confirm(theSqlQuery); |
return is_confirmed; |
} " ; |
// fonction gsite pour inclure la fonction Javascript |
// au code html |
GEN_stockerCodeScript($outputText) ; |
$url = $GLOBALS['ann_url']->getURL() ; |
// Ce qui suit sont le traitement des 3 actions ajouter, modifier, supprimer |
// qui agissent sur la table annuaire_COTISATION |
// l'action 'cu' consiste en l'insertion d'une ligne dans la table annuaire_COTISATION |
if ($action == "cu") { |
$date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3\\2\\1", $IC_DATE) ; |
$query = "insert into annuaire_COTISATION values (\"\", $IC_MC_ID, $u_id, UNIX_TIMESTAMP($date),\"$IC_MONTANT\", 0, \"0000-00-00\")" ; |
mysql_query ($query) or die ("Echec de la requete d'insertion dans annuaire_COTISATION<br>$query<br>".mysql_error()) ; |
mysql_query("update annuaire_tela set U_COT=1 where U_ID=$u_id") ; |
} |
// l'action 'mu' permet de mettre à jour une ligne dans annuaire_COTISATION |
if ($action == "mu") { |
$date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3\\2\\1", $IC_DATE) ; |
$query = "update annuaire_COTISATION set IC_DATE=UNIX_TIMESTAMP($date), IC_MONTANT=\"$IC_MONTANT\", |
IC_MC_ID=$IC_MC_ID where IC_ID=$id_cot" ; |
mysql_query ($query) or die ("Echec de la requete d'insertion dans annuaire_COTISATION<br>$query<br>".mysql_error()) ; |
} |
// l'action 'rm' retire une ligne de la table annuaire_COTISATION |
if ($action == "rm") { |
$query = "delete from annuaire_COTISATION where IC_ID=$id_cot" ; |
mysql_query ($query) or die ("Echec de la requete de suppression dans annuaire_COTISATION") ; |
mysql_query("update annuaire_tela set U_COT=0 where U_ID=$u_id") ; |
} |
// Quoi qu'il arrive, on récupère les informations concernant |
// les cotisations d'un inscrit et on les affiche sous forme de |
// table HTML |
$query = "select * from annuaire_COTISATION, MODE_COTISATION where IC_ANNU_ID=$u_id |
and IC_MC_ID=MC_ID" ; |
$result = mysql_query($query) or die ("Echec de la requete sur annuaire_COTISATION<br>".$query) ; |
$res = "<h1>Etat des cotisations : </h1>" ; |
// formatage de la date |
$date = date("d-m-Y") ; |
// l'action 'sc' correspond à l'édition d'une ligne de la table |
// annuaire_COTISATION. Si elle est présente on affiche un formulaire |
// de modification |
if ($action == "sc") { |
$res .= "<div><form action=\"$url&action=cu\" method=\"post\"><b>Date : </b>" ; |
$res .= "<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\""; |
$res .= $date ; |
$res .= "\">\n" ; |
$res .= "<b>Montant : </b><input type=\"text\" class=\"insInputForm\" size=\"5\" name=\"IC_MONTANT\" value=\"30\"> €\n" ; |
$res .= mode_paiement(0) ; |
$res .= "<input type=\"submit\" value=\"Valider\" class=\"texte_tb\">\n" ; |
$res .= "<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>\n" ; |
$res .= "</div>\n" ; |
// si l'action 'sc' n'est pas active on affiche toutes les lignes |
// de cotisation de l'inscrit |
} else { |
if (mysql_num_rows($result) != 0) { |
$res .= "<div>" ; |
$table = new HTML_Table(array("width" => "100%", "class" => "texte_tb2")) ; |
$table->addRow(array("Date", "Montant", "Mode", "modifier", "supprimer", "Voir le reçu", "Envoyer le reçu", |
"Date d'envoie du reçu"), |
array("class" => "insTitle1")) ; |
while ($row = mysql_fetch_object($result)) { |
// Le reçu a t il été envoyé ? |
if ($row->IC_RECU != 0) { |
$message_envoye = $row->IC_DATE_ENVOIE_RECU ; ; |
} else { |
$message_envoye = "Reçu non envoyé"; |
} |
if ($action != "mc" || $id_cot != $row->IC_ID) { |
$table->addRow(array (date ("j m Y", $row->IC_DATE), $row->IC_MONTANT." <b>€</b>", $row->MC_LABEL, |
"<a href=\"$url&action=mc&id_cot=$row->IC_ID\">modifier</a>", |
"<a href=\"$url&action=rm&id_cot=$row->IC_ID\"". |
" onclick=\"javascript:return confirmLink(this, 'êtes-vous". |
" sûr de vouloir supprimer cette entrée');\">supprimer</a>", |
"<a href=\"".URL_RECU."?cotisation_id=$row->IC_ID\">Voir le reçu</a>", |
"<a href=\"$url&cotisation_id=$row->IC_ID\">Envoyer le reçu</a>", |
$message_envoye)) ; |
} else { |
// Recherche du mode de paiement |
$table->addRow(array("<form action=\"$url&action=mu&id_cot=$row->IC_ID\" method=\"post\">\n". |
"<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"".date ("j-m-Y", $row->IC_DATE)."\">", |
"<input type=\"text\" size=\"5\" class=\"insInputForm\" name=\"IC_MONTANT\" value=\"$row->IC_MONTANT\"><b>€</b>", |
mode_paiement($row->IC_MC_ID), |
"<input type=\"submit\" class=\"texte_tb\" value=\"valider\">". |
"<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>", |
" ")) ; |
} |
} |
$table->altRowAttributes(1, array("class" => "texte_tb2"), array("class" => "text2")) ; |
$res .= $table->toHTML()."</div>\n" ; |
unset($table) ; |
} else { |
$res .= "<div>non cotisant</div>\n" ; |
} |
$res .= "<div><input type=\"button\" class=\"texte_tb\" " ; |
$res .= "value=\"Saisir une cotisation\" onclick=\"javascript:window.location.href='$url&action=sc';\"></div>\n" ; |
} |
return $res ; |
} |
function suppression($u_id) { |
global $GS_GLOBAL, $action ; |
// un peu de javascript pour la confirmation en cas de destruction |
$outputText = "function confirmLink(theLink, theSqlQuery) |
{ |
var is_confirmed = confirm(theSqlQuery); |
return is_confirmed; |
} " ; |
// fonction gsite pour inclure la fonction Javascript |
// au code html |
GEN_stockerCodeScript($outputText) ; |
$url = $GLOBALS['ann_url']->getURL() ; |
$res = "<div>Supprimer l'inscription</div>\n" ; |
$res .="<div><form action=\"$url&action=suppr_adh\" method=\"post\">\n" ; |
$res .= "<input type=\"submit\" class=\"texte_tb\" value=\"Supprimer\" " ; |
$res .= "onclick=\"javascript:return confirmLink(this, 'êtes-vous sûr de vouloir supprimer cet adhérent');\">\n" ; |
$res .= "</form></div>\n" ; |
if ($action=="suppr_adh") { |
$queryLogin = "select U_MAIL from annuaire_tela where U_ID=$u_id" ; |
$resultLogin = mysql_query($queryLogin) or die ("Echec de la requete sur annu_USERS"); |
$rowLogin = mysql_fetch_object($resultLogin) ; |
$mail = $rowLogin->U_MAIL ; |
mysql_free_result($resultLogin) ; |
// vérifications |
// 1. annu_ADMIN |
$q_annu_ADMIN = "select AA_ID from annu_ADMIN where AA_ID=$u_id" ; |
$r_annu_ADMIN = mysql_query($q_annu_ADMIN) or die ("Echec ..." ); |
if (mysql_num_rows($r_annu_ADMIN) != 0) { |
$res .= "Une référence dans annu_ADMIN" ; |
} |
// 2. |
// suppression |
$query = "delete from annuaire_tela where U_ID=$u_id" ; |
} |
return $res ; |
} |
/** function mode_paiement () Produit un champs select avec le mode de paiement |
* |
* |
* @param integer mode de paiement par defaut |
* @return string HTML |
*/ |
function mode_paiement ($defaut) { |
$res = "<select name=\"IC_MC_ID\" class=\"insInputForm\">\n" ; |
$req_mode = "select * from MODE_COTISATION" ; |
$res_mode = mysql_query($req_mode) or die ($req_mode."<br>".mysql_error()) ; |
while ($ligne_mode = mysql_fetch_object($res_mode)) { |
$res .= "<option value=\"$ligne_mode->MC_ID\"" ; |
if ($ligne_mode ->MC_ID == $defaut) $res .= " selected" ; |
$res .= ">$ligne_mode->MC_LABEL</option>\n" ; |
} |
$res .= "</select>\n" ; |
return $res ; |
} |
?> |
/trunk/client/ins_annuaire/bibliotheque/inscription.fonct.php |
---|
New file |
0,0 → 1,553 |
<?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.1 2005-04-06 13:33:32 florian Exp $ |
// CVS : $Id: inscription.fonct.php,v 1.1 2005-04-06 13:33:32 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.1 $ $Date: 2005-04-06 13:33:32 $ |
*@version $Revision: 1.1 $ $Date: 2005-04-06 13:33:32 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
include_once 'inscription.fonct.wiki.php' ; |
if (INS_UTILISE_SPIP) include_once 'inscription.fonct.spip.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 |
*/ |
// A COMPLETER , NE MARCHE PAS |
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'], INS_ENTETE_INSCRIPTION, INS_MESSAGE_VALIDER_INSCRIPTION.$GLOBALS['ins_url']->getURL()) ; |
} |
/** |
* |
* @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 (isset ($valeurs['lettre'])) { |
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ; |
} |
} |
/** |
* 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($msg = '') { |
//-------------------------------------------------------------------------- |
// Le formulaire |
//-------------------------------------------------------------------------- |
$res = ''; |
if ($msg!='') {$res .= $msg.'<br /><br />';} |
$res .= '<br /><div>'.INS_DEJA_INSCRIT.'</div><br />'."\n" ; |
$GLOBALS['ins_url']->removeQueryString('action') ; |
$form = new HTML_QuickForm('inscription', 'post', str_replace ('&', '&', $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 ('/&/', '&', str_replace ('&', '&', $GLOBALS['ins_url']->getURL()))) ; |
$form->addElement('submit', 'Inscription', INS_INSCRIPTION_PERSONNE) ; |
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; |
} |
/** message_erreur () - Renvoie le code HTML d'un message d'erreur |
* |
* @return string HTML |
*/ |
function message_erreur() { |
$res = ''; |
$url = preg_replace ('/&/', '&', $GLOBALS['ins_url']->getURL()) ; |
$res .= "<div class=\"inscription_erreur\">".INS_ERREUR_LOGIN."</div>\n" ; |
$res .= "<div>".INS_SI_PASSE_PERDU."</div>\n" ; |
$res .= '<div>' ; |
$res .= '<form action="'.$url.'&action=sendpasswd" method="post">'."\n" ; |
$res .= INS_EMAIL.' ' ; |
$res .= '<input type="text" value="'.$_POST['username'].'" name="mail" size="32" /></li></ul>'."\n" ; |
$res .= "<input type=\"submit\" value=\"".INS_ENVOIE_PASSE."\" />" ; |
$res .= "</form></div>\n" ; |
// On remet le formulaire d'inscription mais un peu réduit |
$res .= '<br /><h3 class="titre2_inscription">'.INS_DEJA_INSCRIT.'</h3>' ; |
$form = new HTML_QuickForm ('inscription', 'post', $url) ; |
$form->addElement ('text', 'username', INS_EMAIL) ; |
$form->addElement ('password', 'password', INS_MOT_DE_PASSE) ; |
$form->addElement('submit', 'valider', INS_VALIDER); |
$res .= $form->toHTML() ; |
$res .= '<h3 class="titre2_inscription">'.INS_PAS_INSCRIT.'</h3>' ; |
$GLOBALS['ins_url']->addQueryString('action', 'inscription') ; |
$form = new HTML_QuickForm('inscription', 'post', preg_replace ('/&/', '&', str_replace ('&', '&', $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; |
} |
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] ; |
$valeurs_par_defaut['lettre'] = $ligne[INS_CHAMPS_LETTRE] ; |
return $valeurs_par_defaut ; |
} |
function bouton($url) { |
$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, ' '); |
return '<div>'.$boutons->toHTML().'</div>' ; |
} |
/** |
* 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>" ; |
} |
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_ADRESSE_1." : ".$ligne[INS_CHAMPS_ADRESSE_1]."</div>\n" ; |
if ($ligne[INS_CHAMPS_ADRESSE_2] != "") $res .= "<div>".INS_ADRESSE_2." : ".$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" ; |
$res .= bouton(str_replace ('&', '&', $GLOBALS['ins_url']->getURL())); |
$res .= deconnexion($GLOBALS['ins_url']->getURL()) ; |
return $res ; |
} |
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['ins_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.': '.$GLOBALS['mail']."</div>\n". |
"<div><br />".INS_MOT_DE_PASSE_ENVOYE_2."</div>\n"; |
} |
/** |
* 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 '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 '<div class="erreur">Le mail n\'est pas partie...</div>' ; |
return false ; |
} |
return true ; |
} |
/** |
* |
* @global ins_db Un pointeur vers un objet PEAR::DB connecté |
* @return |
*/ |
function envoie_mail() //A COMPLETER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
{ |
include_once 'Mail/mime.php' ; |
$crlf="\n"; |
$headers ['From'] = INS_MAIL_ADMIN_APRES_INSCRIPTION ; |
$headers ['Subject'] = INS_MAIL_COORD_SUJET ; |
$headers ['Reply-To'] = INS_MAIL_ADMIN_APRES_INSCRIPTION ; |
$mime = new Mail_mime($crlf); |
$requete = "select *, ".INS_CHAMPS_LABEL_PAYS." from ".INS_ANNUAIRE.",".INS_TABLE_PAYS. |
" where ".INS_CHAMPS_MAIL."=\"".$GLOBALS['AUTH']->getUsername()."\"". |
" and ".INS_CHAMPS_ID_PAYS."=".INS_CHAMPS_PAYS; |
$resultat = $GLOBALS['ins_db']->query($requete) ; |
if (DB::isError ($resultat)) { |
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ; |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ; |
$body_entete = INS_MAIL_COORD_CORPS."\n" ; |
$body = "mail : ".$ligne[INS_CHAMPS_MAIL]."\n" ; |
$body .= "------------------------------------------\n"; |
$body .= INS_NOM.": ".unhtmlentities($ligne[INS_CHAMPS_NOM])." \n" ; |
$body .= INS_PRENOM.' : '.unhtmlentities($ligne[INS_CHAMPS_PRENOM])." \n" ; |
$body .= INS_PAYS." : ".unhtmlentities($ligne[PROJET_CHAMPS_LABEL_PAYS])." \n" ; |
$body .= "-------------------------------------------\n" ; |
$mime->setTXTBody($body); |
$mime->setHTMLBody(info()) ; |
$body = $mime->get(); |
$headers = $mime->headers($headers); |
$mail = & Mail::factory('mail') ; |
$mail -> send ($ligne[INS_CHAMPS_MAIL], $headers, $body) ; |
if (PEAR::isError($mail)) { |
echo 'erreur d\'envoi' ; |
return false ; |
} |
return true ; |
} |
// 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.3 2005/03/21 16:57:30 florian |
* correction de bug, mise à jour interface |
* |
* 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/ins_annuaire/bibliotheque/annuaire.fonct.php |
---|
New file |
0,0 → 1,205 |
<?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: annuaire.fonct.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
/** |
* Fonctions du module annuaire |
* |
* Fonctions du module annuaire |
* |
*@package annuaire |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
include_once "HTML/QuickForm.php" ; |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** function parcourirAnnu () Affiche l'annuaire à partir d'une lettre |
* |
* |
* |
* @return string HTML |
*/ |
function parcourirAnnu() { |
$res = '<div><table><tr>'; |
// ecrire toutes les lettres avec un lien |
for ($i = 65 ; $i <91 ; $i++) { |
$res .= '<td><a style="font-size:15px;" href="'.$GLOBALS['ins_url']->getURL().'&lettre='; |
$res .= chr($i) ; |
$res .= '">'; |
$res .= chr($i) ; |
$res .= '</a></td>'."\n"; |
} |
$res .= '</tr></table></div>'."\n"; |
// si une lettre est selectionne |
if (!empty($_REQUEST['lettre'])) { |
$requete = 'SELECT '.INS_CHAMPS_ID; |
foreach($GLOBALS['annuaire_champs_visibles']['champs_db'] as $i) { |
$requete .= ', '.$i; |
} |
$requete .= ' FROM '.INS_ANNUAIRE.' WHERE '; |
if ($_REQUEST['lettre'] != 'tous') { |
$requete .= INS_CHAMPS_NOM.' LIKE "'.$_REQUEST['lettre'].'%"'; |
} else { |
$requete .= '1'; |
} |
$requete .= ' ORDER BY '.INS_CHAMPS_NOM ; |
$resultat = $GLOBALS['ins_db']->query($requete); |
var_dump($resultat); |
if ($resultat->numRows()>0) { |
$i=0; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$donnees_membres[$i++]=$ligne; |
} |
$res .= listes_inscrit($donnees_membres, $GLOBALS['annuaire_champs_visibles']['label_champs']); |
} else {$res .= ANN_PAS_D_INSCRITS;} |
} |
return $res ; |
} |
/** |
* Renvoie le code HTML de la liste des inscrits |
* en fonction de la requete passé en parametre |
* |
* @return Renvoie le code HTML de la liste des inscrits |
*/ |
function listes_inscrit(& $donnees_membres, & $entete , $case_a_cocher=true) { |
$res = '<div>'."\n"; |
if ($case_a_cocher) {$res .= '<form action="'.$GLOBALS['ins_url']->getURL().'"&lettre='.$_REQUEST['lettre'].'" method="post" name="formmail">'."\n";} |
$res .= '<table id="table_inscrit">'."\n".'<colgroup>'."\n"; |
if ($case_a_cocher) {$res .= '<col />';} |
foreach($entete as $i) {$res .= '<col />'; } |
$res .= '</colgroup>'."\n".'<thead>'."\n"; |
if ($case_a_cocher) {$res .= '<th> </th>'."\n";} |
foreach($entete as $i) { |
$res .= '<th>'.$i.'</th>'."\n"; |
} |
$res .= '</thead>'."\n"; |
$indic=0; |
$i=1; |
foreach($entete as $i) { |
if ($indic==0) { |
$res.='<tr class="ligne_impaire">'."\n"; |
$indic=1; |
} |
else { |
$res.='<tr class="ligne_paire">'."\n"; |
$indic=0; |
} |
} |
for ($i=0;$i<count($donnees_membres);$i++) { |
$id = array_shift($donnees_membres[$i]); |
if ($case_a_cocher) {$res.='<td><input type="checkbox" name="select[]" value="'.$id.'"></td>'."\n";} |
foreach($donnees_membres[$i] as $valeur) $res .= '<td>'.$valeur.'</td>'."\n" ; |
$res .= '</tr>'."\n"; |
} |
$res .= '</table></div>'."\n"; |
if ($case_a_cocher) { |
$res .= '<div class="texte">'.ANN_CHECK_UNCHECK ; |
$res .= ' <input type="checkbox" name="selecttotal" onclick="javascript:setCheckboxes(\'formmail\');"></div>'; |
$res .= '<h3>'.ANN_ENVOYER_MAIL.'</h3>'."\n"; |
$res .= '<div>'."\n".'<table border="0">'."\n" |
.'<tr><td class="texte">'.ANN_SUJET.' :</td>'."\n" |
.'<td><input class="forml" type="text" name="titre_mail" size="60"></td>'."\n" |
.'</tr><tr><td class="texte" valign="top">'.ANN_MESSAGE.' : </td>'."\n" |
.'<td><textarea class="forml" name="corps" rows="5" cols="60"></textarea></td>'."\n" |
.'</tr><tr><td></td><td align="center">'; |
$res.='<input type="submit" value="'.ANN_ENVOYER.'">'; |
$res.='</td>'."\n".'</tr>'."\n".'</table>'."\n".'</div>'."\n".'</form>'."\n"; |
} |
return $res ; |
} |
/** envoie_mail_depuis_annuaire() |
* |
* |
* @return envoie l'email |
*/ |
function envoie_mail_depuis_annuaire() { |
$requete = "select ".ANN_CHAMPS_MAIL." from ".ANN_ANNUAIRE. |
" where ".ANN_CHAMPS_ID."='".$GLOBALS['AUTH']->getAuthData (ANN_CHAMPS_ID)."'"; |
$resultat = $GLOBALS['ann_db']->query($requete); |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()); |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
$entete = "From: <".$ligne[ANN_CHAMPS_MAIL].">\n"; |
$_POST['corps'] .= ANN_PIED_MESSAGE; |
$_POST['corps'] = stripslashes($_POST['corps']) ; |
$liste = "" ; |
foreach ($_POST['select'] as $key => $value) { |
mail ($value, stripslashes($_POST['titre_mail']), $_POST['corps'] , $entete) ; |
$liste .= $value."\n" ; |
} |
$_POST['corps'] .= "\n----------------------------------------------------------------------------"; |
$_POST['corps'] .= "\n".ANN_MESSAGE_ENVOYE_A." :\n $liste" ; |
mail (CAR_MAIL_ADMIN, stripslashes($_POST['titre_mail']), $_POST['corps'], $entete); |
$_POST['corps'] = ''; |
$_POST['titre_mail'] = ''; |
return '<div>'.ANN_MAIL_ENVOYER.'</div>' ; |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.3 2005/03/24 08:24:29 alex |
* -- |
* |
* Revision 1.2 2005/01/06 15:18:31 alex |
* modification de la fonction de formulaire d'authentification |
* |
* Revision 1.1.1.1 2005/01/03 17:27:49 alex |
* Import initial |
* |
* Revision 1.1 2005/01/03 17:18:49 alex |
* retour vers la liste des participants après un ajout. |
* |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/client/ins_annuaire/bibliotheque/inscription.fonct.wiki.php |
---|
New file |
0,0 → 1,133 |
<?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.wiki.php,v 1.1 2005-04-06 13:33:32 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.1 $ $Date: 2005-04-06 13:33:32 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | 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 ; |
} |
function wiki_cookie() { |
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, "/") ; |
} |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2005/03/21 16:57:30 florian |
* correction de bug, mise à jour interface |
* |
* 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/ins_annuaire/bibliotheque/mail_tous.php |
---|
New file |
0,0 → 1,105 |
<?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: mail_tous.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
/** |
* Permet d'envoie un mail à une sélection dans l'annuaire |
* |
* |
*@package annuaire |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
function putFrame() { |
// configuration |
global $objet, $corps, $annuaire_LABEL_STATUT, $SERVER_ADMIN ; |
global $action ; |
$url = $GLOBALS['ann_url']->getURL() ; |
$annu_table = "annuaire_tela" ; |
$champs_mail = "U_MAIL" ; |
// Entete |
$corps_debut = "RESEAU TELA BOTANICA - Le ".date("j/m/Y"). |
"\n\nBonjour,\n"."\n\nCordialement,\n-------------------\nTela Botanica le réseau des botanistes francophones\naccueil@tela-botanica.org\nhttp://www.tela-botanica.org\n"; |
$res = "<h1>Envoi d'un mail à tous les membres</h1>\n" ; |
if ($_GET['action'] == ANN_MAIL_TOUS_ENVOIE) $res .= envoie_mail_selection() ; |
// formulaire |
$res .= "<div><form action=\"$url&action=".ANN_MAIL_TOUS_ENVOIE."\" method=\"post\"><table>\n" ; |
$res .= "<tr><td class=\"insLabel\">" ; |
$res .= "Objet : </td><td><input size=\"91\" name=\"objet\" type=\"text\" class=\"insInputForm\"></td></tr>\n" ; |
$res .= "<tr><td class=\"insLabel\">Corps : </td><td><textarea name=\"corps\" cols=\"90\" rows=\"30\" class=\"insInputForm\">$corps_debut</textarea></td></tr>\n" ; |
$res .= "<tr><td></td><td><input type=\"submit\" class=\"texte_tb\" value=\"envoyer\"" ; |
$res .= " onclick=\"javascript:return confirm('Etes-vous sur de vouloir envoyer ce message !!');\"" ; |
$res .= "></td></tr>\n" ; |
$res .= "</table></form></div>\n" ; |
return $res ; |
} |
include_once ("Mail.php"); |
// envoie le mail à tous |
function envoie_mail_selection() |
{ |
global $objet, $corps, $annuaire_LABEL_STATUT, $SERVER_ADMIN, $GS_GLOBAL ; |
$annuaire = "annuaire_tela" ; |
$champs_mail = "U_MAIL" ; |
$headers['From'] = "accueil@tela-botanica.org" ; |
$headers['Subject'] = stripslashes($objet) ; |
$corps = stripslashes($corps) ; |
$requete = $_SESSION['requete_mail_tous'] ; |
unset ($_SESSION['requete_mail_tous']) ; |
$resultat = mysql_query($requete) or die ("echec") ; |
while ($ligne = mysql_fetch_object($resultat)) { |
if (!mail($ligne->U_MAIL, $headers['Subject'], $corps, "From: ".$headers['From'])) { |
return "<tr><td>Une erreur s'est produite:<br>".$mail_object->getMessage()."</td></tr>\n" ; |
} |
} |
return "<div>Le mail est parti !</div>\n"; |
} |
?> |
/trunk/client/ins_annuaire/index.php |
---|
New file |
0,0 → 1,3 |
<?php |
header('Location:inscription.php'); |
?> |
/trunk/client/ins_annuaire/langues/ins_annuaire.langue.fr.inc.php |
---|
New file |
0,0 → 1,162 |
<?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_annuaire.langue.fr.inc.php,v 1.1 2005-04-06 13:33:32 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.1 $ $Date: 2005-04-06 13:33:32 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
define ('INS_TITRE_INSCRIPTION', 'Inscription au réseau'); |
define ('INS_INSCRIPTION_PERSONNE','S\'incrire en tant que personne'); |
define ('INS_INSCRIPTION_STRUCTURE', 'Inscrire sa structure'); |
define ("INS_AJOUT_MEMBRE", "Ajout d'un nouveau membre") ; |
define ("INS_NOM", "Nom") ; |
define ("INS_NOM_REQUIS", "Veuillez indiquer votre nom.") ; |
define ("INS_PRENOM", "Prénom") ; |
define ("INS_PRENOM_REQUIS", "Veuillez indiquer votre prénom.") ; |
define ("INS_PAYS", "Pays") ; |
define ("INS_LANGUES_PARLES", "Langues parlés") ; |
define ("INS_EMAIL", "Adresse mail") ; |
define ("INS_MOT_DE_PASSE", "Mot de passe") ; |
define ("INS_REPETE_MOT_DE_PASSE", "Répéter le mot de passe") ; |
define ("INS_ADRESSE_1", "Adresse") ; |
define ("INS_ADRESSE_2", "Adresse (suite)") ; |
define ("INS_REGION", "Région / province") ; |
define ("INS_CODE_POSTAL", "Code postal") ; |
define ("INS_CODE_POSTAL_REQUIS", "Veuillez indiquer votre code postal.") ; |
define ("INS_VILLE", "Ville") ; |
define ("INS_VILLE_REQUIS", "Veuillez indiquer votre ville.") ; |
define ("INS_SITE_INTERNET", "Site web personnel") ; |
define ("INS_LETTRE", "Je souhaite recevoir la lettre<br /> d'actualité sur l'éducation en<br /> l'environnement") ; |
define ("INS_ADHERENT", "Vous êtes adhérents de personnes morales (associations, institutions, entreprise... )") ; |
define ("INS_ORGANISME", "Organisme") ; |
define ("INS_FONCTION", "Fonction") ; |
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é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éjà utilisé par quelqu'un d'autre") ; |
define ("INS_NOTE_REQUIS", "Indique les champs requis") ; |
define ("INS_ACCUEIL_INSCRIPTION", "Inscription au réseau") ; |
define ("INS_MODIFIER_INSCRIPTION", "Modifier votre inscription") ; |
define ("INS_SUPPRIMER_INSCRIPTION", "Supprimer votre inscription") ; |
define ("INS_MESSAGE_BIENVENU", "Vous êtes inscrit aux sites Educ-Envir.org et Ecole-et-Nature.org") ; |
define ("INS_FICHE_PERSONNELLE", "Fiche personnelle") ; |
define ("INS_DECONNEXION", 'Déconnexion') ; |
define ("INS_INSCRIPTION", 'Inscription') ; |
define ("INS_TEXTE_PERDU", "Si vous avez perdu votre mot de passe, indiquez ". |
"votre adresse email dans le champs login ci-dessus et cliquez sur \"Valider\"") ; |
define ('INS_SIGLE_STRUCTURE', 'Sigle de la structure'); |
define ('INS_SIGLE_REQUIS', 'Sigle de la structure requis!'); |
define ('INS_NOM_STRUCTURE', 'Nom de la structure'); |
define ('INS_MAIL_STRUCTURE', 'Adresse de messagerie de la structure'); |
define ('INS_SITE_STRUCTURE', 'Site Internet de la structure'); |
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éjà inscrit, identifiez-vous pour accéder à votre fiche personnelle :") ; |
define ('INS_PAS_INSCRIT', 'Pas encore inscrit, enregistrez-vous!'); |
define ("INS_ERREUR_LOGIN", "Utilisateur inconnu ou mot de passe erronné") ; |
define ("INS_SI_PASSE_PERDU", "Si vous avez perdu votre mot de passe, indiquez 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éseau Ecole et Nature est libre et gratuite !") ; |
define ("INS_LAIUS_INSCRIPTION_2", "L'inscription vous permet de :<br /> |
- consulter l'annuaire des personnes inscrites au Réseau et pouvoir ainsi échanger des informations <br /> |
- accéder à certaines informations diffusées sur le site <br /> |
- vous inscrire à des projets d'éducation à l'environnement<br /> |
- rédiger des annonces d'actualité, d'évenements, de séjours et rencontres, de covoiturage ou de parutions<br /> |
- recevoir un bulletin électronique d'informations.") ; |
//============= L'envoie du mot de passe perdu par mail ============================= |
define ("INS_NOUVEAU_MOT_DE_PASSE", "Votre nouveau mot de passe sur Educ-Envir.org et Ecole-et-Nature.org") ; |
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 les sites du réseau Ecole et Nature: Educ-Envir.org et Ecole-et-Nature.org.\n". |
"http://www.educ-envir.org/\n\n". |
"http://www.ecole-et-nature.org/\n\n") ; |
define ("INS_MOT_DE_PASSE_ENVOYE_1", "Votre nouveau mot de passe a été ". |
"envoyé à 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ésitez pas à changer ce mot de passe ". |
"pour en mettre un plus simple, plus facile à retenir." ); |
//============= L'envoie d'un mail de confirmation =================================== |
// Ne pas utiliser d'entités HTML |
define ('INS_ENTETE_INSCRIPTION','Inscription sur les sites Educ-Envir.org et Ecole-et-Nature.org'); |
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.ecole-et-nature.org ou \nhttp://www.educ-envir.org\n". |
"rubrique S'inscrire (le signe + sur le bandeau du haut).\n\n". |
"L'équipe du réseau Ecole et Nature.") ; |
define ('INS_MESSAGE_EXPIRATION','Désolé, le temps imparti à votre inscription c\'est écoulé...<br />'. |
'Merci de bien vouloir vous réinscrire, en répondant rapidement au mail de confirmation.<br /><br />'. |
'En vous remerciant de votre compréhension, a tout de suite!'); |
define ('INS_MESSAGE_VALIDER_INSCRIPTION','Validation de votre inscription sur le réseau Ecole et Nature:'."\n". |
'Merci de vous être inscrit(e), soyez bienvenu(e)!'."\n". |
'Veuillez cliquer sur le lien ci-dessous pour finaliser votre inscription:'."\n"); |
// Envoir d'un mail à la coordination |
define ("INS_MAIL_COORD_SUJET", "Un nouvel inscrit au réseau ") ; |
define ("INS_MAIL_COORD_CORPS", "Une nouvelle inscription a été effectuée sur le site.") ; |
define ("INS_CHAMPS_REQUIS", "Champs requis") ; |
define ("INS_MESSAGE_INSCRIPTION", "Votre inscription a été prise en compte, relevez votre messagerie et cliquer sur le lien proposé pour terminer votre inscription.") ; |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2005/03/10 09:40:39 tam |
* modifs labels |
* |
* Revision 1.1 2005/03/04 10:39:54 tam |
* installation |
* |
* 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/ins_annuaire/langues/annuaire_backoffice.langue.fr.inc.php |
---|
New file |
0,0 → 1,27 |
<?php |
// +--------------------------------------------------------------------------------+ |
// | annuaire_moteur_lang_fr.php | |
// +--------------------------------------------------------------------------------+ |
// | Copyright (c) 2000 - 2003 Tela Botanica | |
// +--------------------------------------------------------------------------------+ |
// | Contient le texte de l'appli en français | |
// +--------------------------------------------------------------------------------+ |
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> | |
// +--------------------------------------------------------------------------------+ |
// |
// $Id: annuaire_backoffice.langue.fr.inc.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
define ("AM_L_TITRE", "Chercher un adhérent") ; |
define ("AM_L_RECHERCHER", "Rechercher") ; |
define ("AM_L_PAYS", "Pays") ; |
define ("AM_L_NOM", "Nom") ; |
define ("AM_L_PRENOM", "Prénom") ; |
define ("AM_L_VILLE", "Ville") ; |
define ("AM_L_DEPARTEMENT", "Département") ; |
define ("AM_L_MAIL", "Mail") ; |
define ("AM_L_COTISANTS", "Cotisants") ; |
define ("AM_L_GRP_RES", "Grouper les résultats") ; |
define ("AM_L_TOUS", "Tous") ; |
define ("AM_L_MAIL_SELECTION", "Envoyer un mail à la sélection") ; |
?> |
/trunk/client/ins_annuaire/langues/annuaire.langue.fr.inc.php |
---|
New file |
0,0 → 1,89 |
<?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: annuaire.langue.fr.inc.php,v 1.1 2005-04-06 13:33:32 florian Exp $ |
/** |
* Fichier de traduction en français de l'application inscription |
* |
* Fichier de traduction en français de l'application inscription |
* |
*@package vecam |
//Auteur original : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ $Date: 2005-04-06 13:33:32 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
define ("ANN_NOM", "Nom") ; |
define ("ANN_PRENOM", "Prénom") ; |
define ("ANN_VILLE", "Ville") ; |
define ("ANN_PAYS", "Pays") ; |
define ('ANN_PAS_D_INSCRITS', 'Pas d\'inscrits commençant par cette lettre dans l\'annuaire.'); |
define ("ANN_LANGUES_PARLES", "Langues parlés :") ; |
define ("ANN_EMAIL", "Courriel :") ; |
define ("ANN_MOT_DE_PASSE", "Mot de passe :") ; |
define ("ANN_REPETE_MOT_DE_PASSE", "Répéter le mot de passe :") ; |
define ("ANN_RETABLIR", "Rétablir") ; |
define ("ANN_VALIDER", "Valider") ; |
define ("ANN_MESSAGE_BIENVENU", "Vous êtes inscrit au Réseau Ecole et Nature") ; |
define ("ANN_CLIQUEZ_LETTRE", 'Cliquez sur une lettre pour voir les membres du réseau.') ; |
define ("ANN_LISTE_INSCRIT_LETTRE", "Liste des inscrits à la lettre") ; |
define ("ANN_TITRE", 'Annuaire du réseau') ; |
define ("ANN_CHECK_UNCHECK", "Cocher les cases pour sélectionner votre destinataire ou cocher / décocher tout") ; |
define ("ANN_ENVOYER_MAIL", "Envoyer un message aux personnes cochées") ; |
define ("ANN_SUJET", "Sujet") ; |
define ("ANN_MESSAGE", "Message") ; |
define ("ANN_ENVOYER", "Envoyer") ; |
define ("ANN_CLIC_CONFIRMATION", "Cliquez sur OK pour confirmer") ; |
define ("ANN_PAS_D_INSCRIT", "Pas d'inscrit") ; |
define ('ANN_DATE','Date d\'inscription'); |
// ========================= Labels pour les mails ============================ |
define ("ANN_VERIF_MAIL_COCHE", "Veuillez cocher au moins un destinataire pour votre mail" ); |
define ("ANN_VERIF_TITRE", "Votre message doit comporter un titre <i>et</i> un corps") ; |
define ("ANN_PIED_MESSAGE", "\n---------------------------------------------------------------------------". |
"\nCe message vous est envoyé par l'intermédiaire du site Internet". |
"\n(http://www.ecole-et-nature.org) du réseau Ecole et Nature, ". |
"\nauquel vous êtes inscrit. ". |
"\nNe répondez pas à ce message." ) ; |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.2 2005/03/08 09:43:55 alex |
* changement de label |
* |
* Revision 1.1.1.1 2005/01/03 17:27:49 alex |
* Import initial |
* |
* Revision 1.1 2005/01/03 17:19:32 alex |
* version initiale |
* |
* Revision 1.1 2004/06/18 08:54:55 alex |
* version initiale |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/client/ins_annuaire/presentations/inscription.css |
---|
New file |
0,0 → 1,146 |
/* |
+----------------------------------------------------------------------------+ |
| 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 { |
width:60%; |
padding:0.2em; |
margin:0.2em; |
color: #FF0000; |
font-size: 110%; |
text-align: center; |
font-weight: bold; |
text-decoration: blink; |
border: 0.2em solid #FF0000; |
} |
/trunk/client/ins_annuaire/presentations/signature_numerique.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/client/ins_annuaire/presentations/signature_numerique.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |