[SPIP] +2.1.12
[velocampus/web/www.git] / www / ecrire / action / preferer.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2011 *
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 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15
16 // http://doc.spip.org/@action_preferer_dist
17 function action_preferer_dist() {
18 //
19 // Preferences de presentation de l'espace prive
20 //
21 if ($_GET['arg'] !== 'display:4') {
22 $securiser_action = charger_fonction('securiser_action', 'inc');
23 $arg = $securiser_action();
24 } else $arg = $_GET['arg'];
25
26 if (!preg_match(",^(.+):(.+)$,", $arg, $r))
27 spip_log("action_preferer_dist: $arg pas compris");
28 else {
29 $prefs_mod = false;
30
31 list(, $op, $val) = $r;
32 if ($op == 'couleur') {
33 $GLOBALS['visiteur_session']['prefs']['couleur'] = $val;
34 $prefs_mod = true;
35 }
36 elseif ($op == 'display') {
37 $GLOBALS['visiteur_session']['prefs']['display'] = $val;
38 $prefs_mod = true;
39 }
40
41 if ($prefs_mod AND intval($GLOBALS['visiteur_session']['id_auteur']))
42 sql_updateq('spip_auteurs', array('prefs' => serialize($GLOBALS['visiteur_session']['prefs'])), "id_auteur=" .intval($GLOBALS['visiteur_session']['id_auteur']));
43
44 if ($op == 'spip_ecran') {
45 // Poser un cookie,
46 // car ce reglage depend plus du navigateur que de l'utilisateur
47 $GLOBALS['spip_ecran'] = $val;
48 include_spip('inc/cookie');
49 spip_setcookie('spip_ecran', $val, time() + 365 * 24 * 3600);
50 }
51
52 // Si modif des couleurs en ajax, redirect inutile on a change de CSS
53 if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') exit;
54
55 }
56 }
57 ?>