//Autres auteurs : *@copyright Tela-Botanica 2000-2004 *@version 03 mai 2004 // +-----------------------------------------------------------------------------------------------+ // // $Id: cartographie.fonct.php,v 1.4 2007-04-11 08:30:12 neiluj Exp $ // FICHIER : $RCSfile: cartographie.fonct.php,v $ // AUTEUR : $Author: neiluj $ // VERSION : $Revision: 1.4 $ // DATE : $Date: 2007-04-11 08:30:12 $ */ /** function carto_liste_fiches() * * * @return string HTML */ function carto_liste_fiches(&$monde, $nom_table1, $nom_table2, $nom_champs_pays, $nom_champs_cp, $requete_sql) { global $mailer; global $select;//utilisé dans liste_inscrit.php $javascript = " function confirmer () { if (window.confirm ('Cliquez sur OK pour confirmer.')) { window.formmail.submit(); } } 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($javascript); $res = ''; $tabmonde = explode ('*',$monde->historique); // Premier cas, on vient de cliquer sur un pays qui n'est pas // la France, on affiche les adhérents de ce pays if (count($tabmonde) == 3) { $argument = $tabmonde[2]; $query = 'SELECT * FROM carto_PAYS WHERE CP_ID_pays="'.$argument.'"'; $result = $GLOBALS['ins_db']->query($query); if (DB::isError($result)) { die ($result->getMessage().'
'.$result->getDebugInfo()) ; } $row = $result->fetchRow(DB_FETCHMODE_OBJECT) ; $pays = $row->CP_Intitule_pays; $monde->nom = $monde->nom.'*'.$pays; $tabonglet = explode ('*', $monde->historique); $tabnom = explode ('*', $monde->nom); $res .= "\n"; foreach ($tabonglet as $key => $value) { if ($key == 0) { $chemin = $value; $value = 'monde'; $res .= "url."&historique_cartes=$chemin\"> > ".$tabnom[$key].""; } else if ($key == (count($tabonglet)-1)) { $res .= " > $pays"; } else { $chemin .= '*'.$value; $res .= "url."&historique_cartes=$chemin\"> > ".$tabnom[$key].""; } } $res .= "\n"; $capitale = $row->CP_Intitule_capitale; $query2 = ' SELECT count('.$nom_champs_cp.') as nbr'. ' FROM '.$nom_table1; if ($nom_table2!=0) $query2 .= ', '.$nom_table2; $query2 .= ' WHERE '.$nom_champs_pays.'="'.$argument.'"'; if ($requete_sql!='') $query2 .= ' AND ('.$requete_sql.')'; $result2 = $GLOBALS['ins_db']->query($query2); if (DB::isError($result2)) { die ($result2->getMessage().'
'.$result2->getDebugInfo()) ; } $row2 = $result2->fetchRow(DB_FETCHMODE_OBJECT) ; $res .= '

'.$pays.' (capitale: '.$capitale.') : ' ; if ($row2->nbr == 0) { $res .= INS_AUCUN_INSCRIT.' '.INS_LABEL_PROJET ; } else if ($row2->nbr == 1) { $res .= $row2->nbr.' '.INS_INSCRIT.' '.INS_LABEL_PROJET ; } else { $res .= $row2->nbr.' '.INS_INSCRIT.'s '.INS_LABEL_PROJET ; } $res .= "
\n"; if ($row2->nbr>0) { if ((INS_NECESSITE_LOGIN)and(!$GLOBALS['AUTH']->getAuth())) { $res .= '

'.INS_VOUS_DEVEZ_ETRE_INSCRIT.'

