Autoriser ou non l’affichage du formulaire

Le formulaire est affiché par défaut, cependant il est possible de restreindre cet affichage en fonction d’autorisations données.

Deux possibilités :

  • soit on ne veut pas du tout afficher le formulaire, on retourne alors false :
    function formulaires_nom_charger_dist() {
    	$valeurs = array();
    	if (!autoriser("webmestre")) {
    		return false;
    	}
    	return $valeurs;
    }
    
  • soit simplement une partie du formulaire est cachée (souvent la partie éditable) en utilisant la variable « editable », gérée alors dans le squelette du formulaire :
    function formulaires_nom_charger_dist() {
    	$valeurs = array();
    	if (!autoriser("webmestre")) {
    		$valeurs['editable'] = false;
    	}
    	return $valeurs;
    }
    

Exemple

Le plugin « Accès restreint » dispose d’un formulaire pour affecter des zones à un auteur ; il envoie dans l’environnement des champs à récupérer et leurs valeurs par défaut : l’identifiant de zone, l’auteur connecté et l’auteur qui sera affecté à la zone. En plus, si l’auteur n’a pas les droits suffisants, la variable « editable » est passée à faux.

function formulaires_affecter_zones_charger_dist($id_auteur){
	$valeurs = array(
		'zone'=>'',
		'id_auteur'=>$id_auteur,
		'id'=>$id_auteur
	);
	include_spip('inc/autoriser');
	if (!autoriser('affecterzones','auteur',$id_auteur)){
		$valeurs['editable'] = false;
	}
	return $valeurs;
}

Auteur Matthieu Marcillaud Publié le : Mis à jour : 12/03/23

Traductions : English, français