KerioSettings.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\UI\Admin\ProductConfiguration\Pages\Sections;
  3. use ThurData\Servers\KerioEmail\App\Enums\Size;
  4. use ThurData\Servers\KerioEmail\App\UI\Admin\Custom\Fields\ExtendedInputField;
  5. use ThurData\Servers\KerioEmail\App\UI\Admin\Custom\Sections\BoxSectionExtended;
  6. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Select;
  7. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Switcher;
  8. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Text;
  9. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Sections\BoxSection;
  10. use ThurData\Servers\KerioEmail\Core\UI\Interfaces\AdminArea;
  11. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Sections\HalfPageSection;
  12. /**
  13. *
  14. * Created by PhpStorm.
  15. * User: ThurData
  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. $loginLink = new Text('login_link');
  54. $loginLink->setDescription('description');
  55. $leftSection->addField($loginLink);
  56. $field = new Switcher('outlook_connector');
  57. $field->setDescription('description');
  58. $leftSection->addField($field);
  59. $spf = new Text('spf_string');
  60. $spf->setDescription('description');
  61. $leftSection->addField($spf);
  62. return $leftSection;
  63. }
  64. /**
  65. * @description right section
  66. * @return HalfPageSection
  67. */
  68. public function getRightSection()
  69. {
  70. $right = new HalfPageSection('rightSide');
  71. $field = new ExtendedInputField('acc_size');
  72. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  73. $field->addHtmlAttribute('min', Size::UNLIMITED);
  74. $field->setDescription('description');
  75. $right->addField($field);
  76. $field = new ExtendedInputField('domain_alias_limit');
  77. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  78. $field->addHtmlAttribute('min', Size::UNLIMITED);
  79. $field->setDescription('description');
  80. $right->addField($field);
  81. $field = new ExtendedInputField('dist_list_limit');
  82. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  83. $field->addHtmlAttribute('min', Size::UNLIMITED);
  84. $field->setDescription('description');
  85. $right->addField($field);
  86. $field = new ExtendedInputField('domainMaxSize');
  87. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  88. $field->addHtmlAttribute('min', Size::UNLIMITED);
  89. $field->setDescription('description');
  90. $right->addField($field);
  91. $field = new ExtendedInputField('domainBaseSize');
  92. $field->setFieldType(ExtendedInputField::TYPE_NUMBER);
  93. $field->addHtmlAttribute('min', Size::UNLIMITED);
  94. $field->setDescription('description');
  95. $right->addField($field);
  96. $dmarc = new Text('dmarc_string');
  97. $dmarc->setDescription('description');
  98. $right->addField($dmarc);
  99. return $right;
  100. }
  101. }