/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2013 *
+ * Copyright (c) 2001-2020 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
-if (!defined("_ECRIRE_INC_VERSION")) return;
+/**
+ * Gestion du formulaire de d'édition d'une brève
+ *
+ * @package SPIP\Breves\Formulaires
+ **/
+if (!defined('_ECRIRE_INC_VERSION')) {
+ return;
+}
include_spip('inc/actions');
include_spip('inc/editer');
-function formulaires_editer_breve_charger_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){
- $valeurs = formulaires_editer_objet_charger('breve',$id_breve,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden);
+/**
+ * Chargement du formulaire d'édition d'une brève
+ *
+ * @see formulaires_editer_objet_charger()
+ *
+ * @param int|string $id_breve
+ * Identifiant de la brève. 'new' pour une nouvelle brève.
+ * @param int $id_rubrique
+ * Identifiant de la rubrique parente (si connue)
+ * @param string $retour
+ * URL de redirection après le traitement
+ * @param int $lier_trad
+ * Identifiant de la brève que l'on cherche à traduire
+ * @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 brève, si connue
+ * @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_breve_charger_dist(
+ $id_breve = 'new',
+ $id_rubrique = 0,
+ $retour = '',
+ $lier_trad = 0,
+ $config_fonc = 'breves_edit_config',
+ $row = array(),
+ $hidden = ''
+) {
+ $valeurs = formulaires_editer_objet_charger(
+ 'breve',
+ $id_breve,
+ $id_rubrique,
+ $lier_trad,
+ $retour,
+ $config_fonc,
+ $row,
+ $hidden
+ );
+
+ if (test_formulaire_inclus_par_modele()) {
+ if (intval($id_breve) and !autoriser('modifier', 'breve', intval($id_breve))) {
+ $valeurs['editable'] = '';
+ }
+ }
+
// un bug a permis a un moment que des breves soient dans des sous rubriques
// lorsque ce cas se presente, il faut relocaliser la breve dans son secteur, plutot que n'importe ou
- if ($valeurs['id_parent'])
- $valeurs['id_parent'] = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($valeurs['id_parent']));
+ if ($valeurs['id_parent']) {
+ $valeurs['id_parent'] = sql_getfetsel(
+ 'id_secteur',
+ 'spip_rubriques',
+ 'id_rubrique=' . intval($valeurs['id_parent'])
+ );
+ }
+
return $valeurs;
}
+
/**
- * Identifier le formulaire en faisant abstraction des parametres qui
- * ne representent pas l'objet edite
- */
-function formulaires_editer_breve_identifier_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){
- return serialize(array(intval($id_breve),$lier_trad));
+ * Identifier le formulaire en faisant abstraction des paramètres qui
+ * ne representent pas l'objet édité
+ *
+ * @param int|string $id_breve
+ * Identifiant de la brève. 'new' pour une nouvelle brève.
+ * @param int $id_rubrique
+ * Identifiant de la rubrique parente (si connue)
+ * @param string $retour
+ * URL de redirection après le traitement
+ * @param int $lier_trad
+ * Identifiant de la brève que l'on cherche à traduire
+ * @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 brève, si connue
+ * @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_breve_identifier_dist(
+ $id_breve = 'new',
+ $id_rubrique = 0,
+ $retour = '',
+ $lier_trad = 0,
+ $config_fonc = 'breves_edit_config',
+ $row = array(),
+ $hidden = ''
+) {
+ return serialize(array(intval($id_breve), $lier_trad));
}
-// Choix par defaut des options de presentation
-function breves_edit_config($row)
-{
+/**
+ * Choix par défaut des options de présentation
+ *
+ * @param array $row
+ * Valeurs de la ligne SQL d'un mot, si connu
+ * return array
+ * Configuration pour le formulaire
+ */
+function breves_edit_config($row) {
global $spip_lang;
$config = $GLOBALS['meta'];
$config['langue'] = $spip_lang;
$config['restreint'] = ($row['statut'] == 'publie');
+
return $config;
}
-function formulaires_editer_breve_verifier_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){
+/**
+ * Vérification du formulaire d'édition d'une brève
+ *
+ * @see formulaires_editer_objet_verifier()
+ *
+ * @param int|string $id_breve
+ * Identifiant de la brève. 'new' pour une nouvelle brève.
+ * @param int $id_rubrique
+ * Identifiant de la rubrique parente (si connue)
+ * @param string $retour
+ * URL de redirection après le traitement
+ * @param int $lier_trad
+ * Identifiant de la brève que l'on cherche à traduire
+ * @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 brève, si connue
+ * @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_breve_verifier_dist(
+ $id_breve = 'new',
+ $id_rubrique = 0,
+ $retour = '',
+ $lier_trad = 0,
+ $config_fonc = 'breves_edit_config',
+ $row = array(),
+ $hidden = ''
+) {
// auto-renseigner le titre si il n'existe pas
- titre_automatique('titre',array('texte'));
+ titre_automatique('titre', array('texte'));
// on ne demande pas le titre obligatoire : il sera rempli a la volee dans editer_article si vide
- $erreurs = formulaires_editer_objet_verifier('breve',$id_breve,array('id_parent'));
+ $erreurs = formulaires_editer_objet_verifier('breve', $id_breve, array('id_parent'));
+
return $erreurs;
}
-// http://doc.spip.org/@inc_editer_article_dist
-function formulaires_editer_breve_traiter_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){
- return formulaires_editer_objet_traiter('breve',$id_breve,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden);
+/**
+ * Traitements du formulaire d'édition d'une brève
+ *
+ * @see formulaires_editer_objet_traiter()
+ *
+ * @param int|string $id_breve
+ * Identifiant de la brève. 'new' pour une nouvelle brève.
+ * @param int $id_rubrique
+ * Identifiant de la rubrique parente (si connue)
+ * @param string $retour
+ * URL de redirection après le traitement
+ * @param int $lier_trad
+ * Identifiant de la brève que l'on cherche à traduire
+ * @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 brève, si connue
+ * @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_breve_traiter_dist(
+ $id_breve = 'new',
+ $id_rubrique = 0,
+ $retour = '',
+ $lier_trad = 0,
+ $config_fonc = 'breves_edit_config',
+ $row = array(),
+ $hidden = ''
+) {
+ return formulaires_editer_objet_traiter(
+ 'breve',
+ $id_breve,
+ $id_rubrique,
+ $lier_trad,
+ $retour,
+ $config_fonc,
+ $row,
+ $hidden
+ );
}
-
-?>