Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 1137 → Rev 1138

/trunk/client/bottin/bibliotheque/bottin.fonct.php
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].
'&nbsp;'.$donnees_membres[$i][INS_CHAMPS_PRENOM].'</strong>'."\n".
'&nbsp;'.$donnees_membres[$i][INS_CHAMPS_CODE_POSTAL].
'&nbsp;'.$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.'&nbsp;:&nbsp;<input style="border:1px solid #000;width:450px;" type="text" name="titre_mail"><br />'."\n".
INS_MESSAGE.'&nbsp;:&nbsp;<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().'">&nbsp;&gt;&nbsp;'.$tabnom[$key]."</a>";
} else if ($key == (count($tabonglet)-1)) {
$res .= "<a class=\"chemin_carto\">&nbsp;&gt;&nbsp;$pays</a>";
} else {
$chemin .= '*'.$value;
$GLOBALS['ins_url']->addQueryString('historique_cartes', $chemin);
$res .= '<a class="chemin_carto" href="'.$GLOBALS['ins_url']->getURL().'">&nbsp;&gt;&nbsp;'.$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."&amp;historique_cartes=$chemin\">&nbsp;&gt;&nbsp;".$tabnom[$key]."</a>";
} else if ($key == (count($tabonglet)-1)) {
$res .= "<a class=\"chemin_carto\">&nbsp;&gt;&nbsp;$pays</a>";
} else {
$chemin .= '*'.$value;
$res .= "<a class=\"chemin_carto\" href=\"".$monde->url."&amp;historique_cartes=$chemin\">&nbsp;&gt;&nbsp;".$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
*