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
*