253,7 → 253,7 |
* @return Renvoie le code HTML de la liste des inscrits |
*/ |
|
function listes_inscrit(& $donnees_membres, $affiche_form_mail=1) { |
function listes_inscrit(& $donnees_membres, $affiche_form_mail=1, $carto_config = '') { |
$res = ''; |
if ($GLOBALS['AUTH']->getAuth()&&$affiche_form_mail) {$res .= '<form action="'.$GLOBALS['ins_url']->getURL().'" method="post" name="formmail">'."\n";} |
$res .= '<ul style="clear:both;">'."\n"; |
263,17 → 263,23 |
} |
$res .= '<ul>'."\n"; |
for ($i=0;$i<count($donnees_membres);$i++) { |
$id = array_shift($donnees_membres[$i]); |
if (isset($carto_config['cc_champs_id'])) { |
$id = $donnees_membres[$i][$carto_config['cc_champs_id']] ; |
} else { |
$id = $donnees_membres[$i][INS_CHAMPS_ID]; |
} |
$GLOBALS['ins_url']->addQueryString('voir_fiche', $id); |
$res .= '<li>'."\n"; |
if ($GLOBALS['AUTH']->getAuth()&&$affiche_form_mail) { |
$res.='<input type="checkbox" name="select[]" value="'.$id.'" />'."\n"; |
} |
$res .= '<a href="'.$GLOBALS['ins_url']->getURL().'">'."\n"; |
$res .= '<strong>'.$donnees_membres[$i][INS_CHAMPS_NOM]. |
' '.$donnees_membres[$i][INS_CHAMPS_PRENOM].'</strong>'."\n". |
' '.$donnees_membres[$i][INS_CHAMPS_CODE_POSTAL]. |
' '.$donnees_membres[$i][INS_CHAMPS_VILLE]; |
$res .= '<a href="'.$GLOBALS['ins_url']->getURL().'">'."\n"; |
if (isset($carto_config['cc_titre'])) { |
$nom = $donnees_membres[$i][$carto_config['cc_titre']]; |
} else { |
$nom = $donnees_membres[$i][INS_CHAMPS_NOM]; |
} |
$res .= '<strong>'.$nom; |
$res .= '</a>'."\n".'</li>'."\n"; |
} |
$res .= '</ul>'."\n"; |
284,7 → 290,6 |
$res .= '<p style="text-align:right;">'.INS_SUJET.' : <input style="border:1px solid #000;width:450px;" type="text" name="titre_mail"><br />'."\n". |
INS_MESSAGE.' : <textarea style="border:1px solid #000;width:450px;" name="corps" rows="5" cols="60"></textarea></p>'."\n". |
'<p style="width:100px;margin:4px auto;text-align:center;"><input name="bouton_envoi_mail" type="submit" value="'.INS_ENVOYER.'" /></p>'."\n". |
'<p style="width:100px;margin:4px auto;text-align:center;"><input type="submit" value="'.INS_ENVOYER.'" /></p>'."\n". |
'<input type="hidden" name="fin" value="true" /><input type="hidden" name="mailer" value="1" />'. |
'</form>'."\n"; |
} else { |
338,11 → 343,12 |
* |
* @return string HTML |
*/ |
function carto_liste_fiches(&$monde, $nom_table1, $nom_table2, $nom_champs_pays, $nom_champs_cp, $requete_sql) { |
function carto_liste_fiches(&$monde, &$carto_config) { |
|
global $mailer; |
global $select;//utilisé dans liste_inscrit.php |
|
|
$javascript = " |
function confirmer () { |
if (window.confirm ('Cliquez sur OK pour confirmer.')) { |
372,158 → 378,108 |
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().'<br />'.$result->getDebugInfo()) ; |
|
$tabonglet = explode ('*', $monde->historique); |
$id_zone = $tabonglet[count($tabonglet)-1]; |
$tabnom = explode ('*', $monde->nom); |
|
$query = 'SELECT * FROM '.$monde->_info_table_zg['nom_table_zone']. |
' WHERE '.$monde->_info_table_zg['nom_chp_id_zone'].'="'.$id_zone.'"'; |
$result = $GLOBALS['ins_db']->query($query); |
if (DB::isError($result)) { |
return ($result->getMessage().'<br />'.$result->getDebugInfo()) ; |
} |
$row = $result->fetchRow(DB_FETCHMODE_ASSOC) ; |
$pays = $row[$monde->_info_table_zg['nom_chp_nom_zone']]; |
|
$res .='<br /><strong>'.INS_RETOUR_A_LA_CARTE."\n"; |
foreach ($tabonglet as $key => $value) { |
if ($key == 0) { |
$chemin = $value; |
$value = 'monde'; |
$GLOBALS['ins_url']->addQueryString('historique_cartes', $chemin); |
$res .= '<a class="chemin_carto" href="'.$GLOBALS['ins_url']->getURL().'"> > '.$tabnom[$key]."</a>"; |
} else if ($key == (count($tabonglet)-1)) { |
$res .= "<a class=\"chemin_carto\"> > $pays</a>"; |
} else { |
$chemin .= '*'.$value; |
$GLOBALS['ins_url']->addQueryString('historique_cartes', $chemin); |
$res .= '<a class="chemin_carto" href="'.$GLOBALS['ins_url']->getURL().'"> > '.$tabnom[$key]."</a>"; |
} |
$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 .='<br /><strong>'.INS_RETOUR_A_LA_CARTE."\n"; |
foreach ($tabonglet as $key => $value) { |
if ($key == 0) { |
$chemin = $value; |
$value = 'monde'; |
$res .= "<a class=\"chemin_carto\" href=\"".$monde->url."&historique_cartes=$chemin\"> > ".$tabnom[$key]."</a>"; |
} else if ($key == (count($tabonglet)-1)) { |
$res .= "<a class=\"chemin_carto\"> > $pays</a>"; |
} else { |
$chemin .= '*'.$value; |
$res .= "<a class=\"chemin_carto\" href=\"".$monde->url."&historique_cartes=$chemin\"> > ".$tabnom[$key]."</a>"; |
} |
} |
$res .= '</strong>'."\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().'<br />'.$result2->getDebugInfo()) ; |
} |
$row2 = $result2->fetchRow(DB_FETCHMODE_OBJECT) ; |
$res .= '<br /><br /><div class="info_pays">'.$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 ; |
} |
$res .= '</strong>'."\n"; |
if (isset($_GET['voir_fiche'])) { |
include_once PAP_CHEMIN_RACINE.'/client/bazar/bibliotheque/bazar.fonct.rss.php' ; |
if (defined('PAP_VERSION')) { //si on est dans Papyrus |
GEN_stockerStyleExterne( 'bazar_interne', 'client/bazar/bazar.interne.css'); |
} |
$res .= baz_voir_fiche(0, $_GET['voir_fiche']); |
return $res ; |
} |
$query2 = ' SELECT count('.$monde->champs_jointure.') as nbr'. |
' FROM '.$carto_config['cc_table1']; |
if ($carto_config['cc_table2']!='') $query2 .= ', '.$carto_config['cc_table2'].' as '.$monde->id; |
//$query2 .= ' WHERE '.$nom_champs_pays.'="'.$argument.'"'; |
if ($carto_config['cc_sql'] != '') $query2 .= ' where ('.$carto_config['cc_sql'].')'; |
$query2 .= ' and '.$monde->champs_jointure.'="'.$id_zone.'"'; |
if ($monde->sql_complementaire != '') $query2 .= ' and '.$monde->sql_complementaire; |
$result2 = $GLOBALS['ins_db']->query($query2); |
if (DB::isError($result2)) { |
return ($result2->getMessage().'<br />'.$result2->getDebugInfo()) ; |
} |
$row2 = $result2->fetchRow(DB_FETCHMODE_OBJECT) ; |
$res .= '<br /><br /><div class="info_pays">'.$pays.' : ' ; |
if ($row2->nbr == 0) { |
$res .= INS_AUCUN_INSCRIT.' '.INS_LABEL_PROJET ; |
} else { |
$res .= $row2->nbr.' '.INS_INSCRIT; |
if ($row2->nbr > 1) $res .= 's' ; |
$res .= ' '.INS_LABEL_PROJET ; |
} |
|
$res .= "</div>\n"; |
//*/ |
if ($row2->nbr>0) { |
if ((INS_NECESSITE_LOGIN)and(!$GLOBALS['AUTH']->getAuth())) { |
$res .= '<br /><p class="zone_alert">'.INS_VOUS_DEVEZ_ETRE_INSCRIT.'</p>'."\n" ; |
} |
else { |
$res .= $row2->nbr.' '.INS_INSCRIT.'s '.INS_LABEL_PROJET ; |
} |
$res .= "</div>\n"; |
if ($row2->nbr>0) { |
if ((INS_NECESSITE_LOGIN)and(!$GLOBALS['AUTH']->getAuth())) { |
$res .= '<br /><p class="zone_alert">'.INS_VOUS_DEVEZ_ETRE_INSCRIT.'</p>'."\n" ; |
} |
else { |
$requete = 'SELECT '.INS_CHAMPS_ID.', '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM.', '.INS_CHAMPS_VILLE.', '.INS_CHAMPS_CODE_POSTAL.' FROM '.$nom_table1; |
if ($nom_table2!=0) $requete .= ', '.$nom_table2; |
$requete .= ' WHERE '.$nom_champs_pays.'="'.$argument.'"'; |
if ($requete_sql!='') $requete .= ' AND ('.$requete_sql.')'; |
$requete .= ' ORDER BY '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM; |
$resultat = $GLOBALS['ins_db']->query($requete); |
$i=0; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$donnees_membres[$i++]=$ligne; |
} |
$res .= listes_inscrit($donnees_membres, 1); |
if ($mailer==1) { |
if (!is_array($select)) { |
$res .= "<div>".INS_NO_DESTINATAIRE."</div>"; |
} |
else { |
$res .= '<div class="zone_info">'.INS_MESSAGE_ENVOYE.'</div>'."\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() .'<br />'.$result->getDebugInfo()); |
} |
$row = $result->fetchRow(DB_FETCHMODE_ASSOC); |
$nom = $row[INS_CHAMPS_NOM_DEPARTEMENT]; |
|
$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().'<br />'.$result2->getDebugInfo()) ; |
} |
|
$row2 = $result2->fetchRow(DB_FETCHMODE_OBJECT); |
$res .= '<br /><p class="zone_info">'."\n" ; |
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 .= '</p>'."\n"; |
if ($row2->nbr>0) { |
if ((INS_NECESSITE_LOGIN)and(!$GLOBALS['AUTH']->getAuth())) { |
$res .= '<br /><p class="zone_alert">'.INS_VOUS_DEVEZ_ETRE_INSCRIT.'</p>'."\n" ; |
} else { |
$requete = 'SELECT '.INS_CHAMPS_ID.', '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM.', '.INS_CHAMPS_VILLE.', '.INS_CHAMPS_CODE_POSTAL.' FROM '.$nom_table1; |
if ($nom_table2!=0) $requete .= ', '.$nom_table2; |
|
if (strlen($argument)==1) { |
$argument='0'.$argument; |
$requete = 'SELECT '.$carto_config['cc_titre'].','.$carto_config['cc_champs_id'].' FROM '. |
$carto_config['cc_table1']; |
if ($carto_config['cc_table2'] != '') $requete .= ', '.$carto_config['cc_table2'].' as '.$monde->id; |
|
$requete .= ' where '.$monde->champs_jointure.'="'.$id_zone.'"'; |
if ($carto_config['cc_sql'] != '') $requete .= ' and '.$carto_config['cc_sql'].''; |
if ($monde->sql_complementaire != '') $requete .= ' and '.$monde->sql_complementaire; |
$requete .= ' ORDER BY '.$carto_config['cc_titre']; |
|
$resultat = $GLOBALS['ins_db']->query($requete); |
if (DB::isError($resultat)) { |
return ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ; |
} |
$i=0; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$donnees_membres[$i++]=$ligne; |
} |
$res .= listes_inscrit($donnees_membres, 1, $carto_config); |
if ($mailer==1) { |
if (!is_array($select)) { |
$res .= "<div>".INS_NO_DESTINATAIRE."</div>"; |
} |
|
$requete .= ' WHERE '.$nom_champs_cp.' LIKE "'.$argument.'%"'. |
' AND '.$nom_champs_pays.'="FR"'; |
if ($requete_sql!='') $requete .= ' AND ('.$requete_sql.')'; |
$requete .= ' ORDER BY '.INS_CHAMPS_NOM.', '.INS_CHAMPS_PRENOM; |
$resultat = $GLOBALS['ins_db']->query($requete); |
$i=0; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$donnees_membres[$i++]=$ligne; |
} |
$res .= listes_inscrit($donnees_membres, 1); |
|
if ($mailer==1) { |
if (!is_array($select)) { |
$res.= INS_NO_DESTINATAIRE; |
} else { |
$res .= '<p class="zone_info">'.INS_MESSAGE_ENVOYE."</p>\n" ; |
carto_envoie_mail() ; |
} |
else { |
$res .= '<div class="zone_info">'.INS_MESSAGE_ENVOYE.'</div>'."\n" ; |
carto_envoie_mail() ; |
} |
} |
} |
else { |
//$res .= carto_texte_cocher() ; |
} |
//$res .= carto_formulaire() ; |
} |
|
|
|
} |
return $res; |
} |
1284,6 → 1240,9 |
//-- Fin du code source ------------------------------------------------------------ |
/* |
* $Log$ |
* Revision 1.8 2006/12/01 13:23:15 florian |
* integration annuaire backoffice |
* |
* Revision 1.7 2006/10/05 13:53:54 florian |
* amélioration des fichiers sql |
* |