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 : 08/01/12

Traductions : English, français