//Autres auteurs : *@author Aucun *@copyright Tela-Botanica 2000-2004 *@version $Revision: 1.1 $ // +------------------------------------------------------------------------------------------------------+ */ // +------------------------------------------------------------------------------------------------------+ // | ENTETE du PROGRAMME | // +------------------------------------------------------------------------------------------------------+ // +------------------------------------------------------------------------------------------------------+ // | LISTE de FONCTIONS | // +------------------------------------------------------------------------------------------------------+ function AUTH_formulaire_login() { $res = ''; $url = preg_replace ('/&/', '&', $GLOBALS['ann_url']->getURL()) ; $res .= '

'.ANN_IDENTIFICATION_PRESENTATION_XHTML.'

'."\n" ; $form = new HTML_QuickForm ('inscription', 'post', $url) ; $form->addElement ('text', 'username', ANN_EMAIL) ; $form->addElement ('password', 'password', ANN_MOT_DE_PASSE) ; $form->addElement('submit', 'valider', ANN_VALIDER); $res .= $form->toHTML() ; return $res; } /** function parcourrirAnnu () Affiche l'annuaire à partir d'une lettre * * * * @return string HTML */ function parcourrirAnnu() { $res = '

'; // Alphabet pour la rechercher par lettre du nom des inscrits for ($i = 65 ; $i < 91 ; $i++) { $GLOBALS['ann_url']->addQueryString('lettre', chr($i)); $url_lettre = $GLOBALS['ann_url']->getURL(); $GLOBALS['ann_url']->removeQueryString('lettre'); $res .= ''.chr($i).' '."\n"; } $GLOBALS['ann_url']->addQueryString('lettre', 'tous'); $url_lettre = $GLOBALS['ann_url']->getURL(); $GLOBALS['ann_url']->removeQueryString('lettre'); $res .= ''.'Tous'.''."\n"; $res .= '

'."\n"; // Si aucune lettre n'est sélectionnée, attribution de la lettre par défaut if (empty($_REQUEST['lettre'])) { $_REQUEST['lettre'] = ANN_LETTRE_DEFAUT; } // Une lettre est disponible... $requete = 'SELECT '.ANN_ANNUAIRE.'.*, '.ANN_TABLE_PAYS.'.* '. 'FROM '.ANN_ANNUAIRE.','.ANN_TABLE_PAYS.' '. 'WHERE '.ANN_CHAMPS_PAYS.' = '.ANN_GC_ID.' '; if ($_REQUEST['lettre'] != 'tous') { $requete .= ' AND '.ANN_CHAMPS_NOM.' LIKE "'.$_REQUEST['lettre'].'%" ' ; } $requete .= 'ORDER BY '.ANN_CHAMPS_NOM; $res .= listes_inscrit ($requete, $GLOBALS['ann_url']->getURL(), '', $GLOBALS['ann_db'], $niveau = 'pays'). carto_texte_cocher(). carto_formulaire(); 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($requete, $url, $argument, &$db, $niveau = 'pays') { $resultat = $GLOBALS['ann_db']->query($requete); (DB::isError($resultat)) ? die($resultat->getMessage().'
'.$resultat->getDebugInfo()) : ''; if ($resultat->numRows() > 0) { $res = '
'."\n"; $res .= '
'; $indic = 0; $i = 1; while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { if ($indic == 0) { $res .= ''."\n"; $indic = 1; } else { $res .= ''."\n"; $indic = 0; } $res.= ''."\n". ''."\n". ''."\n". ''."\n". ''."\n". ''."\n". ''."\n"; $res .= ''."\n"; } $res .= '
  '.ANN_NOM.' '.ANN_PRENOM.' '.ANN_DATE_INS.' '.ANN_CP.' '.ANN_VILLE.' '.ANN_PAYS.'
'.strtoupper($ligne[ANN_CHAMPS_NOM]).' '.str_replace(' - ', '-', ucwords(strtolower(str_replace('-', ' - ', $ligne[ANN_CHAMPS_PRENOM])))).' '.date('d m Y', strtotime($ligne[ANN_CHAMPS_DATE_INS])).' '.$ligne[ANN_CHAMPS_CODE_POSTAL].' '.strtoupper($ligne[ANN_CHAMPS_VILLE]).' '.str_replace(' - ', '-', ucwords(strtolower(str_replace('-', ' - ', ($ligne[ANN_GC_NOM]))))).' 
'."\n"; } else { $res = '

'.'Aucun inscrit n\'a de nom commençant par '.$_REQUEST['lettre'].'

'."\n"; } return $res; } function carto_formulaire() { $res = '

'.ANN_ENVOYER_MAIL.'

'."\n"; $res .= '

'.ANN_SURVEILLANCE.'

'."\n"; $res .= '

'.sprintf(ANN_MESSAGE_A_TOUS, ''.ANN_ACTUALITE.'').'

