MXAdapter.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace MGModule\DNSManager2\mgLibs\custom\dns\submodules\PowerDNSv4\Adapters;
  3. use MGModule\DNSManager2\mgLibs\custom\dns\record\type\CNAME;
  4. use MGModule\DNSManager2\mgLibs\custom\dns\record\type\MX;
  5. use MGModule\DNSManager2\mgLibs\custom\dns\record\type\RecordTypeAbstract;
  6. use MGModule\DNSManager2\mgLibs\custom\helpers\IdnaHelper;
  7. class MXAdapter extends AbstractPowerDNSv4Adapter
  8. {
  9. /**
  10. * @param string $content
  11. */
  12. public function createRdata( $content )
  13. {
  14. $this->rdata = new MX();
  15. $contentArray = explode(' ', $content);
  16. $this->rdata->preference = $contentArray[0];
  17. $this->rdata->exchange = $this->contentToRelative(IdnaHelper::idnaDecode($contentArray[1]));
  18. }
  19. /**
  20. * @param MX $rdata
  21. * @return mixed
  22. */
  23. public function parseContentToApiFormat( $rdata )
  24. {
  25. $content = [
  26. $rdata->preference,
  27. $this->contentToAbsolute(IdnaHelper::idnaEncode($rdata->exchange))
  28. ];
  29. return implode(' ', $content);
  30. }
  31. }