[CSS] +fix page header and title color
[lhc/web/www.git] / www / plugins / formidable / action / formidable_recuperer_fichier_par_email.php
1 <?php
2
3 if (!defined('_ECRIRE_INC_VERSION')) {
4 return;
5 }
6 include_spip('inc/autoriser');
7 include_spip('inc/formidable_fichiers');
8 /**
9 * Récupère un fichier depuis un lien email, si on ne clique pas trop tard
10 * et l'envoi en http
11 **/
12 function action_formidable_recuperer_fichier_par_email() {
13 //La vérification est inspirée de ce qui se fait dans notifications, pour les modifications de formu par email
14 $arg = _request('arg');
15 $hash = _request('hash');
16
17 include_spip('inc/securiser_action');
18 $action = 'formidable_recuperer_fichier_par_email';
19 $pass = secret_du_site();
20 if ($hash==_action_auteur("$action-$arg", '', $pass, 'alea_ephemere')
21 or $hash==_action_auteur("$action-$arg", '', $pass, 'alea_ephemere_ancien')) {
22 $arg = unserialize($arg);
23 // Construire le chemin du fichier, en fonction de ce qu'on reçoit
24 $chemin_fichier = formidable_generer_chemin_fichier($arg);
25 // Vérifier que le fichier existe, qu'il n'est pas trop vieux, et l'envoyer le cas échéant
26 if (@file_exists($chemin_fichier)) {
27 $f = $arg['fichier'];
28 $date = filemtime($chemin_fichier);
29 if (_FORMIDABLE_EXPIRATION_FICHIERS_EMAIL > 0 and $date + _FORMIDABLE_EXPIRATION_FICHIERS_EMAIL < time()) {// vérifier que le fichier n'est pas trop vieux
30 include_spip('inc/minipres');
31 echo minipres(_T('formidable:erreur_fichier_expire'));
32 } else {
33 formidable_retourner_fichier($chemin_fichier, $f);
34 }
35 } else {
36 include_spip('inc/minipres');
37 echo minipres(_T('formidable:erreur_fichier_introuvable'));
38 }
39 } else {
40 include_spip('inc/minipres');
41 echo minipres();
42 }
43 exit;
44 }