SOAAdapter.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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 SOAAdapter extends Record
  6. {
  7. /**
  8. * MXAdapter 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 = 'SOA';
  16. $this->class = $record->class;
  17. $this->ttl = $record->ttl;
  18. $this->rdlength = $record->rdlength;
  19. $this->rdata = new OPRecordAdapterType();
  20. $this->rdata->mname = $record->rdata->mname;
  21. $this->rdata->rname = $record->rdata->rname;
  22. $this->rdata->serial = $record->rdata->serial;
  23. $this->rdata->refresh = $record->rdata->refresh;
  24. $this->rdata->retry = $record->rdata->retry;
  25. $this->rdata->expire = $record->rdata->expire;
  26. $this->rdata->minimum = $record->rdata->minimum;
  27. $this->absoluteName = $record->absoluteName;
  28. $this->customData = $record->customData;
  29. }
  30. public function toDnsManagerRecord($record)
  31. {
  32. $valueArray = explode(' ', $record['value'], 7);
  33. $templateData = [
  34. 'name' => $record['name'],
  35. 'type' => $record['type'],
  36. 'ttl' => $record['ttl'],
  37. 'mname' => $valueArray[0],
  38. 'rname' => $valueArray[1],
  39. 'serial' => $valueArray[2],
  40. 'refresh' => $valueArray[3],
  41. 'retry' => $valueArray[4],
  42. 'expire' => $valueArray[5],
  43. 'minimum' => $valueArray[6]
  44. ];
  45. return Record::tryToCreateFromArray($templateData);
  46. }
  47. }