From 922b82a50f9650b92398549e4e414fe99501d11d Mon Sep 17 00:00:00 2001 From: clem Date: Sun, 6 Dec 2020 20:55:25 +0100 Subject: [PATCH] =?UTF-8?q?si=20l'auteur=20n'a=20pas=20le=20droit=20d'asso?= =?UTF-8?q?cier=20un=20document=20=C3=A0=20l'objet=20lui=20refiler=20une?= =?UTF-8?q?=20autorisation=20exceptionnelle=20(bogue=20vicieux=20\!)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- formulaires/bigform.php | 4 ++-- inc/bigform_traiter.php | 13 ++++++++++++- inclure/bigform.html | 2 +- inclure/bigform_doc.html | 4 +--- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/formulaires/bigform.php b/formulaires/bigform.php index 63aa59d..796ec7b 100644 --- a/formulaires/bigform.php +++ b/formulaires/bigform.php @@ -30,7 +30,7 @@ function formulaires_bigform_verifier_dist($objet, $id_objet, $mode = 'auto', $a function formulaires_bigform_traiter_dist($objet = 'article', $id_objet = 0, $mode = 'auto', $args = array()) { $bigform = charger_fonction('bigform_traiter','inc'); - $bigform($id_objet,$objet,$mode); - return []; + //return []; + return $bigform($id_objet,$objet,$mode); } diff --git a/inc/bigform_traiter.php b/inc/bigform_traiter.php index 5b85b53..e796bcb 100644 --- a/inc/bigform_traiter.php +++ b/inc/bigform_traiter.php @@ -51,8 +51,19 @@ function inc_bigform_traiter_dist($id_objet, $objet = 'article', $mode='auto', $ $Tid_doc = []; if (is_array($files) and count($files)) { + // si l'auteur n'a pas le droit d'associer un document à l'objet lui refiler une autorisation exceptionnelle + // typiquement les 1comite ne peuvent associer un doc à un article de statut publie... + $autorisation_temp = false; + if (!autoriser('associerdocuments', $objet, $id_objet)) { + include_spip('inc/autoriser'); + autoriser_exception('associerdocuments', $objet, $id_objet); + $autorisation_temp = true; + } $ajouter_document = charger_fonction('ajouter_documents', 'action'); - $Tid_doc = $ajouter_document('new', $files, $objet, $id_objet,$mode); + $Tid_doc = $ajouter_document('new', $files, $objet, $id_objet, $mode); + if ($autorisation_temp) { + autoriser_exception('associerdocuments', $objet, $id_objet, false); + } if (is_array($Tid_doc) and count($Tid_doc) and $secu) { include_spip('inc/bigform_securiser_doc'); diff --git a/inclure/bigform.html b/inclure/bigform.html index 27f3a03..6ab6c86 100644 --- a/inclure/bigform.html +++ b/inclure/bigform.html @@ -24,7 +24,7 @@ {previsualiser=#GET{previsualiser}|=={oui}|?{oui,''}} {multiple=#GET{multiple}|=={oui}|?{oui,''}} {accept=#GET{accept}} - )] +)] diff --git a/inclure/bigform_doc.html b/inclure/bigform_doc.html index 4d4b4b9..f580eaf 100644 --- a/inclure/bigform_doc.html +++ b/inclure/bigform_doc.html @@ -15,7 +15,7 @@ }
- +
[(#EXTENSION|match{jpg|png|gif}|oui) @@ -74,7 +74,6 @@