Your IP : 216.73.217.68


Current Path : /home/atelierpru/provence/plugins/auto/saisies/v3.21.4/formulaires/
Upload File :
Current File : /home/atelierpru/provence/plugins/auto/saisies/v3.21.4/formulaires/construire_formulaire.html

<div class="formulaire_spip formulaire_editer formulaire_#ENV{form}[ (#ENV{formulaire_modifie}|oui) modifie]">
	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
	<p id="message_attention" class="message_reinitialiser reponse_formulaire reponse_formulaire_ok">#ENV*{_message_attention}</p>
	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]

	<BOUCLE_editable(CONDITION){si #ENV{editable}|oui}>
	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
		[(#REM) declarer les hidden qui declencheront le service du formulaire
		parametre : url d'action ]
		#ACTION_FORMULAIRE{#ENV{action}}
		<input type="submit" class="submit noscroll invisible" name="enregistrer" value="<:bouton_enregistrer:>" />
		
		[(#ENV{_activer_options_globales}|oui)
			[(#ENV{erreurs/configurer_globales}|non)
			<div class="actions">
				<button type="submit" class="submit" name="configurer_globales" value="oui">
					<:saisies:construire_configurer_globales_label:>
				</button>
			</div>
			]
			[(#ENV{erreurs/configurer_globales}|oui)
			<[(#DIV|sinon{ul})] class="editer-groupe en_configuration">
				#GENERER_SAISIES{#ENV{erreurs/configurer_globales}}
				
				<[(#DIV|sinon{li})] class="boutons">
					<input type="hidden" name="enregistrer_globales" value="oui" />
					<button type="submit" class="submit link noscroll" name="enregistrer_globales" value=""><:bouton_annuler:></button>
					<input type="submit" class="submit noscroll" name="enregistrer" value="<:bouton_valider:>" />
				</[(#DIV|sinon{li})]>
			</[(#DIV|sinon{ul})]>
			]
		]
		
		<[(#DIV|sinon{ul})] class="editer-groupe" id="deplacable">
			<[(#DIV|sinon{li})] id="reinitialiser" class="actions_formulaire">
				<button type="submit" class="submit" name="reinitialiser" value="oui" onclick="return confirm('<:saisies:construire_reinitialiser_confirmer:>')">
					<img src="#CHEMIN{images/formulaire-reinitialiser-24.png}" alt="" />
					<:saisies:construire_reinitialiser:>
				</button>
			</[(#DIV|sinon{li})]>

			[(#REM)<!-- les choix de saisies -->]
			<BOUCLE_contenu(DATA){source tableau, #ENV{_contenu}}>
			[(#VAL{saisie}|array_key_exists{#VALEUR}|oui)
				[(#VALEUR**|construire_formulaire_generer_saisie_configurable{#ENV**|unserialize})]
			]
			</BOUCLE_contenu>
			<[(#DIV|sinon{li})] class="aucun"><em class="attention"><:saisies:construire_aucun_champs:></em></[(#DIV|sinon{li})]>
			<//B_contenu>

			<B_saisies_disponibles>
			<[(#DIV|sinon{li})] class="editer haut saisies_disponibles" id="attrapable">
				<label><:saisies:construire_ajouter_champ:></label>
				<BOUCLE_saisies_disponibles(DATA){source tableau, #ENV{_saisies_disponibles}}{par titre}>
				<button type="submit" name="ajouter_saisie" value="#CLE" class="submit noscroll ajouter_saisie"[ title="(#DESCRIPTION)"] [style="background-image:url((#ICONE|sinon{#CHEMIN{images/formulaire-saisie-defaut.png}}))"]>
					<span>#TITRE</span>
				</button>
				</BOUCLE_saisies_disponibles>
			</[(#DIV|sinon{li})]>
			</B_saisies_disponibles>

			<B_saisies_groupes_disponibles>
			<[(#DIV|sinon{li})] class="editer haut saisies_groupes_disponibles" id="attrapable_bis">
				<label><:saisies:construire_ajouter_groupe:></label>
				<BOUCLE_saisies_groupes_disponibles(DATA){source tableau, #ENV{_saisies_groupes_disponibles}}{par titre}>
				<button type="submit" name="ajouter_groupe_saisie" value="#CLE" class="submit noscroll ajouter_saisie"[ title="(#DESCRIPTION)"] [style="background-image:url((#ICONE|sinon{#CHEMIN{images/formulaire-saisie-defaut.png}}))"]>
					<span>#TITRE</span>
				</button>
				</BOUCLE_saisies_groupes_disponibles>
			</[(#DIV|sinon{li})]>
			</B_saisies_groupes_disponibles>
		</[(#DIV|sinon{ul})]>


		[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
		<!--extra-->

		<span class='image_loading'></span>
	</div></form>

	<style>
		.message_reinitialiser,#reinitialiser {display: none}
		.modifie .message_reinitialiser,.modifie #reinitialiser {display: block}
	</style>
	<script type="text/javascript">
	(function($){

		function formulaire_configurer_onglets() {
			var $formulaire_configurer = $('.formulaire_configurer');
			var $onglets = $('<ul class="formulaire_configurer-onglets"></ul>');
			var $contenus = $formulaire_configurer.find('> .editer-groupe > .fieldset');

			// On ajoute le conteneur des onglets
			$formulaire_configurer.prepend($onglets);

			// On parcourt les contenus pour générer les onglets
			$contenus.each(function(i){
				// On ajoute un identifiant et une classe
				$(this)
					.attr('id', 'formulaire_configurer-contenu-'+i)
					.addClass('formulaire_configurer-contenu');
				// On récupère le titre (en le cachant au passage)
				var titre = $(this).find('legend').eq(0).hide().text();

				// On crée un onglet
				var $onglet = $('<li><a href="#formulaire_configurer-contenu-'+i+'">'+titre+'</a></li>');
				$onglet
					.click(function(){
						$contenus.hide();
						$(
							$(this)
								.siblings()
									.removeClass('actif')
								.end()
								.addClass('actif')
								.find('a')
									.attr('href')
						).show();
						return false;
					});

				// On active le premier onglet au démarrage
				if (i == 0) {
					$onglet.addClass('actif');
				}

				// S'il y a des erreurs dans cette partie du contenu, on met une classe "erreurs" à l'onglet aussi
				if ($(this).find('.editer.erreur').length > 0) {
					$onglet.addClass('erreur');
				}

				// On ajoute l'onglet
				$onglets.append($onglet);
			})
			.hide()
			.eq(0)
				.show();
		}

		/* enlever les required */
		$('.formulaire_#FORM .editer.obligatoire').find('input, textarea, select').each(function(){
			if ($(this).prop('required')) {
				$(this).prop('required', false);
			}
		});

		$('.formulaire_#FORM .configurable')
			.hover(
				function(){
					$(this)
						.addClass('hover')
						.find('> .actions')
							.show()
						.end()
						.parents('li.configurable:not(.en_configuration)')
							.mouseout();
				},
				function(){
					if (!$(this).is('.en_configuration'))
						$(this)
							.removeClass('hover')
							.find('> .actions')
								.hide()
							.end()
							.parents('.configurable').eq('0')
								.mouseover();
				}
			)
			.filter(':not(.en_configuration)')
				.find('> .actions')
					.hide()
				.end()
			.end();

		// On lance la création des onglets
		formulaire_configurer_onglets();

		// Gérer la liste des vérifications
		$('.liste_verifications').each(function(){
			var $options = $(this).siblings('.options_verifier').hide();
			var $select  = $(this).find('select');

			$select
				.change(function(){
					var montrer = $(this).val() ? $(this).val() : 'soigfeg';
					$options.hide().filter('.'+montrer).show();
				})
				.change();
		});

		// On déplie toujours les fieldsets plés par défaut
		$('.fieldset.plie').each(function(){
			$(this)
				.removeClass('plie')
				.find('> fieldset > .editer-groupe').show();
		});

		[(#ENV{erreurs}|non|et{#ENV{_jquery_ui_all}|ou{#ENV{_chemin_ui}}})
			var saisies_sortable = function() {
				$( "#deplacable, #deplacable .editer-groupe" ).sortable({
					revert: true,
					containment: '#deplacable',
					connectWith: "#deplacable, #deplacable .editer-groupe",
					placeholder: "ui-state-highlight",
					handle: '>.actions .deplacer_saisie',
					start: function(event, ui) {
						$('.ui-state-highlight')
							.css('height', ui.item.css('height'))
							.css('height', '+=20px');
					},
					update: function(event, ui) {
						id = ui.item.data('id');
						ou = ui.item.next().data('id');
						// avant le suivant
						if (!ou) {
							// sinon dans le parent
							ou = ui.item.closest('.fieldset').data('id');
							// Si jamais match lui-même, ca veut dire qu'on déplace un fieldest
							if (ou == id) {
								ou = ui.item.parents('.fieldset').first().data("id");
							}
							if (ou) {
								ou = '\[' + ou + '\]';
							}
						}
						url = "#URL_ECRIRE";
						$.get(url, {
							session: '#ENV{_identifiant_session}',
							action: 'deplacer_saisie',
							saisie: id,
							ou: ou
						}, function() {
							//$('input.vide').submit();
							$('.formulaire_#ENV{form}').addClass('modifie').trigger('modifsaisies');
						});
					}
				});
			}
			if (!$.fn.sortable) {
			[
				$.getScript("(#ENV{_jquery_ui_all})", function(){
			]
			[(#ENV{_chemin_ui}|oui)
				$.getScript("#CHEMIN{#ENV{_chemin_ui}core.js}", function(){
				$.getScript("#CHEMIN{#ENV{_chemin_ui}widget.js}", function(){
				$.getScript("#CHEMIN{#ENV{_chemin_ui}mouse.js}", function(){
				$.getScript("#CHEMIN{#ENV{_chemin_ui}sortable.js}", function(){
			]
					if ($.fn.sortable) {
						saisies_sortable();
					}
			});
			[(#ENV{_chemin_ui}|oui)
				});});});
			]
			} else {
				saisies_sortable();
			}
		]

	})(jQuery);
	</script>
	</BOUCLE_editable>
</div>