/** * 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; }
/** * 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()); }