Formulaire d'édition d'une zone : il faut une fonction 'identifier' sinon les erreurs ne sont pas affichées (au moins en SPIP 3.2, peut-être avant aussi, pas testé). On en profite pour ajouter les commentaires phpdoc.

v3.15
tcharlss@bravecassine.com 4 years ago
parent 094b509068
commit cc31e1cd4b

@ -6,6 +6,7 @@
[(#REM) declarer les hidden qui declencheront le service du formulaire
parametre : url d'action ]
#ACTION_FORMULAIRE{#ENV{action}}
<input type="hidden" name="id_zone" value="#ENV{id_zone}" />
<[(#DIV|sinon{ul})] class="editer-groupe">
<[(#DIV|sinon{li})] class="editer editer_titre obligatoire[ (#ENV**{erreurs}|table_valeur{titre}|oui)erreur]">
@ -14,8 +15,8 @@
]<input type="text" class="text" name="titre" id="titre" value="#ENV{titre}" />
</[(#DIV|sinon{li})]>
</[(#DIV|sinon{ul})]>
<fieldset>
<fieldset class="droits">
<legend><:accesrestreint:label_droits_acces:></legend>
<[(#DIV|sinon{ul})] class="editer-groupe">
[(#ENV{id_zone}|intval|non|et{#AUTORISER{modifier,zone}})
@ -43,7 +44,7 @@
]<textarea name="descriptif" rows="5" id="descriptif">[(#ENV{descriptif})]</textarea>
</[(#DIV|sinon{li})]>
</[(#DIV|sinon{ul})]>
<fieldset class="rubriques">
<legend><:accesrestreint:rubriques_zones_acces:></legend>
<div class="filtrer">

@ -11,6 +11,48 @@ if (!defined('_ECRIRE_INC_VERSION')) {
include_spip('inc/actions');
include_spip('inc/editer');
/**
* Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité
*
* @param int|string $id_chapitre
* Identifiant de la zone. 'new' pour une nouvelle zone.
* @param string $retour
* URL de redirection après le traitement
* @param string $associer_objet
* Objet à associer, de la forme 'objet|id_objet'
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL de la zone, si connu
* @param string $hidden
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
* @return string
* Hash du formulaire
*/
function formulaires_editer_zone_identifier_dist($id_zone = 'new', $retour = '', $associer_objet = '', $config_fonc = 'zones_edit_config', $row = array(), $hidden = '') {
return serialize(array(intval($id_zone)));
}
/**
* Chargement du formulaire d'édition d'une zone
*
* Déclarer les champs postés et y intégrer les valeurs par défaut
*
* @param int|string $id_chapitre
* Identifiant de la zone. 'new' pour une nouvelle zone.
* @param string $retour
* URL de redirection après le traitement
* @param string $associer_objet
* Objet à associer, de la forme 'objet|id_objet'
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL de la zone, si connu
* @param string $hidden
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
* @return string
* Hash du formulaire
*/
function formulaires_editer_zone_charger_dist($id_zone = 'new', $retour = '', $associer_objet = '', $config_fonc = 'zones_edit_config', $row = array(), $hidden = '') {
$valeurs = formulaires_editer_objet_charger('zone', $id_zone, 0, 0, $retour, $config_fonc, $row, $hidden);
include_spip('inc/accesrestreint');
@ -32,16 +74,56 @@ function formulaires_editer_zone_charger_dist($id_zone = 'new', $retour = '', $a
return $valeurs;
}
/**
* Fonction ajoutant des configurations particulières au formulaire d'édition d'une zone
*
* @return array
*/
function zones_edit_config() {
return array();
}
/**
* Vérification de champs postés du formulaire d'édition d'une zone
*
* @param int|string $id_chapitre
* Identifiant de la zone. 'new' pour une nouvelle zone.
* @param string $retour
* URL de redirection après le traitement
* @param string $associer_objet
* Objet à associer, de la forme 'objet|id_objet'
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL de la zone, si connu
* @param string $hidden
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
* @return string
* Hash du formulaire
*/
function formulaires_editer_zone_verifier_dist($id_zone = 'new', $retour = '', $associer_objet = '', $config_fonc = 'zones_edit_config', $row = array(), $hidden = '') {
$erreurs = formulaires_editer_objet_verifier('zone', $id_zone, array('titre'));
return $erreurs;
}
/**
* Traitement du formulaire d'édition d'une zone
*
* @param int|string $id_chapitre
* Identifiant de la zone. 'new' pour une nouvelle zone.
* @param string $retour
* URL de redirection après le traitement
* @param string $associer_objet
* Objet à associer, de la forme 'objet|id_objet'
* @param string $config_fonc
* Nom de la fonction ajoutant des configurations particulières au formulaire
* @param array $row
* Valeurs de la ligne SQL de la zone, si connu
* @param string $hidden
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
* @return string
* Hash du formulaire
*/
function formulaires_editer_zone_traiter_dist($id_zone = 'new', $retour = '', $associer_objet = '', $config_fonc = 'zones_edit_config', $row = array(), $hidden = '') {
if (_request('publique') !== 'oui') {
set_request('publique', 'non');

@ -1,7 +1,7 @@
<paquet
prefix="accesrestreint"
categorie="auteur"
version="3.15.16"
version="3.15.17"
etat="test"
compatibilite="[3.0.0;3.2.*]"
logo="prive/themes/spip/images/zone-32.png"

Loading…
Cancel
Save