From f35316bcbe28f7681b01db99fc9ecf04208d529c Mon Sep 17 00:00:00 2001 From: nicod_ <nicod@lerebooteux.fr> Date: Wed, 22 Jan 2020 22:20:39 +0100 Subject: [PATCH] =?UTF-8?q?Ne=20pas=20consid=C3=A9rer=20une=20rubrique=20c?= =?UTF-8?q?omme=20publi=C3=A9e=20quand=20on=20lui=20ajoute=20un=20logo.=20?= =?UTF-8?q?https://core.spip.net/issues/4424?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- action/editer_document.php | 16 ++++++++++------ medias_pipelines.php | 4 ++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/action/editer_document.php b/action/editer_document.php index 170ebfc4..30bbbbca 100644 --- a/action/editer_document.php +++ b/action/editer_document.php @@ -195,8 +195,8 @@ function document_instituer($id_document, $champs = array()) { $trouver_table = charger_fonction('trouver_table', 'base'); $res = sql_select( - 'id_objet,objet', - 'spip_documents_liens', + 'id_objet,objet, mode', + 'spip_documents_liens join spip_documents using(id_document)', "objet!='document' AND id_document=" . intval($id_document) ); // On aura 19 jours 3h14 et 7 secondes pour corriger en 2038 (limitation de la représentation POSIX du temps sur les 32 bits) @@ -204,10 +204,14 @@ function document_instituer($id_document, $champs = array()) { include_spip('base/objets'); while ($row = sql_fetch($res)) { if ( - // cas particulier des rubriques qui sont publiees des qu'elles contiennent un document ! - $row['objet'] == 'rubrique' - // ou si objet publie selon sa declaration - or objet_test_si_publie($row['objet'], $row['id_objet']) + // si ce n'est pas un logo + !in_array($row['mode'], array('logoon','logooff')) + and ( + // cas particulier des rubriques qui sont publiees des qu'elles contiennent un document ! + $row['objet'] == 'rubrique' + // ou si objet publie selon sa declaration + or objet_test_si_publie($row['objet'], $row['id_objet']) + ) ) { $statut = 'publie'; $date_publication = 0; diff --git a/medias_pipelines.php b/medias_pipelines.php index b84c3d14..e2d75f46 100644 --- a/medias_pipelines.php +++ b/medias_pipelines.php @@ -311,12 +311,12 @@ function medias_objet_compte_enfants($flux) { if (array_key_exists('statut', $flux['args']) and ($flux['args']['statut'] == 'publie')) { $flux['data']['document'] = sql_countsel( 'spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document', - 'L.objet=' . sql_quote($objet) . 'AND L.id_objet=' . intval($id) . " AND (D.statut='publie')" + 'L.objet=' . sql_quote($objet) . 'AND L.id_objet=' . intval($id) . " AND (D.statut='publie') and D.mode NOT IN ('logoon','logoff') " ); } else { $flux['data']['document'] = sql_countsel( 'spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document', - 'L.objet=' . sql_quote($objet) . 'AND L.id_objet=' . intval($id) . " AND (D.statut='publie' OR D.statut='prepa')" + 'L.objet=' . sql_quote($objet) . 'AND L.id_objet=' . intval($id) . " AND (D.statut='publie' OR D.statut='prepa') and D.mode NOT IN ('logoon','logoff')" ); } } -- GitLab