Subversion Repositories Sites.tela-botanica.org

Compare Revisions

No changes between revisions

Ignore whitespace Rev 4 → Rev 5

/trunk/client/annuaire/classes/inscription.class.php
New file
0,0 → 1,229
<?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.1.1 2005/01/03 17:27:49 alex Exp $
/**
* Inscription
*
* Un module d'inscription, en général ce code est spécifique à
* un site web
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1.1.1 $ $Date: 2005/01/03 17:27:49 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
require_once 'HTML/QuickForm.php' ;
 
class HTML_formulaireInscription extends HTML_Quickform {
 
/**
* Constructeur
*
* @param string formName Le nom du formulaire
* @param string method Méthode post ou get
* @param string action L'action du formulaire.
* @param int target La cible.
* @param Array attributes Les attributs HTML en plus.
* @param bool trackSubmit ??
* @return void
* @access public
*/
function HTML_forumlaireInscription ( $formName, $method = "post", $action, $target = "_self", $attributes, $trackSubmit = false ) {
HTML_Quickform::HTML_Quickform($formName, $method, $action, $target, $attributes, $trackSubmit) ;
}
 
/**
*
*
* @return void
* @access public
*/
function construitFormulaire($url, $liste_pays)
{
$squelette =& $this->defaultRenderer();
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<li class="liste_inscription">'."\n".'{label}'."\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') ;
$nom_prenom[] = & HTML_QuickForm::createElement ('text', 'nom', INS_NOM) ;
$nom_prenom[] = & HTML_QuickForm::createElement ('text', 'prenom', INS_PRENOM) ;
$this->addGroup ($nom_prenom, 'groupe_nom', '', '', false) ;
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) ;
$this->addElement ('text', 'adresse_2', INS_ADRESSE) ;
$this->addElement ('text', 'region', INS_REGION) ;
$cp_ville[] = & HTML_QuickForm::createElement ('text', 'cp', INS_CODE_POSTAL) ;
$cp_ville[] = & HTML_QuickForm::createElement ('text', 'ville', INS_VILLE) ;
$this->addGroup ($cp_ville, 'groupe_cp_ville', '', '', false) ;
$this->addGroupRule ('groupe_cp_ville', INS_CODE_POSTAL_REQUIS, 'required', '', 1, 'client') ;
// L'élément pays est construit à partir du tableau liste_pays
 
$this->addElement ('select', 'pays', INS_PAYS, $liste_pays) ;
$this->addElement ('text', 'site', INS_SITE_INTERNET) ;
// on fait un groupe avec les boutons pour les mettres sur la même ligne
$buttons[] = &HTML_QuickForm::createElement('button', 'annuler', INS_ANNULER, array ("onclick" => "javascript:document.location.href='".$url."'"));
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', INS_VALIDER);
$this->addGroup($buttons, null, null, '&nbsp;');
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
 
$this->setRequiredNote(INS_CHAMPS_REQUIS) ;
} // end of member function construitFormulaire
/** Modifie le formulaire pour l'adapter au cas des structures
*
*
* @return void
* @access public
*/
function formulaireStructure()
{
$this->removeElement('groupe_nom') ;
$this->removeElement('email', false) ;
$mail = & HTML_QuickForm::createElement ('text', 'email', INS_MAIL_STRUCTURE) ;
$this->insertElementBefore ($mail, 'mot_de_passe') ;
$nom_structure = & HTML_QuickForm::createElement ('text', 'nom', INS_NOM_STRUCTURE) ;
$this->insertElementBefore ($nom_structure, 'email') ;
$this->removeElement ('site', false) ;
$site_structure = & HTML_QuickForm::createElement ('text', 'site', INS_SITE_STRUCTURE) ;
$this->insertElementBefore ($site_structure, 'pays') ;
$this->addElement ('hidden', 'est_structure', 1) ;
$sigle_structure = & HTML_QuickForm::createElement ('text', 'sigle_structure', INS_SIGLE_STRUCTURE) ;
$this->insertElementBefore ($sigle_structure, 'nom') ;
$this->addRule ('sigle_structure', INS_SIGLE_REQUIS, 'required', '', 'client') ;
}
/**
*
*
* @return string
* @access public
*/
function toHTML( )
{
$res = HTML_QuickForm::toHTML() ;
return $res ;
} // end of member function toHTML
 
 
 
}
 
