Your IP : 216.73.217.68


Current Path : /home/atelierpru/www/OLD/plugins/auto/formidable/v3.37.1/action/
Upload File :
Current File : /home/atelierpru/www/OLD/plugins/auto/formidable/v3.37.1/action/dupliquer_formulaire.php

<?php

// Sécurité
if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

include_spip('inc/config');

/**
 * Dupliquer un formulaire
 * @param unknown_type $arg
 * @return unknown_type
 */
function action_dupliquer_formulaire_dist($arg = null) {
	if (is_null($arg)) {
		$securiser_action = charger_fonction('securiser_action', 'inc');
		$arg = $securiser_action();
	}
	$id_formulaire = intval($arg);

	// Si le formulaire existe bien
	if ($id_formulaire > 0
		and $formulaire = sql_fetsel('*', 'spip_formulaires', 'id_formulaire = '.$id_formulaire)) {
		include_spip('action/editer_formulaire');
		// On enlève les champs inutiles
		unset($formulaire['id_formulaire']);
		// On modifie un peu le titre
		$formulaire['titre'] = $formulaire['titre'].' '._T('formidable:formulaires_dupliquer_copie');
		// On s'assure que l'identifiant n'existe pas déjà
		$formulaire['identifiant'] = $formulaire['identifiant'].'_'.time();
		// On insère un nouveau formulaire
		$id_formulaire = insert_formulaire();
		// Si ça a marché on modifie les champs de base
		if ($id_formulaire > 0
			and !($erreur = formulaire_set($id_formulaire, $formulaire))) {
			// Et ensuite les saisies et les traitements
			sql_updateq(
				'spip_formulaires',
				array(
					'saisies' => $formulaire['saisies'],
					'traitements' => $formulaire['traitements']
				),
				'id_formulaire = '.$id_formulaire
			);
			// Tout a fonctionné. En fonction de la config, on attribue l'auteur courant
			$auteurs = lire_config('formidable/auteur');
			if ($auteurs == 'on') {
				if ($id_auteur = session_get('id_auteur')) {
					// association (par défaut) du formulaire et de l'auteur courant
					objet_associer(array('formulaire'=>$id_formulaire), array('auteur'=>$id_auteur));
				}
			}
			// Et on redirige vers la vue
			$redirect = parametre_url(generer_url_ecrire('formulaire'), 'id_formulaire', $id_formulaire, '&');
		} else {
			// Sinon on reste sur la page qui liste tout
			$redirect = generer_url_ecrire('formulaires');
		}
	}

	// Si on a précisé une direction on va plutôt là
	if (_request('redirect')) {
		$redirect = parametre_url(
			urldecode(_request('redirect')),
			'id_formulaire',
			$id_formulaire,
			'&'
		) . $erreur;
	}

	// On redirige
	include_spip('inc/headers');
	redirige_par_entete($redirect);
}