[SPIP] v3.2.1-->v3.2.2
[lhc/web/www.git] / www / ecrire / balise / login_prive.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2019 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
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 \***************************************************************************/
12
13 /**
14 * Ce fichier gère la balise dynamique dépréciée `#LOGIN_PRIVE`
15 *
16 * @package SPIP\Core\Compilateur\Balises
17 **/
18
19 if (!defined("_ECRIRE_INC_VERSION")) {
20 return;
21 } #securite
22
23
24 /**
25 * Compile la balise dynamique `#LOGIN_PRIVE` qui permet d'afficher le
26 * formulaire de connexion vers l'espace privé
27 *
28 * @balise
29 * @deprecated Utiliser `#FORMULAIRE_LOGIN`
30 *
31 * @param Champ $p
32 * Pile au niveau de la balise
33 * @return Champ
34 * Pile complétée du code compilé
35 **/
36 function balise_LOGIN_PRIVE($p) {
37 return calculer_balise_dynamique($p, 'LOGIN_PRIVE', array('url'));
38 }
39
40 /**
41 * Calculs de paramètres de contexte automatiques pour la balise LOGIN_PRIVE
42 *
43 * Retourne le contexte du formulaire en prenant :
44 *
45 * 1. l'URL collectée ci-dessus (args0) ou donnée en premier paramètre (args1)
46 * `#LOGIN_PRIVE{#URL_ECRIRE}`
47 * 2. un éventuel paramètre (args2) indiquant le login et permettant une écriture
48 * `<boucle(AUTEURS)>[(#LOGIN_PRIVE{#URL_ECRIRE, #LOGIN})]`
49 *
50 * @param array $args
51 * Liste des arguments demandés obtenus du contexte (url)
52 * @param array $context_compil
53 * Tableau d'informations sur la compilation
54 * @return array
55 * Liste (url, login) des arguments collectés.
56 */
57 function balise_LOGIN_PRIVE_stat($args, $context_compil) {
58 return array(isset($args[1]) ? $args[1] : $args[0], (isset($args[2]) ? $args[2] : ''));
59 }
60
61 /**
62 * Exécution de la balise dynamique `#LOGIN_PRIVE`
63 *
64 * Exécution mappée sur le formulaire de login.
65 *
66 * @param string $url
67 * URL de destination après l'identification. Par défaut la page
68 * d'accueil de l'espace privé.
69 * @param string $login
70 * Login de la personne à identifié (si connu)
71 * @return array
72 * Liste : Chemin du squelette, durée du cache, contexte
73 **/
74 function balise_LOGIN_PRIVE_dyn($url, $login) {
75 include_spip('balise/formulaire_');
76 if (!$url # pas d'url passee en filtre ou dans le contexte
77 and !$url = _request('url') # ni d'url passee par l'utilisateur
78 ) {
79 $url = generer_url_ecrire('accueil', '', true);
80 }
81
82 return balise_FORMULAIRE__dyn('login', $url, $login, true);
83 }