Files
iTop/sources/Forms/FormBuilder/FormHelper.php
Benjamin Dalsass 4c1ad0f4f2 N°8772 - Form dependencies manager implementation
- Form SDK implementation
- Basic Forms
- Dynamics Forms
- Basic Blocks + Data Model Block
- Form Compilation
- Turbo integration
2025-12-30 11:42:55 +01:00

58 lines
1.3 KiB
PHP

<?php
namespace Combodo\iTop\Forms\FormBuilder;
use Symfony\Component\Form\Event\PostSetDataEvent;
use Symfony\Component\Form\Event\PostSubmitEvent;
use Symfony\Component\Form\Event\PreSubmitEvent;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
/**
* Form helper.
*
* @package Combodo\iTop\Forms\FormBuilder
* @since 3.3.0
*/
class FormHelper
{
/**
* Get the event type.
*
* @param FormEvent $event
*
* @return string
* @throws FormBuilderException
*/
public static function GetEventType(FormEvent $event): string
{
if ($event instanceof PostSetDataEvent) {
return FormEvents::POST_SET_DATA;
} elseif ($event instanceof PostSubmitEvent) {
return FormEvents::POST_SUBMIT;
} elseif ($event instanceof PreSubmitEvent) {
return FormEvents::PRE_SUBMIT;
}
throw new FormBuilderException(sprintf('Unknown event type %s', get_class($event)));
}
public static function CompareArrayValues($mValue1, $mValue2): int
{
if (is_array($mValue1) && is_array($mValue2)) {
if (count($mValue1) !== count($mValue2)) {
return 1;
}
$aDiff = array_udiff_assoc($mValue1, $mValue2, [FormHelper::class, 'CompareArrayValues']);
return count($aDiff);
}
if ($mValue1 === $mValue2) {
return 0;
}
return 1;
}
}