squellete2
[aidenligne_francais_universite.git] / ecrire / index.php
CommitLineData
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
191 => array (
20 "couleur_foncee" => "#9DBA00",
21 "couleur_claire" => "#C5E41C",
22 "couleur_lien" => "#657701",
23 "couleur_lien_off" => "#A6C113"
24 ),
25// Violet clair
262 => array (
27 "couleur_foncee" => "#eb68b3",
28 "couleur_claire" => "#ffa9e6",
29 "couleur_lien" => "#8F004D",
30 "couleur_lien_off" => "#BE6B97"
31 ),
32// Orange
333 => array (
34 "couleur_foncee" => "#fa9a00",
35 "couleur_claire" => "#ffc000",
36 "couleur_lien" => "#FF5B00",
37 "couleur_lien_off" => "#B49280"
38 ),
39// Saumon
404 => array (
41 "couleur_foncee" => "#CDA261",
42 "couleur_claire" => "#FFDDAA",
43 "couleur_lien" => "#AA6A09",
44 "couleur_lien_off" => "#B79562"
45 ),
46// Bleu pastel
475 => array (
48 "couleur_foncee" => "#5da7c5",
49 "couleur_claire" => "#97d2e1",
50 "couleur_lien" => "#116587",
51 "couleur_lien_off" => "#81B7CD"
52 ),
53// Gris
546 => array (
55 "couleur_foncee" => "#85909A",
56 "couleur_claire" => "#C0CAD4",
57 "couleur_lien" => "#3B5063",
58 "couleur_lien_off" => "#6D8499"
59 ),
60);
61
62
63if (!defined('_ECRIRE_INC_VERSION')) {
64 include 'inc_version.php';
65}
66
67include_spip('inc/cookie');
68
69//
70// Determiner l'action demandee
71//
72
73$exec = _request('exec');
74
75//
76// Authentification, redefinissable
77//
78
79if (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('&amp;', '&', 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
107if (!isset($GLOBALS['auteur_session']['prefs']))
108 $GLOBALS['prefs'] = array('couleur' =>1, 'display'=>0,
109 'options'=> $var_auth ? 'avancees' : 'basiques');
110else $GLOBALS['prefs'] = unserialize($GLOBALS['auteur_session']['prefs']);
111
112$prefs_mod = false;
113
114if (isset($_GET['set_couleur'])) {
115 $GLOBALS['prefs']['couleur'] = floor($_GET['set_couleur']);
116 $prefs_mod = true;
117}
118if (isset($_GET['set_disp'])) {
119 $GLOBALS['prefs']['display'] = floor($_GET['set_disp']);
120 $prefs_mod = true;
121}
122if (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}
126if ($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
129if (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'];
141if (!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
147include_spip('inc/minipres');
148
149// si la langue est specifiee par cookie alors ...
150if (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
167utiliser_langue_visiteur();
168
169define('_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
176if (!isset($reinstall)
177AND (!isset($var_ajaxcharset))
178AND ($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
184elseif ($_COOKIE['spip_admin']
185AND 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)
192elseif ($exec!='upgrade'
193AND $GLOBALS['auteur_session']['statut']=='0minirezo'
194AND !_DIR_RESTREINT
195AND lire_fichier(_DIR_TMP.'verifier_plugins.txt',$l)
196AND $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.
207if (isset($GLOBALS['transformer_xml'])
208AND $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
214if (!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?>