AddEmailAliasForm.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\UI\Client\EmailAlias\Forms;
  3. use ThurData\Servers\KerioEmail\App\UI\Admin\Custom\Forms\SortedFieldForm;
  4. use ThurData\Servers\KerioEmail\App\UI\Client\EmailAlias\Providers\AddEmailAliasDataProvider;
  5. use ThurData\Servers\KerioEmail\Core\UI\Interfaces\ClientArea;
  6. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Select;
  7. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\FormConstants;
  8. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Sections\InputGroup;
  9. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\InputGroupElements;
  10. /**
  11. *
  12. * Created by PhpStorm.
  13. * User: ThurData
  14. * Date: 18.09.19
  15. * Time: 11:50
  16. * Class AddEmailAliasForm
  17. */
  18. class AddEmailAliasForm extends SortedFieldForm implements ClientArea
  19. {
  20. protected $id = 'addEmailAliasForm';
  21. protected $name = 'addEmailAliasForm';
  22. protected $title = 'addEmailAliasForm';
  23. public function initContent()
  24. {
  25. $this->setFormType(FormConstants::CREATE);
  26. $this->setProvider(new AddEmailAliasDataProvider());
  27. $this->initFields();
  28. $this->loadDataToForm();
  29. }
  30. public function initFields()
  31. {
  32. $email =new InputGroup('usernameGroup');
  33. $email->addTextField('aliasName', false, true);
  34. $email->addInputAddon('emailSign', false, '@');
  35. $email->addInputComponent((new InputGroupElements\Text('domain'))->addHtmlAttribute('readonly','true'));
  36. $this->addSection($email);
  37. $field = new Select('mailbox');
  38. $field->notEmpty();
  39. $this->addField($field);
  40. }
  41. }