'."\n"; $res .= ''."\n". ''."\n". ''."\n". ''."\n". ''."\n". ''."\n"; $res .= ''."\n"; $res .= '
'.ANN_SUJET.' :
'.ANN_MESSAGE.' : 
'; $res .= ''."\n"; $res .= '
'."\n"; $res .= '
'."\n"; return $res; } /** function carto_texte_cocher () * * * @return string HTML */ function carto_texte_cocher() { $res .= '
'.ANN_CHECK_UNCHECK."\n"; $res .= ' '."\n"; $res .= '
'; return $res; } /** envoie_mail() * * * @return envoie l'email */ function envoie_mail($selection, $titre_mail, $corps) { $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().'
'.$resultat->getDebugInfo()); } $ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC); $entete = 'From: <'.$ligne[ANN_CHAMPS_MAIL].">\n"; $corps .= "\n".ANN_PIED_MESSAGE; $liste = ''; foreach ($selection as $key => $value) { mail($value, $titre_mail, $corps, $entete); $liste .= $value."\n"; } $corps .= "\n----------------------------------------------------------------------------"; $corps .= "\n".ANN_MESSAGE_APPLI."\n" ; $corps .= "\n".ANN_MESSAGE_ENVOYE_A." :\n $liste" ; mail(ANN_MAIL_ADMIN, $titre_mail, $corps, $entete); return '
'.ANN_MAIL_ENVOYER.'
' ; } /** translittererVersIso88591() * * Convertit les caractères CP1252 (= ANSI) non présent dans l'ISO-8859-1 par un équivalant ressemblant. * * @return envoie l'email */ function translittererCp1252VersIso88591($str, $translit = true) { $cp1252_entite_map = array( '\x80' => '€', /* EURO SIGN */ '\x82' => '‚', /* SINGLE LOW-9 QUOTATION MARK */ '\x83' => 'ƒ', /* LATIN SMALL LETTER F WITH HOOK */ '\x84' => '„', /* DOUBLE LOW-9 QUOTATION MARK */ '\x85' => '…', /* HORIZONTAL ELLIPSIS */ '\x86' => '†', /* DAGGER */ '\x87' => '‡', /* DOUBLE DAGGER */ '\x88' => 'ˆ', /* MODIFIER LETTER CIRCUMFLEX ACCENT */ '\x89' => '‰', /* PER MILLE SIGN */ '\x8a' => 'Š', /* LATIN CAPITAL LETTER S WITH CARON */ '\x8b' => '‹', /* SINGLE LEFT-POINTING ANGLE QUOTATION */ '\x8c' => 'Œ', /* LATIN CAPITAL LIGATURE OE */ '\x8e' => 'Ž', /* LATIN CAPITAL LETTER Z WITH CARON */ '\x91' => '‘', /* LEFT SINGLE QUOTATION MARK */ '\x92' => '’', /* RIGHT SINGLE QUOTATION MARK */ '\x93' => '“', /* LEFT DOUBLE QUOTATION MARK */ '\x94' => '”', /* RIGHT DOUBLE QUOTATION MARK */ '\x95' => '•', /* BULLET */ '\x96' => '–', /* EN DASH */ '\x97' => '—', /* EM DASH */ '\x98' => '˜', /* SMALL TILDE */ '\x99' => '™', /* TRADE MARK SIGN */ '\x9a' => 'š', /* LATIN SMALL LETTER S WITH CARON */ '\x9b' => '›', /* SINGLE RIGHT-POINTING ANGLE QUOTATION*/ '\x9c' => 'œ', /* LATIN SMALL LIGATURE OE */ '\x9e' => 'ž', /* LATIN SMALL LETTER Z WITH CARON */ '\x9f' => 'Ÿ' /* LATIN CAPITAL LETTER Y WITH DIAERESIS*/ ); $translit_map = array( '€' => 'Euro', /* EURO SIGN */ '‚' => ',', /* SINGLE LOW-9 QUOTATION MARK */ 'ƒ' => 'f', /* LATIN SMALL LETTER F WITH HOOK */ '„' => ',,', /* DOUBLE LOW-9 QUOTATION MARK */ '…' => '...', /* HORIZONTAL ELLIPSIS */ '†' => '+', /* DAGGER */ '‡' => '++', /* DOUBLE DAGGER */ 'ˆ' => '^', /* MODIFIER LETTER CIRCUMFLEX ACCENT */ '‰' => '0/00', /* PER MILLE SIGN */ 'Š' => 'S', /* LATIN CAPITAL LETTER S WITH CARON */ '‹' => '<', /* SINGLE LEFT-POINTING ANGLE QUOTATION */ 'Œ' => 'OE', /* LATIN CAPITAL LIGATURE OE */ 'Ž' => 'Z', /* LATIN CAPITAL LETTER Z WITH CARON */ '‘' => "'", /* LEFT SINGLE QUOTATION MARK */ '’' => "'", /* RIGHT SINGLE QUOTATION MARK */ '“' => '"', /* LEFT DOUBLE QUOTATION MARK */ '”' => '"', /* RIGHT DOUBLE QUOTATION MARK */ '•' => '*', /* BULLET */ '–' => '-', /* EN DASH */ '—' => '--', /* EM DASH */ '˜' => '~', /* SMALL TILDE */ '™' => '(TM)', /* TRADE MARK SIGN */ 'š' => 's', /* LATIN SMALL LETTER S WITH CARON */ '›' => '>', /* SINGLE RIGHT-POINTING ANGLE QUOTATION*/ 'œ' => 'oe', /* LATIN SMALL LIGATURE OE */ 'ž' => 'z', /* LATIN SMALL LETTER Z WITH CARON */ 'Ÿ' => 'Y' /* LATIN CAPITAL LETTER Y WITH DIAERESIS*/ ); $str = strtr($str, $cp1252_entite_map); if ($translit) { $str = strtr($str, $translit_map); } return $str; } ?>