[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / ecrire / action / converser.php
index 50b9631..37ca9f8 100644 (file)
@@ -3,25 +3,35 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2016                                                *
+ *  Copyright (c) 2001-2017                                                *
  *  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.   *
 \***************************************************************************/
 
-if (!defined('_ECRIRE_INC_VERSION')) return;
+/**
+ * Gestion de l'action converser qui permet changer de langue
+ *
+ * @package SPIP\Core\Langue
+ **/
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
 
 include_spip('inc/cookie');
 
-// changer de langue: pas de secu si espace public ou login ou installation
-// mais alors on n'accede pas a la base, on pose seulement le cookie.
-
-// http://doc.spip.org/@action_converser_dist
-function action_converser_dist()
-{
+/**
+ * Point d'entrée pour changer de langue
+ *
+ * Pas de secu si espace public ou login ou installation
+ * mais alors on n'accède pas à la base, on pose seulement le cookie.
+ *
+ * @return void
+ */
+function action_converser_dist() {
        $update_session = false;
-       if ( _request('arg') AND spip_connect()) {
+       if (_request('arg') and spip_connect()) {
                $securiser_action = charger_fonction('securiser_action', 'inc');
                $securiser_action();
                $update_session = true;
@@ -30,15 +40,25 @@ function action_converser_dist()
        $lang = action_converser_changer_langue($update_session);
        $redirect = rawurldecode(_request('redirect'));
 
-       if (!$redirect) $redirect = _DIR_RESTREINT_ABS;
-       $redirect = parametre_url($redirect,'lang',$lang,'&');
+       if (!$redirect) {
+               $redirect = _DIR_RESTREINT_ABS;
+       }
+       $redirect = parametre_url($redirect, 'lang', $lang, '&');
        redirige_par_entete($redirect, true);
 }
 
-function action_converser_changer_langue($update_session){
-       if ($lang = _request('var_lang'))
+/**
+ * Cette fonction prépare le travail de changement de langue
+ * en récupérant la bonne variable de langue
+ *
+ * @global array $GLOBALS ['visiteur_session']
+ * @param bool $update_session
+ * @return string
+ */
+function action_converser_changer_langue($update_session) {
+       if ($lang = _request('var_lang')) {
                action_converser_post($lang);
-       elseif ($lang = _request('var_lang_ecrire')) {
+       elseif ($lang = _request('var_lang_ecrire')) {
                if ($update_session) {
                        sql_updateq("spip_auteurs", array("lang" => $lang), "id_auteur = " . $GLOBALS['visiteur_session']['id_auteur']);
                        $GLOBALS['visiteur_session']['lang'] = $lang;
@@ -53,19 +73,25 @@ function action_converser_changer_langue($update_session){
                }
                action_converser_post($lang, 'spip_lang_ecrire');
        }
+
        return $lang;
 }
 
-// http://doc.spip.org/@action_converser_post
-function action_converser_post($lang, $ecrire=false)
-{
+/**
+ * Cette fonction effectue le travail de changement de langue
+ *
+ * @param string $lang
+ * @param bool $ecrire
+ * @return void
+ */
+function action_converser_post($lang, $ecrire = false) {
        if ($lang) {
                include_spip('inc/lang');
                if (changer_langue($lang)) {
                        spip_setcookie('spip_lang', $_COOKIE['spip_lang'] = $lang, time() + 365 * 24 * 3600);
-                       if ($ecrire)
+                       if ($ecrire) {
                                spip_setcookie('spip_lang_ecrire', $_COOKIE['spip_lang_ecrire'] = $lang, time() + 365 * 24 * 3600);
+                       }
                }
        }
 }
-?>