Rev 609 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/***************************************************************************\* SPIP, Systeme de publication pour l'internet ** ** Copyright (c) 2001-2005 ** Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James ** ** Ce programme est un logiciel libre distribue sous licence GNU/GPL. ** Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *\***************************************************************************///// Ce fichier ne sera execute qu'une foisif (defined("_ECRIRE_INC_CONFIG")) return;define("_ECRIRE_INC_CONFIG", "1");include_ecrire ("inc_meta.php3");include_ecrire ("inc_admin.php3");include_ecrire ("inc_mail.php3");//// Appliquer les valeurs par defaut pour les options non initialisees//function init_config() {// langue par defaut du site = langue d'installation (cookie spip_lang) sinon francaisif (!$lang = $GLOBALS['spip_lang'])$lang = 'fr';$liste_meta = array('activer_breves' => 'oui','config_precise_groupes' => 'non','mots_cles_forums' => 'non','articles_surtitre' => 'oui','articles_soustitre' => 'oui','articles_descriptif' => 'oui','articles_chapeau' => 'oui','articles_ps' => 'oui','articles_redac' => 'non','articles_mots' => 'oui','post_dates' => 'oui','articles_urlref' => 'non','creer_preview' => 'non','taille_preview' => 150,'articles_modif' => 'non','activer_sites' => 'oui','proposer_sites' => 0,'activer_syndic' => 'oui','visiter_sites' => 'non','moderation_sites' => 'non','forums_publics' => 'posteriori','accepter_inscriptions' => 'non','accepter_visiteurs' => 'non','prevenir_auteurs' => 'non','suivi_edito' => 'non','quoi_de_neuf' => 'non','forum_prive_admin' => 'non','activer_moteur' => 'oui','articles_versions' => 'non','articles_ortho' => 'non','preview' => 'non','activer_statistiques' => 'oui','documents_article' => 'oui','documents_rubrique' => 'non','charset' => 'iso-8859-1','creer_htpasswd' => 'non','creer_htaccess' => 'non','langue_site' => $lang,'multi_articles' => 'non','multi_rubriques' => 'non','multi_secteurs' => 'non','gerer_trad' => 'non','langues_multilingue' => $GLOBALS['all_langs']);while (list($nom, $valeur) = each($liste_meta)) {if (!lire_meta($nom)) {ecrire_meta($nom, $valeur);$modifs = true;}}// Cas particulier : charset regle a utf-8 uniquement si nouvelle installationif (lire_meta('nouvelle_install') == 'oui') {//ecrire_meta('charset', 'utf-8');effacer_meta('nouvelle_install');$modifs = true;}if ($modifs) ecrire_metas();}function avertissement_config() {global $spip_lang_right, $spip_lang_left;debut_boite_info();echo "<div class='verdana2' align='justify'><p align='center'><B>"._T('avis_attention')."</B></p>",http_img_pack("warning.gif", addslashes(_T('avis_attention')), "width='48' height='48' align='$spip_lang_right' style='padding-$spip_lang_left: 10px;'");echo _T('texte_inc_config');echo "</div>";fin_boite_info();echo "<p> <p>";}function bouton_radio($nom, $valeur, $titre, $actif = false, $onClick="") {static $id_label = 0;if (strlen($onClick) > 0) $onClick = " onClick=\"$onClick\"";$texte = "<input type='radio' name='$nom' value='$valeur' id='label_$id_label'$onClick";if ($actif) {$texte .= ' checked';$titre = '<b>'.$titre.'</b>';}$texte .= "> <label for='label_$id_label'>$titre</label>\n";$id_label++;return $texte;}function afficher_choix($nom, $valeur_actuelle, $valeurs, $sep = "<br>") {while (list($valeur, $titre) = each($valeurs)) {$choix[] = bouton_radio($nom, $valeur, $titre, $valeur == $valeur_actuelle);}echo "\n".join($sep, $choix);}//// Gestion des modifs//function appliquer_modifs_config() {global $clean_link, $connect_id_auteur;global $adresse_site, $email_webmaster, $email_envoi, $post_dates, $tester_proxy, $test_proxy, $http_proxy, $activer_moteur;global $forums_publics, $forums_publics_appliquer;global $charset, $charset_custom, $langues_auth;$adresse_site = ereg_replace("/$", "", $adresse_site);// Purger les squelettes si un changement de meta les affecteif ($post_dates AND ($post_dates != lire_meta("post_dates")))$purger_skel = true;if ($forums_publics AND ($forums_publics != lire_meta("forums_publics")))$purger_skel = true;// Appliquer les changements de moderation forum// forums_publics_appliquer : futur, saufnon, tous$accepter_forum = substr($forums_publics,0,3);$requete_appliquer = ($forums_publics_appliquer == 'saufnon') ?"UPDATE spip_articles SET accepter_forum='$accepter_forum'WHERE accepter_forum != 'non'" :(($forums_publics_appliquer == 'tous') ?"UPDATE spip_articles SET accepter_forum='$accepter_forum'" : '');if ($requete_appliquer) spip_query($requete_appliquer);if ($accepter_forum == 'abo')ecrire_meta('accepter_visiteurs', 'oui');// Test du proxy : $tester_proxy est le bouton "submit"// http_proxy : ne pas prendre en compte la modif si le password est '****'if (preg_match(',:\*\*\*\*@,', $http_proxy))$http_proxy = lire_meta('http_proxy');if ($tester_proxy) {if (!$test_proxy) {echo _T('info_adresse_non_indiquee');exit;} else {include_ecrire("inc_sites.php3");$page = recuperer_page($test_proxy, true);if ($page)echo "<pre>".entites_html($page)."</pre>";elseecho _T('info_impossible_lire_page', array('test_proxy' => $test_proxy))." <tt>".no_password_proxy_url($http_proxy)."</tt>.".aide('confhttpproxy');exit;}}// Activer le moteur : dresser la liste des choses a indexerif ($activer_moteur == 'oui' AND ($activer_moteur != lire_meta("activer_moteur"))) {include_ecrire('inc_index.php3');creer_liste_indexation();}if ($langues_auth) {$GLOBALS['langues_multilingue'] = join($langues_auth, ",");}if (isset($email_webmaster))ecrire_meta("email_webmaster", $email_webmaster);if (isset($email_envoi))ecrire_meta("email_envoi", $email_envoi);if ($charset == 'custom') $charset = $charset_custom;$liste_meta = array('nom_site','adresse_site','activer_breves','config_precise_groupes','mots_cles_forums','articles_surtitre','articles_soustitre','articles_descriptif','articles_chapeau','articles_ps','articles_redac','articles_mots','post_dates','articles_urlref','creer_preview','taille_preview','articles_modif','activer_sites','proposer_sites','activer_syndic','visiter_sites','moderation_sites','http_proxy','forums_publics','accepter_inscriptions','accepter_visiteurs','prevenir_auteurs','suivi_edito','adresse_suivi','adresse_suivi_inscription','quoi_de_neuf','adresse_neuf','jours_neuf','forum_prive_admin','activer_moteur','articles_versions','articles_ortho','preview','activer_statistiques','documents_article','documents_rubrique','charset','multi_articles','multi_rubriques','multi_secteurs','gerer_trad','langues_multilingue');// Modification du reglage accepter_inscriptions => vider le cache// (pour repercuter la modif sur le panneau de login)if (isset($GLOBALS['accepter_inscriptions'])AND ($GLOBALS['accepter_inscriptions']!= lire_meta('accepter_inscriptions'))) {include_ecrire('inc_invalideur.php3');suivre_invalideur("1"); # tout effacer}while (list(,$i) = each($liste_meta))if (isset($GLOBALS[$i])) ecrire_meta($i, $GLOBALS[$i]);// langue_site : la globale est mangee par inc_versionif ($lang = $GLOBALS['changer_langue_site']) {$lang2 = $GLOBALS['spip_lang'];if (changer_langue($lang)) {ecrire_meta('langue_site', $lang);changer_langue($lang2);}}ecrire_metas();// modifs de secu (necessitent une authentification ftp)$liste_meta = array('creer_htpasswd','creer_htaccess');while (list(,$i) = each($liste_meta))if (isset($GLOBALS[$i]) AND ($GLOBALS[$i] != lire_meta($i)))$modif_secu=true;if ($modif_secu) {include_ecrire('inc_admin.php3');$admin = _T('info_modification_parametres_securite');debut_admin($admin);reset($liste_meta);while (list(,$i) = each($liste_meta))if (isset($GLOBALS[$i])) ecrire_meta($i, $GLOBALS[$i]);ecrire_metas();fin_admin($admin);}if ($purger_skel) {redirige_par_entete("../spip_cache.php3?purger_squelettes=oui&id_auteur=$connect_id_auteur&hash=" .calculer_action_auteur("purger_squelettes") ."&redirect=". _DIR_RESTREINT_ABS .urlencode($clean_link->getUrl()));}}?>