本文整理汇总了PHP中utiliser_langue_visiteur函数的典型用法代码示例。如果您正苦于以下问题:PHP utiliser_langue_visiteur函数的具体用法?PHP utiliser_langue_visiteur怎么用?PHP utiliser_langue_visiteur使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了utiliser_langue_visiteur函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: action_sauvegarder_dist
/**
* Sauvegarder par morceaux
*
* @param string $arg
*/
function action_sauvegarder_dist($arg = null)
{
if (!$arg) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
}
$status_file = $arg;
$redirect = parametre_url(generer_action_auteur('sauvegarder', $status_file), "step", intval(_request('step') + 1), '&');
// lancer export qui va se relancer jusqu'a sa fin
$sauvegarder = charger_fonction('sauvegarder', 'inc');
utiliser_langue_visiteur();
// quand on sort de $export avec true c'est qu'on a fini
if ($sauvegarder($status_file, $redirect)) {
dump_end($status_file, 'sauvegarder');
include_spip('inc/headers');
echo redirige_formulaire(generer_url_ecrire("sauvegarder", 'status=' . $status_file, '', true, true));
}
// forcer l'envoi du buffer par tous les moyens !
echo str_repeat("<br />\r\n", 256);
while (@ob_get_level()) {
@ob_flush();
@flush();
@ob_end_flush();
}
}
示例2: action_restaurer_dist
/**
* Sauvegarder par morceaux
*
* @param string $arg
*/
function action_restaurer_dist($arg = null)
{
if (!$arg) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
}
$status_file = $arg;
define('_DUMP_STATUS_FILE', $status_file);
$status_file = _DIR_TMP . basename($status_file) . ".txt";
if (!lire_fichier($status_file, $status) or !($status = unserialize($status))) {
include_spip('inc/headers');
echo redirige_formulaire(generer_url_ecrire("restaurer", 'status=' . _DUMP_STATUS_FILE, '', true, true));
} else {
utiliser_langue_visiteur();
$archive = "<br />" . joli_repertoire($status['archive']);
$action = _T('dump:info_restauration_sauvegarde', array('archive' => $archive));
$admin = charger_fonction('admin', 'inc');
echo $admin('restaurer', $action, "", true);
}
// forcer l'envoi du buffer par tous les moyens !
echo str_repeat("<br />\r\n", 256);
while (@ob_get_level()) {
@ob_flush();
@flush();
@ob_end_flush();
}
}
示例3: install_debut_html
function install_debut_html($titre = 'AUTO', $onLoad = '') {
global $spip_lang_right,$spip_lang_left;
utiliser_langue_visiteur();
http_no_cache();
if ($titre=='AUTO')
$titre=_T('info_installation_systeme_publication');
# le charset est en utf-8, pour recuperer le nom comme il faut
# lors de l'installation
if (!headers_sent())
header('Content-Type: text/html; charset=utf-8');
// au cas ou minipres() est appele avant spip_initialisation_suite()
if (!defined('_DOCTYPE_ECRIRE')) define('_DOCTYPE_ECRIRE', '');
return _DOCTYPE_ECRIRE.
html_lang_attributes().
"<head>\n".
"<title>".
textebrut($titre).
"</title>
<link rel='stylesheet' href='".direction_css(find_in_path('minipres.css')).
"' type='text/css' media='all' />\n" .
// cet appel permet d'assurer un copier-coller du nom du repertoire a creer dans tmp (esj)
http_script('', "spip_barre.js") .
"</head>
<body".$onLoad." class='minipres'>
<div id='minipres'>
<h1>".
$titre .
"</h1>
<div>\n";
}
示例4: exec_export_all_init
function exec_export_all_init($rub, $gz, $tables, $serveur='', $save=''){
$meta = base_dump_meta_name($rub);
utiliser_langue_visiteur();
if (!isset($GLOBALS['meta'][$meta])){
// c'est un demarrage en arrivee directe depuis exec=admin_tech
// on initialise (mais si c'est le validateur, ne rien faire)
if ($GLOBALS['exec'] == 'valider_xml') return;
$archive = exec_export_all_args($rub, $gz);
$tables = export_all_start($meta, $archive, $rub, $tables);
$v = array($gz, $archive, $rub, $tables, 1, 0, $serveur, $save);
ecrire_meta($meta, serialize($v), 'non');
// rub=$rub sert AUSSI a distinguer cette redirection
// d'avec l'appel initial sinon FireFox croit malin
// d'optimiser la redirection
$url = generer_url_ecrire('export_all',"rub=$rub", true);
} else {
// appels suivants
$export = charger_fonction('export', 'inc');
$arg = $export($meta);
// Si retour de $export c'est fini; dernier appel pour ramasser
// et produire l'en tete du fichier a partir de l'espace public
$url = generer_action_auteur("export_all",$arg,'',true, true, true);
}
include_spip('inc/headers');
redirige_par_entete($url);
}
示例5: traiter_appels_actions
function traiter_appels_actions()
{
// cas de l'appel qui renvoie une redirection (302) ou rien (204)
if ($action = _request('action')) {
include_spip('base/abstract_sql');
// chargement systematique pour les actions
include_spip('inc/autoriser');
include_spip('inc/headers');
include_spip('inc/actions');
// des actions peuvent appeler _T
if (!isset($GLOBALS['spip_lang'])) {
include_spip('inc/lang');
utiliser_langue_visiteur();
}
// si l'action est provoque par un hit {ajax}
// il faut transmettre l'env ajax au redirect
// on le met avant dans la query string au cas ou l'action fait elle meme sa redirection
if ($v = _request('var_ajax') and $v !== 'form' and $args = _request('var_ajax_env') and $url = _request('redirect')) {
$url = parametre_url($url, 'var_ajax', $v, '&');
$url = parametre_url($url, 'var_ajax_env', $args, '&');
set_request('redirect', $url);
} else {
if (_request('redirect')) {
set_request('redirect', securiser_redirect_action(_request('redirect')));
}
}
$var_f = charger_fonction($action, 'action');
$var_f();
if (!isset($GLOBALS['redirect'])) {
$GLOBALS['redirect'] = _request('redirect');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$GLOBALS['redirect'] = urldecode($GLOBALS['redirect']);
}
$GLOBALS['redirect'] = securiser_redirect_action($GLOBALS['redirect']);
}
if ($url = $GLOBALS['redirect']) {
// si l'action est provoque par un hit {ajax}
// il faut transmettre l'env ajax au redirect
// qui a pu etre defini par l'action
if ($v = _request('var_ajax') and $v !== 'form' and $args = _request('var_ajax_env')) {
$url = parametre_url($url, 'var_ajax', $v, '&');
$url = parametre_url($url, 'var_ajax_env', $args, '&');
// passer l'ancre en variable pour pouvoir la gerer cote serveur
$url = preg_replace(',#([^#&?]+)$,', "&var_ajax_ancre=\\1", $url);
}
$url = str_replace('&', '&', $url);
// les redirections se font en &, pas en en &
redirige_par_entete($url);
}
if (!headers_sent() and !ob_get_length()) {
http_status(204);
}
// No Content
return true;
}
return false;
}
示例6: devdebug_charger_debug
/**
* On charge la config de l'outil et les valeurs d'erreurs renvoyees
*/
function devdebug_charger_debug(){
// On renvoie direct si pas defini
if(!defined('_DEVDEBUG_MODE')) return;
// Sinon, on traite
if(_DEVDEBUG_MODE==1){
$prive = function_exists('test_espace_prive')
?test_espace_prive()
// compatibilite pour SPIP 1.92
:(defined('_DIR_RESTREINT') ? !_DIR_RESTREINT : false);
// Les liens d'erreur generes par PHP renvoient ... en local ! dans le php.ini standard
// On les definit du type 'http://fr.php.net/manual/en/ %s .php' (necessite une connexion)
$devdebug_langues_phpdoc = array('en','fr','de','ja','pl','ro','fa','es','tr');
if(function_exists('utiliser_langue_visiteur')) utiliser_langue_visiteur();
$lang = (isset($GLOBALS['spip_lang']) && in_array($GLOBALS['spip_lang'], $devdebug_langues_phpdoc))
? $GLOBALS['spip_lang'] : 'fr';
@ini_set('docref_root', "http://www.php.net/manual/".$lang."/");
@ini_set('docref_ext', '.php');
// On lance le php error tracking quoiqu'il arrive
@ini_set('track_errors',1);
// On evite d'afficher les erreurs repetees
@ini_set('ignore_repeated_errors',1);
// Compatibilite PHP (recup de 'inc_version', mais qui le definit trop tard)
@define('E_DEPRECATED',8192); // PHP 5.3
// Et let's go
$niveau = 'E_WARNING';
if(defined('_DEVDEBUG_NIVEAU')) switch(_DEVDEBUG_NIVEAU) {
case 'warning' : $niveau = "E_ALL ^ E_NOTICE"; break;
case 'error' : $niveau = "E_ALL ^ (E_NOTICE | E_WARNING)"; break;
case 'strict' : $niveau = "-1"; break;
case 'all' : $niveau = "E_ALL | E_DEPRECATED"; break;
case 'user' : $niveau = "E_USER_NOTICE | E_USER_WARNING | E_USER_ERROR"; break;
case 'notice' : default : $niveau = "E_ALL"; break;
}
if(defined('_DEVDEBUG_ESPACE')) switch(_DEVDEBUG_ESPACE) {
case 'public' :
if(!$prive) {
@ini_set('display_errors',1);
eval("error_reporting($niveau);");
}
else @ini_set('display_errors',0);
break;
case 'prive' :
if($prive) {
@ini_set('display_errors',1);
eval("error_reporting($niveau);");
}
else @ini_set('display_errors',0);
break;
default :
@ini_set('display_errors',1);
eval("error_reporting($niveau);");
}
}
elseif(_DEVDEBUG_MODE==0) @ini_set('display_errors',0);
}
示例7: install_etape__dist
/**
* Affiche l'étape 0 d'installation : écran d'accueil.
*
* @uses info_copyright()
**/
function install_etape__dist()
{
utiliser_langue_visiteur();
$menu_langues = menu_langues('var_lang_ecrire');
if (!$menu_langues) {
redirige_url_ecrire('install', "etape=chmod");
} else {
include_spip('inc/presentation');
// pour info_copyright
$res = "<div class='petit-centre'><img alt='SPIP' src='" . chemin_image('logo-spip2.gif') . "' />\n" . "<p class='small'>" . info_copyright() . "</p></div>\n" . "<p>" . _T('install_select_langue') . "</p>" . "<div>" . $menu_langues . "</div>\n" . generer_form_ecrire('install', "<input type='hidden' name='etape' value='chmod' />" . bouton_suivant());
echo minipres('AUTO', $res);
}
}
示例8: install_debut_html
/**
* http://doc.spip.org/@install_debut_html
*
* @param string $titre
* @param string $onLoad
* @param bool $all_inline
* inliner les css et js dans la page (limiter le nombre de hits)
* @return string
*/
function install_debut_html($titre = 'AUTO', $onLoad = '', $all_inline = false)
{
global $spip_lang_right, $spip_lang_left;
utiliser_langue_visiteur();
http_no_cache();
if ($titre == 'AUTO') {
$titre = _T('info_installation_systeme_publication');
}
# le charset est en utf-8, pour recuperer le nom comme il faut
# lors de l'installation
if (!headers_sent()) {
header('Content-Type: text/html; charset=utf-8');
}
$css = "";
$files = array('reset.css', 'clear.css', 'minipres.css');
if ($all_inline) {
// inliner les CSS (optimisation de la page minipres qui passe en un seul hit a la demande)
foreach ($files as $name) {
$file = direction_css(find_in_theme($name));
if (function_exists("compacte")) {
$file = compacte($file);
} else {
$file = url_absolue_css($file);
}
// precaution
lire_fichier($file, $c);
$css .= $c;
}
$css = "<style type='text/css'>" . $css . "</style>";
} else {
foreach ($files as $name) {
$file = direction_css(find_in_theme($name));
$css .= "<link rel='stylesheet' href='{$file}' type='text/css' />\n";
}
}
// au cas ou minipres() est appele avant spip_initialisation_suite()
if (!defined('_DOCTYPE_ECRIRE')) {
define('_DOCTYPE_ECRIRE', '');
}
return _DOCTYPE_ECRIRE . html_lang_attributes() . "<head>\n" . "<title>" . textebrut($titre) . "</title>\n" . "<meta name='viewport' content='width=device-width' />\n" . $css . "</head>\n<body" . $onLoad . " class='minipres'>\n\t<div id='minipres'>\n\t<h1>" . $titre . "</h1>\n\t<div>\n";
}
示例9: formulaires_configurer_langue_traiter_dist
function formulaires_configurer_langue_traiter_dist()
{
$res = array('editable' => true);
if ($lang = _request('changer_langue_site')) {
include_spip('inc/lang');
// verif que la langue demandee est licite
if (changer_langue($lang)) {
ecrire_meta('langue_site', $lang);
// le test a defait ca:
utiliser_langue_visiteur();
$res['message_ok'] = _T('config_info_enregistree');
include_spip('inc/rubriques');
calculer_langues_rubriques();
}
// le test a defait ca:
utiliser_langue_visiteur();
}
if (!$res['message_ok']) {
$res['message_erreur'] = _L('erreur');
}
return $res;
}
示例10: action_export_all_dist
function action_export_all_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
@list(, , $archive, $rub) = explode(',', $arg);
$meta = base_dump_meta_name($rub);
$file = ramasse_parties($rub, $archive, $meta);
$size = !$file ? 0 : @(!file_exists($file) ? 0 : filesize($file));
$metatable = $meta . '_tables';
$tables = isset($GLOBALS['meta'][$metatable])?unserialize($GLOBALS['meta'][$metatable]):array();
effacer_meta($metatable);
effacer_meta($meta);
utiliser_langue_visiteur();
if (!$size)
$corps = _T('avis_erreur_sauvegarde', array('type'=>'.', 'id_objet'=>'. .'));
else {
$corps = export_all_report_size($file, $rub, $size, generer_url_ecrire())
. export_all_report_tables($tables);
}
include_spip('inc/minipres');
echo minipres(_T('info_sauvegarde'), $corps);
}
示例11: verifier_visiteur
function verifier_visiteur()
{
// Rq: pour que cette fonction marche depuis mes_options
// il faut forcer l'init si ce n'est fait
// mais on risque de perturber des plugins en initialisant trop tot
// certaines constantes
@spip_initialisation_core(_DIR_RACINE . _NOM_PERMANENTS_INACCESSIBLES, _DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES, _DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES, _DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES);
// Demarrer une session NON AUTHENTIFIEE si on donne son nom
// dans un formulaire sans login (ex: #FORMULAIRE_FORUM)
// Attention on separe bien session_nom et nom, pour eviter
// les melanges entre donnees SQL et variables plus aleatoires
$variables_session = array('session_nom', 'session_email');
foreach ($variables_session as $var) {
if (_request($var) !== null) {
$init = true;
break;
}
}
if (isset($init)) {
#@spip_initialisation_suite();
$session = charger_fonction('session', 'inc');
$session();
include_spip('inc/texte');
foreach ($variables_session as $var) {
if (($a = _request($var)) !== null) {
$GLOBALS['visiteur_session'][$var] = safehtml($a);
}
}
if (!isset($GLOBALS['visiteur_session']['id_auteur'])) {
$GLOBALS['visiteur_session']['id_auteur'] = 0;
}
$session($GLOBALS['visiteur_session']);
return 0;
}
$h = (isset($_SERVER['PHP_AUTH_USER']) and !$GLOBALS['ignore_auth_http']);
if ($h or isset($_COOKIE['spip_session']) or isset($_COOKIE[$GLOBALS['cookie_prefix'] . '_session'])) {
$session = charger_fonction('session', 'inc');
if ($session()) {
return $GLOBALS['visiteur_session']['statut'];
}
if ($h and isset($_SERVER['PHP_AUTH_PW'])) {
include_spip('inc/auth');
$h = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']);
}
if ($h) {
$GLOBALS['visiteur_session'] = $h;
return $GLOBALS['visiteur_session']['statut'];
}
}
// au moins son navigateur nous dit la langue preferee de cet inconnu
include_spip('inc/lang');
utiliser_langue_visiteur();
return false;
}
示例12: include_spip
// charger systematiquement inc/autoriser dans l'espace restreint
if (test_espace_prive()) {
include_spip('inc/autoriser');
}
//
// Installer Spip si pas installe... sauf si justement on est en train
//
if (!(_FILE_CONNECT or autoriser_sans_cookie(_request('exec')) or _request('action') == 'cookie' or _request('action') == 'converser' or _request('action') == 'test_dirs')) {
// Si on peut installer, on lance illico
if (test_espace_prive()) {
include_spip('inc/headers');
redirige_url_ecrire("install");
} else {
// Si on est dans le site public, dire que qq s'en occupe
include_spip('inc/minipres');
utiliser_langue_visiteur();
echo minipres(_T('info_travaux_titre'), "<p style='text-align: center;'>" . _T('info_travaux_texte') . "</p>");
exit;
}
// autrement c'est une install ad hoc (spikini...), on sait pas faire
}
// memoriser un tri sessionne eventuel
if (isset($_REQUEST['var_memotri']) and $t = $_REQUEST['var_memotri'] and (strncmp($t, 'trisession', 10) == 0 or strncmp($t, 'senssession', 11) == 0)) {
if (!function_exists('session_set')) {
include_spip('inc/session');
}
session_set($t, _request($t));
}
/**
* Header "Composed-By"
*
示例13: liste_plugin_valides
function liste_plugin_valides($liste_plug, $force = false){
$liste = array();
$ordre = array();
$infos = array();
// lister les extensions qui sont automatiquement actives
$liste_extensions = liste_plugin_files(_DIR_EXTENSIONS);
$listes = array(
'_DIR_EXTENSIONS'=>$liste_extensions,
'_DIR_PLUGINS'=>$liste_plug
);
// creer une premiere liste non ordonnee mais qui ne retient
// que les plugins valides, et dans leur derniere version en cas de doublon
$liste_non_classee = array();
$get_infos = charger_fonction('get_infos','plugins');
foreach($listes as $dir_type=>$l){
foreach($l as $k=>$plug) {
// renseigner ce plugin
$infos[$dir_type][$plug] = $get_infos($plug,$force,constant($dir_type));
// si il n'y a pas d'erreur
if ($infos[$dir_type][$plug] AND !isset($infos[$dir_type][$plug]['erreur'])) {
// regarder si on a pas deja selectionne le meme plugin dans une autre version
$version = isset($infos[$dir_type][$plug]['version'])?$infos[$dir_type][$plug]['version']:NULL;
if (isset($liste_non_classee[$p=strtoupper($infos[$dir_type][$plug]['prefix'])])){
// prendre le plus recent
if (spip_version_compare($version,$liste_non_classee[$p]['version'],'>'))
unset($liste_non_classee[$p]);
else{
continue;
}
}
// ok, le memoriser
$liste_non_classee[$p] = array(
'nom' => $infos[$dir_type][$plug]['nom'],
'etat' => $infos[$dir_type][$plug]['etat'],
'dir_type' => $dir_type, // extensions ou plugins
'dir'=>$plug,
'version'=>isset($infos[$dir_type][$plug]['version'])?$infos[$dir_type][$plug]['version']:NULL
);
}
}
}
// il y a des plugins a trier
if (is_array($liste_non_classee)){
// pour tester utilise, il faut connaitre tous les plugins
// qui seront forcement pas la a la fin,
// car absent de la liste des plugins actifs
$toute_la_liste = $liste_non_classee;
// construire une liste ordonnee des plugins
$count = 0;
while ($c=count($liste_non_classee) AND $c!=$count){ // tant qu'il reste des plugins a classer, et qu'on ne stagne pas
#echo "tour::";var_dump($liste_non_classee);
$count = $c;
foreach($liste_non_classee as $p=>$resume) {
$plug = $resume['dir'];
$dir_type = $resume['dir_type'];
// si des plugins sont necessaire, on ne peut inserer qu'apres eux
$necessite_ok = !erreur_necessite($infos[$dir_type][$plug]['necessite'], $liste);
// si des plugins sont utiles, on ne peut inserer qu'apres eux,
// sauf si ils sont de toute facon absents de la liste
$utilise_ok = true;
// tous les plugins "utilise" absents
$nb_utilise_absents_toleres = count(erreur_necessite($infos[$dir_type][$plug]['utilise'], $toute_la_liste));
// tous les plugins "utilise" absents de la liste deja trie
$nb_utilise_absents_tries = count(erreur_necessite($infos[$dir_type][$plug]['utilise'], $liste));
if (abs($nb_utilise_absents_tries - $nb_utilise_absents_toleres) > 0) {
$utilise_ok = false;
}
if ($necessite_ok AND $utilise_ok){
$liste[$p] = $liste_non_classee[$p];
$ordre[] = $p;
unset($liste_non_classee[$p]);
}
}
}
if (count($liste_non_classee)) {
include_spip('inc/lang');
utiliser_langue_visiteur();
$erreurs = "";
foreach($liste_non_classee as $p=>$resume){
$plug = $resume['dir'];
$dir_type = $resume['dir_type'];
if ($n = erreur_necessite($infos[$dir_type][$plug]['necessite'], $liste)){
$erreurs .= "<li>" . _T('plugin_impossible_activer',
array('plugin' => constant($dir_type). $plug)
) . "<ul><li>" . implode("</li><li>", $n) . "</li></ul></li>";
}
else {
// dependance circulaire, ou utilise qu'on peut ignorer ?
// dans le doute on fait une erreur quand meme
// plutot que d'inserer silencieusement et de risquer un bug sournois latent
$necessite = erreur_necessite($infos[$dir_type][$plug]['utilise'], $liste);
$erreurs .= "<li>" . _T('plugin_impossible_activer',
array('plugin' => constant($dir_type). $plug)
) . "<ul><li>" . implode("</li><li>", $necessite) . "</li></ul></li>";
//.........这里部分代码省略.........
示例14: appliquer_modifs_config
function appliquer_modifs_config($purger_skel=false) {
if (($i = _request('adresse_site'))!==NULL){
if (!strlen($i)) {$GLOBALS['profondeur_url']=_DIR_RESTREINT?0:1;$i = url_de_base();}
$_POST['adresse_site'] = preg_replace(",/?\s*$,", "", $i);
}
// provoquer l'envoi des nouveautes en supprimant le fichier lock
if (_request('envoi_now')) {
spip_unlink(_DIR_TMP . 'mail.lock');
}
// Purger les squelettes si un changement de meta les affecte
if ($i = _request('post_dates') AND ($i != $GLOBALS['meta']["post_dates"]))
$purger_skel = true;
if ($accepter_forum = _request('forums_publics')
AND ($accepter_forum != $GLOBALS['meta']["forums_publics"])) {
$purger_skel = true;
$accepter_forum = substr($accepter_forum,0,3);
}
// Appliquer les changements de moderation forum
// forums_publics_appliquer : futur, saufnon, tous
if (in_array($appliquer = _request('forums_publics_appliquer'),
array('tous', 'saufnon')
)) {
$sauf = ($appliquer == 'saufnon')
? "accepter_forum != 'non'"
: '';
sql_updateq('spip_articles', array('accepter_forum'=>$accepter_forum), $sauf);
}
if ($accepter_forum == 'abo')
ecrire_meta('accepter_visiteurs', 'oui');
if ($i = _request('langues_auth') AND is_array($i)) {
set_request('langues_multilingue', join($i, ","));
}
// Modification du reglage accepter_inscriptions => vider le cache
// (pour repercuter la modif sur le panneau de login)
if (($i = _request('accepter_inscriptions')
AND $i != $GLOBALS['meta']['accepter_inscriptions'])
OR ($i = _request('accepter_visiteurs')
AND $i != $GLOBALS['meta']['accepter_visiteurs'])) {
include_spip('inc/invalideur');
suivre_invalideur("1"); # tout effacer
}
foreach(liste_metas() as $i => $v) {
if (($x =_request($i))!==NULL)
ecrire_meta($i, $x);
elseif (!isset($GLOBALS['meta'][$i]))
ecrire_meta($i, $v);
}
if ($lang = _request('changer_langue_site')) {
include_spip('inc/lang');
// verif que la langue demandee est licite
if (changer_langue($lang)) {
ecrire_meta('langue_site', $lang);
}
// le test a defait ca:
utiliser_langue_visiteur();
}
if ($purger_skel) {
include_spip('inc/invalideur');
purger_repertoire(_DIR_SKELS);
}
}