'."\n" ; } else { $requete = 'SELECT * FROM '.$nom_table1; if ($nom_table2!=0) $requete .= ', '.$nom_table2; $requete .= ' WHERE '.$nom_champs_pays.'="'.$argument.'"'; if ($requete_sql!='') $requete .= ' AND ('.$requete_sql.')'; //todo: gerer l'ordre ' ORDER BY '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM; if ($row2->nbr >= 1) { $res .= listes_inscrit($requete, $select, $_SERVER['REQUEST_URI']) ; if ($mailer==1) { if (!is_array($select)) { $res .= "
".INS_NO_DESTINATAIRE."
"; } else { $res .= '
'.INS_MESSAGE_ENVOYE.'
'."\n" ; carto_envoie_mail() ; } } else { $res .= carto_texte_cocher() ; } $res .= carto_formulaire() ; } } } // 2 ème cas, on vient de cliquer sur un département français } else if (count($tabmonde) == 4) { $argument = $tabmonde[3]; $query = 'SELECT * FROM '.INS_TABLE_DPT.' WHERE '.INS_CHAMPS_ID_DEPARTEMENT.'='.$argument; $result = $GLOBALS['ins_db']->query($query); if (DB::isError($result)) { die ($result->getMessage() .'
'.$result->getDebugInfo()); } $row = $result->fetchRow(DB_FETCHMODE_ASSOC); $nom = $row[INS_CHAMPS_NOM_DEPARTEMENT]; $tabonglet=explode ('*', $monde->historique); $tabnom=explode ('*', $monde->nom); $res.="
\n"; foreach ($tabonglet as $key=>$value) { if ($key==0) { $chemin=$value; $value='monde'; $res.= "url."&historique_cartes=$chemin\"> > ".$tabnom[$key].""; } else if ($key==(count($tabonglet)-1)) { $res.=" > $nom"; } else { $chemin.='*'.$value; $res.= "url."&historique_cartes=$chemin\"> > ".$tabnom[$key].""; } } $res .= "
\n"; $query2 = ' SELECT count('.$nom_champs_cp.') as nbr'. ' FROM '.$nom_table1; if ($nom_table2!=0) $query2 .= ', '.$nom_table2; $query2 .= ' WHERE '.$nom_champs_cp.' LIKE "'.$argument.'%"'. ' AND '.$nom_champs_pays.'="FR"'; if ($requete_sql!='') $query2 .= ' AND ('.$requete_sql.')'; $result2 = $GLOBALS['ins_db']->query($query2); if (DB::isError($result2)) { die ($result2->getMessage().'
'.$result2->getDebugInfo()) ; } $row2 = $result2->fetchRow(DB_FETCHMODE_OBJECT); $res .= '

' ; if ($row2->nbr == 0) { $res .= INS_AUCUN_INSCRIT." ".INS_LABEL_PROJET ; } else if ($row2->nbr == 1) { $res .= $row2->nbr." ".INS_INSCRIT." ".INS_LABEL_PROJET ; } else { $res .= $row2->nbr." ".INS_INSCRIT."s ".INS_LABEL_PROJET ; } $res .= "

\n"; if ($row2->nbr>0) { if ((INS_NECESSITE_LOGIN)and(!$GLOBALS['AUTH']->getAuth())) { $res .= '

'.INS_VOUS_DEVEZ_ETRE_INSCRIT.'

'."\n" ; } else { $requete = 'SELECT * FROM '.$nom_table1; if ($nom_table2!=0) $requete .= ', '.$nom_table2; if (strlen($argument)==1) { $argument='0'.$argument; } $requete .= ' WHERE '.$nom_champs_cp.' LIKE "'.$argument.'%"'. ' AND '.$nom_champs_pays.'="FR"'; if ($requete_sql!='') $requete .= ' AND ('.$requete_sql.')'; //todo: ' ORDER BY '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM; $res .= listes_inscrit($requete, $select, $_SERVER['REQUEST_URI']) ; if ($mailer==1) { if (!is_array($select)) { $res.= INS_NO_DESTINATAIRE; } else { $res .= '

'.INS_MESSAGE_ENVOYE."

\n" ; carto_envoie_mail() ; } } else { $res .=carto_texte_cocher() ; } $res .= carto_formulaire() ; } } } return $res; } /** function carto_texte_cocher () * * * @return string HTML */ function carto_texte_cocher() { $res = "
".INS_CHECK_UNCHECK ; $res .= " 
"; return $res ; } /** function carto_formulaire () * * * * @return string HTML */ function carto_formulaire($titre_mail="", $corps="") { $res = "

".INS_ENVOYER_MAIL."


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


'."\n" .INS_MESSAGE.' :

'."\n"; $res.='
'."\n"; 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, $select, $url) { $res=''; $resultat= $GLOBALS['ins_db']->query($requete); if (DB::isError($resultat)) { die ($resultat->getMessage().'
'.$resultat->getDebugInfo()) ; } while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { $res.=''."\n". $ligne[INS_CHAMPS_NOM].' '.$ligne[INS_CHAMPS_PRENOM].' '. $ligne[INS_CHAMPS_CODE_POSTAL].' '.$ligne[INS_CHAMPS_VILLE].' '. date("d.m.Y", strtotime($ligne[INS_CHAMPS_DATE_INSCRIPTION])).'

'."\n"; } $res .= ''."\n"; $res .= '
'."\n"; return $res ; } /** envoie_mail() * * * @return envoie l'email */ function carto_envoie_mail() { $requete = 'SELECT '.INS_CHAMPS_MAIL.' 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().'
'.$resultat->getDebugInfo()); } $ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC); $entete = "From: <".$ligne[INS_CHAMPS_MAIL].">\n"; $GLOBALS['corps'] .= INS_TEXTE_FIN_MAIL; $GLOBALS['corps'] = stripslashes($GLOBALS['corps']) ; $liste = "" ; foreach ($GLOBALS['select'] as $key => $value) { mail ($value, stripslashes($GLOBALS['titre_mail']), $GLOBALS['corps'] , $entete) ; $liste .= $value."\n" ; } $GLOBALS['corps'] .= "\n----------------------------------------------------------------------------"; $GLOBALS['corps'] .= "\n".INS_MESSAGE_ENVOYE_A." :\n $liste" ; mail(INS_MAIL_ADMIN, stripslashes(INS_SURVEILLANCE_ENVOI_MAIL.$GLOBALS['titre_mail']), $GLOBALS['corps'], $entete); $GLOBALS['corps'] = ''; $GLOBALS['titre_mail'] = ''; } //-- Fin du code source ------------------------------------------------------------ /* * $Log: not supported by cvs2svn $ * Revision 1.2 2006/04/04 12:23:05 florian * modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire * * Revision 1.1 2005/09/22 14:02:49 ddelon * nettoyage annuaire et php5 * * Revision 1.2 2005/09/22 13:30:49 florian * modifs pour compatibilité XHTML Strict + corrections de bugs (mais ya encore du boulot!!) * * Revision 1.1 2004/12/15 13:30:20 alex * version initiale * * */ ?>