KerioSettings.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace ModulesGarden\Servers\KerioEmail\App\UI\Admin\ProductConfiguration\Pages\Sections;
  3. use ModulesGarden\Servers\KerioEmail\App\Enums\Size;
  4. use ModulesGarden\Servers\KerioEmail\App\UI\Admin\Custom\Fields\ExtendedInputField;
  5. use ModulesGarden\Servers\KerioEmail\App\UI\Admin\Custom\Sections\BoxSectionExtended;
  6. use ModulesGarden\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Select;
  7. use ModulesGarden\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Switcher;
  8. use ModulesGarden\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Text;
  9. use ModulesGarden\Servers\KerioEmail\Core\UI\Widget\Forms\Sections\BoxSection;
  10. use ModulesGarden\Servers\KerioEmail\Core\UI\Interfaces\AdminArea;
  11. use ModulesGarden\Servers\KerioEmail\Core\UI\Widget\Forms\Sections\HalfPageSection;
  12. /**
  13. *
  14. * Created by PhpStorm.
  15. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  16. * Date: 28.08.19
  17. * Time: 09:15
  18. * Class KerioSettingsSection
  19. */
  20. class KerioSettings extends BoxSectionExtended implements AdminArea
  21. {
  22. protected $id = 'kerioSettings';
  23. protected $name = 'kerioSettings';
  24. protected $title = 'kerioSettings';
  25. public function initContent()
  26. {
  27. $this
  28. ->addSection($this->getLeftSection())
  29. ->addSection($this->getRightSection());
  30. }
  31. /**
  32. * @description left section
  33. * @return HalfPageSection
  34. */
  35. public function getLeftSection()
  36. {
  37. $leftSection = new HalfPageSection('leftSide');
  38. $field = new ExtendedInputField('acc_limit');
  39. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  40. $field->addHtmlAttribute('min', Size::UNLIMITED);
  41. $field->setDescription('description');
  42. $leftSection->addField($field);
  43. $field = new ExtendedInputField('acc_base');
  44. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  45. $field->addHtmlAttribute('min', Size::UNLIMITED);
  46. $field->setDescription('description');
  47. $leftSection->addField($field);
  48. $field = new ExtendedInputField('alias_limit');
  49. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  50. $field->addHtmlAttribute('min', Size::UNLIMITED);
  51. $field->setDescription('description');
  52. $leftSection->addField($field);
  53. $field = new Select('cos_name');
  54. $field->addHtmlAttribute('onChange','hiddeSections(event)');
  55. $field->setDescription('description');
  56. $leftSection->addField($field);
  57. $loginLink = new Text('login_link');
  58. $loginLink->setDescription('description');
  59. $leftSection->addField($loginLink);
  60. $field = new Switcher('filterAccountsByCOS');
  61. $field->setDescription('description');
  62. $leftSection->addField($field);
  63. return $leftSection;
  64. }
  65. /**
  66. * @description right section
  67. * @return HalfPageSection
  68. */
  69. public function getRightSection()
  70. {
  71. $right = new HalfPageSection('rightSide');
  72. $field = new ExtendedInputField('acc_size');
  73. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  74. $field->addHtmlAttribute('min', Size::UNLIMITED);
  75. $field->setDescription('description');
  76. $right->addField($field);
  77. $field = new ExtendedInputField('domain_alias_limit');
  78. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  79. $field->addHtmlAttribute('min', Size::UNLIMITED);
  80. $field->setDescription('description');
  81. $right->addField($field);
  82. $field = new ExtendedInputField('dist_list_limit');
  83. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  84. $field->addHtmlAttribute('min', Size::UNLIMITED);
  85. $field->setDescription('description');
  86. $right->addField($field);
  87. $field = new ExtendedInputField('domainMaxSize');
  88. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  89. $field->addHtmlAttribute('min', Size::UNLIMITED);
  90. $field->setDescription('description');
  91. $right->addField($field);
  92. $field = new ExtendedInputField('domainBaseSize');
  93. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  94. $field->addHtmlAttribute('min', Size::UNLIMITED);
  95. $field->setDescription('description');
  96. $right->addField($field);
  97. return $right;
  98. }
  99. }