AddOptions.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxVps\Packages\WhmcsService\UI\ConfigurableOption\Forms;
  3. use ModulesGarden\Servers\ProxmoxVps\Core\Traits\Lang;
  4. use ModulesGarden\Servers\ProxmoxVps\Core\UI\Helpers\AlertTypesConstants;
  5. use ModulesGarden\Servers\ProxmoxVps\Core\UI\Interfaces\AdminArea;
  6. use ModulesGarden\Servers\ProxmoxVps\Core\UI\Widget\Forms\BaseForm;
  7. use ModulesGarden\Servers\ProxmoxVps\Core\UI\Widget\Forms\Fields\Switcher;
  8. use ModulesGarden\Servers\ProxmoxVps\Core\UI\Widget\Forms\FormConstants;
  9. use ModulesGarden\Servers\ProxmoxVps\Packages\WhmcsService\Config\Enum;
  10. use ModulesGarden\Servers\ProxmoxVps\Packages\WhmcsService\UI\ConfigurableOption\Providers\Options;
  11. use ModulesGarden\Servers\ProxmoxVps\Packages\WhmcsService\Traits\ConfigurableOptionsConfig;
  12. class AddOptions extends BaseForm implements AdminArea
  13. {
  14. use ConfigurableOptionsConfig;
  15. use Lang;
  16. protected $id = 'addOptionsForm';
  17. protected $name = 'addOptionsForm';
  18. protected $title = 'addOptionsFormTitle';
  19. public function initContent()
  20. {
  21. $provider = new Options();
  22. $this->setProvider($provider);
  23. $this->setFormType(FormConstants::CREATE);
  24. $this->loadLang();
  25. $this->lang->addReplacementConstant('configurableOptionsNameUrl', '<a style=" color: #31708f; text-decoration: underline;" href="https://docs.whmcs.com/Addons_and_Configurable_Options" target="blank">here</a>');
  26. $this->addInternalAlert('configurableOptionsNameInfo', AlertTypesConstants::INFO, AlertTypesConstants::SMALL);
  27. $this->loadConfigurableOptionsList();
  28. foreach ($this->configOptionsList as $configOption)
  29. {
  30. $rawName = $this->trimConfigOptionName($configOption[Enum::OPTION_NAME]);
  31. $field = new Switcher($rawName);
  32. $field->setRawTitle($configOption[Enum::OPTION_NAME]);
  33. $field->addGroupName('configOptions');
  34. $field->setDefaultValue('on');
  35. $this->addField($field);
  36. }
  37. $this->loadDataToForm();
  38. }
  39. }