⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
olasjoys
/
src
/
Core
/
Form
/
View File Name :
FormHandler.php
<?php /** * Copyright since 2007 PrestaShop SA and Contributors * PrestaShop is an International Registered Trademark & Property of PrestaShop SA * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.md. * It is also available through the world-wide-web at this URL: * https://opensource.org/licenses/OSL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to https://devdocs.prestashop.com/ for more information. * * @author PrestaShop SA and Contributors <contact@prestashop.com> * @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Form; use Exception; use PrestaShop\PrestaShop\Core\Hook\HookDispatcherInterface; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException; /** * Complete implementation of FormHandlerInterface. * * @deprecated since 1.7.8, will be removed in the next major version, use Handler.php instead */ class FormHandler implements FormHandlerInterface { /** * @var FormBuilderInterface the form builder */ protected $formBuilder; /** * @var FormDataProviderInterface the form data provider */ protected $formDataProvider; /** * @var HookDispatcherInterface the event dispatcher */ protected $hookDispatcher; /** * @var string the hook name */ protected $hookName; /** * @var array the list of Form Types */ protected $formTypes; /** * @var string the form name */ protected $formName; /** * FormHandler constructor. * * @param FormBuilderInterface $formBuilder * @param HookDispatcherInterface $hookDispatcher * @param FormDataProviderInterface $formDataProvider * @param array $formTypes * @param string $hookName * @param string $formName */ public function __construct( FormBuilderInterface $formBuilder, HookDispatcherInterface $hookDispatcher, FormDataProviderInterface $formDataProvider, array $formTypes, $hookName, $formName = 'form' ) { $this->formName = $formName; $this->formBuilder = $formBuilder->getFormFactory()->createNamedBuilder($formName); $this->hookDispatcher = $hookDispatcher; $this->formDataProvider = $formDataProvider; $this->formTypes = $formTypes; $this->hookName = $hookName; } /** * {@inheritdoc} * * @throws Exception */ public function getForm() { foreach ($this->formTypes as $formName => $formType) { $this->formBuilder->add($formName, $formType); } $this->formBuilder->setData($this->formDataProvider->getData()); $this->hookDispatcher->dispatchWithParameters( "action{$this->hookName}Form", [ 'form_builder' => &$this->formBuilder, ] ); return $this->formBuilder->getForm(); } /** * {@inheritdoc} * * @throws Exception * @throws UndefinedOptionsException */ public function save(array $data) { $errors = $this->formDataProvider->setData($data); $this->hookDispatcher->dispatchWithParameters( "action{$this->hookName}Save", [ 'errors' => &$errors, 'form_data' => &$data, ] ); return $errors; } }