From 483c11bd45cd22dfff0a94b94523e8a82c3ca4ca Mon Sep 17 00:00:00 2001 From: Matthieu Marcillaud <marcimat@rezo.net> Date: Tue, 22 Feb 2022 16:09:11 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9pr=C3=A9cier=20et=20s=C3=A9curiser=20l?= =?UTF-8?q?=E2=80=99insertion=20d=E2=80=99une=20galerie=20dans=20le=20form?= =?UTF-8?q?ulaires=20d=E2=80=99ajout=20de=20document.=20Ce=20mode=20n?= =?UTF-8?q?=E2=80=99est=20plus=20utilis=C3=A9=20dans=20SPIP=20depuis=20SPI?= =?UTF-8?q?P=203.0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Il faut déclarer les fichiers autorisés dans la globale (hum) medias_deprecated_liste_galeries --- formulaires/joindre_document.html | 5 +++-- formulaires/joindre_document.php | 21 ++++++++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/formulaires/joindre_document.html b/formulaires/joindre_document.html index b49048c3..2f33611a 100644 --- a/formulaires/joindre_document.html +++ b/formulaires/joindre_document.html @@ -18,6 +18,7 @@ </div></form> </div>] -[(#ENV{_galerie,''}|oui) - [(#INCLURE{fond=#ENV{_galerie}|spip_sanitize_from_request{_galerie,vide}, env, ajax})] +[(#REM) @deprecated 4.0 - SPIP 4.1 ] +[(#ENV{_galerie,''}|joindre_document_galerie_valide|oui) + [(#INCLURE{fond=#ENV{_galerie}, env, ajax})] ] diff --git a/formulaires/joindre_document.php b/formulaires/joindre_document.php index 193217f7..803193b1 100644 --- a/formulaires/joindre_document.php +++ b/formulaires/joindre_document.php @@ -50,6 +50,21 @@ function joindre_determiner_mode($mode, $id_document, $objet) { return $mode; } +/** + * Indique si une galerie demandée est valide + * + * @deprecated 4.0 (SPIP 4.1) L’inclusion de galerie est déprécié (non utilisé depuis SPIP 3.0). Préferez ajax_reload() après upload. + * @global array medias_deprecated_liste_galeries Liste de chemins de fichiers depuis la racine SPIP autorisés. + * @param string|null $galerie Le fichier de galerie désiré + */ +function joindre_document_galerie_valide(?string $galerie): bool { + $galeries = []; + if (isset($GLOBALS['medias_deprecated_liste_galeries']) and is_array($GLOBALS['medias_deprecated_liste_galeries'])) { + $galeries = $GLOBALS['medias_deprecated_liste_galeries']; + } + return in_array($galerie, $galeries); +} + /** * Chargement du formulaire * @@ -62,6 +77,7 @@ function joindre_determiner_mode($mode, $id_document, $objet) { * @param string $mode * Le mode du document (auto,choix,document,image,vignette...), par défaut auto * @param string $galerie + * Deprecated 4.0 (SPIP 4.1) * Passer optionnellement une galerie jointe au form, plus utilise nativement, * on prefere la mise a jour apres upload par ajaxReload('documents') * @param bool|string $proposer_media @@ -130,7 +146,8 @@ function formulaires_joindre_document_charger_dist( // On ne propose le FTP que si on a des choses a afficher $valeurs['proposer_ftp'] = ($valeurs['_options_upload_ftp'] or $valeurs['_dir_upload_ftp']); - if ($galerie) { + /** @deprecated 4.0 (SPIP 4.1). Utiliser ajaxReload('documents') après upload */ + if ($galerie and joindre_document_galerie_valide($galerie)) { # passer optionnellement une galerie jointe au form # plus utilise nativement, on prefere la mise a jour # apres upload par ajaxReload('documents') @@ -161,6 +178,7 @@ function formulaires_joindre_document_charger_dist( * @param string $mode * Le mode du document (auto,choix,document,image,vignette...), par défaut auto * @param string $galerie + * Deprecated 4.0 (SPIP 4.1) * Passer optionnellement une galerie jointe au form, plus utilise nativement, * on prefere la mise a jour apres upload par ajaxReload('documents') * @param bool|string $proposer_media @@ -261,6 +279,7 @@ function formulaires_joindre_document_verifier_dist( * @param string $mode * Le mode du document (auto,choix,document,image,vignette...), par défaut auto * @param string $galerie + * Deprecated 4.0 (SPIP 4.1) * Passer optionnellement une galerie jointe au form, plus utilise nativement, * on prefere la mise a jour apres upload par ajaxReload('documents') * @param bool|string $proposer_media -- GitLab