3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2019 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
14 * Gestion d'une action ajoutant une variable dans une session SPIP
16 * @package SPIP\Core\Sessions
19 if (!defined('_ECRIRE_INC_VERSION')) {
24 * Action pour poser une variable de session SPIP
26 * Poster sur cette action en indiquant les clés `var` et `val`
28 * Utilisé par exemple par le script javascript 'autosave' pour sauvegarder
29 * les formulaires en cours d'édition
32 * Envoyer en réponse : json contenant toutes les variables publiques de la session
34 function action_session_dist() {
35 if ($var = _request('var')
36 and preg_match(',^[a-z_0-9-]+$,i', $var)
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');
45 # TODO: mode lecture de session ; n'afficher que ce qu'il faut
46 #echo json_encode($GLOBALS['visiteur_session']);