class ListeDePays extends PEAR{
 
var $_db ;
/** Constructeur
* Vérifie l'existance de la table gen_pays_traduction
*
* @param DB Un objet PEAR::DB
* @return
*/
function ListeDePays (&$objetDB) {
$this->_db = $objetDB ;
$requete = "show tables" ;
$resultat = $objetDB->query ($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
while ($ligne = $resultat->fetchRow()) {
if ($ligne[0] == 'gen_pays_traduction') {
return ;
}
}
return $this->raiseError ('La table gen_pays_traduction n\'est pas présente dans la base de donnée !') ;
}
/** Renvoie la liste des pays traduite
*
* @param string une chaine de type i18n ou une chaine code iso langue (fr_FR ou fr ou FR)
* @return un tableau contenant en clé, le code iso du pays, en majuscule et en valeur le nom du pays traduit
*/
function getListePays ($i18n) {
if (strlen($i18n) == 2) {
$i18n = strtolower($i18n)."-".strtoupper($i18n) ;
}
$requete = "select gpt_id_pays, gpt_nom_pays_traduit from gen_pays_traduction where gpt_id_i18n='".$i18n."'" ;
$resultat = $this->_db->query ($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
if ($resultat->numRows() == 0) {
return $this->raiseError('Le code fourni ne correspond à aucun pays ou n\'est pas dans la table!') ;
}
$retour = array() ;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$retour[$ligne->gpt_id_pays] = $ligne->gpt_nom_pays_traduit ;
}
return $retour ;
}
}
 
?>
/trunk/client/biblio_bota/configuration/bb_config.inc.php
New file
0,0 → 1,361
<?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: bb_config.inc.php,v 1.9 2005/03/01 17:43:44 jpm Exp $
/**
* Configuration générale des applications de Biblio Bota
*
* Ce fichier permet de stocker les valeurs de configuration communes aux différentes applications
* constituant Biblio Bota.
*
*@package BiblioBota
*@subpackage configuration
//Auteur original :
*@author Jean-Charles GRANGER <tela@vecteur.org>
//Autres auteurs :
*@author Jean-Pascal MILENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.9 $ $Date: 2005/03/01 17:43:44 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
/** Definition de la variable globale de Biblio Bota.*/
$GLOBALS['_BIBLIO_'] = array();
/** Variable globale stockant une URL de base de l'application recherche de plante sous forme d'objet Pear URL.*/
$GLOBALS['_BIBLIO_']['url'] = $GLOBALS['_GEN_commun']['url'];
/** Variable globale stockant la valeur i18n courante pour l'application.*/
$GLOBALS['_BIBLIO_']['i18n'] = $GLOBALS['_GEN_commun']['i18n'];
 
// +------------------------------------------------------------------------------------------------------+
// Définition des arguments de l'appel de l'application
/** Constante stockant la demande d'authentification pour accéder au moteur de recherche.*/
define('BB_ARGUMENT_AUTH', 0);
if (!isset($GLOBALS['_GEN_commun']['info_application']->application)) {
$GLOBALS['_GEN_commun']['info_application']->application = $_REQUEST['appli'];
}
define('BB_ARGUMENT_APPLI', $GLOBALS['_GEN_commun']['info_application']->application);
 
$GLOBALS['_GEN_commun']['info_application']->objet = isset($GLOBALS['_GEN_commun']['info_application']->objet) ? $GLOBALS['_GEN_commun']['info_application']->objet : '' ;
define('BB_ARGUMENT_OBJET', $GLOBALS['_GEN_commun']['info_application']->objet);
 
$GLOBALS['_GEN_commun']['info_application']->regroupement = isset($GLOBALS['_GEN_commun']['info_application']->regroupement) ? $GLOBALS['_GEN_commun']['info_application']->regroupement : '' ;
define('BB_ARGUMENT_REGROUPEMENT', $GLOBALS['_GEN_commun']['info_application']->regroupement);
 
$GLOBALS['_GEN_commun']['info_application']->titre = isset($GLOBALS['_GEN_commun']['info_application']->titre) ? $GLOBALS['_GEN_commun']['info_application']->titre : '' ;
define('BB_ARGUMENT_TITRE', $GLOBALS['_GEN_commun']['info_application']->titre);
 
$GLOBALS['_GEN_commun']['info_application']->service = isset($GLOBALS['_GEN_commun']['info_application']->service) ? $GLOBALS['_GEN_commun']['info_application']->service : '' ;
define('BB_ARGUMENT_SERVICE', $GLOBALS['_GEN_commun']['info_application']->service);
 
$GLOBALS['_GEN_commun']['info_application']->domaine = isset($GLOBALS['_GEN_commun']['info_application']->domaine) ? $GLOBALS['_GEN_commun']['info_application']->domaine : '' ;
define('BB_ARGUMENT_DOMAINE', $GLOBALS['_GEN_commun']['info_application']->domaine);
 
// +------------------------------------------------------------------------------------------------------+
// Définition des chemins de fichiers.
/** Constante stockant le chemin du dossier contenant l'API partagée.*/
define('BB_CHEMIN_API', GEN_CHEMIN_API);
/** Constante stockant le chemin du dossier contenant l'API JPGraph.*/
define('BB_CHEMIN_API_JPGRAPH', BB_CHEMIN_API.'jpgraph_1.12.2'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant l'API Débogage.*/
define('BB_CHEMIN_API_DEBOGAGE', BB_CHEMIN_API.'debogage'.GEN_SEP);
/** Constante stockant le chemin du dossier racine de Biblio Bota.*/
define('BB_CHEMIN_RACINE', GEN_CHEMIN_CLIENT.'biblio_bota'.GEN_SEP);
/** Constante stockant le chemin absolu du dossier racine de Biblio Bota.*/
define('BB_CHEMIN_ABSO_RACINE', PAP_CHEMIN_RACINE.GEN_CHEMIN_CLIENT.'biblio_bota'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant les applications spécifiques de Biblio Bota.*/
define('BB_CHEMIN_APPLI', BB_CHEMIN_RACINE.'applications'.GEN_SEP);
/** Constante stockant le chemin absolu du dossier contenant les applications spécifiques de Biblio Bota.*/
define('BB_CHEMIN_ABSO_APPLI', PAP_CHEMIN_RACINE.GEN_CHEMIN_CLIENT.'biblio_bota/applications'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant les traductions de Biblio Bota.*/
define('BB_CHEMIN_LANGUES', BB_CHEMIN_RACINE.'langues'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant la présentation de Biblio Bota.*/
define('BB_CHEMIN_PRESENTATION', BB_CHEMIN_RACINE.'presentations'.GEN_SEP);
/** Constante stockant le chemin absolu du dossier contenant la présentation de Biblio Bota.*/
define('BB_CHEMIN_ABSO_PRESENTATION', BB_CHEMIN_ABSO_RACINE.'presentations'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant les images de Biblio Bota.*/
define('BB_CHEMIN_IMAGES', BB_CHEMIN_PRESENTATION.'images'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant les images de document de type physique de Biblio Bota.*/
define('BB_CHEMIN_IMAGES_TYPE_PHYSIQUE', BB_CHEMIN_IMAGES.'type_physique'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant les images de document de type logique de Biblio Bota.*/
define('BB_CHEMIN_IMAGES_TYPE_LOGIQUE', BB_CHEMIN_IMAGES.'type_logique'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant les images illustrant les articles.*/
define('BB_CHEMIN_IMAGES_ILLUSTRATION', GEN_CHEMIN_SITES.'biblio'.GEN_SEP.'generique'.GEN_SEP.'images'.GEN_SEP.'biblio_bota'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant les styles de Biblio Bota.*/
define('BB_CHEMIN_STYLES', BB_CHEMIN_PRESENTATION.'styles'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant la bibliothèque de code de Biblio Bota.*/
define('BB_CHEMIN_BIBLIO', BB_CHEMIN_RACINE.'bibliotheque'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant les documents de Biblio Bota.*/
define('BB_CHEMIN_DOC', BB_CHEMIN_PRESENTATION.'documents'.GEN_SEP);
/** Constante stockant le chemin absolu du dossier contenant les documents de Biblio Bota.*/
define('BB_CHEMIN_ABSO_DOC', BB_CHEMIN_ABSO_PRESENTATION.'documents'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant la bibliothèque de Cartographie.*/
define('BB_CHEMIN_BIBLIO_CARTO', BB_CHEMIN_BIBLIO.'cartographie'.GEN_SEP);
/** Constante stockant le chemin du dossier contenant les cartes de la bibliothèque de Cartographie.*/
define('BB_CHEMIN_CARTE', BB_CHEMIN_BIBLIO_CARTO.'cartes'.GEN_SEP);
 
// +------------------------------------------------------------------------------------------------------+
// Définition des chemins d'accès aux images.
/** Constante stockant le chemin d'accès au fichier bb_precedent.png de Biblio Bota.*/
define('BB_IMG_PRECEDENT', BB_CHEMIN_IMAGES.'navigation'.GEN_SEP.'bb_precedent.png');
/** Constante stockant le nom de la classe générique des icones de Biblio Bota.*/
define('BB_CLASS_IMG_ICONE', 'bb_img_icone');
/** Constante stockant le nom de la classe du fichier bb_precedent.png de Biblio Bota.*/
define('BB_CLASS_IMG_PRECEDENT', 'bb_img_precedent');
/** Constante stockant le chemin d'accès au fichier bb_modifier.png de Biblio Bota.*/
define('BB_IMG_MODIFIER', BB_CHEMIN_IMAGES.'bb_modifier.png');
/** Constante stockant le nom de la classe du fichier bb_modifier.png de Biblio Bota.*/
define('BB_CLASS_IMG_MODIFIER', 'bb_img_icone_large');
/** Constante stockant le chemin d'accès au fichier icone web de Biblio Bota.*/
define('BB_IMG_WEB', GEN_CHEMIN_COMMUN.'generique'.GEN_SEP.'images'.GEN_SEP.'icones'.GEN_SEP.'fichier_htm.png');
/** Constante stockant le nom de la classe du fichier bb_retour.png de Biblio Bota.*/
define('BB_CLASS_IMG_WEB', 'bb_img_web');
/** Constante stockant le chemin d'accès au fichier bb_partenaire.png de Biblio Bota.*/
define('BB_IMG_PARTENAIRE', BB_CHEMIN_IMAGES.'bb_partenaire.png');
/** Constante stockant le nom de la classe du fichier bb_partenaire.png de Biblio Bota.*/
define('BB_CLASS_IMG_PARTENAIRE', 'bb_img_partenaire');
/** Constante stockant le chemin d'accès au fichier bb_reference.png de Biblio Bota.*/
define('BB_IMG_REFERENCE', BB_CHEMIN_IMAGES.'bb_reference.png');
/** Constante stockant le nom de la classe du fichier bb_reference.png de Biblio Bota.*/
define('BB_CLASS_IMG_REFERENCE', 'bb_img_reference');
/** Constante stockant le chemin d'accès au fichier bb_epuise.png de Biblio Bota.*/
define('BB_IMG_EPUISE', BB_CHEMIN_IMAGES.'bb_epuise.png');
/** Constante stockant le nom de la classe du fichier bb_epuise.png de Biblio Bota.*/
define('BB_CLASS_IMG_EPUISE', 'bb_img_epuise');
 
// +------------------------------------------------------------------------------------------------------+
// Définition de chemin d'accès et de nom de fichier pour la Cartographie
/** Constante stockant le chemin d'accès et le nom du fichier récupérant l'image de la carte et la renvoyant au client.*/
define('CAR_CHEMIN_CARTE', BB_CHEMIN_BIBLIO_CARTO.'carto.php?session='.session_name());
/** Constante stockant le chemin d'accès au dossier stockant les cartes temporaires générées par la carto.*/
define('CAR_CHEMIN_TMP', BB_CHEMIN_ABSO_DOC.'cartes_tmp'.GEN_SEP);
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// ATTENTION : reprise directe des variables de conf de BiblioBota version 0.0
// +------------------------------------------------------------------------------------------------------+
// Définition des libertés d'accès aux moteurs, popup... + paramètres divers
/** nombre d'éditeurs max à afficher dans une liste déroulante avant que le moteur ne bascule en mode zne de saisie */
$var_biblio['how_editeurs'] = 20;
/** réduire les recherches au domaine principal ? (0/1) */
$var_biblio['limit_domain'] = 1;
/** réduire les recherches au domaine principal ? (0/1) */
$var_biblio['val_euro'] = 1;
/** nombre d'éditeurs max à afficher dans une liste déroulante avant que le moteur ne bascule en mode zone de saisie. */
$var_biblio['how_bloc'] = 20;
/** nombre d'éditeurs max à afficher dans une liste déroulante avant que le moteur ne bascule en mode zone de saisie. */
$var_biblio['how_book'] = 10;
 
// +------------------------------------------------------------------------------------------------------+
// Définition des libertés d'accès à la consultation avancée par structure
/** A true la consultation avancée est possible à partir du moteur des structures de Biblio Bota. */
$var_biblio['open_biblio_str'] = true;
/** A true la consultation avancée est possible à partir du moteur des liens de Biblio Bota. */
$var_biblio['open_biblio_link'] = true;
 
// +------------------------------------------------------------------------------------------------------+
// Définition des libertés d'accès à la soumission de nouvelles fiches
/** permettre la proposition de structure ? */
$var_biblio['open_proposer_str'] = false;
/** permettre la proposition de liens ? */
$var_biblio['open_proposer_link'] = false;
/** permettre la proposition de collections ? */
$var_biblio['open_proposer_collection'] = false;
/** permettre la proposition de fascicules ? */
$var_biblio['open_proposer_fasc'] = false;
/** permettre la proposition d'articles ? */
$var_biblio['open_proposer_article'] = false;
/** permettre la proposition de medias ? */
$var_biblio['open_proposer_media'] = false;
 
// +------------------------------------------------------------------------------------------------------+
// Définition des libertés d'accès à la correction de fiches existantes
/** permettre la correction de structure ? */
$var_biblio['open_corriger_str'] = false;
/** permettre la correction de liens ? */
$var_biblio['open_corriger_link'] = false;
/** permettre la correction de collections ? */
$var_biblio['open_corriger_collection'] = false;
/** permettre la correction de fascicules ? */
$var_biblio['open_corriger_fasc'] = false;
/** permettre la correction d'articles ? */
$var_biblio['open_corriger_article'] = false;
/** permettre la correction de medias ? */
$var_biblio['open_corriger_media'] = false;
 
// +------------------------------------------------------------------------------------------------------+
// Définition des noms des tables de la base de données de Biblio Bota
/** nom de la table où sont les données structures. */
$tbl['str'] = 'biblio_str';
/** nom de la table où sont les données collections. */
$tbl['collection'] = 'biblio_collection';
/** nom de la table où sont les données de séries. */
$tbl['serie'] = 'biblio_serie';
/** nom de la table où sont les données fascicules. */
$tbl['fascicule'] = 'biblio_fasc';
/** nom de la table où sont les items. */
$tbl['item'] = 'biblio_item';
/** nom de la table où sont les données articles. */
$tbl['article'] = 'biblio_article';
/** nom de la table où sont les données liens. */
$tbl['link'] = 'biblio_link';
/** nom de la table où sont les données médias. */
$tbl['media'] = 'biblio_media';
/** nom de la table où sont les auteurs des saisies. */
$tbl['saisie'] = 'biblio_aut_saisie';
/** nom de la table où sont les données modifiées. */
$tbl['modif'] = 'biblio_modif';
/** nom de la table où sont les domaines d'article. */
$tbl['domaine'] = 'biblio_domaine';
/** nom de la table où sont les jointures entre articles et domaines. */
$tbl['domaine_lk'] = 'biblio_domaine_lier';
/** nom de la table où sont les catégories. */
$tbl['cat'] = 'biblio_link_categ';
/** nom de la table où sont les types de structures. */
$tbl['typestr'] = 'biblio_str_type';
/** nom de la table où sont les types physiques de médias. */
$tbl['item_typphy'] = 'biblio_item_typphy';
/** nom de la table où sont les types logiques de médias. */
$tbl['item_typlog'] = 'biblio_item_typlog';
/** nom de la table de jointure liens - catégories. */
$tbl['categlien'] = 'biblio_link_categoriser';
/** nom de la table où sont les données Types de Fichiers. */
$tbl['typefile'] = 'gen_typefile';
/** nom de la table où sont les données de jointure Voir Aussi. */
$tbl['allervoir'] = 'gen_allervoir';
/** nom de la table où sont les données Voir Aussi. */
$tbl['voiraussi'] = 'gen_voiraussi';
/** nom de la table où sont les données départements. */
$tbl['dpt'] = 'gen_FRENCH_DPT';
/** nom de la table où sont les données pays. */
$tbl['pays'] = 'gen_COUNTRY';
/** nom de la table où sont les données continents. */
$tbl['continent'] = 'gen_continent';
/** nom de la table où sont les données départements. */
$tbl['monnaie'] = 'gen_monnaie';
/** nom de la table où sont les données de logs. */
$tbl['logs'] = 'biblio_logs';
/** nom de la table où sont enregsitrées les requêtes effectuées. */
$tbl['spy'] = 'biblio_spy';
/** table où sont enregistrées les applis. */
$tbl['applicatifs'] = 'APPLICATION';
/** table où sont enregistrées les liens entre applications et droits. */
$tbl['app_droit'] = 'gen_app_droit';
/** table où sont enregistrées les droits des utilisateurs sur une appli. */
$tbl['autoriser'] = 'gen_autoriser';
//$tbl['annuaire'] = 'annuaire_tela' ; // nom de la table de l'annuaire
//$tbl['annu_info'] = 'ins_INFO' ; // nom de la table contenant
 
// +------------------------------------------------------------------------------------------------------+
// Définition d'identifiant de certaines valeurs de table de la base de données
// Quel est l'identifiant d'un livre dans la table des types physiques ?
$def_livre = 1;
// Quel est l'identifiant de l'euro dans la table des monnaies ?
$def_euro = 1;
 
// +------------------------------------------------------------------------------------------------------+
// Définition des valeurs des types logiques.
$log['txt'] = 1;
$log['log'] = 2;
$log['bank'] = 3;
$log['multi'] = 4;
$log['video'] = 5;
$log['son'] = 6;
 
// +------------------------------------------------------------------------------------------------------+
// Définition des valeurs des types physiques.
$phy['livre'] = 1;
$phy['perio'] = 2;
$phy['cd'] = 3;
$phy['k7'] = 4;
$phy['dvd'] = 5;
$phy['disk'] = 6;
 
// +------------------------------------------------------------------------------------------------------+
// Création des listes de définition des domaines phy et log pour les regroupements
if (defined('BB_ARGUMENT_REGROUPEMENT')) {
if (BB_ARGUMENT_REGROUPEMENT == 'article') {
// Physique
$dom_phy[0] = $phy['perio'];
// Logique
$dom_log[0] = $log['txt'];
// Définition des compléments de requêtes
$GLOBALS['query_dom']['phy'] = ' (B_I_TYPPHY = '.$phy['perio'].')';
$GLOBALS['query_dom']['log'] = ' (B_I_TYPLOG = '.$log['txt'].')';
} else if (BB_ARGUMENT_REGROUPEMENT == 'media') {
// Physique
$dom_phy[0] = $phy['livre'];
$dom_phy[1] = $phy['cd'];
$dom_phy[2] = $phy['k7'];
$dom_phy[3] = $phy['dvd'];
$dom_phy[4] = $phy['disk'];
// Logique
$dom_log[0] = $log['txt'];
$dom_log[1] = $log['log'];
$dom_log[2] = $log['bank'];
$dom_log[3] = $log['multi'];
$dom_log[4] = $log['video'];
$dom_log[5] = $log['son'];
// Définition des compléments de requêtes
$GLOBALS['query_dom']['phy'] = ' (B_I_TYPPHY <> '.$phy['perio'].')';
$GLOBALS['query_dom']['log'] = '';
}
}
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: bb_config.inc.php,v $
* Revision 1.9 2005/03/01 17:43:44 jpm
* Ajout de constante pour gérer les API.
*
* Revision 1.8 2005/03/01 16:01:37 jpm
* Ajout de constante pour gérer la bibliothèque cartographique.
*
* Revision 1.7 2005/02/24 18:33:53 jpm
* Ajout de constante pour les css.
*
* Revision 1.6 2005/02/24 11:16:11 jpm
* Suppression des constantes de configuration de la base de données.
*
* Revision 1.5 2004/09/16 12:09:09 jpm
* Ajout de constantes et poursuite de la mise en forme.
*
* Revision 1.4 2004/09/15 15:44:28 jpm
* Début mise en forme des valeurs de config d'origine.
*
* Revision 1.3 2004/09/14 10:19:06 jpm
* Ajout de nouvelles constantes
*
* Revision 1.2 2004/09/10 18:46:10 jpm
* Ajout de fonction et mise en forme.
*
* Revision 1.1 2004/09/10 09:46:02 jpm
* Ajout des fichiers BiblioBota configurer pour Papyrus.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/biblio_bota/bibliotheque/cartographie/carto.php
New file
0,0 → 1,89
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.3 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of Cartographie. |
// | |
// | Foobar is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation; either version 2 of the License, or |
// | (at your option) any later version. |
// | |
// | Foobar 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 General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: carto.php,v 1.1 2005/02/28 15:03:49 jpm Exp $
/**
* Fournie une image cartographique.
*
* Fichier permettant de récupérer l'image d'une carte créer par la bibliothèque cartographique
* et de la faire passer dans les entête HTTP.
*
*@package Cartographie
//Auteur original :
*@author Nicolas MATHIEU
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2005/02/28 15:03:49 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
session_name($_GET['session']);
session_start();
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
$image = imagecreatefrompng($_SESSION['chemin'].$_SESSION['fichier'].'.png');
if (!$image) {
echo session_name();
echo session_id();
trigger_error($image);
} else {
header("Expires: Wen, 01 Dec 1999 01:00:00 GMT");// Date du passé
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");// toujours modifié
header("Cache-Control: no-cache, must-revalidate");// HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
header ("content-type:image/png");
chmod($_SESSION['chemin'].$_SESSION['fichier'].'.png', 755);
imagepng($image);
unlink($_SESSION['chemin'].$_SESSION['fichier'].'.png');
//Nous nettoyons le dossier tmp des fichiers qu'il contient:
$poignet_de_dossier = opendir($_SESSION['chemin']);
while ($fichier_dechet = readdir($poignet_de_dossier)) {
if ($fichier_dechet != '.' && $fichier_dechet != '..') {
unlink($_SESSION['chemin'].$fichier_dechet);
}
}
closedir($poignet_de_dossier);
}
 
// +------------------------------------------------------------------------------------------------------+
// | PIED du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
exit();
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: carto.php,v $
* Revision 1.1 2005/02/28 15:03:49 jpm
* Ajout des fichiers de la bibliothèque cartographique.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/biblio_bota/bibliotheque/cartographie/cartes/moyenorient.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/client/biblio_bota/bibliotheque/cartographie/cartes/moyenorient.png
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/client/biblio_bota/bibliotheque/cartographie/cartes/france.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/client/biblio_bota/bibliotheque/cartographie/cartes/france.png
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/client/inscription/bibliotheque/ins_wiki.fonct.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: ins_wiki.fonct.php,v 1.1 2004/07/06 15:42:17 alex Exp $
/**
* Fonctions wikini
*
* Ce fichier propose 3 fonctions pour intervenir sur la table interwikini_users.
*
*@package inscription
*@subpackage fonctions_wikini
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004/07/06 15:42:17 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
 
function inscription_interwikini_users($nom, $valeur) {
$db = &DB::connect(INS_DSN_WIKINI) ;
$requete = "insert into interwikini_users set name=\"".$nom.
"\", password=\"".md5($valeur['mot_de_passe'])."\", email=\"".$valeur['email']."\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
echo ("Echec de la requete dans interwikini_users<br />".$resultat->getMessage()) ;
}
}
 
function mod_inscription_interwikini_users($nomwiki, $valeur) {
$db = &DB::connect(INS_DSN_WIKINI) ;
$requete = "update interwikini_users set password=\"".md5($valeur['mot_de_passe'])."\", email=\"".$valeur['email']."\"".
" where name=\"$nomwiki\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
echo ("Echec de la requete dans interwikini_users<br />".$resultat->getMessage()) ;
}
}
 
function desinscription_interwikini_users($nomwiki) {
$db = &DB::connect(INS_DSN_WIKINI) ;
$requete = "delete from interwikini_users where name=\"$nomwiki\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError($resultat)) {
echo ("Echec de la requete dans interwikini_users<br />".$resultat->getMessage()) ;
}
}
 
function verif_doublonNomWiki($nom_wiki) {
$db = &DB::connect(INS_DSN_WIKINI) ;
$requete = "select name from interwikini_users where name = \"$nom_wiki\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError ($resultat)) {
echo ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() == 0) return true ;
return false ;
}
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: ins_wiki.fonct.php,v $
* 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 ----------------------------------------------------------------------------------------+
*/
 
 
 
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/client/inscription/bibliotheque/inscription.class.php
New file
0,0 → 1,356
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: inscription.class.php,v 1.3 2005/05/13 13:48:38 alex Exp $
// CVS : $Id: inscription.class.php,v 1.3 2005/05/13 13:48:38 alex Exp $
/**
* Fonctions du module inscription
*
* Fonctions du module inscription
*
*@package inscription
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.3 $ $Date: 2005/05/13 13:48:38 $
*@version $Revision: 1.3 $ $Date: 2005/05/13 13:48:38 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
require_once 'HTML/QuickForm.php' ;
require_once 'HTML/QuickForm/checkbox.php' ;
require_once 'HTML/QuickForm/password.php' ;
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
class HTML_formulaireInscription extends HTML_Quickform {
 
/**
* Constructeur
*
* @param string formName Le nom du formulaire
* @param string method Méthode post ou get
* @param string action L'action du formulaire.
* @param int target La cible.
* @param Array attributes Les attributs HTML en plus.
* @param bool trackSubmit ??
* @return void
* @access public
*/
function HTML_forumlaireInscription ( $formName, $method = "post", $action, $target = "_self", $attributes, $trackSubmit = false ) {
HTML_Quickform::HTML_Quickform($formName, $method, $action, $target, $attributes, $trackSubmit) ;
}
 
/**
*
*
* @return void
* @access public
*/
function construitFormulaire($url, $liste_pays)
{
$squelette =& $this->defaultRenderer();
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$modele_element_debut = '<li class="groupe_formulaire">'."\n".'<span class="inscription_label1">{label}<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required --></span>'.
"\n".'{element}'."\n".''."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
''."\n" ;
$modele_element_fin = "\n".'<span class="inscription_label2">{label}<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required --></span>'.
"\n".'{element}'."\n".''."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</li>'."\n" ;
$squelette->setElementTemplate( '<li class="liste_inscription">'."\n".'<span class="inscription_label">{label}<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required --></span>'.
"\n".'{element}'."\n".''."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</li>'."\n");
//$squelette->setElementTemplate(, ) ;
// Les modèles pour les champs qui se tienne 2 par ligne
foreach (array('mot_de_passe', 'nom', 'cp') as $valeur) $squelette->setElementTemplate( $modele_element_debut, $valeur);
foreach (array('password_repete', 'prenom', 'ville') as $valeur) $squelette->setElementTemplate( $modele_element_fin, $valeur);
$squelette->setElementTemplate( '<ul><li class="groupe_bouton">{element}', 'annuler');
$squelette->setElementTemplate( '{element}</li></ul>', 'valider');
$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('doublon', 'callback', 'verif_doublonMail') ;
$this->addRule ('email', INS_MAIL_DOUBLE, 'doublon', true) ;
$this->addElement('password', 'mot_de_passe', INS_MOT_DE_PASSE);
$this->addElement('password', 'password_repete', INS_REPETE_MOT_DE_PASSE);
$this->addRule ('mot_de_passe', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
$this->addRule ('password_repete', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
 
$this->addElement('text', 'nom', INS_NOM);
$this->addElement('text', 'prenom', INS_PRENOM);
$this->addRule ('nom', INS_NOM_REQUIS, 'required', '', 'client') ;
$this->addRule ('prenom', INS_PRENOM_REQUIS, 'required', '', 'client') ;
/* On enlève le champs non wiki, on va le générer
$this->addElement ('text', 'nomwiki', INS_NOM_WIKI) ;
$this->addRule ('nomwiki', INS_MAUVAIS_NOM_WIKI, 'regex', '/^[A-Z][a-z]+[A-Z,0-9][A-Z,a-z,0-9]*$/', 'client') ;
*/
$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') ;
$this->addRule ('ville', INS_VILLE_REQUIS, 'required', '', 'client') ;
// L'élément pays est construit à partir de la table gen_COUNTRY
// $this->addElement ('select', 'pays', INS_PAYS, $liste_pays) ;
 
 
$s =& $this->createElement('select','pays',INS_PAYS);
$s->loadArray($liste_pays,'fr');
$this->addElement($s);
 
$element_lettre = &new HTML_QuickForm_checkbox ('lettre', '', INS_LETTRE) ;
$this->addElement($element_lettre) ;
$this->addElement ('text', 'site', INS_SITE_INTERNET) ;
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_ADHERENT.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
 
$this->addElement ('text', 'organisme', INS_ORGANISME) ;
$this->addElement ('text', 'fonction', INS_FONCTION) ;
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
 
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_ETES_BOTANISTE.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
// requete pour trouver les niveaux en botanique
$requete = "select * from annuaire_LABEL_NIV" ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$this->addElement ('radio', 'niveau', '', $ligne->LABEL_NIV, $ligne->ID_LABEL_NIV) ;
}
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
// L'activité professionnelle
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_ACTIVITE_PROFESSIONNELLE.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
 
// requete pour trouver les niveaux en botanique
$requete = "select * from annuaire_LABEL_ACT" ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$this->addElement ('radio', 'activite', '', $ligne->LABEL_ACT, $ligne->ID_LABEL_ACT) ;
}
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
// L'activité professionnelle
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_MEMBRE_ASSO.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
// requete pour trouver les niveaux en botanique
$requete = "select * from annuaire_LABEL_ASS" ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$this->addElement ('radio', 'asso', '', $ligne->LABEL_ASS, $ligne->ID_LABEL_ASS) ;
}
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
 
// Les spécialité
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_SPECIALISTE.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
$this->addElement ('textarea', 'specialite', '', array ('cols' => 50, 'rows' => 4)) ;
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
 
// Les spécialité géographiques
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_SPE_ZONE.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
$this->addElement ('textarea', 'specialite_geo', '', array ('cols' => 50, 'rows' => 4)) ;
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
$this->addElement ('link', 'annuler', '', preg_replace ('/&amp;/', '&', $GLOBALS['ins_url']->getURL()), INS_ANNULER) ;
$this->addElement ('submit', 'valider', INS_VALIDER) ;
$this->setRequiredNote(INS_NOTE_REQUIS) ;
} // end of member function construitFormulaire
/** Modifie le formulaire pour l'adapter au cas des structures
*
*
* @return void
* @access public
*/
function formulaireStructure()
{
$this->removeElement('email', false) ;
$mail = & HTML_QuickForm::createElement ('text', 'email', INS_MAIL_STRUCTURE) ;
$this->insertElementBefore ($mail, 'mot_de_passe') ;
$nom_structure = & HTML_QuickForm::createElement ('text', 'nom', INS_NOM_STRUCTURE) ;
$this->insertElementBefore ($nom_structure, 'email') ;
$this->removeElement ('site', false) ;
$site_structure = & HTML_QuickForm::createElement ('text', 'site', INS_SITE_STRUCTURE) ;
$this->insertElementBefore ($site_structure, 'pays') ;
$this->addElement ('hidden', 'est_structure', 1) ;
$sigle_structure = & HTML_QuickForm::createElement ('text', 'sigle_structure', INS_SIGLE_STRUCTURE) ;
$this->insertElementBefore ($sigle_structure, 'nom') ;
$this->addRule ('sigle_structure', INS_SIGLE_REQUIS, 'required', '', 'client') ;
}
/**
*
*
* @return string
* @access public
*/
function toHTML( )
{
$res = HTML_QuickForm::toHTML() ;
return $res ;
} // end of member function toHTML
 
 
 
}
 
class ListeDePays extends PEAR{
 
var $_db ;
/** Constructeur
* Vérifie l'existance de la table gen_pays_traduction
*
* @param DB Un objet PEAR::DB
* @return
*/
function ListeDePays (&$objetDB) {
$this->_db = $objetDB ;
$requete = "show tables" ;
$resultat = $objetDB->query ($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
while ($ligne = $resultat->fetchRow()) {
if ($ligne[0] == 'gen_COUNTRY') {
return ;
}
}
return $this->raiseError ('La table gen_COUNTRY 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 GC_ID, GC_NAME from gen_COUNTRY where GC_LOCALE='fr'" ;
$resultat = $this->_db->query ($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
if ($resultat->numRows() == 0) {
return $this->raiseError('Le code fourni ne correspond à aucun pays ou n\'est pas dans la table!') ;
}
$retour = array() ;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$retour[$ligne->GC_ID] = $ligne->GC_NAME;
}
return $retour ;
}
}
 
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
* Revision 1.1 2004/06/18 09:20:47 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
?>