[SPIP][PLUGINS] v3.0-->v3.2
[lhc/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-2017 *
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 /**
14 * Gestion (obsolète) des préférences d'un auteur
15 *
16 * Utilisé uniquement par ecrire/oo/index.php
17 * Pour le reste, cela se passe par formulaires/configurer_preferences.
18 *
19 * @see prive/formulaires/configurer_preferences.php
20 *
21 * @package SPIP\Core\Auteurs\Preferences
22 **/
23
24 if (!defined('_ECRIRE_INC_VERSION')) {
25 return;
26 }
27
28
29 /**
30 * Action de sauvegarde des préférences d'un auteur
31 *
32 * Définit une préférence d'un auteur pour l'affichage dans l'espace privé.
33 *
34 * @deprecated
35 * @see prive/formulaires/configurer_preferences.php
36 **/
37 function action_preferer_dist() {
38 //
39 // Preferences de presentation de l'espace prive
40 //
41 if ($_GET['arg'] !== 'display:4') {
42 $securiser_action = charger_fonction('securiser_action', 'inc');
43 $arg = $securiser_action();
44 } else {
45 $arg = $_GET['arg'];
46 }
47
48 if (!preg_match(",^(.+):(.*)$,", $arg, $r)) {
49 spip_log("action_preferer_dist: $arg pas compris");
50 } else {
51 $prefs_mod = false;
52
53 list(, $op, $val) = $r;
54 if ($op == 'couleur') {
55 $GLOBALS['visiteur_session']['prefs']['couleur'] = $val;
56 $prefs_mod = true;
57 } elseif ($op == 'display') {
58 $GLOBALS['visiteur_session']['prefs']['display'] = $val;
59 $prefs_mod = true;
60 } elseif ($op == 'display_outils') {
61 $GLOBALS['visiteur_session']['prefs']['display_outils'] = $val;
62 $prefs_mod = true;
63 }
64
65 if ($prefs_mod and intval($GLOBALS['visiteur_session']['id_auteur'])) {
66 sql_updateq('spip_auteurs', array('prefs' => serialize($GLOBALS['visiteur_session']['prefs'])),
67 "id_auteur=" . intval($GLOBALS['visiteur_session']['id_auteur']));
68 }
69
70 if ($op == 'spip_ecran') {
71 // Poser un cookie,
72 // car ce reglage depend plus du navigateur que de l'utilisateur
73 $GLOBALS['spip_ecran'] = $val;
74 include_spip('inc/cookie');
75 spip_setcookie('spip_ecran', $val, time() + 365 * 24 * 3600);
76 }
77
78 // Si modif des couleurs en ajax, redirect inutile on a change de CSS
79 if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
80 exit;
81 }
82
83 }
84 }