on passe un array pour les options de protection

This commit is contained in:
Christophe 2021-07-05 15:40:36 +02:00
parent ba251ee614
commit d6842cd760
2 changed files with 29 additions and 7 deletions

View file

@ -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);

View file

@ -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);
}