From b59a1584d621a1cfdb0094ea780495656d4d7433 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Wed, 11 Oct 2006 22:39:04 +0000 Subject: [PATCH] [7593] bis: c'est aux surchageables de tester les metas. --- ecrire/exec/articles.php | 42 ++++++++++++++++++++------------------ ecrire/inc/petitionner.php | 8 ++++++-- ecrire/inc/poster.php | 16 ++++++++++++--- ecrire/inc/virtualiser.php | 5 ++++- 4 files changed, 45 insertions(+), 26 deletions(-) diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php index 06f887ff52..c3bfea049b 100644 --- a/ecrire/exec/articles.php +++ b/ecrire/exec/articles.php @@ -109,8 +109,8 @@ function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot . (!$iconifier ? '' : $iconifier('id_article', $id_article,'articles')) - . (!($options == "avancees" && $connect_statut=='0minirezo' && $flag_editable) ? '' : ( boites_de_config_articles($id_article) . boite_article_virtuel($id_article, $virtuel))) - + . boites_de_config_articles($id_article, $flag_editable) + . boite_article_virtuel($id_article, $virtuel, $flag_editable) . meme_rubrique($id_rubrique, $id_article, 'article') . pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) @@ -226,43 +226,45 @@ function boite_info_articles($id_article, $statut_article, $visites, $id_version // // http://doc.spip.org/@boites_de_config_articles -function boites_de_config_articles($id_article) +function boites_de_config_articles($id_article, $modifiable) { - $nb_forums = spip_fetch_array(spip_query("SELECT COUNT(*) AS count FROM spip_forum WHERE id_article=$id_article AND statut IN ('publie', 'off', 'prop')")); + $poster = charger_fonction('poster', 'inc'); + $petitionner = charger_fonction('petitionner', 'inc'); + $poster = $poster($id_article,"articles","id_article=$id_article", $modifiable); + $petitionner = $petitionner($id_article,"articles","id_article=$id_article",$modifiable); + $masque = $poster . $petitionner; + + if (!$masque) return ''; + + $forums = spip_query("SELECT id_article FROM spip_forum WHERE id_article=$id_article AND statut IN ('publie', 'off', 'prop') LIMIT 1"); - $nb_signatures = spip_fetch_array(spip_query("SELECT COUNT(*) AS count FROM spip_signatures WHERE id_article=$id_article AND statut IN ('publie', 'poubelle')")); + $visible = spip_fetch_array($forums); - $nb_forums = $nb_forums['count']; - $nb_signatures = $nb_signatures['count']; - $visible = $nb_forums || $nb_signatures; + if (!$visible) { + + $signatures = spip_query("SELECT id_article FROM spip_signatures WHERE id_article=$id_article AND statut IN ('publie', 'poubelle') LIMIT 1"); + $visible = spip_fetch_array($signatures); + } $invite = "<span class='verdana1'><b>" . _T('bouton_forum_petition') . aide('confforums') . "</b></span>"; - $f = charger_fonction('poster', 'inc'); - $g = charger_fonction('petitionner', 'inc'); - - if ($nb_forums) { - $masque = icone_horizontale(_T('icone_suivi_forum', array('nb_forums' => $nb_forums)), generer_url_ecrire("articles_forum","id_article=$id_article"), "suivi-forum-24.gif", "", false); - } else $masque = ''; - - $masque .= $f($id_article,"articles","id_article=$id_article") - . $g($id_article,"articles","id_article=$id_article"); - return debut_cadre_relief("forum-interne-24.gif", true) . block_parfois_visible('forumpetition', $invite, $masque, 'text-align: center;', $visible) . fin_cadre_relief(true); } // http://doc.spip.org/@boite_article_virtuel -function boite_article_virtuel($id_article, $virtuel) +function boite_article_virtuel($id_article, $virtuel, $flag) { $f = charger_fonction('virtualiser', 'inc'); - $masque = $f($id_article, false, $virtuel, "articles", "id_article=$id_article"); + $masque = $f($id_article, $flag, $virtuel, "articles", "id_article=$id_article"); + + if (!$masque) return ''; $invite = "<span class='verdana1'>" . '<b>' diff --git a/ecrire/inc/petitionner.php b/ecrire/inc/petitionner.php index 614fe82c94..862a89fe59 100644 --- a/ecrire/inc/petitionner.php +++ b/ecrire/inc/petitionner.php @@ -17,9 +17,13 @@ include_spip('inc/actions'); include_spip('inc/texte'); // http://doc.spip.org/@formulaire_petitionner -function inc_petitionner_dist($id_article, $script, $args, $ajax=false) +function inc_petitionner_dist($id_article, $script, $args, $modifiable) { - global $spip_lang_right; + global $spip_lang_right, $options, $connect_statut; + + if (!($options == "avancees" && $connect_statut=='0minirezo' && $modifiable)) + return ''; + $petition = spip_fetch_array(spip_query("SELECT * FROM spip_petitions WHERE id_article=$id_article")); diff --git a/ecrire/inc/poster.php b/ecrire/inc/poster.php index 2d01e6ac1f..0b09120521 100644 --- a/ecrire/inc/poster.php +++ b/ecrire/inc/poster.php @@ -30,11 +30,21 @@ function get_forums_publics($id_article=0) { // Cree le formulaire de modification du reglage des forums de l'article // http://doc.spip.org/@formulaire_poster function inc_poster_dist($id_article, $script, $args, $flag=false) { - global $spip_lang_right; + + global $spip_lang_right, $options, $connect_statut; + + if (!($options == "avancees" && $connect_statut=='0minirezo' && $flag)) + return ''; $statut_forum = get_forums_publics($id_article); - $r.= "\n\t" + $nb_forums = spip_fetch_array(spip_query("SELECT COUNT(*) AS count FROM spip_forum WHERE id_article=$id_article AND statut IN ('publie', 'off', 'prop')")); + + if ($nb_forums) { + $r = icone_horizontale(_T('icone_suivi_forum', array('nb_forums' => $nb_forums)), generer_url_ecrire("articles_forum","id_article=$id_article"), "suivi-forum-24.gif", "", false); + } else $r = ''; + + $r = "\n\t" . _T('info_fonctionnement_forum') . "\n\t<select name='change_accepter_forum' class='fondl' @@ -56,7 +66,7 @@ function inc_poster_dist($id_article, $script, $args, $flag=false) { $r .= "\n\t</select>\n"; $r .= "<div align='$spip_lang_right' id='valider_poster_$id_article'" - . ($flag ? '' : " class='visible_au_chargement'") + . " class='visible_au_chargement'" . ">\n\t<input type='submit' class='fondo' style='font-size:10px' value='" . _T('bouton_changer') . "' /></div>\n"; diff --git a/ecrire/inc/virtualiser.php b/ecrire/inc/virtualiser.php index 73d4036174..1a44199186 100644 --- a/ecrire/inc/virtualiser.php +++ b/ecrire/inc/virtualiser.php @@ -16,7 +16,10 @@ include_spip('inc/actions'); // http://doc.spip.org/@formulaire_virtualiser function inc_virtualiser_dist($id_article, $flag, $virtuel, $script, $args) { - global $spip_lang_right; + global $spip_lang_right, $options, $connect_statut; + + if (!($options == "avancees" && $connect_statut=='0minirezo' && $flag)) + return ''; $http = ($virtuel ? "" : "http://"); -- GitLab