[SPIP] +2.1.12
[velocampus/web/www.git] / www / ecrire / action / preferer.php
diff --git a/www/ecrire/action/preferer.php b/www/ecrire/action/preferer.php
new file mode 100644 (file)
index 0000000..c976ccc
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2011                                                *
+ *  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;
+
+
+// http://doc.spip.org/@action_preferer_dist
+function action_preferer_dist() {
+       //
+       // Preferences de presentation de l'espace prive
+       //
+       if ($_GET['arg'] !== 'display:4') {
+               $securiser_action = charger_fonction('securiser_action', 'inc');
+               $arg = $securiser_action();
+       } else $arg = $_GET['arg'];
+
+       if (!preg_match(",^(.+):(.+)$,", $arg, $r))
+               spip_log("action_preferer_dist: $arg pas compris");
+       else {
+       $prefs_mod = false;
+
+       list(, $op, $val) = $r;
+       if ($op == 'couleur') {
+               $GLOBALS['visiteur_session']['prefs']['couleur'] = $val;
+               $prefs_mod = true;
+       }
+       elseif ($op == 'display') {
+               $GLOBALS['visiteur_session']['prefs']['display'] = $val;
+               $prefs_mod = true;
+       }
+
+       if ($prefs_mod AND intval($GLOBALS['visiteur_session']['id_auteur']))
+               sql_updateq('spip_auteurs', array('prefs' => serialize($GLOBALS['visiteur_session']['prefs'])), "id_auteur=" .intval($GLOBALS['visiteur_session']['id_auteur']));
+       
+       if ($op == 'spip_ecran') {
+               // Poser un cookie,
+               // car ce reglage depend plus du navigateur que de l'utilisateur
+               $GLOBALS['spip_ecran'] = $val;
+               include_spip('inc/cookie');
+               spip_setcookie('spip_ecran', $val, time() + 365 * 24 * 3600);
+       }
+
+       // Si modif des couleurs en ajax, redirect inutile on a change de CSS
+       if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') exit;
+
+       }
+}
+?>