|
|
|
<?php
|
|
|
|
|
|
|
|
/***************************************************************************\
|
|
|
|
* SPIP, Systeme de publication pour l'internet *
|
|
|
|
* *
|
|
|
|
* 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. *
|
|
|
|
\***************************************************************************/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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');
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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']));
|
|
|
|
}
|
|
|
|
|
|
|
|
return $valeurs;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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 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['lignes'] = 8;
|
|
|
|
$config['langue'] = $spip_lang;
|
|
|
|
|
|
|
|
$config['restreint'] = ($row['statut'] == 'publie');
|
|
|
|
|
|
|
|
return $config;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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'));
|
|
|
|
// 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'));
|
|
|
|
|
|
|
|
return $erreurs;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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);
|
|
|
|
}
|