4 if (!defined('_ECRIRE_INC_VERSION')) {
8 include_spip('inc/formidable');
9 include_spip('inc/config');
11 function formulaires_importer_formulaire_charger() {
15 // On va chercher toutes les fonctions d'importation existantes
16 $types_echange = echanges_formulaire_lister_disponibles();
17 $types_import = array();
18 foreach ($types_echange['importer'] as $type => $fonction) {
19 $types_import[$type] = _T("formidable:echanger_formulaire_${type}_importer");
22 $contexte['_types_import'] = $types_import;
27 function formulaires_importer_formulaire_verifier() {
33 function formulaires_importer_formulaire_traiter() {
36 if (!$_FILES['fichier']['error']) {
37 $type_import = _request('type_import');
38 $fichier = $_FILES['fichier']['tmp_name'];
40 $importer = charger_fonction('importer', "echanger/formulaire/$type_import", true);
43 $erreur_ou_id = $importer($fichier);
44 } catch (Exception
$e) {
45 $erreur_ou_id = $e->getMessage();
48 if (!is_numeric($erreur_ou_id)) {
49 $retours['message_erreur'] = $erreur_ou_id;
50 $retours['editable'] = true;
52 $id_formulaire = intval($erreur_ou_id);
53 // Tout a fonctionné. En fonction de la config, on attribue l'auteur courant
54 $auteurs = lire_config('formidable/analyse/auteur');
55 if ($auteurs == 'on') {
56 if ($id_auteur = session_get('id_auteur')) {
57 // association (par défaut) du formulaire et de l'auteur courant
58 objet_associer(array('formulaire'=>$id_formulaire), array('auteur'=>$id_auteur));
61 $retours['redirect'] = generer_url_ecrire('formulaire', "id_formulaire=$id_formulaire");