SRVAdapter.php 1.1 KB

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