Your IP : 216.73.217.68


Current Path : /home/atelierpru/www/OLD/plugins/auto/formidable/v3.37.1/echanger/formulaire/
Upload File :
Current File : /home/atelierpru/www/OLD/plugins/auto/formidable/v3.37.1/echanger/formulaire/yaml.php

<?php

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

function echanger_formulaire_yaml_exporter_dist($id_formulaire) {
	include_spip('base/abstract_sql');
	include_spip('inc/yaml');
	$id_formulaire = intval($id_formulaire);
	$export = '';

	if ($id_formulaire > 0) {
		// On récupère le formulaire
		$formulaire = sql_fetsel(
			'*',
			'spip_formulaires',
			'id_formulaire = '.$id_formulaire
		);

		// On décompresse les trucs sérialisés
		$formulaire['saisies'] = unserialize($formulaire['saisies']);
		$formulaire['traitements'] = unserialize($formulaire['traitements']);

		// On envode en yaml
		$export = yaml_encode($formulaire);
	}

	Header('Content-Type: text/x-yaml;');
	Header('Content-Disposition: attachment; filename=formulaire-'.$formulaire['identifiant'].'.yaml');
	Header('Content-Length: '.strlen($export));
	echo $export;
	exit();
}

function echanger_formulaire_yaml_importer_dist($fichier) {

	// Initialisation
	$id_formulaire = 0;
	$erreur = '';

	// Si on a bien recupere une chaine on tente de la decoder
	if (lire_fichier($fichier, $yaml) and $yaml) {
		include_spip('inc/yaml');
		$formulaire = yaml_decode($yaml);
		// Si le decodage marche on importe alors le contenu
		if (is_array($formulaire)) {
			include_spip('action/editer_formulaire');
			// On enlève les champs inutiles
			unset($formulaire['id_formulaire']);
			// On vérifie que l'identifiant n'existe pas déjà
			$deja = sql_getfetsel(
				'id_formulaire',
				'spip_formulaires',
				'identifiant = '.sql_quote($formulaire['identifiant'])
			);
			if ($deja) {
				$formulaire['identifiant'] .= '_'.date('Ymd_His');
			}

			// On insère un nouveau formulaire
			$id_formulaire = formulaire_inserer();
			// Si ça a marché on transforme les tableaux et on modifie les champs
			if ($id_formulaire > 0) {
				if (is_array($formulaire['saisies'])) {
					$formulaire['saisies'] = serialize($formulaire['saisies']);
				}
				if (is_array($formulaire['traitements'])) {
					$formulaire['traitements'] = serialize($formulaire['traitements']);
				}

				$erreur = formulaire_modifier($id_formulaire, $formulaire);
			}
		}
	}

	if ($id_formulaire and !$erreur) {
		return $id_formulaire;
	} else {
		return _T('formidable:erreur_importer_yaml').' : '.$erreur;
	}
}