Server : Apache System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64 User : hednacluml ( 122243) PHP Version : 8.3.9 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl Directory : /home/hednacluml/metiers/ecrire/balise/ |
<?php /***************************************************************************\ * SPIP, Système de publication pour l'internet * * * * Copyright © avec tendresse depuis 2001 * * Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribué sous licence GNU/GPL. * \***************************************************************************/ /** * 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 /** * Compile la balise dynamique `#FORMULAIRE_INSCRIPTION` qui affiche * un formulaire d'inscription au site * * @balise * @example * ``` * #FORMULAIRE_INSCRIPTION * #FORMULAIRE_INSCRIPTION{nom_inscription, #ID_RUBRIQUE} * [(#FORMULAIRE_INSCRIPTION{1comite,#ARRAY{id,#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', []); } /** * 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 : * * - '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})] * [(#FORMULAIRE_INSCRIPTION{1comite,#ARRAY{id,#ID_RUBRIQUE}})] * ``` * * @param array $args * - 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) { [$mode, $id_ou_options, $retour] = array_pad($args, 3, null); // Compatibilité avec l'ancien param "id" dans les deux sens if (!is_array($id_ou_options)) { $options = ['id' => intval($id_ou_options)]; $id = $options['id']; }else { $options = $id_ou_options; $id = (int) ($id_ou_options['id'] ?? 0); } include_spip('action/inscrire_auteur'); $mode = tester_statut_inscription($mode, $id); return $mode ? [$mode, $options, $retour] : ''; }