Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 1187 → Rev 1188

/trunk/client/bottin/bibliotheque/bottin.fonct.php
33,6 → 33,26
// DATE : $Date$
*/
 
/**
* Renvoie l'accueil de l'inscription
*
* @return string HTML
*/
function AUTH_formulaire_login() {
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/Template/IT.php';
$tpl = new HTML_Template_IT() ;
// Le formulaire pour se logguer est dans un template
// template 1
$requete = 'SELECT it_template FROM inscription_template WHERE it_id_template=1'.
' AND it_i18n LIKE "%'.INS_LANGUE_DEFAUT.'"' ;
if (!$tpl -> setTemplate($GLOBALS['ins_db']->getOne ($requete))) {
echo 'erreur' ;
}
$tpl->setVariable('URL_INSCRIPTION', $GLOBALS['ins_url']->getURL());
return $tpl->get() ;
}
 
include_once 'inscription.fonct.wiki.php' ;
if (INS_UTILISE_SPIP) include_once 'inscription.fonct.spip.php' ;
96,7 → 116,7
* @return string HTML
*/
function affiche_onglet_info() {
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.fonct.php';
//include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.fonct.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.php';
if ( isset($_GET['voir_fiche']) ) {
$res=info($_GET['voir_fiche'], 'fiche');
119,6 → 139,29
* @return string HTML
*/
function Annuaire_recherche() {
// On ajoute la fonction javascript
// des case à 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>'.INS_RECHERCHE_ANNUAIRE_DES_INSCRITS.'</h2>'."\n";
$form =& new HTML_QuickForm('form_recherche_annuaire', 'post', str_replace('&amp;', '&', $GLOBALS['ins_url']->getURL()));
$squelette =& $form->defaultRenderer();
131,12 → 174,15
'<td style="padding:5px;text-align:left;">{element}</td>'."\n".
'</tr>'."\n" );
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan=2 style="padding:5px;">{label}{element}</td>'."\n".'</tr>'."\n", 'bouton_rechercher');
// La liste deroulante pour choisir entre structure et individus
// uniquement si la constante INS_FORMULAIRE_STRUCTURE vaut 1
$option_type=array ('0' => INS_PERSONNES_OU_STRUCTURES,
'1' => INS_PERSONNES,
'2' => INS_STRUCTURES);
$form->addElement('select', 'nom_type', INS_JE_RECHERCHE, $option_type);
if (INS_FORMULAIRE_STRUCTURE == 1) {
$option_type=array ('0' => INS_PERSONNES_OU_STRUCTURES,
'1' => INS_PERSONNES,
'2' => INS_STRUCTURES);
$form->addElement('select', 'nom_type', INS_JE_RECHERCHE, $option_type);
}
//requete pour recuperer la liste des pays
$requete = 'SELECT '.INS_CHAMPS_ID_PAYS.', '.INS_CHAMPS_LABEL_PAYS.' FROM '.INS_TABLE_PAYS.' WHERE '.INS_CHAMPS_I18N_PAYS.'="fr-FR"';
$resultat = $GLOBALS['ins_db']->query($requete) ;
172,17 → 218,26
//affichage du formulaire
$res .=$form->toHtml();
include_once INS_CHEMIN_APPLI.'/bibliotheque/bottin.class.php';
// On ajoute la liste des lettres cliquables
$lettre = new lettresAlphabet($GLOBALS['ins_url']) ;
$res .= $lettre->toHMTL();
$requete = '';
//on teste si l'on affiche le resultat de la recherche ou
if (isset($_POST['nom_type'])) {
if (isset($_POST['bouton_rechercher'])) {
$requete = 'SELECT '.INS_CHAMPS_ID.', '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM.', '.INS_CHAMPS_VILLE.', '.INS_CHAMPS_CODE_POSTAL;
$requete .= ' FROM '.INS_ANNUAIRE.' WHERE ';
$req_where=0;
if ($_POST['nom_type']==1) {
$requete .= INS_CHAMPS_EST_STRUCTURE.'=0 ';
$req_where=1;
} elseif ($_POST['nom_type']==2) {
$requete .= INS_CHAMPS_EST_STRUCTURE.'=1 ';
$req_where=1;
if (isset($_POST['nom_type'])) {
if ($_POST['nom_type']==1) {
$requete .= INS_CHAMPS_EST_STRUCTURE.'=0 ';
$req_where=1;
} elseif ($_POST['nom_type']==2) {
$requete .= INS_CHAMPS_EST_STRUCTURE.'=1 ';
$req_where=1;
}
}
if ($_POST['nom_pays']!='0'and$_POST['nom_pays']!='zz') {
if ($req_where) {
208,12 → 263,26
}
$requete .= '('.INS_CHAMPS_NOM.' LIKE "%'.$_POST['nom_annuaire'].'%"'.
' OR '.INS_CHAMPS_PRENOM.' LIKE "%'.$_POST['nom_annuaire'].'%"'.
' OR '.INS_CHAMPS_SIGLE_STRUCTURE.' LIKE "%'.$_POST['nom_annuaire'].'%"'.
' OR '.INS_CHAMPS_DESCRIPTION.' LIKE "%'.$_POST['nom_annuaire'].'%") ';
' OR '.INS_CHAMPS_SIGLE_STRUCTURE.' LIKE "%'.$_POST['nom_annuaire'].'%")';
}
 
if (!$req_where) $requete .= '1';
$requete .=' ORDER BY '.INS_CHAMPS_NOM;
$resultat = $GLOBALS['ins_db']->query($requete);
// Cas ou on a clique sur une lettre
}
if (isset($_GET['lettre'])){
$requete = 'SELECT '.INS_CHAMPS_ID.', '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM.', '.INS_CHAMPS_VILLE.', '.INS_CHAMPS_CODE_POSTAL;
$requete .= ' FROM '.INS_ANNUAIRE.' WHERE ';
$requete .= ' '.INS_CHAMPS_NOM.' like "'.$_GET['lettre'].'%"';
}
if ($requete != '') {
$resultat = $GLOBALS['ins_db']->query($requete);
if (DB::isError($resultat)) {
return ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
if ($resultat->numRows()>0) {
$res .='<h2>'.INS_RESULTATS_RECHERCHE.' ('.$resultat->numRows().' '.INS_ENTREES.')</h2>'."\n";
$res .='<p class="zone_info">'.INS_CLIQUER_ELEMENT_LISTE.'</p>'."\n";
221,27 → 290,24
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$donnees_membres[$i++]=$ligne;
}
$res .= listes_inscrit($donnees_membres);
}
else {
return $res.listes_inscrit($donnees_membres);
} else {
$res .='<h2>'.INS_RESULTATS_RECHERCHE.'</h2>'."\n";
$res .= '<p class="zone_alert">'.INS_PAS_DE_RESULTATS.'</p>'."\n";
}
} else {
$res .='<h2>'.INS_DIX_DERNIERES_INSCRIPTIONS.'</h2>'."\n";
$requete = 'SELECT '.INS_CHAMPS_ID.', '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM.', '.INS_CHAMPS_VILLE.', '.INS_CHAMPS_CODE_POSTAL;
$requete .= ' FROM '.INS_ANNUAIRE.' ORDER BY '.INS_CHAMPS_DATE.' DESC LIMIT 0 , 10';
$resultat = $GLOBALS['ins_db']->query($requete);
if ($resultat->numRows()>0) {
$i=0;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$donnees_membres[$i++]=$ligne;
}
$res .= listes_inscrit($donnees_membres, 0);
}
$res .='<h2>'.INS_DIX_DERNIERES_INSCRIPTIONS.'</h2>'."\n";
$requete = 'SELECT '.INS_CHAMPS_ID.', '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM.', '.INS_CHAMPS_VILLE.', '.INS_CHAMPS_CODE_POSTAL;
$requete .= ' FROM '.INS_ANNUAIRE.' ORDER BY '.INS_CHAMPS_DATE.' DESC LIMIT 0 , 10';
$resultat = $GLOBALS['ins_db']->query($requete);
if ($resultat->numRows()>0) {
$i=0;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$donnees_membres[$i++]=$ligne;
}
else {
$res .= '<p class="zone_alert">'.INS_PAS_DE_RESULTATS.'</p>'."\n";
}
$res .= listes_inscrit($donnees_membres, 0);
} else {
$res .= '<p class="zone_alert">'.INS_PAS_DE_RESULTATS.'</p>'."\n";
}
return $res ;
}
609,19 → 675,19
* @param array les valeurs renvoyés par le formulaire
* @return
*/
 
function inscription_validee($valeurs) {
inscription_insertion($valeurs) ;
$GLOBALS['AUTH']->username = $valeurs['email'] ;
$GLOBALS['AUTH']->password = $valeurs['mot_de_passe'] ;
// On loggue l'utilisateur
$GLOBALS['AUTH']->login() ;
// inscription à la lettre d'information
if (INS_CHAMPS_LETTRE != '' && isset ($valeurs['lettre'])) {
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
if (!function_exists('inscription_validee')) {
function inscription_validee($valeurs) {
inscription_insertion($valeurs) ;
$GLOBALS['AUTH']->username = $valeurs['email'] ;
$GLOBALS['AUTH']->password = $valeurs['mot_de_passe'] ;
// On loggue l'utilisateur
$GLOBALS['AUTH']->login() ;
// inscription à la lettre d'information
if (INS_CHAMPS_LETTRE != '' && isset ($valeurs['lettre'])) {
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
}
}
}
 
/**
* Renvoie l'accueil de l'inscription
*
648,7 → 714,7
*
* @return string HTML
*/
function inscription_formulaire_envoi_passe() {
function formulaire_envoi_passe() {
$res = '<h2>'.INS_SI_PASSE_PERDU.'</h2>'."\n" ;
$res .= '<form action="'.$GLOBALS['ins_url']->getURL().'&amp;action=sendpasswd" method="post">'."\n" ;
$res .= '<p class="label100">'.INS_EMAIL.' : </p>'."\n" ;
662,7 → 728,7
}
 
 
function inscription_insertion($valeur) {
function insertion($valeur) {
// =========== Insertion dans l'annuaire ===================
// Génération du nom wikini à partir du nom et du prénom
if (INS_UTILISE_WIKINI && INS_NOM_WIKINI_GENERE) {
697,7 → 763,7
* @param array un tableau de valeur avec en clé les noms des champs du formulaire
* @return void
*/
function inscription_mise_a_jour($valeur, $id = '') {
function mise_a_jour($valeur, $id = '') {
// ====================Mise à jour dans l'annuaire gen_annuaire ====================
if ($id == '') {
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
722,7 → 788,7
* @return string une requete du type champs="valeur",...
*/
 
function inscription_requete_annuaire($valeur) {
function requete_annuaire($valeur) {
$req = INS_CHAMPS_NOM.'="'.addslashes($valeur['nom']).'", ';
if (isset($valeur['est_structure']) && $valeur['est_structure'] == 0)
$req .= INS_CHAMPS_PRENOM.'="'.addslashes($valeur['prenom']).'", ';
790,7 → 856,7
*
* @return array Valeurs par défaut du formulaire d'inscription
*/
function inscription_formulaire_defaults($id = '') {
function formulaire_defaults($id = '') {
if ($id == '') {
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
}
978,7 → 1044,7
*
* @return boolean
*/
function inscription_verif_doublonMail($mail, $id = '') {
function verif_doublonMail($mail, $id = '') {
if ($id == '') {
if (isset ($GLOBALS['AUTH'])) {
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
1006,7 → 1072,7
}
 
 
function inscription_envoie_passe() {
function envoie_passe() {
$res='';
$requete = 'SELECT '.INS_CHAMPS_MAIL.' FROM '.INS_ANNUAIRE.' WHERE '.INS_CHAMPS_MAIL.'="'.$_POST['mail'].'"' ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
1073,7 → 1139,7
* @return
*/
 
function inscription_envoie_mail() //A COMPLETER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
function envoie_mail() //A COMPLETER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
{
include_once PAP_CHEMIN_RACINE.'api/pear/Mail/mime.php' ;
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.php' ;
1131,7 → 1197,7
* @return string un nom wiki valide
*/
 
function inscription_genere_nom_wiki($prenom, $nom) {
function genere_nom_wiki($prenom, $nom) {
// 1. suppression des espaces
$nom = trim ($nom) ;
$prenom = trim ($prenom) ;
1154,7 → 1220,7
* @return string la chaine épurée
*/
 
function inscription_trim_non_ascii ($nom) {
function trim_non_ascii ($nom) {
$premiere_lettre = true ;
for ($i = 0; $i < strlen ($nom); $i++) {
if (!preg_match ('/[a-zA-Z0-9]/', $nom[$i])) {
1192,7 → 1258,7
*
* SORTIE : chaine de $n caractères pris dans une liste $type
*/
function inscription_create_new_random($n,$type="")
function create_new_random($n,$type="")
{
$str = "";
 
1220,7 → 1286,7
* @param string Nom de la table
* return interger l'identifiant
*/
function inscription_nextId($table, $colonne_identifiant)
function nextId($table, $colonne_identifiant)
{
$requete = 'select MAX('.$colonne_identifiant.') as maxi from '.$table ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
1240,6 → 1306,9
//-- Fin du code source ------------------------------------------------------------
/*
* $Log$
* Revision 1.9 2006/12/12 10:00:07 alexandre_tb
* Pettites modifications pour la généricité de la carto. Mais c est en cours donc prudence.
*
* Revision 1.8 2006/12/01 13:23:15 florian
* integration annuaire backoffice
*
/trunk/client/bottin/inscription.php
19,7 → 19,7
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: inscription.php,v 1.20 2006-12-01 13:23:17 florian Exp $
// CVS : $Id: inscription.php,v 1.21 2007-01-04 16:39:48 alexandre_tb Exp $
/**
* Inscription
*
32,7 → 32,7
//Autres auteurs :
*@author Florian SCHMITT <florian@ecole-et-nature.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.20 $ $Date: 2006-12-01 13:23:17 $
*@version $Revision: 1.21 $ $Date: 2007-01-04 16:39:48 $
// +------------------------------------------------------------------------------------------------------+
*/
 
40,6 → 40,7
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
include_once 'configuration/bottin.config.inc.php';
include_once 'configuration/annuaire_backoffice_bottin.config.inc.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/bottin.fonct.php';
 
// Inclusion d'une classe personnalisé si elle existe
54,7 → 55,7
// +------------------------------------------------------------------------------------------------------+
if ( isset($_GET['voir_fiche']) or isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences'])
or (isset($_REQUEST['action'])&&($_REQUEST['action']=='modifier_v'||$_REQUEST['action']=='modifier_v'))
or ($GLOBALS['AUTH']->getAuth() && ($_REQUEST['action']!='modifier')) ) {
or ($GLOBALS['AUTH']->getAuth() && (isset($_REQUEST['action']) && $_REQUEST['action']!='modifier')) ) {
//---------------le menu de l'appli-----------
function afficherContenuNavigation () {
$res =inscription_onglets();
73,7 → 74,7
$GLOBALS['AUTH']->logout() ;
$_POST['username'] = '' ;
$_POST['password'] = '' ;
return $res.inscription_AUTH_formulaire_login() ;
return $res.AUTH_formulaire_login() ;
}
//cas de la désinscription-------------------------------------------------------------------------------
104,12 → 105,12
// Deconnection
$GLOBALS['AUTH']->logout() ;
return $res.inscription_AUTH_formulaire_login() ;
return $res.AUTH_formulaire_login() ;
}
//cas de l'envoi de mot de passe par mail----------------------------------------------------------------
if ($_REQUEST['action'] == 'sendpasswd') {
return inscription_envoie_passe()."\n".inscription_formulaire_envoi_passe() ;
return envoie_passe()."\n".formulaire_envoi_passe() ;
}
 
//cas de la saisie ou la modification de l'inscription individuelle ou structure
130,7 → 131,7
//pour la modification d'une inscription, on charge les valeurs par défauts
if ($_REQUEST['action'] == 'modifier') {
$formulaire->addElement('hidden', 'action', 'modifier_v') ;
$formulaire->setDefaults(inscription_formulaire_defaults()) ;
$formulaire->setDefaults(formulaire_defaults()) ;
}
if ($_REQUEST['action'] == 'inscription') {
188,7 → 189,7
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
$donnees = unserialize (stripslashes($ligne->id_donnees)) ;
$id_utilisateur = inscription_insertion($donnees) ;
$id_utilisateur = insertion($donnees) ;
$GLOBALS['AUTH']->username = $donnees['email'] ;
$GLOBALS['AUTH']->password = $donnees['mot_de_passe'] ;
217,9 → 218,9
if ((!$GLOBALS['AUTH']->getAuth())&&($_REQUEST['action']!='inscription')&&($_REQUEST['action']!='inscription_v')) {
if (isset($_POST['username']) && $_POST['username'] != '') {
$res .= '<p class="erreur">'.INS_ERREUR_LOGIN.'</p><br />'."\n".inscription_formulaire_envoi_passe();
$res .= '<p class="erreur">'.INS_ERREUR_LOGIN.'</p><br />'."\n".formulaire_envoi_passe();
} else {
$res .= inscription_AUTH_formulaire_login() ;
$res .= AUTH_formulaire_login() ;
}
}
234,6 → 235,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.20 2006/12/01 13:23:17 florian
* integration annuaire backoffice
*
* Revision 1.19 2006/10/05 13:53:54 florian
* amélioration des fichiers sql
*