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')." <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')." <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