[SPIP] v3.2.1-->v3.2.2
[lhc/web/www.git] / www / ecrire / action / session.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2019 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 /**
14 * Gestion d'une action ajoutant une variable dans une session SPIP
15 *
16 * @package SPIP\Core\Sessions
17 **/
18
19 if (!defined('_ECRIRE_INC_VERSION')) {
20 return;
21 }
22
23 /**
24 * Action pour poser une variable de session SPIP
25 *
26 * Poster sur cette action en indiquant les clés `var` et `val`
27 *
28 * Utilisé par exemple par le script javascript 'autosave' pour sauvegarder
29 * les formulaires en cours d'édition
30 *
31 * @todo
32 * Envoyer en réponse : json contenant toutes les variables publiques de la session
33 **/
34 function action_session_dist() {
35 if ($var = _request('var')
36 and preg_match(',^[a-z_0-9-]+$,i', $var)
37 ) {
38 if ($_SERVER['REQUEST_METHOD'] == 'POST') {
39 include_spip('inc/session');
40 session_set('session_' . $var, $val = _request('val'));
41 #spip_log("autosave:$var:$val",'autosave');
42 }
43 }
44
45 # TODO: mode lecture de session ; n'afficher que ce qu'il faut
46 #echo json_encode($GLOBALS['visiteur_session']);
47 }