cfe9a862c8be998dce76506cd2799a029f6c7969
4 if (!defined('_ECRIRE_INC_VERSION')) {
8 include_spip('inc/config');
11 * Dupliquer un formulaire
12 * @param unknown_type $arg
13 * @return unknown_type
15 function action_dupliquer_formulaire_dist($arg = null) {
17 $securiser_action = charger_fonction('securiser_action', 'inc');
18 $arg = $securiser_action();
20 $id_formulaire = intval($arg);
22 // Si le formulaire existe bien
23 if ($id_formulaire > 0
24 and $formulaire = sql_fetsel('*', 'spip_formulaires', 'id_formulaire = '.$id_formulaire)) {
25 include_spip('action/editer_formulaire');
26 // On enlève les champs inutiles
27 unset($formulaire['id_formulaire']);
28 // On modifie un peu le titre
29 $formulaire['titre'] = $formulaire['titre'].' '._T('formidable:formulaires_dupliquer_copie');
30 // On s'assure que l'identifiant n'existe pas déjà
31 $formulaire['identifiant'] = $formulaire['identifiant'].'_'.time();
32 // On insère un nouveau formulaire
33 $id_formulaire = insert_formulaire();
34 // Si ça a marché on modifie les champs de base
35 if ($id_formulaire > 0
36 and !($erreur = formulaire_set($id_formulaire, $formulaire))) {
37 // Et ensuite les saisies et les traitements
41 'saisies' => $formulaire['saisies'],
42 'traitements' => $formulaire['traitements']
44 'id_formulaire = '.$id_formulaire
46 // Tout a fonctionné. En fonction de la config, on attribue l'auteur courant
47 $auteurs = lire_config('formidable/analyse/auteur');
48 if ($auteurs == 'on') {
49 if ($id_auteur = session_get('id_auteur')) {
50 // association (par défaut) du formulaire et de l'auteur courant
51 objet_associer(array('formulaire'=>$id_formulaire), array('auteur'=>$id_auteur));
54 // Et on redirige vers la vue
55 $redirect = parametre_url(generer_url_ecrire('formulaire'), 'id_formulaire', $id_formulaire, '&');
57 // Sinon on reste sur la page qui liste tout
58 $redirect = generer_url_ecrire('formulaires');
62 // Si on a précisé une direction on va plutôt là
63 if (_request('redirect')) {
64 $redirect = parametre_url(
65 urldecode(_request('redirect')),
73 include_spip('inc/headers');
74 redirige_par_entete($redirect);