CreateConfigurableAction.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\UI\Admin\ProductConfiguration\Forms;
  3. use ThurData\Servers\KerioEmail\App\UI\Admin\Custom\Forms\BaseFormExtended;
  4. use ThurData\Servers\KerioEmail\App\UI\Admin\ProductConfiguration\Providers\ConfigurableOptionManager;
  5. use function ThurData\Servers\KerioEmail\Core\Helper\di;
  6. use ThurData\Servers\KerioEmail\Core\UI\Interfaces\AdminArea;
  7. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\BaseForm;
  8. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Switcher;
  9. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\FormConstants;
  10. /**
  11. * Class CreateConfigurableAction
  12. * User: Nessandro
  13. * Date: 2019-09-29
  14. * Time: 15:31
  15. */
  16. class CreateConfigurableAction extends BaseFormExtended implements AdminArea
  17. {
  18. protected $id = 'createConfigurableAction';
  19. protected $name = 'createConfigurableAction';
  20. protected $title = 'createConfigurableAction';
  21. public function initContent()
  22. {
  23. $lang = di('lang');
  24. $lang->addReplacementConstant('configurableOptionsNameUrl', '<a style=" color: #31708f; text-decoration: underline;" href="https://docs.whmcs.com/Addons_and_Configurable_Options" target="blank">here</a>');
  25. $this->addInternalAlert($lang->absoluteT('configurableOptionsWhmcsInfo'), 'info', null, true);
  26. $this->setFormType(FormConstants::CREATE);
  27. $this->setProvider(new ConfigurableOptionManager());
  28. $this->loadDataToForm();
  29. $dataProvider = $this->getFormData();
  30. if (is_array($dataProvider['fields']))
  31. {
  32. foreach ($dataProvider['fields'] as $key => $name)
  33. {
  34. $this->addField((new Switcher($key))->setDefaultValue('on')->setRawTitle($key.'|'.$name));
  35. }
  36. }
  37. $this->loadDataToForm();
  38. }
  39. }