You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
211 lines
6.3 KiB
211 lines
6.3 KiB
<?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); |
|
}
|
|
|