3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2017 *
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 \***************************************************************************/
14 * Ce fichier gère la balise dynamique `#URL_LOGOUT`
16 * @package SPIP\Core\Compilateur\Balises
19 if (!defined('_ECRIRE_INC_VERSION')) {
24 * Compile la balise dynamique `#URL_LOGOUT` qui génère une URL permettant
25 * de déconnecter l'auteur actuellement connecté
30 * [<a href="(#URL_LOGOUT)">déconnexion</a>]
34 * Pile au niveau de la balise
36 * Pile complétée du code compilé
38 function balise_URL_LOGOUT($p) {
39 return calculer_balise_dynamique($p, 'URL_LOGOUT', array());
44 * Calculs de paramètres de contexte automatiques pour la balise URL_LOGOUT
47 * Liste des arguments transmis à la balise
48 * - `$args[0]` = URL destination après logout `[(#URL_LOGOUT{url})]`
49 * @param array $context_compil
50 * Tableau d'informations sur la compilation
52 * Liste (url) des arguments collectés.
54 function balise_URL_LOGOUT_stat($args, $context_compil) {
55 $url = isset($args[0]) ?
$args[0] : '';
61 * Exécution de la balise dynamique `#URL_LOGOUT`
63 * Retourne une URL de déconnexion uniquement si le visiteur est connecté.
65 * @param string $cible
66 * URL de destination après déconnexion
68 * URL de déconnexion ou chaîne vide.
70 function balise_URL_LOGOUT_dyn($cible) {
72 if (!$GLOBALS['visiteur_session']['login'] and !$GLOBALS['visiteur_session']['statut']) {
76 return generer_url_action('logout', "logout=public&url=" . rawurlencode($cible ?
$cible : self('&')));