139 lines
4.9 KiB
PHP
139 lines
4.9 KiB
PHP
<?php
|
|
/**
|
|
* Gestion du formulaire de d'édition de gamuform
|
|
*
|
|
* @plugin GamuForm
|
|
* @copyright 2020
|
|
* @author tofulm
|
|
* @licence GNU/GPL
|
|
* @package SPIP\GamuForm\Formulaires
|
|
*/
|
|
|
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
|
return;
|
|
}
|
|
|
|
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_gamuform
|
|
* Identifiant du gamuform. 'new' pour un nouveau gamuform.
|
|
* @param string $retour
|
|
* URL de redirection après le traitement
|
|
* @param int $lier_trad
|
|
* Identifiant éventuel d'un gamuform source d'une traduction
|
|
* @param string $config_fonc
|
|
* Nom de la fonction ajoutant des configurations particulières au formulaire
|
|
* @param array $row
|
|
* Valeurs de la ligne SQL du gamuform, 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_gamuform_identifier_dist($id_gamuform = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
|
|
return serialize(array(intval($id_gamuform)));
|
|
}
|
|
|
|
/**
|
|
* Chargement du formulaire d'édition de gamuform
|
|
*
|
|
* Déclarer les champs postés et y intégrer les valeurs par défaut
|
|
*
|
|
* @uses formulaires_editer_objet_charger()
|
|
*
|
|
* @param int|string $id_gamuform
|
|
* Identifiant du gamuform. 'new' pour un nouveau gamuform.
|
|
* @param string $retour
|
|
* URL de redirection après le traitement
|
|
* @param int $lier_trad
|
|
* Identifiant éventuel d'un gamuform source d'une traduction
|
|
* @param string $config_fonc
|
|
* Nom de la fonction ajoutant des configurations particulières au formulaire
|
|
* @param array $row
|
|
* Valeurs de la ligne SQL du gamuform, si connu
|
|
* @param string $hidden
|
|
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
|
|
* @return array
|
|
* Environnement du formulaire
|
|
*/
|
|
function formulaires_editer_gamuform_charger_dist($id_gamuform = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
|
|
$valeurs = formulaires_editer_objet_charger('gamuform', $id_gamuform, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
|
|
return $valeurs;
|
|
}
|
|
|
|
/**
|
|
* Vérifications du formulaire d'édition de gamuform
|
|
*
|
|
* Vérifier les champs postés et signaler d'éventuelles erreurs
|
|
*
|
|
* @uses formulaires_editer_objet_verifier()
|
|
*
|
|
* @param int|string $id_gamuform
|
|
* Identifiant du gamuform. 'new' pour un nouveau gamuform.
|
|
* @param string $retour
|
|
* URL de redirection après le traitement
|
|
* @param int $lier_trad
|
|
* Identifiant éventuel d'un gamuform source d'une traduction
|
|
* @param string $config_fonc
|
|
* Nom de la fonction ajoutant des configurations particulières au formulaire
|
|
* @param array $row
|
|
* Valeurs de la ligne SQL du gamuform, si connu
|
|
* @param string $hidden
|
|
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
|
|
* @return array
|
|
* Tableau des erreurs
|
|
*/
|
|
function formulaires_editer_gamuform_verifier_dist($id_gamuform = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
|
|
$erreurs = array();
|
|
|
|
$verifier = charger_fonction('verifier', 'inc');
|
|
|
|
foreach (array('date') AS $champ) {
|
|
$normaliser = null;
|
|
if ($erreur = $verifier(_request($champ), 'date', array('normaliser'=>'datetime'), $normaliser)) {
|
|
$erreurs[$champ] = $erreur;
|
|
// si une valeur de normalisation a ete transmis, la prendre.
|
|
} elseif (!is_null($normaliser)) {
|
|
set_request($champ, $normaliser);
|
|
// si pas de normalisation ET pas de date soumise, il ne faut pas tenter d'enregistrer ''
|
|
} else {
|
|
set_request($champ, null);
|
|
}
|
|
}
|
|
|
|
$erreurs += formulaires_editer_objet_verifier('gamuform', $id_gamuform, array('titre', 'date'));
|
|
|
|
return $erreurs;
|
|
}
|
|
|
|
/**
|
|
* Traitement du formulaire d'édition de gamuform
|
|
*
|
|
* Traiter les champs postés
|
|
*
|
|
* @uses formulaires_editer_objet_traiter()
|
|
*
|
|
* @param int|string $id_gamuform
|
|
* Identifiant du gamuform. 'new' pour un nouveau gamuform.
|
|
* @param string $retour
|
|
* URL de redirection après le traitement
|
|
* @param int $lier_trad
|
|
* Identifiant éventuel d'un gamuform source d'une traduction
|
|
* @param string $config_fonc
|
|
* Nom de la fonction ajoutant des configurations particulières au formulaire
|
|
* @param array $row
|
|
* Valeurs de la ligne SQL du gamuform, si connu
|
|
* @param string $hidden
|
|
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
|
|
* @return array
|
|
* Retours des traitements
|
|
*/
|
|
function formulaires_editer_gamuform_traiter_dist($id_gamuform = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
|
|
$retours = formulaires_editer_objet_traiter('gamuform', $id_gamuform, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
|
|
return $retours;
|
|
}
|