CAAAdapter.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 CAAAdapter extends Record
  6. {
  7. /**
  8. * CAAAdapter 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 = 'CAA';
  16. $this->class = $record->class;
  17. $this->ttl = $record->ttl;
  18. $this->rdlength = $record->rdlength;
  19. $this->rdata = new OPRecordAdapterType();
  20. $this->rdata->flag = $record->rdata->flag;
  21. $this->rdata->tag = $record->rdata->tag;
  22. $this->rdata->target = str_replace('"', "", htmlspecialchars_decode($record->rdata->target));
  23. $this->absoluteName = $record->absoluteName;
  24. $this->customData = $record->customData;
  25. }
  26. public function toDnsManagerRecord($record)
  27. {
  28. $valueArray = explode(' ', $record['value'], 3);
  29. $templateData = [
  30. 'name' => $record['name'],
  31. 'type' => $record['type'],
  32. 'ttl' => $record['ttl'],
  33. 'flag' => $valueArray[0],
  34. 'tag' => $valueArray[1],
  35. 'target' => str_replace('"', '', $valueArray[2]),
  36. ];
  37. return Record::tryToCreateFromArray($templateData);
  38. }
  39. }