[ Index ] |
|
Code source de SPIP 1.8.3 |
1 <?php 2 3 /***************************************************************************\ 4 * SPIP, Systeme de publication pour l'internet * 5 * * 6 * Copyright (c) 2001-2005 * 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 // 15 // Ce fichier ne sera execute qu'une fois 16 if (defined("_ECRIRE_INC_CONFIG")) return; 17 define("_ECRIRE_INC_CONFIG", "1"); 18 19 include_ecrire ("inc_meta.php3"); 20 include_ecrire ("inc_admin.php3"); 21 include_ecrire ("inc_mail.php3"); 22 23 24 25 // 26 // Appliquer les valeurs par defaut pour les options non initialisees 27 // 28 function init_config() { 29 // langue par defaut du site = langue d'installation (cookie spip_lang) sinon francais 30 if (!$lang = $GLOBALS['spip_lang']) 31 $lang = 'fr'; 32 33 $liste_meta = array( 34 'activer_breves' => 'oui', 35 'config_precise_groupes' => 'non', 36 'mots_cles_forums' => 'non', 37 'articles_surtitre' => 'oui', 38 'articles_soustitre' => 'oui', 39 'articles_descriptif' => 'oui', 40 'articles_chapeau' => 'oui', 41 'articles_ps' => 'oui', 42 'articles_redac' => 'non', 43 'articles_mots' => 'oui', 44 'post_dates' => 'oui', 45 'articles_urlref' => 'non', 46 'creer_preview' => 'non', 47 'taille_preview' => 150, 48 'articles_modif' => 'non', 49 50 'activer_sites' => 'oui', 51 'proposer_sites' => 0, 52 'activer_syndic' => 'oui', 53 'visiter_sites' => 'non', 54 'moderation_sites' => 'non', 55 56 'forums_publics' => 'posteriori', 57 'accepter_inscriptions' => 'non', 58 'accepter_visiteurs' => 'non', 59 'prevenir_auteurs' => 'non', 60 'suivi_edito' => 'non', 61 'quoi_de_neuf' => 'non', 62 'forum_prive_admin' => 'non', 63 64 'activer_moteur' => 'oui', 65 'articles_versions' => 'non', 66 'articles_ortho' => 'non', 67 'preview' => 'non', 68 'activer_statistiques' => 'oui', 69 70 'documents_article' => 'oui', 71 'documents_rubrique' => 'non', 72 'charset' => 'iso-8859-1', 73 74 'creer_htpasswd' => 'non', 75 'creer_htaccess' => 'non', 76 77 'langue_site' => $lang, 78 79 'multi_articles' => 'non', 80 'multi_rubriques' => 'non', 81 'multi_secteurs' => 'non', 82 'gerer_trad' => 'non', 83 'langues_multilingue' => $GLOBALS['all_langs'] 84 ); 85 while (list($nom, $valeur) = each($liste_meta)) { 86 if (!lire_meta($nom)) { 87 ecrire_meta($nom, $valeur); 88 $modifs = true; 89 } 90 } 91 92 // Cas particulier : charset regle a utf-8 uniquement si nouvelle installation 93 if (lire_meta('nouvelle_install') == 'oui') { 94 //ecrire_meta('charset', 'utf-8'); 95 effacer_meta('nouvelle_install'); 96 $modifs = true; 97 } 98 99 if ($modifs) ecrire_metas(); 100 } 101 102 103 function avertissement_config() { 104 global $spip_lang_right, $spip_lang_left; 105 debut_boite_info(); 106 107 echo "<div class='verdana2' align='justify'> 108 <p align='center'><B>"._T('avis_attention')."</B></p>", 109 http_img_pack("warning.gif", addslashes(_T('avis_attention')), "width='48' height='48' align='$spip_lang_right' style='padding-$spip_lang_left: 10px;'"); 110 111 echo _T('texte_inc_config'); 112 113 echo "</div>"; 114 115 fin_boite_info(); 116 echo "<p> <p>"; 117 } 118 119 120 function bouton_radio($nom, $valeur, $titre, $actif = false, $onClick="") { 121 static $id_label = 0; 122 123 if (strlen($onClick) > 0) $onClick = " onClick=\"$onClick\""; 124 $texte = "<input type='radio' name='$nom' value='$valeur' id='label_$id_label'$onClick"; 125 if ($actif) { 126 $texte .= ' checked'; 127 $titre = '<b>'.$titre.'</b>'; 128 } 129 $texte .= "> <label for='label_$id_label'>$titre</label>\n"; 130 $id_label++; 131 return $texte; 132 } 133 134 135 function afficher_choix($nom, $valeur_actuelle, $valeurs, $sep = "<br>") { 136 while (list($valeur, $titre) = each($valeurs)) { 137 $choix[] = bouton_radio($nom, $valeur, $titre, $valeur == $valeur_actuelle); 138 } 139 echo "\n".join($sep, $choix); 140 } 141 142 143 // 144 // Gestion des modifs 145 // 146 147 function appliquer_modifs_config() { 148 global $clean_link, $connect_id_auteur; 149 global $adresse_site, $email_webmaster, $email_envoi, $post_dates, $tester_proxy, $test_proxy, $http_proxy, $activer_moteur; 150 global $forums_publics, $forums_publics_appliquer; 151 global $charset, $charset_custom, $langues_auth; 152 153 $adresse_site = ereg_replace("/$", "", $adresse_site); 154 155 // Purger les squelettes si un changement de meta les affecte 156 if ($post_dates AND ($post_dates != lire_meta("post_dates"))) 157 $purger_skel = true; 158 if ($forums_publics AND ($forums_publics != lire_meta("forums_publics"))) 159 $purger_skel = true; 160 161 // Appliquer les changements de moderation forum 162 // forums_publics_appliquer : futur, saufnon, tous 163 $accepter_forum = substr($forums_publics,0,3); 164 $requete_appliquer = ($forums_publics_appliquer == 'saufnon') ? 165 "UPDATE spip_articles SET accepter_forum='$accepter_forum' 166 WHERE accepter_forum != 'non'" : 167 (($forums_publics_appliquer == 'tous') ? 168 "UPDATE spip_articles SET accepter_forum='$accepter_forum'" : ''); 169 if ($requete_appliquer) spip_query($requete_appliquer); 170 171 if ($accepter_forum == 'abo') 172 ecrire_meta('accepter_visiteurs', 'oui'); 173 174 // Test du proxy : $tester_proxy est le bouton "submit" 175 176 // http_proxy : ne pas prendre en compte la modif si le password est '****' 177 if (preg_match(',:\*\*\*\*@,', $http_proxy)) 178 $http_proxy = lire_meta('http_proxy'); 179 180 if ($tester_proxy) { 181 if (!$test_proxy) { 182 echo _T('info_adresse_non_indiquee'); 183 exit; 184 } else { 185 include_ecrire ("inc_sites.php3"); 186 $page = recuperer_page($test_proxy, true); 187 if ($page) 188 echo "<pre>".entites_html($page)."</pre>"; 189 else 190 echo _T('info_impossible_lire_page', array('test_proxy' => $test_proxy))." <tt>".no_password_proxy_url($http_proxy)."</tt>.".aide('confhttpproxy'); 191 exit; 192 } 193 } 194 195 // Activer le moteur : dresser la liste des choses a indexer 196 if ($activer_moteur == 'oui' AND ($activer_moteur != lire_meta("activer_moteur"))) { 197 include_ecrire ('inc_index.php3'); 198 creer_liste_indexation(); 199 } 200 201 if ($langues_auth) { 202 $GLOBALS['langues_multilingue'] = join($langues_auth, ","); 203 } 204 205 if (isset($email_webmaster)) 206 ecrire_meta("email_webmaster", $email_webmaster); 207 if (isset($email_envoi)) 208 ecrire_meta("email_envoi", $email_envoi); 209 if ($charset == 'custom') $charset = $charset_custom; 210 211 $liste_meta = array( 212 'nom_site', 213 'adresse_site', 214 215 'activer_breves', 216 'config_precise_groupes', 217 'mots_cles_forums', 218 'articles_surtitre', 219 'articles_soustitre', 220 'articles_descriptif', 221 'articles_chapeau', 222 'articles_ps', 223 'articles_redac', 224 'articles_mots', 225 'post_dates', 226 'articles_urlref', 227 'creer_preview', 228 'taille_preview', 229 'articles_modif', 230 231 'activer_sites', 232 'proposer_sites', 233 'activer_syndic', 234 'visiter_sites', 235 'moderation_sites', 236 'http_proxy', 237 238 'forums_publics', 239 'accepter_inscriptions', 240 'accepter_visiteurs', 241 'prevenir_auteurs', 242 'suivi_edito', 243 'adresse_suivi', 244 'adresse_suivi_inscription', 245 'quoi_de_neuf', 246 'adresse_neuf', 247 'jours_neuf', 248 'forum_prive_admin', 249 250 'activer_moteur', 251 'articles_versions', 252 'articles_ortho', 253 'preview', 254 'activer_statistiques', 255 256 'documents_article', 257 'documents_rubrique', 258 259 'charset', 260 'multi_articles', 261 'multi_rubriques', 262 'multi_secteurs', 263 'gerer_trad', 264 'langues_multilingue' 265 ); 266 // Modification du reglage accepter_inscriptions => vider le cache 267 // (pour repercuter la modif sur le panneau de login) 268 if (isset($GLOBALS['accepter_inscriptions']) 269 AND ($GLOBALS['accepter_inscriptions'] 270 != lire_meta('accepter_inscriptions'))) { 271 include_ecrire ('inc_invalideur.php3'); 272 suivre_invalideur("1"); # tout effacer 273 } 274 275 while (list(,$i) = each($liste_meta)) 276 if (isset($GLOBALS[$i])) ecrire_meta($i, $GLOBALS[$i]); 277 278 // langue_site : la globale est mangee par inc_version 279 if ($lang = $GLOBALS['changer_langue_site']) { 280 $lang2 = $GLOBALS['spip_lang']; 281 if (changer_langue($lang)) { 282 ecrire_meta('langue_site', $lang); 283 changer_langue($lang2); 284 } 285 } 286 287 ecrire_metas(); 288 289 // modifs de secu (necessitent une authentification ftp) 290 $liste_meta = array( 291 'creer_htpasswd', 292 'creer_htaccess' 293 ); 294 while (list(,$i) = each($liste_meta)) 295 if (isset($GLOBALS[$i]) AND ($GLOBALS[$i] != lire_meta($i))) 296 $modif_secu=true; 297 if ($modif_secu) { 298 include_ecrire ('inc_admin.php3'); 299 $admin = _T('info_modification_parametres_securite'); 300 debut_admin($admin); 301 reset($liste_meta); 302 while (list(,$i) = each($liste_meta)) 303 if (isset($GLOBALS[$i])) ecrire_meta($i, $GLOBALS[$i]); 304 ecrire_metas(); 305 fin_admin($admin); 306 } 307 308 if ($purger_skel) { 309 redirige_par_entete("../spip_cache.php3?purger_squelettes=oui&id_auteur=$connect_id_auteur&hash=" . 310 calculer_action_auteur("purger_squelettes") . 311 "&redirect=". _DIR_RESTREINT_ABS . 312 urlencode($clean_link->getUrl())); 313 } 314 } 315 316 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Thu Feb 22 22:27:47 2007 | par Balluche grâce à PHPXref 0.7 |