/***************************************************************************\
* 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 `#FORMULAIRE_INSCRIPTION`
+ *
+ * @package SPIP\Core\Inscription
+ **/
+
+if (!defined('_ECRIRE_INC_VERSION')) {
+ return;
+}
include_spip('base/abstract_sql');
include_spip('inc/filtres');
// Balise independante du contexte
+
/**
- * http://doc.spip.org/@balise_FORMULAIRE_INSCRIPTION
+ * Compile la balise dynamique `#FORMULAIRE_INSCRIPTION` qui affiche
+ * un formulaire d'inscription au site
*
- * @param object $p
- * @return mixed
- */
-function balise_FORMULAIRE_INSCRIPTION ($p) {
-
+ * @balise
+ * @example
+ * ```
+ * #FORMULAIRE_INSCRIPTION
+ * #FORMULAIRE_INSCRIPTION{nom_inscription, #ID_RUBRIQUE}
+ * ```
+ *
+ * @param Champ $p
+ * Pile au niveau de la balise
+ * @return Champ
+ * Pile complétée du code compilé
+ **/
+function balise_FORMULAIRE_INSCRIPTION($p) {
return calculer_balise_dynamique($p, 'FORMULAIRE_INSCRIPTION', array());
}
/**
- * http://doc.spip.org/@balise_FORMULAIRE_INSCRIPTION_stat
+ * Calculs de paramètres de contexte automatiques pour la balise FORMULAIRE_INSCRIPTION
+ *
+ * En absence de mode d'inscription transmis à la balise, celui-ci est
+ * calculé en fonction de la configuration :
*
- * [(#FORMULAIRE_INSCRIPTION{nom_inscription, #ID_RUBRIQUE})]
+ * - '1comite' si les rédacteurs peuvent s'inscrire,
+ * - '6forum' sinon si les forums sur abonnements sont actifs,
+ * - rien sinon.
+ *
+ * @example
+ * ```
+ * #FORMULAIRE_INSCRIPTION
+ * [(#FORMULAIRE_INSCRIPTION{mode_inscription, #ID_RUBRIQUE})]
+ * ```
*
* @param array $args
- * args[0] un statut d'auteur (redacteur par defaut)
- * args[1] indique la rubrique eventuelle de proposition
+ * - args[0] un statut d'auteur (rédacteur par defaut)
+ * - args[1] indique la rubrique éventuelle de proposition
* @param array $context_compil
+ * Tableau d'informations sur la compilation
* @return array|string
+ * - Liste (statut, id) si un mode d'inscription est possible
+ * - chaîne vide sinon.
*/
function balise_FORMULAIRE_INSCRIPTION_stat($args, $context_compil) {
- list($mode, $id) = $args;
+ list($mode, $id, $retour) = array_pad($args, 3, null);
include_spip('action/inscrire_auteur');
$mode = tester_statut_inscription($mode, $id);
- return $mode ? array($mode, $id) : '';
-}
-?>
+ return $mode ? array($mode, $id, $retour) : '';
+}