diff --git a/formidable_fonctions.php b/formidable_fonctions.php index 0655172b7cd93c16db53ceb61649bb8d012a7d93..843e952b85c463f4a23ff978e5e02ba0ad67cdd3 100644 --- a/formidable_fonctions.php +++ b/formidable_fonctions.php @@ -4,13 +4,14 @@ * Chargement des fonctions pour les squelettes * * @package SPIP\Formidable\Fonctions -**/ + **/ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('inc/formidable'); +include_spip('inc/utils'); include_spip('public/formidable_criteres'); /** @@ -144,3 +145,36 @@ function affiche_resume_reponse($id_formulaires_reponse, $id_formulaire = null, ) ); } + +/** + * Si une saisie est de type 'fichiers' + * insère dans la description du résultat de cette saisie + * l'url de l'action pour récuperer la saisie + * Ajoute également une vignette correspondent à l'extention + * @param array $saisie_a_modifier + * @param string $nom_saisie + * @param array $saisies_du_formulaire + * @param int|string $id_formulaire + * @param int|string $id_formulaires_reponse + * return array $saisie_a_modifier + **/ +function formidable_ajouter_action_vue_saisie_fichiers($saisie_a_modifier, $nom_saisie, $saisies_du_formulaire, $id_formulaire, $id_formulaires_reponse) { + // précaution + include_spip('inc/saisies_lister'); + $id_formulaire = strval($id_formulaire); + $id_formulaires_reponse = strval($id_formulaires_reponse); + $vignette_par_defaut = charger_fonction('vignette', 'inc/'); + + if (array_key_exists($nom_saisie, saisies_lister_avec_type($saisies_du_formulaire, 'fichiers'))) { //saisies SPIP + foreach ($saisie_a_modifier as $i => $valeur){ + $param = 'id_formulaire='.$id_formulaire + . '&id_formulaires_reponse='.$id_formulaires_reponse + . '&fichier='.$valeur['nom'] + . '&saisie='.$nom_saisie; + $url = generer_url_action('formidable_recuperer_fichier',$param,true,false); + $saisie_a_modifier[$i]['url'] = $url; + $saisie_a_modifier[$i]['vignette'] = $vignette_par_defaut($valeur['extension'],false); + } + } + return $saisie_a_modifier; +} diff --git a/modeles/formulaires_reponse.html b/modeles/formulaires_reponse.html index d613e798111ef0cd04f4eccd84c9c4a4ae3ed469..b99c51a2d1af0bff2eef9224ac897127446ee732 100644 --- a/modeles/formulaires_reponse.html +++ b/modeles/formulaires_reponse.html @@ -1,12 +1,13 @@ <BOUCLE_reponse(FORMULAIRES_REPONSES){tout}{id_formulaires_reponse}> +<BOUCLE_formulaire(FORMULAIRES){tout}{id_formulaire}> +#SET{saisies,#SAISIES|unserialize} +</BOUCLE_formulaire> #SET{valeurs,#ARRAY} <BOUCLE_champs(FORMULAIRES_REPONSES_CHAMPS){id_formulaires_reponse}> -#SET_MERGE{valeurs,#ARRAY{#NOM,#VALEUR|tenter_unserialize}} +#SET_MERGE{valeurs,#ARRAY{#NOM,#VALEUR|tenter_unserialize|formidable_ajouter_action_vue_saisie_fichiers{#NOM,#GET{saisies},#ID_FORMULAIRE,#ID_FORMULAIRES_REPONSE}} </BOUCLE_champs> -<BOUCLE_formulaire(FORMULAIRES){tout}{id_formulaire}> -#VOIR_SAISIES{(#SAISIES|unserialize), #GET{valeurs}} -</BOUCLE_formulaire> +#VOIR_SAISIES{#GET{saisies}, #GET{valeurs}} </BOUCLE_reponse>