[CSS] +fix page header and title color
[lhc/web/www.git] / www / plugins / formidable / action / formidable_recuperer_fichier.php
1 <?php
2
3 if (!defined('_ECRIRE_INC_VERSION')) {
4 return;
5 }
6
7 include_spip('inc/autoriser');
8 include_spip('inc/formidable');
9 include_spip('inc/formidable_fichiers');
10
11 /**
12 * Récupère, si on est autorisé à voir la réponse du formulaire,
13 * un fichier
14 * et l'envoi en http
15 **/
16 function action_formidable_recuperer_fichier() {
17 $securiser_action = charger_fonction('securiser_action', 'inc');
18 $arg = $securiser_action();
19 $arg = unserialize($arg);
20
21 // test si autorisation de voir la réponse par cookie
22 $cookie_ok = false;
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]) {
29 $cookie_ok = true;
30 }
31 }
32 }
33 }
34 if (autoriser('voir', 'formulairesreponse', $arg['formulaire']) or $cookie_ok) {
35 $chemin_fichier = _DIR_FICHIERS_FORMIDABLE
36 .'formulaire_'.$arg['formulaire']
37 .'/reponse_'.$arg['reponse']
38 .'/'.$arg['saisie']
39 .'/'.$arg['fichier'];
40 if (@file_exists($chemin_fichier)) {
41 $f = $arg['fichier'];
42 formidable_retourner_fichier($chemin_fichier, $f);
43 } else {
44 include_spip('inc/minipres');
45 echo minipres(_T('formidable:erreur_fichier_introuvable'));
46 }
47 } else {
48 include_spip('inc/minipres');
49 echo minipres();
50 }
51 exit;
52 }