diff --git a/README.md b/README.md index f1b9766..94e147e 100644 --- a/README.md +++ b/README.md @@ -45,13 +45,18 @@ $bigform($options,$erreurs); $bigform = charger_fonction('bigform_traiter','inc'); $bigform($id_objet, $objet); -// Pour proteger les documents -$bigform = charger_fonction('bigform_traiter','inc'); -$bigform($id_objet, $objet, $mode, true); +// Options de protection des documents : +// - deplacer dans un sous repertoire PROTECTED +// - obfusquer le nom du fichier +// +$secu = [ + 'proteger' => false, + 'obfusquer' => false +]; -// Pour obfusquer les noms des documents $bigform = charger_fonction('bigform_traiter','inc'); -$bigform($id_objet, $objet, $mode, false, true); +$bigform($id_objet, $objet, $mode, $secu); + // ou definir la constante pour l'avoir dans tous les formulaires: define('_BIGFORM_OBFUSQUER', true); diff --git a/inc/bigform_traiter.php b/inc/bigform_traiter.php index 98748eb..0604c8a 100644 --- a/inc/bigform_traiter.php +++ b/inc/bigform_traiter.php @@ -8,13 +8,30 @@ if (!defined('_ECRIRE_INC_VERSION')){ * fonction de recuperation et liaison image / objet * * @param $id_objet + * @param $objet * @param $mode + * @param array $options_secu['secu' => false, 'obfusquer' => false;] * @return array tableau des id_document $Tid_doc */ -function inc_bigform_traiter_dist($id_objet, $objet = 'article', $mode = 'auto', $secu = false, $obfusquer = false) { +function inc_bigform_traiter_dist($id_objet, $objet = 'article', $mode = 'auto', $options_secu = false) { include_spip('inc/joindre_document'); include_spip('inc/autoriser'); + $proteger = false; + $obfusquer = false; + if (is_array($options_secu)) { + if (array_key_exists('proteger', $options_secu)) { + $proteger = $options_secu['proteger']; + } + if (array_key_exists('obfusquer', $options_secu)) { + $obfusquer = $options_secu['obfusquer']; + } + } else { + if ($options_secu) { + $proteger = true; + } + } + set_request('joindre_upload','ok'); $files = joindre_trouver_fichier_envoye(); @@ -67,7 +84,7 @@ function inc_bigform_traiter_dist($id_objet, $objet = 'article', $mode = 'auto', autoriser_exception('associerdocuments', $objet, $id_objet, false); } - if (is_array($Tid_doc) and count($Tid_doc) and $secu) { + if (is_array($Tid_doc) and count($Tid_doc) and $proteger) { include_spip('inc/bigform_securiser_doc'); bigform_securiser_doc($Tid_doc); }