Proposer une amélioration de commentaire

Le commentaire à poster est au format «docblock» (de phpDoc) qui peut être enrichi de tags spécifiques pour SPIP.
Fichier
ecrire/balise/menu_lang_ecrire.php

    Nom ou pseudo de l'auteur de la proposition

Code original

<?php
 
/***************************************************************************\
 *  SPIP, Systeme de publication pour l'internet                           *
 *                                                                         *
 *  Copyright (c) 2001-2016                                                *
 *  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.   *
\***************************************************************************/
 
/**
 * Ce fichier gère la balise dynamique `#MENU_LANG_ECRIRE`
 *
 * @package SPIP\Core\Compilateur\Balises
 **/
 
if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}
 
/**
 * Compile la balise dynamique `#MENU_LANG_ECRIRE` qui affiche
 * un sélecteur de langue pour l'interface privée
 *
 * Affiche le menu des langues de l'espace privé
 * et présélectionne celle la globale `$lang`
 * ou de l'arguemnt fourni: `#MENU_LANG_ECRIRE{#ENV{malangue}}`
 *
 * @balise
 * @link http://www.spip.net/4626
 *
 * @param Champ $p
 *     Pile au niveau de la balise
 * @return Champ
 *     Pile complétée du code compilé
 **/
function balise_MENU_LANG_ECRIRE($p) {
	return calculer_balise_dynamique($p, 'MENU_LANG_ECRIRE', array('lang'));
}
 
/**
 * Calculs de paramètres de contexte automatiques pour la balise MENU_LANG_ECRIRE
 *
 * S'il n'y a qu'une langue proposée, pas besoin du formulaire
 * (éviter une balise ?php inutile)
 *
 * @param array $args
 *   Liste des arguments demandés obtenus du contexte (lang)
 *   complétés de ceux fournis à la balise
 * @param array $context_compil
 *   Tableau d'informations sur la compilation
 * @return array
 *   Liste (lang) des arguments collectés et fournis.
 */
function balise_MENU_LANG_ECRIRE_stat($args, $context_compil) {
	include_spip('inc/lang');
	if (strpos($GLOBALS['meta']['langues_proposees'], ',') === false) {
		return '';
	}
 
	return $args;
}
 
/**
 * Exécution de la balise dynamique `#MENU_LANG_ECRIRE`
 *
 * @uses menu_lang_pour_tous()
 * @note
 *   Normalement `$opt` sera toujours non vide suite au test ci-dessus
 *
 * @param string $opt
 *     Langue par défaut
 * @return array
 *     Liste : Chemin du squelette, durée du cache, contexte
 **/
function balise_MENU_LANG_ECRIRE_dyn($opt) {
	return menu_lang_pour_tous('var_lang_ecrire', $opt);
}
 
/**
 * Calcule l'environnement et le squelette permettant d'afficher
 * le formulaire de sélection de changement de langue
 *
 * Le changement de langue se fait par l'appel à l'action `converser`
 *
 * @uses lang_select()
 * @see  action_converser_dist()
 *
 * @param string $nom
 *     Nom de la variable qui sera postée par le formulaire
 * @param string $default
 *     Valeur par défaut de la langue
 * @return array
 *     Liste : Chemin du squelette, durée du cache, contexte
 **/
function menu_lang_pour_tous($nom, $default) {
	include_spip('inc/lang');
 
	if ($GLOBALS['spip_lang'] <> $default) {
		$opt = lang_select($default);  # et remplace
		if ($GLOBALS['spip_lang'] <> $default) {
			$default = '';  # annule tout choix par defaut
			if ($opt) {
				lang_select();
			}
		}
	}
 
	# lien a partir de /
	$cible = parametre_url(self(), 'lang', '', '&');
	$post = generer_url_action('converser', 'redirect=' . rawurlencode($cible), '&');
 
	return array(
		'formulaires/menu_lang',
		3600,
		array(
			'nom' => $nom,
			'url' => $post,
			'name' => $nom,
			'default' => $default,
		)
	);
}

Le commentaire au format « docblock » peut être complété des éléments suivants sécifiques
à SPIP.

Sur un entête de fichier :

  • @package SPIP\Core\x (pour un fichier du core, x dépendant du fichier)
  • @package SPIP\Nom\x (pour un fichier de plugin, Nom étant le nom du plugin)

Sur un entête de fonction :

  • @pipeline x : indique que la fonction est une utilisation d’un pipeline
  • @pipeline_appel x : indique que la fonction appelle le pipeline indiqué
  • @balise : indique que la fonction est une compilation de balise
  • @filtre : indique un |filtre
  • @critere : indique que la fonction est une compilaiton de critère
  • @boucle : indique que la fonction est une compilaiton de boucle
Vous inscrire sur ce site

L’espace privé de ce site est ouvert aux visiteurs, après inscription. Une fois enregistré, vous pourrez consulter les articles en cours de rédaction, proposer des articles et participer à tous les forums.

Identifiants personnels

Indiquez ici votre nom et votre adresse email. Votre identifiant personnel vous parviendra rapidement, par courrier électronique.