public function getDataCenterLocationsJson() { $locations = array(); $query = new QueryObject(); $query->addAndCondition(QueryCriteria::equal("Active", true)); list($list, $size) = $this->public_cloud_repository->getAll($query, 0, 1000); foreach ($list as $public_cloud) { foreach ($public_cloud->getDataCentersLocations() as $location) { $json_data = array(); $json_data['color'] = $location->getDataCenterRegion()->getColor(); $json_data['country'] = Geoip::countryCode2name($location->getCountry()); $json_data['city'] = $location->getCity(); $json_data['lat'] = $location->getLat(); $json_data['lng'] = $location->getLng(); $json_data['product_name'] = $public_cloud->getName(); $json_data['product_url'] = $this->buildCloudLink($public_cloud->getCompany()->URLSegment . '/' . strtolower(trim(preg_replace('/[^A-Za-z0-9-]+/', '-', $public_cloud->getName())))); $json_data['owner'] = $public_cloud->getCompany()->getName(); array_push($locations, $json_data); } } return json_encode($locations); }