Example #1
0
 /**
  * Get resource record by FQDN.
  *
  * @param Dns    $dns
  * @param string $fqdn
  *
  * @return AbstractResourceRecord[]
  */
 protected function _getResourceRecordsByFqdn(Dns $dns, $fqdn)
 {
     $records = array();
     $matRecords = array();
     // Collect records by type
     foreach (self::$_types as $type) {
         $records = array_merge($records, $dns->getZonecollection()->getByType($type));
     }
     // Collect matching records
     foreach ($records as $rr) {
         /** @var $rr AbstractResourceRecord */
         if (FqdnTransformer::getFqdn($dns, $rr) === $fqdn) {
             $matRecords[] = $rr;
         }
     }
     return $matRecords;
 }
Example #2
0
 /**
  * Update SOA record
  *
  * @Route("/{entity}/updatesoa", name="config_dns_update_soa")
  * @Template()
  */
 public function updateSoaAction(Request $request, Dns $entity)
 {
     $zone = $entity->getZonecollection();
     $soa = $zone->getSoa();
     $editForm = $this->createForm(new DnsSoaType(), $soa);
     $editForm->bind($request);
     if ($editForm->isValid()) {
         $soa->refreshSerial();
         $zone->add($soa);
         $entity->setZonecollection(clone $zone);
         $em = $this->getDoctrine()->getManager();
         $em->persist($entity);
         $em->flush();
         return $this->redirect($this->generateUrl('config_dns_show', array('entity' => $entity->getId())));
     }
     return array('entity' => $entity, 'edit_form' => $editForm->createView());
 }