diff --git a/README.md b/README.md index 6b7239a..1d874ad 100644 --- a/README.md +++ b/README.md @@ -10,10 +10,14 @@ #FORMULAIRE_BIGFORM{objet, id_objet, mode, args (array)} ``` - `mode` (facultatif) : le type d'image si besoin. Valeurs possibles : `auto | logoon | logooff` -- `args` (facultatif) : un array d'options. Pour l'instant la seule supportée est `redirect` qui permet de renvoyer sur la page passée en argument. +- `args` (facultatif) : un array d'options. + - `redirect` qui permet de renvoyer sur la page passée en argument. + - `obfusquer` + - `proteger` + - `charger_js_titre` oui par defaut => permet de ne pas charger le js d'ajout de l'input titre Exemple pour revenir à la page principale "equipe" avec un bigform appelé dans une popin : ``` -#FORMULAIRE_BIGFORM{article, #ID_ARTICLE, logoon, #ARRAY{redirect, #URL_PAGE{equipe}}} +#FORMULAIRE_BIGFORM{article, #ID_ARTICLE, logoon, #ARRAY{redirect, #URL_PAGE{equipe}, obfusquer, oui}} ``` ## Usage 2 : en inclure dans un formulaire @@ -21,6 +25,7 @@ Exemple pour revenir à la page principale "equipe" avec un bigform appelé dans 1. dans le formulaire html: ```html +arg: suffix_liste_fichiers=toto qui permet de charger le fichier :inc-bigup_liste_fichiers_toto.html ``` cet inclure peut accepter 3 arguments facultatifs : * `accept=#LISTE{image/*, application/pdf}` ou `accept="image/*"` par défaut tous les fichiers diff --git a/action/charger_document.php b/action/charger_document.php index 01ce649..fb5836a 100644 --- a/action/charger_document.php +++ b/action/charger_document.php @@ -3,17 +3,8 @@ if (!defined('_ECRIRE_INC_VERSION')) return; function action_charger_document_dist($arg=null){ - if (is_null($arg)) { - // DEMI sécurité : s'il y a un hash, on teste la sécurité - if (_request('hash')) { - $securiser_action = charger_fonction('securiser_action', 'inc'); - $arg = $securiser_action(); - } - // Sinon, on prend l'arg direct - else { - $arg = _request('arg'); - } - } + $securiser_action = charger_fonction('securiser_action', 'inc'); + $arg = $securiser_action(); include_spip('inc/autoriser'); if (! autoriser("charger","document")) { diff --git a/bigform_autorisations.php b/bigform_autorisations.php index 8894ff1..af12c07 100644 --- a/bigform_autorisations.php +++ b/bigform_autorisations.php @@ -26,9 +26,7 @@ function autoriser_document_charger_dist($faire, $type, $id, $qui, $opt) { } function autoriser_document_dissociersupprimer_dist($faire, $type, $id, $qui, $opt) { - if (!intval($id) - or !$qui['id_auteur'] - ) { + if (!intval($id) or !intval($qui['id_auteur'])) { return false; } diff --git a/bigform_options.php b/bigform_options.php index db39ca0..8aa543e 100644 --- a/bigform_options.php +++ b/bigform_options.php @@ -13,6 +13,10 @@ if (!defined('_ECRIRE_INC_VERSION')) { return; } +function urls_generer_url_document($id_document, $args = '', $ancre = '', $public = null, $connect = '') { + $f = charger_fonction('bigform_generer_url_document', 'inc'); + return $f($id_document, $args, $ancre, $public, $connect); +} // https://code.spip.net/@urls_propres2_dist function urls_propres2($i, &$entite, $args = '', $ancre = '') { diff --git a/bigform_pipelines.php b/bigform_pipelines.php index 4cc3913..e5433d0 100644 --- a/bigform_pipelines.php +++ b/bigform_pipelines.php @@ -34,10 +34,11 @@ function bigform_post_edition($flux){ and lire_config('bigform/retailler_image') === 'oui' ) { $url = generer_url_public("retailler_img", [ - "id_document" =>intval($id_document), - "largeur" => $flux['data']['largeur'], - "hauteur" => $flux['data']['hauteur'], - "taille" => $flux['data']['taille'], + "id_document" => intval($id_document), + "largeur" => $flux['data']['largeur'], + "hauteur" => $flux['data']['hauteur'], + "taille" => $flux['data']['taille'], + "id_auteur" => session_get('id_auteur') ], true, false); $ch = curl_init($url); diff --git a/formulaires/bigform.php b/formulaires/bigform.php index 7073773..5049156 100644 --- a/formulaires/bigform.php +++ b/formulaires/bigform.php @@ -3,14 +3,14 @@ if (!defined('_ECRIRE_INC_VERSION')){ return; } -include_spip('inc/cvtupload'); - -function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $args = array()) { +function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $args = []) { + $charger_js_titre = $args['charger_js_titre'] ?? 'oui'; $valeurs = [ '_bigup_rechercher_fichiers' => true, 'id_objet' => $id_objet, - 'objet' => $objet + 'objet' => $objet, + 'charger_js_titre' => $charger_js_titre === 'oui' ? 'oui' : 'non' ]; $valeurs['objet_ok'] = ''; @@ -22,17 +22,48 @@ function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $ar return $valeurs; } -function formulaires_bigform_verifier_dist($objet, $id_objet, $mode = 'auto', $args = array()) { - $erreurs = array(); +function formulaires_bigform_verifier_dist($objet, $id_objet, $mode = 'auto', $args = []) { + $erreurs = []; + + $options = pipeline('bigform_verifier', [ + 'args' => [ + 'id_objet' => $id_objet, + 'objet' => $objet, + 'mode' => $mode, + 'args' => $args + ], + 'data' => [] + ]); + + $bigform = charger_fonction('bigform_verifier','inc'); + $bigform($options,$erreurs); + return $erreurs; } -function formulaires_bigform_traiter_dist($objet = 'article', $id_objet = 0, $mode = 'auto', $args = array()) { +function formulaires_bigform_traiter_dist($objet = 'article', $id_objet = 0, $mode = 'auto', $args = []) { + + $options_secu = []; + if (array_key_exists('proteger', $args)) { + $options_secu['proteger'] = true; + } + if (array_key_exists('obfusquer', $args)) { + $options_secu['obfusquer'] = true; + } $bigform = charger_fonction('bigform_traiter','inc'); + $T = $bigform($id_objet,$objet,$mode, $options_secu); + + pipeline('bigform_post_insertion', [ + 'args' => [ + 'id_objet' => $id_objet, + 'objet' => $objet, + 'mode' => $mode, + 'args' => $args, + 'tId_doc' => $T + ] + ]); - //return []; - $T = $bigform($id_objet,$objet,$mode); if (!empty($args) and !empty($args['redirect'])) { return ['redirect' => $args['redirect']]; } else { diff --git a/inc/bigform_generer_url_document.php b/inc/bigform_generer_url_document.php new file mode 100644 index 0000000..da2b182 --- /dev/null +++ b/inc/bigform_generer_url_document.php @@ -0,0 +1,17 @@ + +[(#ENV{charger_js_titre}|!={non}|oui) + +] diff --git a/inclure/inc-bigup_liste_fichiers.html b/inclure/inc-bigup_liste_fichiers.html index 93d7a19..ca957b3 100644 --- a/inclure/inc-bigup_liste_fichiers.html +++ b/inclure/inc-bigup_liste_fichiers.html @@ -52,4 +52,3 @@ - diff --git a/paquet.xml b/paquet.xml index ceac8e4..623d22b 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,9 +1,9 @@ + + diff --git a/retailler_img.html b/retailler_img.html index e97103e..c326e06 100644 --- a/retailler_img.html +++ b/retailler_img.html @@ -1,4 +1,11 @@ - + [(#FICHIER|image_recadre{3072:1800,-,focus}|adaptive_images{3072})] [(#FICHIER|image_recadre{2048:1200,-,focus}|adaptive_images{2048})] [(#FICHIER|image_recadre{1024:600,-,focus}|adaptive_images{1024})]