From d2e1ef8b22b4458f00aa5e920a1609f9da89709c Mon Sep 17 00:00:00 2001 From: "cedric@yterium.com" <> Date: Mon, 14 Mar 2011 14:55:58 +0000 Subject: [PATCH] un pipeline oublie lors du passage en extension : compter les documents d'un objet --- medias_pipelines.php | 22 +++++++++++++++++++++- plugin.xml | 5 +++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/medias_pipelines.php b/medias_pipelines.php index 9d4762f2..216c6376 100644 --- a/medias_pipelines.php +++ b/medias_pipelines.php @@ -119,4 +119,24 @@ function medias_document_desc_actions($flux){ function medias_editer_document_actions($flux){ return $flux; -} \ No newline at end of file +} + + +/** + * Compter les documents dans un objet + * + * @param array $flux + * @return array + */ +function medias_objet_compte_enfants($flux){ + if ($objet = $flux['args']['objet'] + AND $id=intval($flux['args']['id_objet'])) { + // juste les publies ? + 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 Lid_objet=".intval($id)." AND (D.statut='publie')"); + } 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 Lid_objet=".intval($id)." AND (D.statut='publie' OR D.statut='prepa')"); + } + } + return $flux; +} diff --git a/plugin.xml b/plugin.xml index 44cfbeda..4f6fc7b6 100644 --- a/plugin.xml +++ b/plugin.xml @@ -41,6 +41,11 @@ <nom>afficher_complement_objet</nom> <inclure>medias_pipelines.php</inclure> </pipeline> + <pipeline> + <nom>objet_compte_enfants</nom> + <inclure>medias_pipelines.php</inclure> + </pipeline> + <pipeline> <nom>header_prive</nom> <action>modalbox_insert_head</action> -- GitLab