Browse Source

Ne pas considérer une rubrique comme publiée quand on lui ajoute un logo.

https://core.spip.net/issues/4424
issue_4494
nicod_ 3 years ago
parent
commit
f35316bcbe
  1. 16
      action/editer_document.php
  2. 4
      medias_pipelines.php

16
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;

4
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')"
);
}
}

Loading…
Cancel
Save