diff --git a/action/editer_document.php b/action/editer_document.php index 170ebfc4c148dfe879e690571b5043d9228c1c9d..30bbbbca313972778e475af24dad9ec6ea674aea 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 b84c3d14e24f69588b5e1ed41b2c6d357b1d8944..e2d75f46e50316d241e699d662d957723642b40f 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')" ); } }