Example #1
0
 /**
  * Create zone
  *
  * @return string
  */
 protected function _createZone()
 {
     $content = array();
     $records = array_merge(array($this->_collection->getSoa()), $this->_collection->getValues());
     foreach ($records as $record) {
         /** @var $record AbstractResourceRecord */
         $template = $this->_loadTemplate($record->getType());
         $variables = $this->_searchVariables($template);
         foreach ($variables as $var) {
             $replace = call_user_func(array($record, sprintf('get%s', ucfirst($var))));
             $template = str_replace('%' . $var . '%', $replace, $template);
         }
         $content[] = $template;
     }
     return join('', $content);
 }
 /**
  * Transform ZoneCollection to DnsResourceModel Array
  *
  * @param ZoneCollection $value
  *
  * @return array
  */
 public function transform($value)
 {
     if ($value instanceof ZoneCollection) {
         $arr = array();
         $position = 0;
         foreach ($value->getValues() as $rr) {
             /** @var $rr AbstractResourceRecord */
             $dnsResourceModel = new DnsResourceModel();
             $dnsResourceModel->setName($rr->getName())->setTtl($rr->getTtl())->setType($rr->getType())->setRdata($rr->getRdata())->setPosition($position);
             $arr[] = $dnsResourceModel;
             $position++;
         }
         return $arr;
     } else {
         return $value;
     }
 }