Пример #1
0
 /**
  * SrvRecord constructor.
  *
  * @param Node   $node
  * @param int    $ttl
  * @param int    $priority
  * @param int    $weight
  * @param int    $port
  * @param string $target
  */
 public function __construct(Node $node, int $ttl, int $priority, int $weight, int $port, string $target)
 {
     $this->priority = $priority;
     $this->weight = $weight;
     $this->port = $port;
     $this->target = $target;
     parent::__construct($node, eRecordType::SRV(), $ttl);
 }
 /**
  * @internal
  * @param $name
  * @param $arguments
  * @return Record[]
  */
 public function __call($name, $arguments)
 {
     try {
         $type = eRecordType::get(mb_strtoupper(str_replace('iterate', '', $name)));
         return $this->iterateRecords($type);
     } catch (InvalidArgumentException $e) {
         throw new BadMethodCallException("Method {$name} not found");
     }
 }
Пример #3
0
 /**
  * SoaRecord constructor.
  *
  * @param Node   $node
  * @param int    $ttl
  * @param string $mName
  * @param string $rName
  * @param int    $serial
  * @param int    $refresh
  * @param int    $retry
  * @param int    $expire
  * @param int    $minimum
  */
 public function __construct(Node $node, int $ttl, string $mName, string $rName, int $serial, int $refresh, int $retry, int $expire, int $minimum)
 {
     $this->mName = $mName;
     $this->rName = $rName;
     $this->serial = $serial;
     $this->refresh = $refresh;
     $this->retry = $retry;
     $this->expire = $expire;
     $this->minimum = $minimum;
     parent::__construct($node, eRecordType::SOA(), $ttl);
 }
 /**
  * Append result of parsing dnsZone file in zone object
  *
  * @param Zone  $zone
  * @param array $record result of parsing single record
  */
 protected static function appendRecord(Zone $zone, $record)
 {
     $node_mame = $record['NAME'];
     $record_type = eRecordType::get($record['TYPE']);
     $record_ttl = $record['TTL'];
     $record_data = $record['RDATA'];
     $node = $zone->getNode($node_mame);
     $recordAppender = $node->getRecordAppender();
     switch ($record_type) {
         case eRecordType::A:
             $recordAppender->appendARecord((string) $record_data['ADDRESS'], (int) $record_ttl);
             break;
         case eRecordType::AAAA:
             $recordAppender->appendAaaaRecord((string) $record_data['ADDRESS'], (int) $record_ttl);
             break;
         case eRecordType::CNAME:
             $recordAppender->appendCNameRecord((string) $record_data['CNAME'], (int) $record_ttl);
             break;
         case eRecordType::MX:
             $recordAppender->appendMxRecord((string) $record_data['PREFERENCE'], (string) $record_data['EXCHANGE'], (int) $record_ttl);
             break;
         case eRecordType::NS:
             $recordAppender->appendNsRecord((string) $record_data['NSDNAME'], (int) $record_ttl);
             break;
         case eRecordType::PTR:
             $recordAppender->appendPtrRecord((string) $record_data['PTRDNAME'], (int) $record_ttl);
             break;
         case eRecordType::SOA:
             $recordAppender->appendSoaRecord((string) $record_data['MNAME'], (string) $record_data['RNAME'], (int) $record_data['SERIAL'], (int) $record_data['REFRESH'], (int) $record_data['RETRY'], (int) $record_data['EXPIRE'], (int) $record_data['MINIMUM'], (int) $record_ttl);
             break;
         case eRecordType::SRV:
             $recordAppender->appendSrvRecord((int) $record_data['PRIORITY'], (int) $record_data['WEIGHT'], (int) $record_data['PORT'], (string) $record_data['TARGET'], (int) $record_ttl);
             break;
         case eRecordType::TXT:
             $recordAppender->appendTxtRecord((string) $record_data['TXTDATA'], (int) $record_ttl);
             break;
     }
 }
 /**
  * CnameRecord constructor.
  *
  * @param Node   $node
  * @param int    $ttl
  * @param string $cname
  */
 public function __construct(Node $node, $ttl, string $cname)
 {
     $this->cname = $cname;
     parent::__construct($node, eRecordType::CNAME(), $ttl);
 }
 /**
  * ARecord constructor.
  *
  * @param Node   $node
  * @param int    $ttl
  * @param string $address
  */
 public function __construct(Node $node, $ttl, string $address)
 {
     $this->address = $address;
     parent::__construct($node, eRecordType::AAAA(), $ttl);
 }
Пример #7
0
 /**
  * PtrRecord constructor.
  *
  * @param Node   $node
  * @param int    $ttl
  * @param string $ptrDName
  */
 public function __construct(Node $node, int $ttl, string $ptrDName)
 {
     $this->ptrDName = $ptrDName;
     parent::__construct($node, eRecordType::PTR(), $ttl);
 }
Пример #8
0
 /**
  * NsRecord constructor.
  *
  * @param Node   $node
  * @param int    $ttl
  * @param string $nsdName
  */
 public function __construct(Node $node, $ttl, string $nsdName)
 {
     $this->nsdName = $nsdName;
     parent::__construct($node, eRecordType::NS(), $ttl);
 }
Пример #9
0
 /**
  * MxRecord constructor.
  *
  * @param Node   $node
  * @param int    $ttl
  * @param int    $preference
  * @param string $exchange
  */
 public function __construct(Node $node, $ttl, int $preference, string $exchange)
 {
     $this->preference = $preference;
     $this->exchange = $exchange;
     parent::__construct($node, eRecordType::MX(), $ttl);
 }