From fd51f5a8488947ea553b3f1b179cdbe734834139 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Mon, 8 May 2006 09:38:42 +0000
Subject: [PATCH] Unification vers affiche_tranche, et pas mal de code mort
 pour les listes de mots

---
 ecrire/inc/message_select.php |  44 +++--------
 ecrire/inc/mots.php           | 137 +++++++++++++++++-----------------
 ecrire/inc/presentation.php   |   2 +-
 3 files changed, 80 insertions(+), 103 deletions(-)

diff --git a/ecrire/inc/message_select.php b/ecrire/inc/message_select.php
index ad30d4cb2a..ee2040fcfa 100644
--- a/ecrire/inc/message_select.php
+++ b/ecrire/inc/message_select.php
@@ -14,37 +14,15 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 // $messages_vus en reference pour interdire l'affichage de message en double
 
-function afficher_messages($titre_table, $from, $where, &$messages_vus, $afficher_auteurs = true, $important = false) {
+function afficher_messages($titre, $from, $where, &$messages_vus, $afficher_auteurs = true, $important = false) {
 	global $connect_id_auteur, $couleur_foncee, $spip_lang_rtl, $spip_lang_left;
 
 	$tmp_var = substr(md5($where.$from), 0, 4);
-	$from =  "spip_messages AS messages$from";
-	$where .= (!$messages_vus ? '' : ' AND messages.id_message NOT IN ('.join(',', $messages_vus).')');
-
-	$cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM $from WHERE $where"));
-	if (!($cpt = $cpt['n'])) return ;
-
-	$nb_aff = 1.5 * _TRANCHES;
 	$deb_aff = intval(_request('t_' .$tmp_var));
 
-	if ($cpt > $nb_aff) {
-		$nb_aff = (_TRANCHES); 
-		$tranches = afficher_tranches_requete($cpt, ($afficher_auteurs ? 4 : 3), $tmp_var, '', $nb_aff);
-	}
-	if ($important)  debut_cadre_couleur();
-	// ie: echo "<div class='cadre-couleur'><div class='cadre-padding'>";
-
-	echo "<div style='height: 12px;'></div>";
-	echo "<div class='liste'>";
-	bandeau_titre_boite2($titre_table, "messagerie-24.gif", $couleur_foncee, "white");
-	echo "<TABLE WIDTH='100%' CELLPADDING='2' CELLSPACING='0' BORDER='0'>";
-	echo $tranches;
-
-	$result_message = spip_query("SELECT messages.* FROM $from WHERE $where ORDER BY date_heure DESC LIMIT $deb_aff, $nb_aff");
-;
-	while($row = spip_fetch_array($result_message)) {
-		$table[]= afficher_message_boucles($row, $messages_vus, $afficher_auteurs);
-	}
+	$requete = array('FROM' => "spip_messages AS messages$from", 'WHERE' => $where .(!$messages_vus ? '' : ' AND messages.id_message NOT IN ('.join(',', $messages_vus).')'), 'ORDER BY'=> 'date_heure');
+
+	$col = ($afficher_auteurs ? 4 : 3);
 
 	if ($afficher_auteurs) {
 			$largeurs = array('', 130, 20, 120);
@@ -53,15 +31,17 @@ function afficher_messages($titre_table, $from, $where, &$messages_vus, $affiche
 			$largeurs = array('', 20, 120);
 			$styles = array('arial2', 'arial1', 'arial1');
 	}
-	spip_free_result($result_message);
-	echo afficher_liste($largeurs, $table, $styles);
 
-	echo "</TABLE>";
-	echo "</div>\n\n";
-	if ($important) fin_cadre_couleur();
+	if ($important)  #debut_cadre_couleur();
+	 echo "<div class='cadre-couleur'><div class='cadre-padding'>";
+
+	$t = affiche_tranche_bandeau($requete, "messagerie-24.gif", $col, $couleur_foncee, "white", $tmp_var, $deb_aff, $titre, false, $largeurs, $styles, 'afficher_message_boucles', $afficher_auteurs);
+
+	foreach ($t as $v) $messages_vus[$v]= $v;
+	if ($important) echo '</div></div>';#fin_cadre_couleur();
 }
 
-function afficher_message_boucles($row, &$messages_vus, $afficher_auteurs)
+function afficher_message_boucles($row, &$messages_vus, $voir_logo, $afficher_auteurs)
 {
 	global $connect_id_auteur, $spip_lang_left, $spip_lang_rtl;
 
diff --git a/ecrire/inc/mots.php b/ecrire/inc/mots.php
index 31ecc08fe2..328ee77749 100644
--- a/ecrire/inc/mots.php
+++ b/ecrire/inc/mots.php
@@ -563,13 +563,10 @@ else $aff_articles = "'prop','publie'";
 	      'syndic' => $syndic);
 }
 
-   
-
 function afficher_groupe_mots($id_groupe) {
-	global $connect_id_auteur, $connect_statut, $connect_toutes_rubriques;
+	global $connect_id_auteur, $connect_statut;
 	global $spip_lang_right, $couleur_claire, $spip_lang;
 
-
 	$jjscript = array("fonction" => "afficher_groupe_mots",
 			  "id_groupe" => $id_groupe);
 	$jjscript = (serialize($jjscript));
@@ -586,16 +583,8 @@ function afficher_groupe_mots($id_groupe) {
 
 	if (! ($cpt = $cpt['n'])) return true ;
 
-	$nb_aff = 1.5 * _TRANCHES;
-	$deb_aff = intval(_request('t_' .$tmp_var));
-
-	if ($cpt > $nb_aff) {
-		$nb_aff = (_TRANCHES); 
-		$tranches = afficher_tranches_requete($cpt, 3, $tmp_var, $javascript, $nb_aff);
-	}
-
 	$occurrences = calculer_liens_mots();
-	$table = '';
+
 	$res_proch = spip_query("SELECT id_ajax_fonc FROM spip_ajax_fonc WHERE hash=$hash AND id_auteur=$connect_id_auteur ORDER BY id_ajax_fonc DESC LIMIT 1");
 	if ($row = spip_fetch_array($res_proch)) {
 			$id_ajax_fonc = $row["id_ajax_fonc"];
@@ -604,6 +593,14 @@ function afficher_groupe_mots($id_groupe) {
 			$id_ajax_fonc = spip_abstract_insert("spip_ajax_fonc", "(id_auteur, variables, hash, date)", "($connect_id_auteur, '" . addslashes($jjscript) . "', $hash, NOW())");
 	}
 
+	$nb_aff = 1.5 * _TRANCHES;
+	$deb_aff = intval(_request('t_' .$tmp_var));
+
+	if ($cpt > $nb_aff) {
+		$nb_aff = (_TRANCHES); 
+		$tranches = afficher_tranches_requete($cpt, 3, $tmp_var, $javascript, $nb_aff);
+	}
+
 	if (!$deb_aff) echo "<div id='$tmp_var' style='position: relative;'>";
 
 	echo http_img_pack("searching.gif", "*", "style='visibility: hidden; position: absolute; $spip_lang_right: 0px; top: -20px;' id = 'img_$tmp_var'");
@@ -613,65 +610,10 @@ function afficher_groupe_mots($id_groupe) {
 
 	echo ereg_replace("\:\:id\_ajax\_fonc\:\:", $id_ajax_fonc, $tranches);
 
+	$table = array();
 	$result = spip_query("SELECT $select FROM $from WHERE $where ORDER BY multi LIMIT  $deb_aff, $nb_aff");
 	while ($row = spip_fetch_array($result)) {
-		
-			$vals = '';
-			
-			$id_mot = $row['id_mot'];
-			$titre_mot = $row['titre'];
-			
-			if ($connect_statut == "0minirezo")
-				$aff_articles="prepa,prop,publie,refuse";
-			else
-				$aff_articles="prop,publie";
-
-			if ($id_mot!=$conf_mot) {
-				$couleur = $ifond ? "#FFFFFF" : $couleur_claire;
-				$ifond = $ifond ^ 1;
-
-				if ($connect_statut == "0minirezo" OR $occurrences['articles'][$id_mot] > 0)
-				  $s = "<a href='" .
-				    generer_url_ecrire('mots_edit', "id_mot=$id_mot&redirect=" . rawurlencode(generer_url_ecrire('mots_tous'))) .
-				    "' class='liste-mot'>".typo($titre_mot)."</a>";
-				else
-					$s = typo($titre_mot);
-
-				$vals[] = $s;
-
-				$texte_lie = array();
-
-				if ($occurrences['articles'][$id_mot] == 1)
-					$texte_lie[] = _T('info_1_article');
-				else if ($occurrences['articles'][$id_mot] > 1)
-					$texte_lie[] = $occurrences['articles'][$id_mot]." "._T('info_articles_02');
-
-				if ($occurrences['breves'][$id_mot] == 1)
-					$texte_lie[] = _T('info_1_breve');
-				else if ($occurrences['breves'][$id_mot] > 1)
-					$texte_lie[] = $occurrences['breves'][$id_mot]." "._T('info_breves_03');
-
-				if ($occurrences['sites'][$id_mot] == 1)
-					$texte_lie[] = _T('info_1_site');
-				else if ($occurrences['sites'][$id_mot] > 1)
-					$texte_lie[] = $occurrences['sites'][$id_mot]." "._T('info_sites');
-
-				if ($occurrences['rubriques'][$id_mot] == 1)
-					$texte_lie[] = _T('info_une_rubrique_02');
-				else if ($occurrences['rubriques'][$id_mot] > 1)
-					$texte_lie[] = $occurrences['rubriques'][$id_mot]." "._T('info_rubriques_02');
-
-				$texte_lie = join($texte_lie,", ");
-				
-				$vals[] = $texte_lie;
-
-
-				if ($connect_statut=="0minirezo"  AND $connect_toutes_rubriques) {
-					$vals[] = "<div style='text-align:right;'><a href='" . generer_url_ecrire("mots_tous","conf_mot=$id_mot") . "'>"._T('info_supprimer_mot')."&nbsp;<img src='" . _DIR_IMG_PACK . "croix-rouge.gif' alt='X' width='7' height='7' align='bottom' /></a></div>";
-				} 
-
-				$table[] = $vals;			
-			}
+		$table[] = afficher_groupe_mots_boucle($row, $occurrences);
 	}
 	if ($connect_statut=="0minirezo") {
 			$largeurs = array('', 100, 130);
@@ -692,4 +634,59 @@ function afficher_groupe_mots($id_groupe) {
 	return false;
 }
 
+function afficher_groupe_mots_boucle($row, $occurrences)
+{
+	global $connect_statut, $connect_toutes_rubriques;
+
+	$vals = '';
+			
+	$id_mot = $row['id_mot'];
+	$titre_mot = $row['titre'];
+			
+	if ($connect_statut == "0minirezo" OR $occurrences['articles'][$id_mot] > 0)
+		$s = "<a href='" .
+		  generer_url_ecrire('mots_edit', "id_mot=$id_mot&redirect=" . rawurlencode(generer_url_ecrire('mots_tous'))) .
+		  "' class='liste-mot'>".typo($titre_mot)."</a>";
+	else  $s = typo($titre_mot);
+
+	$vals[] = $s;
+
+	$texte_lie = array();
+
+	$n = $occurrences['articles'][$id_mot];
+	if ($n == 1)
+		$texte_lie[] = _T('info_1_article');
+	else if ($n > 1)
+		$texte_lie[] = $n." "._T('info_articles_02');
+
+	$n = $occurrences['breves'][$id_mot];
+	if ($n == 1)
+		$texte_lie[] = _T('info_1_breve');
+	else if ($n > 1)
+		$texte_lie[] = $n." "._T('info_breves_03');
+
+	$n = $occurrences['sites'][$id_mot];
+	if ($n == 1)
+		$texte_lie[] = _T('info_1_site');
+	else if ($n > 1)
+		$texte_lie[] = $n." "._T('info_sites');
+
+	$n = $occurrences['rubriques'][$id_mot];
+	if ($n == 1)
+		$texte_lie[] = _T('info_une_rubrique_02');
+	else if ($n > 1)
+		$texte_lie[] = $n." "._T('info_rubriques_02');
+
+	$texte_lie = join($texte_lie,", ");
+				
+	$vals[] = $texte_lie;
+
+
+	if ($connect_statut=="0minirezo"  AND $connect_toutes_rubriques) {
+		$vals[] = "<div style='text-align:right;'><a href='" . generer_url_ecrire("mots_tous","conf_mot=$id_mot") . "'>"._T('info_supprimer_mot')."&nbsp;<img src='" . _DIR_IMG_PACK . "croix-rouge.gif' alt='X' width='7' height='7' align='bottom' /></a></div>";
+	} 
+	
+	return $vals;			
+}
+
 ?>
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index b8cd1b7b94..33bc5504fe 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -505,7 +505,7 @@ function affiche_tranche_bandeau($requete, $icone, $col, $fg, $bg, $tmp_var, $de
 	$tous_id = array();
 
 	$cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM " . $requete['FROM'] . ($requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : '') . ($requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : '')));
-	if (! ($obligatoire OR ($cpt = $cpt['n']))) return  ;
+	if (! ($obligatoire OR ($cpt = $cpt['n']))) return  array();
 
 	if (!$requete["SELECT"]) $requete["SELECT"]= "*";
 	if ($requete['LIMIT']) $cpt = min($requete['LIMIT'], $cpt);
-- 
GitLab