Skip to content
Extraits de code Groupes Projets
Valider e76d2a55 rédigé par Fil's avatar Fil
Parcourir les fichiers

Voilà : les préférences de visualisation ne sont plus en cookie mais en
base, donc transportées d'un navigateur à l'autre... Avantage, on peut faire
comme Perline et passer son interface d'une site en rouge, l'autre en
marron, etc, et que ça tienne le choc du nomadisme.

J'ai essayé de faire prendre en compte les préférences cookies si elles
existaient (pas certain que le code soit bon) ; mais j'ai la flemme de
supprimer les cookies en question ;)

Restriction : serialize() dans un tinytext, on risque de remplir les 255
caractères assez vite si on ajoute d'uatres types de préfs...
parent 66e36595
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -25,45 +25,30 @@ if (!file_exists("inc_meta_cache.php3")) ecrire_metas();
//
// Cookies de presentation
// Preferences de presentation
//
$options = $HTTP_COOKIE_VARS['spip_options'];
$spip_display = $HTTP_COOKIE_VARS['spip_display'];
if (!$HTTP_COOKIE_VARS['spip_display']) $spip_display = 2;
if ($set_survol) {
setcookie('spip_survol', $set_survol, time()+(3600*24*365));
$spip_survol=$set_survol;
}
if ($set_couleur) {
$couleur= floor($set_couleur);
setcookie('spip_couleur', $couleur, time()+(3600*24*365));
$spip_couleur=$couleur;
$prefs['couleur'] = floor($set_couleur);
$prefs_mod = true;
}
if ($set_disp) {
$display= floor($set_disp);
setcookie('spip_display', $display, time()+(3600*24*365));
$spip_display=$display;
$prefs['display'] = floor($set_disp);
$prefs_mod = true;
}
if ($set_options == 'avancees') {
setcookie('spip_options', 'avancees', time()+(3600*24*365));
$options = 'avancees';
if ($set_options == 'avancees' OR $set_options == 'basiques') {
$prefs['options'] = $set_options;
$prefs_mod = true;
}
if ($set_options == 'basiques') {
setcookie('spip_options', 'basiques', time()+(3600*24*365));
$options = 'basiques';
if ($prefs_mod) {
spip_query ("UPDATE spip_auteurs SET prefs = '".addslashes(serialize($prefs))."' WHERE id_auteur = $connect_id_auteur");
}
// deux globales (compatibilite ascendante)
$options = $prefs['options'];
$spip_display = $prefs['display'];
if (!isset($spip_couleur)) $spip_couleur = 6;
switch ($spip_couleur) {
switch ($prefs['couleur']) {
case 1:
/// Vert
$couleur_foncee="#02531B";
......
......@@ -47,7 +47,7 @@ function auth() {
global $connect_activer_imessage, $connect_activer_messagerie;
global $connect_statut, $connect_toutes_rubriques, $connect_id_rubrique;
global $auteur_session;
global $auteur_session, $prefs;
//
// Si pas MySQL, fini
......@@ -165,6 +165,18 @@ function auth() {
$connect_activer_imessage = $GLOBALS['perso_activer_imessage'];
}
// regler les preferences de l'auteur
$prefs = unserialize($row['prefs']);
if (! isset($prefs['display'])) { // recuperer les cookies ou creer defaut
if ($GLOBALS['set_disp'] = $GLOBALS['HTTP_COOKIE_VARS']['spip_display']) {}
else $GLOBALS['set_disp'] = 2;
if ($GLOBALS['set_couleur'] = $GLOBALS['HTTP_COOKIE_VARS']['spip_couleur']) {}
else $GLOBALS['set_couleur'] = 6;
if ($GLOBALS['set_options'] = $GLOBALS['HTTP_COOKIE_VARS']['spip_options']) {}
else $GLOBALS['set_options'] = 'basiques';
}
// Verifier si pass ok
if ($connect_pass == $auth_mdpass) $auth_pass_ok = true;
......
......@@ -59,6 +59,7 @@ function creer_base() {
messagerie VARCHAR(3) NOT NULL,
alea_actuel tinytext NOT NULL,
alea_futur tinytext NOT NULL,
prefs tinytext NOT NULL,
PRIMARY KEY (id_auteur),
KEY login (login),
KEY statut (statut))";
......@@ -895,6 +896,11 @@ function maj_base() {
spip_query("ALTER TABLE spip_visites_referers CHANGE date date DATE NOT NULL");
}
if ($version_installee < 1.442) {
$query = "ALTER TABLE spip_auteurs ADD prefs TINYTEXT NOT NULL";
spip_query($query);
}
//
// Mettre a jour le numero de version installee
//
......
......@@ -5,9 +5,6 @@
if (defined("_ECRIRE_INC_VERSION")) return;
define("_ECRIRE_INC_VERSION", "1");
// Pas de warnings idiots
error_reporting(E_ALL ^ E_NOTICE);
//
// Version courante de SPIP
// Stockee sous forme de nombre decimal afin de faciliter les comparaisons
......@@ -15,7 +12,7 @@ error_reporting(E_ALL ^ E_NOTICE);
//
// version de la base
$spip_version = 1.441;
$spip_version = 1.442;
// version de spip
// (mettre a jour a la main et conserver la mention "CVS")
......@@ -25,6 +22,9 @@ $spip_version_affichee = "1.4d4 CVS";
if (ereg('Name: v(.*) ','$Name$', $regs)) $spip_version_affichee = $regs[1];
// Pas de warnings idiots
error_reporting(E_ALL ^ E_NOTICE);
//
// Parametrage du prefixe des tables dans la base de donnees
// (a modifier pour avoir plusieurs sites SPIP dans une seule base)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter