From e8f81cbcbfd16d0d479d1ec55d75c1e176ff7627 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Thu, 19 Oct 2006 17:37:07 +0000 Subject: [PATCH] =?UTF-8?q?afficher=5Farticles=20retournait=20un=20r=C3=A9?= =?UTF-8?q?sultat=20tronqu=C3=A9=20et=20du=20coup=20change=20un=20peu=20de?= =?UTF-8?q?=20fonctionnalit=C3=A9.=20Elle=20=C3=A9tait=20suppos=C3=A9e=20r?= =?UTF-8?q?etourner=20la=20liste=20des=20id=5Farticle=20sp=C3=A9cifi=C3=A9?= =?UTF-8?q?s=20par=20la=20requeete,=20mais=20ne=20retournait=20en=20fait?= =?UTF-8?q?=20que=20ceux=20de=20la=20premier=20tranche.=20Cette=20fonction?= =?UTF-8?q?alit=C3=A9=20n'=C3=A9tait=20utilis=C3=A9e=20qu'=C3=A0=203=20end?= =?UTF-8?q?roits,=20et=20obligeait=20cette=20fonction=20=C3=A0=20utiliser?= =?UTF-8?q?=20echo=20contrairement=20=C3=A0=20ce=20que=20voudrait=20#587.?= =?UTF-8?q?=20En=20cons=C3=A9quence=20les=203=20cas=20ont=20=C3=A9t=C3=A9?= =?UTF-8?q?=20r=C3=A9=C3=A9crits=20et=20cette=20fonction=20renvoie=20l'aff?= =?UTF-8?q?ichage=20=C3=A0=20faire=20et=20n'utiliser=20plus=20echo.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A noter que le bug ci-dessus est également présent pour l'affichage des rubriques, des brèves, des auteurs, des mots et des sites. Le script exec/recherche.php est concerné, peut-etre d'autre. A finaliser. --- ecrire/exec/accueil.php | 57 ++++++++++++++------------------- ecrire/exec/articles_page.php | 12 +++---- ecrire/exec/auteur_infos.php | 2 +- ecrire/exec/memoriser.php | 17 +++------- ecrire/exec/mots_edit.php | 2 +- ecrire/exec/naviguer.php | 6 ++-- ecrire/exec/recherche.php | 12 +++---- ecrire/inc/formater_article.php | 7 ++-- ecrire/inc/presentation.php | 14 ++++---- 9 files changed, 53 insertions(+), 76 deletions(-) diff --git a/ecrire/exec/accueil.php b/ecrire/exec/accueil.php index 763c4ed091..f46be54221 100644 --- a/ecrire/exec/accueil.php +++ b/ecrire/exec/accueil.php @@ -18,7 +18,7 @@ charger_generer_url(); include_spip('inc/rubriques'); // http://doc.spip.org/@encours_accueil -function encours_accueil($vos_articles) +function encours_accueil() { global $connect_statut, $connect_toutes_rubriques, $connect_id_auteur, $flag_ob; @@ -36,8 +36,7 @@ else // Les articles a valider // - - afficher_articles(_T('info_articles_proposes'), array("WHERE" => "statut='prop'$vos_articles", 'ORDER BY' => "date DESC")); + echo afficher_articles(_T('info_articles_proposes'), array("WHERE" => "statut='prop'$vos_articles", 'ORDER BY' => "date DESC")); // // Les breves a valider @@ -390,11 +389,8 @@ if ($spip_display != 4) { // Afficher les raccourcis : boutons de creation d'article et de breve, etc. // - creer_colonne_droite(); echo "<div> </div>"; - - // // Annonces @@ -403,7 +399,6 @@ if ($spip_display != 4) { echo http_calendrier_rv(sql_calendrier_taches_pb(),"pb") ; echo http_calendrier_rv(sql_calendrier_taches_rv(), "rv"); - // // Afficher le calendrier du mois s'il y a des rendez-vous // @@ -432,59 +427,55 @@ if ($spip_display != 4) { function exec_accueil_dist() { - global $id_rubrique, $meta, $connect_statut, $options, $connect_id_auteur, $flag_ob; + global $id_rubrique, $meta, $connect_statut, $options, $connect_id_auteur, $flag_ob; - $id_rubrique = intval($id_rubrique); + $id_rubrique = intval($id_rubrique); pipeline('exec_init',array('args'=>array('exec'=>'accueil','id_rubrique'=>$id_rubrique),'data'=>'')); - debut_page(_T('titre_page_index'), "accueil", "accueil"); + debut_page(_T('titre_page_index'), "accueil", "accueil"); - debut_gauche(); + debut_gauche(); - personnel_accueil(); - etat_base_accueil(); + personnel_accueil(); + etat_base_accueil(); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'accueil','id_rubrique'=>$id_rubrique),'data'=>'')); creer_colonne_droite(); echo pipeline('affiche_droite',array('args'=>array('exec'=>'accueil','id_rubrique'=>$id_rubrique),'data'=>'')); - debut_droite(); + + debut_droite(); // // Articles post-dates en attente de publication // -$post_dates = $GLOBALS['meta']["post_dates"]; + $post_dates = $GLOBALS['meta']["post_dates"]; -if ($post_dates == "non" AND $connect_statut == '0minirezo' AND $options == 'avancees') { - echo "<p>"; - afficher_articles(_T('info_article_a_paraitre'), array("WHERE" => "statut='publie' AND date>NOW()", 'ORDER BY' => "date")); + if ($post_dates == "non" AND $connect_statut == '0minirezo' AND $options == 'avancees') { + echo "<p>", afficher_articles(_T('info_article_a_paraitre'), array("WHERE" => "statut='publie' AND date>NOW()", 'ORDER BY' => "date")); } // // Vos articles en cours de redaction // -echo "<p>"; - $vos_articles = afficher_articles(afficher_plus(generer_url_ecrire('articles_page'))._T('info_en_cours_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa'", "ORDER BY" => "articles.date DESC")); - - $vos_articles = !$vos_articles ? '' : (' AND articles.id_article NOT IN ('.join(',',$vos_articles) .')'); + echo "<p>", afficher_articles(afficher_plus(generer_url_ecrire('articles_page'))._T('info_en_cours_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa'", "ORDER BY" => "articles.date DESC")); - colonne_gauche_accueil($id_rubrique, + colonne_gauche_accueil($id_rubrique, $GLOBALS['meta']["activer_breves"], $GLOBALS['meta']["activer_sites"], $GLOBALS['meta']['articles_mots']); - encours_accueil($vos_articles); + encours_accueil(); - echo afficher_enfant_rub(0, false, true); - - // Dernieres modifications d'articles - if ($options == 'avancees' - AND ($GLOBALS['meta']['articles_versions'] == 'oui')) { - include_spip('inc/suivi_versions'); - afficher_suivi_versions (0, 0, false, "", true); - } + echo afficher_enfant_rub(0, false, true); + // Dernieres modifications d'articles + if ($options == 'avancees' + AND ($GLOBALS['meta']['articles_versions'] == 'oui')) { + include_spip('inc/suivi_versions'); + afficher_suivi_versions (0, 0, false, "", true); + } - echo fin_page(); + echo fin_page(); } ?> diff --git a/ecrire/exec/articles_page.php b/ecrire/exec/articles_page.php index 7c86cda9d0..912992a3af 100644 --- a/ecrire/exec/articles_page.php +++ b/ecrire/exec/articles_page.php @@ -51,8 +51,7 @@ debut_droite(); // Vos articles en cours de redaction // -echo "<P align=left>"; - afficher_articles(_T('info_en_cours_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa'", 'ORDER BY' => "articles.date DESC")); + echo "<P align=left>", afficher_articles(_T('info_en_cours_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa'", 'ORDER BY' => "articles.date DESC")); echo "</p>"; @@ -61,24 +60,21 @@ echo "</p>"; // Vos articles soumis au vote // -echo "<p>"; - afficher_articles(_T('info_attente_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prop'", "ORDER BY" => "articles.date")); + echo "<p>", afficher_articles(_T('info_attente_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prop'", "ORDER BY" => "articles.date")); echo "</p>"; // // Vos articles publies // -echo "<p>"; - afficher_articles(_T('info_publies'), array("FROM" =>"spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut='publie'", 'ORDER BY' => "articles.date DESC"), true); + echo "<p>", afficher_articles(_T('info_publies'), array("FROM" =>"spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut='publie'", 'ORDER BY' => "articles.date DESC"), true); echo "</p>"; // // Vos articles refuses // -echo "<p>"; - afficher_articles(_T('info_refuses'), array('FROM' =>"spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut='refuse'", 'ORDER BY' => "articles.date DESC")); + echo "<p>", afficher_articles(_T('info_refuses'), array('FROM' =>"spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut='refuse'", 'ORDER BY' => "articles.date DESC")); echo "</p>"; echo fin_page(); diff --git a/ecrire/exec/auteur_infos.php b/ecrire/exec/auteur_infos.php index 3d535bfc63..4a66edadcc 100644 --- a/ecrire/exec/auteur_infos.php +++ b/ecrire/exec/auteur_infos.php @@ -137,7 +137,7 @@ function auteurs_interventions($id_auteur, $statut) else if ($connect_id_auteur == $id_auteur) $aff_art = "'prepa','prop','publie'"; else $aff_art = "'prop','publie'"; - afficher_articles(_T('info_articles_auteur'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien", "WHERE" => "lien.id_auteur='$id_auteur' AND lien.id_article=articles.id_article AND articles.statut IN ($aff_art)", 'ORDER BY' => "articles.date DESC"), true); + echo afficher_articles(_T('info_articles_auteur'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien", "WHERE" => "lien.id_auteur='$id_auteur' AND lien.id_article=articles.id_article AND articles.statut IN ($aff_art)", 'ORDER BY' => "articles.date DESC"), true); if ($id_auteur != $connect_id_auteur AND ($statut == '0minirezo' OR $statut == '1comite')) { diff --git a/ecrire/exec/memoriser.php b/ecrire/exec/memoriser.php index b91675e1cb..90c38ad9dc 100644 --- a/ecrire/exec/memoriser.php +++ b/ecrire/exec/memoriser.php @@ -15,9 +15,9 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // http://doc.spip.org/@exec_memoriser_dist function exec_memoriser_dist() { - global $flag_ob,$connect_id_auteur, $id_ajax_fonc, $trad; + global $connect_id_auteur; - $res = spip_fetch_array(spip_query("SELECT variables, hash FROM spip_ajax_fonc WHERE id_ajax_fonc =" . spip_abstract_quote($id_ajax_fonc) . " AND id_auteur=$connect_id_auteur")); + $res = spip_fetch_array(spip_query("SELECT variables, hash FROM spip_ajax_fonc WHERE id_ajax_fonc =" . intval(_request('id_ajax_fonc')) . " AND id_auteur=$connect_id_auteur")); if ($res) { @@ -26,16 +26,9 @@ function exec_memoriser_dist() include_spip('inc/presentation'); if (_request('trad')) - afficher_articles_trad ($param, $id_ajax_fonc, $titre_table, $requete, $afficher_visites, $afficher_auteurs); - - else { - if (!$flag_ob) {spip_log("flag_ob pas la pour memoriser");exit;} - ob_start(); - afficher_articles ($titre_table, $requete, $afficher_visites, $afficher_auteurs); - $res = ob_get_contents(); - ob_end_clean(); - ajax_retour($res); - } + ajax_retour(afficher_articles_trad ($param, $id_ajax_fonc, $titre_table, $requete, $afficher_visites, $afficher_auteurs)); + + else ajax_retour(afficher_articles ($titre_table, $requete, $afficher_visites, $afficher_auteurs)); } } ?> diff --git a/ecrire/exec/mots_edit.php b/ecrire/exec/mots_edit.php index 6236bc96e2..b85cb3612b 100644 --- a/ecrire/exec/mots_edit.php +++ b/ecrire/exec/mots_edit.php @@ -205,7 +205,7 @@ if ($id_mot) { afficher_rubriques(_T('info_rubriques_liees_mot'), array("FROM" => 'spip_rubriques AS rubrique, spip_mots_rubriques AS lien', 'WHERE' => "lien.id_mot='$id_mot' AND lien.id_rubrique=rubrique.id_rubrique", 'ORDER BY' => "rubrique.titre")); - afficher_articles(_T('info_articles_lies_mot'), array('FROM' => "spip_articles AS articles, spip_mots_articles AS lien", 'WHERE' => "lien.id_mot='$id_mot' AND lien.id_article=articles.id_article AND articles.statut IN ($aff_articles)", 'ORDER BY' => "articles.date DESC"), true); + echo afficher_articles(_T('info_articles_lies_mot'), array('FROM' => "spip_articles AS articles, spip_mots_articles AS lien", 'WHERE' => "lien.id_mot='$id_mot' AND lien.id_article=articles.id_article AND articles.statut IN ($aff_articles)", 'ORDER BY' => "articles.date DESC"), true); afficher_breves(_T('info_breves_liees_mot'), array("FROM" => 'spip_breves AS breves, spip_mots_breves AS lien', 'WHERE' => "lien.id_mot='$id_mot' AND lien.id_breve=breves.id_breve", 'ORDER BY' => "breves.date_heure DESC")); diff --git a/ecrire/exec/naviguer.php b/ecrire/exec/naviguer.php index 67d4300d5e..06646cadb6 100644 --- a/ecrire/exec/naviguer.php +++ b/ecrire/exec/naviguer.php @@ -268,7 +268,7 @@ if ($relief) { // // Les articles a valider // - afficher_articles(_T('info_articles_proposes'), array('WHERE' => "id_rubrique='$id_rubrique' AND statut='prop'", 'ORDER BY' => "date DESC")); + echo afficher_articles(_T('info_articles_proposes'), array('WHERE' => "id_rubrique='$id_rubrique' AND statut='prop'", 'ORDER BY' => "date DESC")); // // Les breves a valider @@ -315,14 +315,14 @@ if ($relief) { ///////////////////////// if ($connect_statut == "0minirezo" AND $options == 'avancees') { - afficher_articles(_T('info_tous_articles_en_redaction'), array("WHERE" => "statut='prepa' AND id_rubrique='$id_rubrique'", 'ORDER BY' => "date DESC")); + echo afficher_articles(_T('info_tous_articles_en_redaction'), array("WHERE" => "statut='prepa' AND id_rubrique='$id_rubrique'", 'ORDER BY' => "date DESC")); } ////////// Les articles publies ///////////////////////// - afficher_articles(_T('info_tous_articles_presents'), array("WHERE" => "statut='publie' AND id_rubrique='$id_rubrique'", 'ORDER BY' => "date DESC"), true); + echo afficher_articles(_T('info_tous_articles_presents'), array("WHERE" => "statut='publie' AND id_rubrique='$id_rubrique'", 'ORDER BY' => "date DESC"), true); diff --git a/ecrire/exec/recherche.php b/ecrire/exec/recherche.php index 1b1fbf734a..09584d8e78 100644 --- a/ecrire/exec/recherche.php +++ b/ecrire/exec/recherche.php @@ -71,6 +71,7 @@ function exec_recherche_dist() $query_sites['ORDER BY']= "maj DESC"; $activer_moteur = ($GLOBALS['meta']['activer_moteur'] == 'oui'); + if ($activer_moteur) { // texte integral include_spip('inc/indexation'); list($hash_recherche,) = requete_hash(str_replace("%","\%",$recherche)); @@ -82,13 +83,14 @@ function exec_recherche_dist() } $nba = afficher_articles (_T('info_articles_trouves'), $query_articles); + echo $nba; if ($activer_moteur) { - if ($nba) { - $doublons = join($nba, ","); - $query_articles_int['WHERE'] .= " AND objet.id_article NOT IN ($doublons)"; - } + if ($nba) + $query_articles_int['WHERE'] .= " AND NOT (" . $query_articles['WHERE'] . ")"; + $nba1 = afficher_articles (_T('info_articles_trouves_dans_texte'), $query_articles_int); + echo $nba1; } $nbb = afficher_breves (_T('info_breves_touvees'), $query_breves, true); @@ -124,9 +126,7 @@ function exec_recherche_dist() if (!$nba AND !$nba1 AND !$nbb AND !$nbb1 AND !$nbr AND !$nbr1 AND !$nbt AND !$nbs AND !$nbs1) { echo "<FONT FACE='Verdana,Arial,Sans,sans-serif'>"._T('avis_aucun_resultat')."</FONT><P>"; } - } - echo fin_page(); } ?> diff --git a/ecrire/inc/formater_article.php b/ecrire/inc/formater_article.php index 7266b0e05e..a59460f63c 100644 --- a/ecrire/inc/formater_article.php +++ b/ecrire/inc/formater_article.php @@ -18,14 +18,13 @@ function inc_formater_article($id_article, $row, $afficher_auteurs, $afficher_la { global $dir_lang, $options, $spip_lang_right, $spip_display; static $pret = false; - static $chercher_logo, $img_admin, $bouton_auteur, $nb; + static $chercher_logo, $img_admin, $formater_auteur, $nb; if (!$pret) { $chercher_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); if ($chercher_logo) $chercher_logo = charger_fonction('chercher_logo', 'inc'); - if ($afficher_auteurs) - $formater_auteur = charger_fonction('formater_auteur', 'inc'); + $formater_auteur = charger_fonction('formater_auteur', 'inc'); $img_admin = http_img_pack("admin-12.gif", "", "width='12' height='12'", _T('titre_image_admin_article')); $nb = ($options != "avancees") ? '' @@ -69,7 +68,7 @@ function inc_formater_article($id_article, $row, $afficher_auteurs, $afficher_la . "</a>" . "</div>"; - if ($formater_auteur) { + if ($afficher_auteurs) { $result = auteurs_article($id_article); $les_auteurs = ""; diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php index a563fd1667..f4fbc48b32 100644 --- a/ecrire/inc/presentation.php +++ b/ecrire/inc/presentation.php @@ -698,7 +698,7 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a $hash = "0x".substr(md5($connect_id_auteur.$requete.$titre_table), 0, 31); $tmp_var = 't' . substr($hash, 2, 7); - $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"); + $res_proch = spip_query("SELECT id_ajax_fonc FROM spip_ajax_fonc WHERE hash=$hash AND id_auteur=$connect_id_auteur LIMIT 1"); if ($row = spip_fetch_array($res_proch)) { $id_ajax = $row["id_ajax_fonc"]; } else { @@ -736,9 +736,9 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a else $ajout_col = 0; if (!isset($requete['GROUP BY'])) $requete['GROUP BY'] = ''; - $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 $tous_id ; + if (! ($obligatoire OR ($cpt = $cpt['n']))) return '' ; if (isset($requete['LIMIT'])) $cpt = min($requete['LIMIT'], $cpt); $nb_aff = floor(1.5 * _TRANCHES); @@ -755,14 +755,14 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a } else $tranches = ''; - $result = spip_query($q = "SELECT " . $requete['SELECT'] . " FROM " . $requete['FROM'] . ($requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : '') . ($requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : '') . ($requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : '') . " LIMIT " . ($deb_aff >= 0 ? "$deb_aff, $nb_aff" : ($requete['LIMIT'] ? $requete['LIMIT'] : "99999"))); + $result = spip_query("SELECT " . $requete['SELECT'] . " FROM " . $requete['FROM'] . ($requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : '') . ($requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : '') . ($requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : '') . " LIMIT " . ($deb_aff >= 0 ? "$deb_aff, $nb_aff" : ($requete['LIMIT'] ? $requete['LIMIT'] : "99999"))); $table = array(); $formater_article = charger_fonction('formater_article', 'inc'); + while ($row = spip_fetch_array($result)) { $id = $row['id_article']; - $tous_id[]= $id; $table[]= $formater_article($id, $row, $afficher_auteurs, $afficher_langue, $langue_defaut); } spip_free_result($result); @@ -787,9 +787,7 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a $res = afficher_article_logo_trad($titre_table, $tranches, $largeurs, $table, $styles, $tmp_var, $id_ajax, 1); - echo ajax_action_greffe($tmp_var,$res); - - return $tous_id; + return ajax_action_greffe($tmp_var,$res); } function afficher_article_logo_trad($titre, $tranches, $largeurs, $table, $styles, $tmp_var, $id_ajax, $queltrad) -- GitLab