3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
13 if (!defined('_ECRIRE_INC_VERSION')) return;
15 include_spip('inc/cookie');
17 // changer de langue: pas de secu si espace public ou login ou installation
18 // mais alors on n'accede pas a la base, on pose seulement le cookie.
20 // http://doc.spip.org/@action_converser_dist
21 function action_converser_dist()
23 $update_session = false;
24 if ( _request('arg') AND spip_connect()) {
25 $securiser_action = charger_fonction('securiser_action', 'inc');
27 $update_session = true;
30 $lang = action_converser_changer_langue($update_session);
31 $redirect = rawurldecode(_request('redirect'));
33 if (!$redirect) $redirect = _DIR_RESTREINT_ABS
;
34 $redirect = parametre_url($redirect,'lang',$lang,'&');
35 redirige_par_entete($redirect, true);
38 function action_converser_changer_langue($update_session){
39 if ($lang = _request('var_lang'))
40 action_converser_post($lang);
41 elseif ($lang = _request('var_lang_ecrire')) {
42 if ($update_session) {
43 sql_updateq("spip_auteurs", array("lang" => $lang), "id_auteur = " . $GLOBALS['visiteur_session']['id_auteur']);
44 $GLOBALS['visiteur_session']['lang'] = $lang;
45 $session = charger_fonction('session', 'inc');
46 if ($spip_session = $session($GLOBALS['visiteur_session'])) {
50 time() +
3600 * 24 * 14
54 action_converser_post($lang, 'spip_lang_ecrire');
59 // http://doc.spip.org/@action_converser_post
60 function action_converser_post($lang, $ecrire=false)
63 include_spip('inc/lang');
64 if (changer_langue($lang)) {
65 spip_setcookie('spip_lang', $_COOKIE['spip_lang'] = $lang, time() +
365 * 24 * 3600);
67 spip_setcookie('spip_lang_ecrire', $_COOKIE['spip_lang_ecrire'] = $lang, time() +
365 * 24 * 3600);