GeneralSection.php 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\UI\Client\Setting\Sections;
  3. use ThurData\Servers\KerioEmail\App\Traits\FormExtendedTrait;
  4. use ThurData\Servers\KerioEmail\App\UI\Admin\Custom\Sections\FreeFieldsSection;
  5. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Select;
  6. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Text;
  7. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\BaseField;
  8. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Sections\InputGroup;
  9. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\InputGroupElements;
  10. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Hidden;
  11. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Textarea;
  12. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Info;
  13. use ThurData\Servers\KerioEmail\Core\Helper\DnsHelper;
  14. /**
  15. *
  16. * Created by PhpStorm.
  17. * User: ThurData
  18. * Date: 12.11.19
  19. * Time: 13:39
  20. * Class GeneralSection
  21. */
  22. class GeneralSection extends FreeFieldsSection
  23. {
  24. protected $id = 'generalSection';
  25. protected $name = 'generalSection';
  26. use FormExtendedTrait;
  27. public function initContent()
  28. {
  29. $maildomain = $this->getRequestValue('actionElementId');
  30. $dns = new DnsHelper();
  31. if($dns->selfDns($maildomain)) {
  32. $infodns = new Info('infodns');
  33. $infodns->setId('infodns');
  34. $infodns->setName('infodns');
  35. $infodns->setDescription('infodnsmessage');
  36. $this->addField($infodns);
  37. } else {
  38. $infoextdns = new Info('infoextdns');
  39. $infoextdns->setId('infoextdns');
  40. $infoextdns->setName('infoextdns');
  41. $infoextdns->setDescription('infoextdnsmessage');
  42. $this->addField($infoextdns);
  43. }
  44. $mxthurdata = new Text('mxthurdata');
  45. $mxthurdata->addHtmlAttribute('readonly','true');
  46. $mxthurdata->setDescription('description');
  47. $mxactive = new Text('mxactive');
  48. $mxactive->addHtmlAttribute('readonly','true');
  49. $mxactive->setDescription('description');
  50. $this->generateDoubleSection([$mxthurdata, $mxactive]);
  51. $spfthurdata = new Text('spfthurdata');
  52. $spfthurdata->addHtmlAttribute('readonly','true');
  53. $spfthurdata->setDescription('description');
  54. $spf = new Text('spf');
  55. $spf->addHtmlAttribute('readonly','true');
  56. $spf->setDescription('description');
  57. $this->generateDoubleSection([$spfthurdata, $spf]);
  58. $dmarcthurdata = new Text('dmarcthurdata');
  59. $dmarcthurdata->addHtmlAttribute('readonly','true');
  60. $dmarcthurdata->setDescription('description');
  61. $dmarc = new Text('dmarc');
  62. $dmarc->addHtmlAttribute('readonly','true');
  63. $dmarc->setDescription('description');
  64. $this->generateDoubleSection([$dmarcthurdata, $dmarc]);
  65. $dkimname = new Text('dkimname');
  66. $dkimname->addHtmlAttribute('readonly','true')->addHtmlAttribute('border', 0);
  67. $dkimname->setDescription('description');
  68. $this->generateDoubleSection([$dkimname]);
  69. $dkimthurdata = new Text('dkimthurdata');
  70. $dkimthurdata->addHtmlAttribute('readonly','true');
  71. $dkimthurdata->setDescription('description');
  72. $dkim = new Text('dkim');
  73. $dkim->addHtmlAttribute('readonly','true');
  74. $dkim->setDescription('description');
  75. $this->generateDoubleSection([$dkimthurdata, $dkim]);
  76. $this->generateDoubleSection([new Hidden('infomaildomain'), new Hidden('id')]);
  77. $this->generateDoubleSection([new Hidden('selfdns'), new Hidden('dnsok')]);
  78. }
  79. }