Commit | Line | Data |
---|---|---|
c495c100 P |
1 | <?php |
2 | ||
3 | /***************************************************************************\ | |
4 | * SPIP, Systeme de publication pour l'internet * | |
5 | * * | |
6 | * Copyright (c) 2001-2007 * | |
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 | // Placer definition des couleurs avant inc_version, | |
15 | // sinon impossible de les redefinir dans mes_options | |
16 | $GLOBALS['couleurs_spip'] = array( | |
17 | ||
18 | // Vert | |
19 | 1 => array ( | |
20 | "couleur_foncee" => "#9DBA00", | |
21 | "couleur_claire" => "#C5E41C", | |
22 | "couleur_lien" => "#657701", | |
23 | "couleur_lien_off" => "#A6C113" | |
24 | ), | |
25 | // Violet clair | |
26 | 2 => array ( | |
27 | "couleur_foncee" => "#eb68b3", | |
28 | "couleur_claire" => "#ffa9e6", | |
29 | "couleur_lien" => "#8F004D", | |
30 | "couleur_lien_off" => "#BE6B97" | |
31 | ), | |
32 | // Orange | |
33 | 3 => array ( | |
34 | "couleur_foncee" => "#fa9a00", | |
35 | "couleur_claire" => "#ffc000", | |
36 | "couleur_lien" => "#FF5B00", | |
37 | "couleur_lien_off" => "#B49280" | |
38 | ), | |
39 | // Saumon | |
40 | 4 => array ( | |
41 | "couleur_foncee" => "#CDA261", | |
42 | "couleur_claire" => "#FFDDAA", | |
43 | "couleur_lien" => "#AA6A09", | |
44 | "couleur_lien_off" => "#B79562" | |
45 | ), | |
46 | // Bleu pastel | |
47 | 5 => array ( | |
48 | "couleur_foncee" => "#5da7c5", | |
49 | "couleur_claire" => "#97d2e1", | |
50 | "couleur_lien" => "#116587", | |
51 | "couleur_lien_off" => "#81B7CD" | |
52 | ), | |
53 | // Gris | |
54 | 6 => array ( | |
55 | "couleur_foncee" => "#85909A", | |
56 | "couleur_claire" => "#C0CAD4", | |
57 | "couleur_lien" => "#3B5063", | |
58 | "couleur_lien_off" => "#6D8499" | |
59 | ), | |
60 | ); | |
61 | ||
62 | ||
63 | if (!defined('_ECRIRE_INC_VERSION')) { | |
64 | include 'inc_version.php'; | |
65 | } | |
66 | ||
67 | include_spip('inc/cookie'); | |
68 | ||
69 | // | |
70 | // Determiner l'action demandee | |
71 | // | |
72 | ||
73 | $exec = _request('exec'); | |
74 | ||
75 | // | |
76 | // Authentification, redefinissable | |
77 | // | |
78 | ||
79 | if (autoriser_sans_cookie($exec)) { | |
80 | if (!isset($reinstall)) $reinstall = 'non'; | |
81 | $var_auth = true; | |
82 | } else { | |
83 | $auth = charger_fonction('auth', 'inc'); | |
84 | $var_auth = $auth(); | |
85 | if ($var_auth!=="") { | |
86 | if ($var_auth===-1) exit(); | |
87 | include_spip('inc/headers'); | |
88 | redirige_par_entete(generer_url_public('login', | |
89 | "url=" . | |
90 | rawurlencode(str_replace('/./', '/', | |
91 | (_DIR_RESTREINT ? "" : _DIR_RESTREINT_ABS) | |
92 | . str_replace('&', '&', self()))) | |
93 | // $var_auth indique si c'est le statut qui est insuffisant | |
94 | . ((!isset($_GET['bonjour'])) ? '' | |
95 | : (($var_auth == '6forum') ? | |
96 | '&var_echec_visiteur=true' | |
97 | : '&var_echec_cookie=true')), | |
98 | true)); | |
99 | } | |
100 | } | |
101 | ||
102 | // | |
103 | // Preferences de presentation | |
104 | // | |
105 | ||
106 | ||
107 | if (!isset($GLOBALS['auteur_session']['prefs'])) | |
108 | $GLOBALS['prefs'] = array('couleur' =>1, 'display'=>0, | |
109 | 'options'=> $var_auth ? 'avancees' : 'basiques'); | |
110 | else $GLOBALS['prefs'] = unserialize($GLOBALS['auteur_session']['prefs']); | |
111 | ||
112 | $prefs_mod = false; | |
113 | ||
114 | if (isset($_GET['set_couleur'])) { | |
115 | $GLOBALS['prefs']['couleur'] = floor($_GET['set_couleur']); | |
116 | $prefs_mod = true; | |
117 | } | |
118 | if (isset($_GET['set_disp'])) { | |
119 | $GLOBALS['prefs']['display'] = floor($_GET['set_disp']); | |
120 | $prefs_mod = true; | |
121 | } | |
122 | if (isset($_GET['set_options']) AND ($_GET['set_options'] == 'avancees' OR $_GET['set_options'] == 'basiques')) { | |
123 | $GLOBALS['prefs']['options'] = $_GET['set_options']; | |
124 | $prefs_mod = true; | |
125 | } | |
126 | if ($prefs_mod AND !$var_auth) | |
127 | spip_query("UPDATE spip_auteurs SET prefs = " . _q(serialize($GLOBALS['prefs'])) . " WHERE id_auteur = " .intval($GLOBALS['auteur_session']['id_auteur'])); | |
128 | ||
129 | if (isset($_GET['set_ecran'])) { | |
130 | // Poser un cookie, | |
131 | // car ce reglage depend plus du navigateur que de l'utilisateur | |
132 | $GLOBALS['spip_ecran'] = $_GET['set_ecran']; | |
133 | spip_setcookie('spip_ecran', $GLOBALS['spip_ecran'], time() + 365 * 24 * 3600); | |
134 | } else $GLOBALS['spip_ecran'] = isset($_COOKIE['spip_ecran']) ? $_COOKIE['spip_ecran'] : "etroit"; | |
135 | ||
136 | ||
137 | // deux globales (compatibilite ascendante) | |
138 | $GLOBALS['options'] = $GLOBALS['prefs']['options']; | |
139 | $GLOBALS['spip_display'] = $GLOBALS['prefs']['display']; | |
140 | $choix_couleur = $GLOBALS['prefs']['couleur']; | |
141 | if (!isset($GLOBALS['couleurs_spip'][$choix_couleur])) $choix_couleur = 1; | |
142 | ||
143 | $GLOBALS['couleur_foncee'] = $GLOBALS['couleurs_spip'][$choix_couleur]['couleur_foncee']; | |
144 | $GLOBALS['couleur_claire'] = $GLOBALS['couleurs_spip'][$choix_couleur]['couleur_claire']; | |
145 | ||
146 | // charger l'affichage minimal et initialiser a la langue par defaut | |
147 | include_spip('inc/minipres'); | |
148 | ||
149 | // si la langue est specifiee par cookie alors ... | |
150 | if (isset($GLOBALS['_COOKIE']['spip_lang_ecrire'])) { | |
151 | ||
152 | $spip_lang_ecrire = $GLOBALS['_COOKIE']['spip_lang_ecrire']; | |
153 | // si pas authentifie, changer juste pour cette execution | |
154 | if ($var_auth) | |
155 | changer_langue($GLOBALS['_COOKIE']['spip_lang_ecrire']); | |
156 | // si authentifie, changer definitivement si ce n'est fait | |
157 | else { if (($spip_lang_ecrire <> $GLOBALS['auteur_session']['lang']) | |
158 | AND changer_langue($spip_lang_ecrire)) { | |
159 | spip_query("UPDATE spip_auteurs SET lang = " . _q($spip_lang_ecrire) . " WHERE id_auteur = " . intval($GLOBALS['auteur_session']['id_auteur'])); | |
160 | $GLOBALS['auteur_session']['lang'] = $var_lang_ecrire; | |
161 | $session = charger_fonction('session', 'inc'); | |
162 | $session($GLOBALS['auteur_session']); | |
163 | } | |
164 | } | |
165 | } | |
166 | ||
167 | utiliser_langue_visiteur(); | |
168 | ||
169 | define('_TRANCHES', 10); | |
170 | ||
171 | // | |
172 | // Gestion d'une page normale de l'espace prive | |
173 | // | |
174 | ||
175 | // Controle de la version, sauf si on est deja en train de s'en occuper | |
176 | if (!isset($reinstall) | |
177 | AND (!isset($var_ajaxcharset)) | |
178 | AND ($GLOBALS['spip_version'] != (str_replace(',','.',$GLOBALS['meta']['version_installee'])))) | |
179 | $exec = 'demande_mise_a_jour'; | |
180 | ||
181 | // Si interruption d'une longue restauration | |
182 | // detourner le script demande pour qu'il reprenne le boulot | |
183 | // mais virer les Ajax pour eviter plusieurs restaurations en parallele | |
184 | elseif ($_COOKIE['spip_admin'] | |
185 | AND isset($GLOBALS['meta']["debut_restauration"])) { | |
186 | if (isset($var_ajaxcharset)) exit; | |
187 | $exec = 'import_all'; | |
188 | } | |
189 | ||
190 | // Verification des plugins | |
191 | // (ne pas interrompre une restauration ou un upgrade) | |
192 | elseif ($exec!='upgrade' | |
193 | AND $GLOBALS['auteur_session']['statut']=='0minirezo' | |
194 | AND !_DIR_RESTREINT | |
195 | AND lire_fichier(_DIR_TMP.'verifier_plugins.txt',$l) | |
196 | AND $l = @unserialize($l)) { | |
197 | foreach ($l as $fichier) { | |
198 | if (!@is_readable($fichier)) { | |
199 | include_spip('inc/plugin'); | |
200 | verifie_include_plugins(); | |
201 | break; // sortir de la boucle, on a fait un verif | |
202 | } | |
203 | } | |
204 | } | |
205 | ||
206 | // Passer la main aux outils XML a la demande. | |
207 | if (isset($GLOBALS['transformer_xml']) | |
208 | AND $GLOBALS['auteur_session']['statut']=='0minirezo') { | |
209 | set_request('var_url', $exec); | |
210 | $exec = $GLOBALS['transformer_xml']; | |
211 | } | |
212 | ||
213 | // si nom pas plausible, prendre le script par defaut | |
214 | if (!preg_match(',^[a-z_][0-9a-z_]*$,i', $exec)) $exec = "accueil"; | |
215 | ||
216 | // Trouver la fonction eventuellement surchagee | |
217 | ||
218 | $var_f = charger_fonction($exec); | |
219 | ||
220 | // Feu ! | |
221 | ||
222 | $var_f(); | |
223 | ||
224 | ?> |