--- /dev/null
+<?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;
+
+ }
+}
+?>