3 if (!defined('_ECRIRE_INC_VERSION')) {
7 include_spip('inc/autoriser');
8 include_spip('inc/formidable');
9 include_spip('inc/formidable_fichiers');
12 * Récupère, si on est autorisé à voir la réponse du formulaire,
16 function action_formidable_recuperer_fichier() {
17 $securiser_action = charger_fonction('securiser_action', 'inc');
18 $arg = $securiser_action();
19 $arg = unserialize($arg);
21 // test si autorisation de voir la réponse par cookie
23 if (isset($arg['cookie'])) {
24 $nom_cookie = formidable_generer_nom_cookie($arg['formulaire']);
25 if (isset($_COOKIE[$nom_cookie])) {
26 if ($arg['cookie'] == sha1($_COOKIE[$nom_cookie].secret_du_site())) {
27 $cookie_bdd = sql_getfetsel('cookie', 'spip_formulaires_reponses', 'id_formulaires_reponse='.sql_quote($arg['reponse']));
28 if ($cookie_bdd = $_COOKIE[$nom_cookie]) {
34 if (autoriser('voir', 'formulairesreponse', $arg['formulaire']) or $cookie_ok) {
35 $chemin_fichier = _DIR_FICHIERS_FORMIDABLE
36 .'formulaire_'.$arg['formulaire']
37 .'/reponse_'.$arg['reponse']
40 if (@file_exists
($chemin_fichier)) {
42 formidable_retourner_fichier($chemin_fichier, $f);
44 include_spip('inc/minipres');
45 echo minipres(_T('formidable:erreur_fichier_introuvable'));
48 include_spip('inc/minipres');