SRVAdapter.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace MGModule\DNSManager2\mgLibs\custom\dns\submodules\OpenProvider\Adapters;
  3. use MGModule\DNSManager2\mgLibs\custom\dns\record\Record;
  4. use MGModule\DNSManager2\mgLibs\custom\dns\submodules\OpenProvider\OPRecordAdapterType;
  5. class SRVAdapter extends Record
  6. {
  7. /**
  8. * SRVAdapter constructor.
  9. * @param Record $record
  10. */
  11. public function __construct( Record $record)
  12. {
  13. $this->line = $record->line;
  14. $this->name = $record->name;
  15. $this->type = 'SRV';
  16. $this->class = $record->class;
  17. $this->ttl = $record->ttl;
  18. $this->rdlength = $record->rdlength;
  19. $this->rdata = new OPRecordAdapterType();
  20. $this->rdata->priority = $record->rdata->priority;
  21. $this->rdata->weight = $record->rdata->weight;
  22. $this->rdata->port = $record->rdata->port;
  23. $this->rdata->target = $record->rdata->target;
  24. $this->absoluteName = $record->absoluteName;
  25. $this->customData = $record->customData;
  26. }
  27. public function toDnsManagerRecord($record)
  28. {
  29. $valueArray = explode(' ', $record['value'], 3);
  30. $templateData = [
  31. 'name' => $record['name'],
  32. 'type' => $record['type'],
  33. 'priority' => $record['prio'],
  34. 'ttl' => $record['ttl'],
  35. 'weight' => $valueArray[0],
  36. 'port' => $valueArray[1],
  37. 'target' => $valueArray[2],
  38. ];
  39. return Record::tryToCreateFromArray($templateData);
  40. }
  41. }