Programmer avec SPIP 3.0
Documentation technique sur SPIP 3.0

> > > > Autoriser ou non l’affichage du formulaire

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 :
    1. function formulaires_nom_charger_dist() {
    2. $valeurs = array();
    3. if (!autoriser("webmestre")) {
    4. return false;
    5. }
    6. return $valeurs;
    7. }

    Télécharger

  • 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 :
    1. function formulaires_nom_charger_dist() {
    2. $valeurs = array();
    3. if (!autoriser("webmestre")) {
    4. $valeurs['editable'] = false;
    5. }
    6. return $valeurs;
    7. }

    Télécharger

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.

  1. function formulaires_affecter_zones_charger_dist($id_auteur){
  2. $valeurs = array(
  3. 'zone'=>'',
  4. 'id_auteur'=>$id_auteur,
  5. 'id'=>$id_auteur
  6. );
  7. include_spip('inc/autoriser');
  8. if (!autoriser('affecterzones','auteur',$id_auteur)){
  9. $valeurs['editable'] = false;
  10. }
  11. return $valeurs;
  12. }

Télécharger