Valider 4cc42fa8 rédigé par RastaPopoulos's avatar RastaPopoulos
Parcourir les fichiers

Réparer l'utilisation pour le noizetier actuel, dont editer_noisette est passé...

Réparer l'utilisation pour le noizetier actuel, dont editer_noisette est passé dans n-core en API saisies complète. Ça n'améliore rien pour l'instant, il faut toujours aller configurer au moins une fois car pas de préremplissage correct, mais au moins ça remarche !
parent afab5778
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+43 −21
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -40,28 +40,28 @@ function noizetier_layout_formulaire_fond($flux) {


/**
 * Modifier le tableau de valeurs envoyé par la fonction charger d’un formulaire CVT
 * Modifier les saisies
 *
 * => Édition de noisette : ajout des saisies pour le layout
 *
 * @param array $flux
 * @return array
 */
function noizetier_layout_formulaire_charger($flux) {

function noizetier_layout_formulaire_saisies($flux) {
	if (
		noizetier_layout_grille()
		and $flux['args']['form'] == 'editer_noisette'
		and $id_noisette = $flux['args']['args'][0]
		and $id_noisette = intval($flux['args']['args'][1])
		and include_spip('inc/noizetier_layout')
		and $elements_grille = noizetier_layout_identifier_element_grille($id_noisette)
	) {

		include_spip('inc/saisies');
		include_spip('inc/ncore_noisette');
		$noisette = noisette_lire($flux['args']['args'][0], $id_noisette);
		
		// Des fois que...
		if (empty($flux['data']['_champs_noisette'])) {
			$flux['data']['_champs_noisette'] = array();
		if (empty($flux['data'])) {
			$flux['data'] = array();
		}

		// Ajout des saisies pour tous les types d'éléments de la grille
@@ -69,52 +69,74 @@ function noizetier_layout_formulaire_charger($flux) {
		// On ajoute aussi les saisies communes à tous les éléments.
		$elements_grille[] = '*';
		foreach ($elements_grille as $element) {

			// Ajout des saisies
			$saisies = noizetier_layout_lister_saisies($element, $id_noisette);
			$type_noisette = $flux['data']['type_noisette'];
			$type_noisette = $noisette['type_noisette'];
			
			switch ($type_noisette) {
				// Pour certaines noisette, directement à la racine
				case 'conteneur':
					$flux['data']['_champs_noisette'] = array_merge($flux['data']['_champs_noisette'], $saisies);
					$flux['data'] = array_merge($flux['data'], $saisies);
					break;
				// Pour les autres dans un fieldset « Affichage »
				default:
					// Soit il y en a déjà un
					$fieldset_affichage = false;
					foreach ($flux['data']['_champs_noisette'] as $k => $saisie) {
					foreach ($flux['data'] as $k => $saisie) {
						if (
							$saisie['saisie'] === 'fieldset'
							and $saisie['options']['nom'] === 'affichage'
							and $saisie['options']['nom'] === 'fieldset_affichage'
						) {
							$fieldset_affichage = true;
							$flux['data']['_champs_noisette'][$k]['saisies'] = array_merge($flux['data']['_champs_noisette'][$k]['saisies'], $saisies);
							$flux['data'][$k]['saisies'] = array_merge($flux['data'][$k]['saisies'], $saisies);
							break;
						}
					}
					// Soit on ajoute le fieldset nous-même
					if (!$fieldset_affichage) {
						$flux['data']['_champs_noisette'][] = array(
						$flux['data'][] = array(
							'saisie' => 'fieldset',
							'options' => array(
								'nom' => 'affichage',
								'nom' => 'fieldset_affichage',
								'label' => _T('noizetier_layout:champ_fieldset_affichage_label'),
								'pliable' => 'oui',
								'plie' => '',
								'onglet' => 'oui',
							),
							'saisies' => $saisies,
						);
					}
					break;
			}
		}
	}
	
	return $flux;
}


/**
 * Modifier le tableau de valeurs envoyé par la fonction charger d’un formulaire CVT
 *
 * => Édition de noisette : ajout des valeurs pour le layout
 *
 * @param array $flux
 * @return array
 */
function noizetier_layout_formulaire_charger($flux) {
	if (
		noizetier_layout_grille()
		and $flux['args']['form'] == 'editer_noisette'
		and $id_noisette = $flux['args']['args'][0]
		and include_spip('inc/noizetier_layout')
		and $elements_grille = noizetier_layout_identifier_element_grille($id_noisette)
	) {
		$elements_grille[] = '*';
		foreach ($elements_grille as $element) {
			// Récupération des valeurs
			$parametre       = 'css_grid_' . $element;
			$classes_element = $flux['data'][$parametre];
			if ($contexte = noizetier_layout_contextualiser_classes($element, $classes_element, $id_noisette)) {
				$flux['data'] = array_merge($flux['data'], $contexte);
			}

		}
	}

@@ -136,7 +158,7 @@ function noizetier_layout_formulaire_traiter($flux) {
	if (
		noizetier_layout_grille()
		and $flux['args']['form'] == 'editer_noisette'
		and $id_noisette = $flux['args']['args'][0]
		and $id_noisette = $flux['args']['args'][1]
		and include_spip('inc/noizetier_layout')
		and $elements_grille = noizetier_layout_identifier_element_grille($id_noisette)
	) {
+3 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<paquet
	prefix="noizetier_layout"
	categorie="maintenance"
	version="0.1.12"
	version="0.2.0"
	schema="0.2.0"
	etat="dev"
	compatibilite="[3.2.0;3.2.*]"
@@ -13,6 +13,7 @@
	<copyright>2019</copyright>
	<licence>GPL v3</licence>

	<pipeline nom="formulaire_saisies" inclure="noizetier_layout_pipelines.php" />
	<pipeline nom="formulaire_charger" inclure="noizetier_layout_pipelines.php" />
	<pipeline nom="formulaire_traiter" inclure="noizetier_layout_pipelines.php" />
	<!-- <pipeline nom="formulaire_fond" inclure="noizetier_layout_pipelines.php" /> -->
@@ -21,6 +22,5 @@
	<pipeline nom="noizetier_layout_decrire_grille" action="" />
	<pipeline nom="noizetier_layout_saisies_grille" action="" />

	<necessite nom="noizetier" compatibilite="[3.0.82;]" />
	<necessite nom="ncore" compatibilite="[0.8.3;]" />
	<necessite nom="noizetier" compatibilite="[3.4.2;]" />
</paquet>