SOAAdapter.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace MGModule\DNSManager2\mgLibs\custom\dns\submodules\PowerDNSv4\Adapters;
  3. use MGModule\DNSManager2\mgLibs\custom\dns\record\type\SOA;
  4. use MGModule\DNSManager2\mgLibs\custom\helpers\IdnaHelper;
  5. class SOAAdapter extends AbstractPowerDNSv4Adapter
  6. {
  7. /**
  8. * @param string $content
  9. */
  10. public function createRdata( $content )
  11. {
  12. $contentArray = explode(' ', $content);
  13. $this->rdata = new SOA();
  14. $this->rdata->mname = IdnaHelper::idnaDecode($contentArray[0]);
  15. $this->rdata->rname = IdnaHelper::idnaDecode($contentArray[1]);
  16. $this->rdata->serial = $contentArray[2];
  17. $this->rdata->refresh = $contentArray[3];
  18. $this->rdata->retry = $contentArray[4];
  19. $this->rdata->expire = $contentArray[5];
  20. $this->rdata->minimum = $contentArray[6];
  21. }
  22. /**
  23. * @param SOA $rdata
  24. *
  25. * @return string
  26. */
  27. public function parseContentToApiFormat( $rdata )
  28. {
  29. $content = [
  30. $this->contentToAbsolute(IdnaHelper::idnaEncode($rdata->mname)),
  31. $this->contentToAbsolute(IdnaHelper::idnaEncode($rdata->rname)),
  32. $rdata->serial,
  33. $rdata->refresh,
  34. $rdata->retry,
  35. $rdata->expire,
  36. $rdata->minimum,
  37. ];
  38. return implode(' ', $content);
  39. }
  40. }