[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / ecrire / action / session.php
index a5f6150..d4d721d 100644 (file)
@@ -3,27 +3,41 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2016                                                *
+ *  Copyright (c) 2001-2017                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-if (!defined('_ECRIRE_INC_VERSION')) return;
+/**
+ * Gestion d'une action ajoutant une variable dans une session SPIP
+ *
+ * @package SPIP\Core\Sessions
+ **/
 
-// Pour poser une variable de session
-// poster sur cette action en indiquant var/val
-// reponse : json contenant toutes les variables publiques de la session
-// http://doc.spip.org/@action_session_dist
-function action_session_dist()
-{
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
+
+/**
+ * Action pour poser une variable de session SPIP
+ *
+ * Poster sur cette action en indiquant les clés `var` et `val`
+ *
+ * Utilisé par exemple par le script javascript 'autosave' pour sauvegarder
+ * les formulaires en cours d'édition
+ *
+ * @todo
+ *   Envoyer en réponse : json contenant toutes les variables publiques de la session
+ **/
+function action_session_dist() {
        if ($var = _request('var')
-       AND preg_match(',^[a-z_0-9-]+$,i', $var)
+               and preg_match(',^[a-z_0-9-]+$,i', $var)
        ) {
-               if ($_SERVER['REQUEST_METHOD'] == 'POST'){
+               if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                        include_spip('inc/session');
-                       session_set('session_'.$var, $val=_request('val'));
+                       session_set('session_' . $var, $val = _request('val'));
                        #spip_log("autosave:$var:$val",'autosave');
                }
        }
@@ -31,6 +45,3 @@ function action_session_dist()
        # TODO: mode lecture de session ; n'afficher que ce qu'il faut
        #echo json_encode($GLOBALS['visiteur_session']);
 }
-
-
-?>