[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / ecrire / balise / url_logout.php
index 3d6459e..f6e64dd 100644 (file)
@@ -3,31 +3,75 @@
 /***************************************************************************\
  *  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;
+/**
+ * Ce fichier gère la balise dynamique `#URL_LOGOUT`
+ *
+ * @package SPIP\Core\Compilateur\Balises
+ **/
 
-// http://doc.spip.org/@balise_URL_LOGOUT
-function balise_URL_LOGOUT ($p) {return calculer_balise_dynamique($p,'URL_LOGOUT', array());
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
 }
 
-// $args[0] = url destination apres logout [(#URL_LOGOUT{url})]
-// http://doc.spip.org/@balise_URL_LOGOUT_stat
-function balise_URL_LOGOUT_stat ($args, $context_compil) {
+/**
+ * Compile la balise dynamique `#URL_LOGOUT` qui génère une URL permettant
+ * de déconnecter l'auteur actuellement connecté
+ *
+ * @balise
+ * @example
+ *     ```
+ *     [<a href="(#URL_LOGOUT)">déconnexion</a>]
+ *     ```
+ *
+ * @param Champ $p
+ *     Pile au niveau de la balise
+ * @return Champ
+ *     Pile complétée du code compilé
+ **/
+function balise_URL_LOGOUT($p) {
+       return calculer_balise_dynamique($p, 'URL_LOGOUT', array());
+}
+
+
+/**
+ * Calculs de paramètres de contexte automatiques pour la balise URL_LOGOUT
+ *
+ * @param array $args
+ *   Liste des arguments transmis à la balise
+ *   - `$args[0]` = URL destination après logout `[(#URL_LOGOUT{url})]`
+ * @param array $context_compil
+ *   Tableau d'informations sur la compilation
+ * @return array
+ *   Liste (url) des arguments collectés.
+ */
+function balise_URL_LOGOUT_stat($args, $context_compil) {
        $url = isset($args[0]) ? $args[0] : '';
+
        return array($url);
 }
 
-// http://doc.spip.org/@balise_URL_LOGOUT_dyn
+/**
+ * Exécution de la balise dynamique `#URL_LOGOUT`
+ *
+ * Retourne une URL de déconnexion uniquement si le visiteur est connecté.
+ *
+ * @param string $cible
+ *     URL de destination après déconnexion
+ * @return string
+ *     URL de déconnexion ou chaîne vide.
+ **/
 function balise_URL_LOGOUT_dyn($cible) {
 
-       if (!$GLOBALS['visiteur_session']['login'] AND !$GLOBALS['visiteur_session']['statut']) return '';
+       if (!$GLOBALS['visiteur_session']['login'] and !$GLOBALS['visiteur_session']['statut']) {
+               return '';
+       }
 
-       return generer_url_action('logout',"logout=public&url=" . rawurlencode($cible ? $cible : self('&')));
+       return generer_url_action('logout', "logout=public&url=" . rawurlencode($cible ? $cible : self('&')));
 }
-?>