diff --git a/src/ClassCodeBundle/Command/ImportStructuresFromJsonCommand.php b/src/ClassCodeBundle/Command/ImportStructuresFromJsonCommand.php index f91b251c98999e3a95cc6c652a24d6706904c76b..67eebd2e42ef0bca22e20168724b11302b1000d1 100644 --- a/src/ClassCodeBundle/Command/ImportStructuresFromJsonCommand.php +++ b/src/ClassCodeBundle/Command/ImportStructuresFromJsonCommand.php @@ -68,56 +68,60 @@ class ImportStructuresFromJsonCommand extends ContainerAwareCommand $json_array = json_decode($json_source,true); } if($json_array['structures']){ - foreach ($json_array as $data_structure) { - $type = ltrim(rtrim($data_structure['type'])); - $name = ltrim(rtrim($data_structure['name'])); - if($type && $name){ - - $logo = ltrim(rtrim($data_structure['logo'])); - $url = ltrim(rtrim($data_structure['url'])); - $who = ltrim(rtrim($data_structure['who'])); - $address = ltrim(rtrim($data_structure['address'])); - $location = $data_structure['location']; - if($location && is_array($location)){ - $lat = ltrim(rtrim($location['lat'])); - $long = ltrim(rtrim($location['lng'])); - }else{ - $lat = 0; - $long = 0; - } - $email = ltrim(rtrim($data_structure['email'])); - - $structure = $em->getRepository('ClassCodeBundle:Structure')->findOneBy(array('name' => $name,'type' => $type) ); - - if(!$structure){ - $structure = new Structure(); - $structure->setName($name); - $structure->setMainType($type); - } - if(($structure->getLogo() != $logo)|| - ($structure->getUrl() != $url)|| - ($structure->getWho()!=$who)|| - ($structure->getAddress() != $address)|| - ($structure->getLatitude() != $lat)|| - ($structure->getLongitude() != $long)|| - ($structure->getDataSource() != $dataSource)|| - ($structure->getEmail() != $email)){ - - $structure->setLogo($logo); - $structure->setUrl($url); - $structure->setWho($who); - $structure->setEmail($email); - $structure->setAddress($address); - $structure->setLatitude($lat); - $structure->setLongitude($long); - $structure->setDataSource($dataSource); - $structure->setUpdatedAt(new \DateTime()); - $structure->setUpdatedBy($userName); + foreach ($json_array['structures'] as $data_structure) { + if($data_structure['type'] && $data_structure['name']){ + $type = ltrim(rtrim($data_structure['type'])); + $name = ltrim(rtrim($data_structure['name'])); + if($type && $name){ + + $logo = ltrim(rtrim($data_structure['logo'])); + $url = ltrim(rtrim($data_structure['url'])); + $who = ltrim(rtrim($data_structure['who'])); + $address = ltrim(rtrim($data_structure['address'])); + $location = $data_structure['location']; + if($location && is_array($location)){ + $lat = ltrim(rtrim($location['lat'])); + $long = ltrim(rtrim($location['lng'])); + }else{ + $lat = 0; + $long = 0; + } + $email = ltrim(rtrim($data_structure['email'])); + + $structure = $em->getRepository('ClassCodeBundle:Structure')->findOneBy(array('name' => $name,'type' => $type) ); - $em->persist($structure); - $em->flush(); - } - } + if(!$structure){ + $structure = new Structure(); + $structure->setName($name); + $structure->setMainType($type); + } + if(($structure->getLogo() != $logo)|| + ($structure->getUrl() != $url)|| + ($structure->getWho()!=$who)|| + ($structure->getAddress() != $address)|| + ($structure->getLatitude() != $lat)|| + ($structure->getLongitude() != $long)|| + ($structure->getDataSource() != $dataSource)|| + ($structure->getEmail() != $email)){ + + $structure->setLogo($logo); + $structure->setUrl($url); + $structure->setWho($who); + $structure->setEmail($email); + $structure->setAddress($address); + $structure->setLatitude($lat); + $structure->setLongitude($long); + $structure->setDataSource($dataSource); + $structure->setUpdatedAt(new \DateTime()); + $structure->setUpdatedBy($userName); + + $em->persist($structure); + $em->flush(); + } + } + }else{ + $log_msg_error .= "No type or no name defined, structure passed !\n"; + } } }else{ $log_msg_error .= "No structures found, aborting import !\n";