3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2019 *
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 `#FORMULAIRE_INSCRIPTION`
16 * @package SPIP\Core\Inscription
19 if (!defined('_ECRIRE_INC_VERSION')) {
23 include_spip('base/abstract_sql');
24 include_spip('inc/filtres');
26 // Balise independante du contexte
30 * Compile la balise dynamique `#FORMULAIRE_INSCRIPTION` qui affiche
31 * un formulaire d'inscription au site
36 * #FORMULAIRE_INSCRIPTION
37 * #FORMULAIRE_INSCRIPTION{nom_inscription, #ID_RUBRIQUE}
41 * Pile au niveau de la balise
43 * Pile complétée du code compilé
45 function balise_FORMULAIRE_INSCRIPTION($p) {
46 return calculer_balise_dynamique($p, 'FORMULAIRE_INSCRIPTION', array());
50 * Calculs de paramètres de contexte automatiques pour la balise FORMULAIRE_INSCRIPTION
52 * En absence de mode d'inscription transmis à la balise, celui-ci est
53 * calculé en fonction de la configuration :
55 * - '1comite' si les rédacteurs peuvent s'inscrire,
56 * - '6forum' sinon si les forums sur abonnements sont actifs,
61 * #FORMULAIRE_INSCRIPTION
62 * [(#FORMULAIRE_INSCRIPTION{mode_inscription, #ID_RUBRIQUE})]
66 * - args[0] un statut d'auteur (rédacteur par defaut)
67 * - args[1] indique la rubrique éventuelle de proposition
68 * @param array $context_compil
69 * Tableau d'informations sur la compilation
70 * @return array|string
71 * - Liste (statut, id) si un mode d'inscription est possible
72 * - chaîne vide sinon.
74 function balise_FORMULAIRE_INSCRIPTION_stat($args, $context_compil) {
75 list($mode, $id, $retour) = array_pad($args, 3, null);
76 include_spip('action/inscrire_auteur');
77 $mode = tester_statut_inscription($mode, $id);
79 return $mode ?
array($mode, $id, $retour) : '';