Skip to content
Extraits de code Groupes Projets
Valider 9eae34a9 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

Normaliser le comportement de document_instituer() en appelant les pipelines...

Normaliser le comportement de document_instituer() en appelant les pipelines pre_editon et post_edition avec action=instituer
parent 890506eb
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -236,30 +236,66 @@ function document_instituer($id_document, $champs = array()) {
return false;
}
}
if ($statut !== $statut_ancien
or $date_publication != $date_publication_ancienne
) {
sql_updateq(
'spip_documents',
array('statut' => $statut, 'date_publication' => $date_publication),
'id_document=' . intval($id_document)
$champs = array();
if ($statut !== $statut_ancien) {
$champs['statut'] = $statut;
}
if ($date_publication != $date_publication_ancienne) {
$champs['date_publication'] = $date_publication;
}
// Envoyer aux plugins
$champs = pipeline('pre_edition',
array(
'args' => array(
'table' => 'spip_documents',
'id_objet' => $id_document,
'action' => 'instituer',
'statut_ancien' => $statut_ancien,
'date_ancienne' => $date_publication_ancienne,
),
'data' => $champs
)
);
if (!count($champs)) {
return false;
}
sql_updateq('spip_documents', $champs, 'id_document=' . intval($id_document));
if ($statut !== $statut_ancien) {
$publier_rubriques = sql_allfetsel(
'id_objet',
'spip_documents_liens',
"objet='rubrique' AND id_document=" . intval($id_document)
);
if ($statut !== $statut_ancien) {
$publier_rubriques = sql_allfetsel(
'id_objet',
'spip_documents_liens',
"objet='rubrique' AND id_document=" . intval($id_document)
);
if (count($publier_rubriques)) {
include_spip('inc/rubriques');
foreach ($publier_rubriques as $r) {
calculer_rubriques_if($r['id_objet'], array('statut' => $statut), $statut_ancien, false);
}
if (count($publier_rubriques)) {
include_spip('inc/rubriques');
foreach ($publier_rubriques as $r) {
calculer_rubriques_if($r['id_objet'], array('statut' => $statut), $statut_ancien, false);
}
}
return true;
}
return false;
// Invalider les caches
include_spip('inc/invalideur');
suivre_invalideur("id='document/$id_document'");
pipeline('post_edition',
array(
'args' => array(
'table' => 'spip_documents',
'id_objet' => $id_document,
'action' => 'instituer',
'statut_ancien' => $statut_ancien,
'date_ancienne' => $date_publication_ancienne,
),
'data' => $champs
)
);
return true;
}
......
<paquet
prefix="medias"
categorie="multimedia"
version="2.28.1"
version="2.29.0"
etat="stable"
compatibilite="[3.3.0-dev;3.3.*]"
logo="prive/themes/spip/images/portfolio-32.png"
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter