Example #1
0
 private function processSubcategories($utilityService)
 {
     $content = $utilityService->getXmlContent($this->importFolder . "/fachbereich.xml", "bfiwien");
     $insertedIds = array();
     foreach ($content as $node) {
         if ($node->nodeName != '#text') {
             $dataSrc = array();
             foreach ($node->childNodes as $childNode) {
                 if ($childNode->nodeName != '#text') {
                     $dataSrc[$childNode->nodeName] = $childNode->nodeValue;
                 }
             }
             $data = $this->em->getRepository('DNTMBundle:Category')->findOneBy(array('id' => 'F' . $node->getAttribute('id')));
             if ($data == null) {
                 $data = new Category();
                 $data->setId('F' . $node->getAttribute('id'));
                 $data->setKvsId($node->getAttribute('id'));
                 $data->setActive(1);
                 $data->setIsMain(0);
                 $data->setTitle($dataSrc['bezeichnung']);
             }
             $data->setKvsName($dataSrc['bezeichnung']);
             if (!in_array($node->getAttribute('id'), $insertedIds)) {
                 $insertedIds[] = $node->getAttribute('id');
                 $this->em->merge($data);
             }
         }
     }
     $this->em->flush();
 }