Esempio n. 1
0
 public function getFacilities($continent)
 {
     $output = [];
     // Iterate through the Facility types
     foreach (FacilityType::orderBy('name')->get() as $type) {
         // Get the markers for the facilities nnnnnnnnnnnnnn
         $facilities = Facility::with('FacilityType')->with('linkedFacilities')->where('continent_id', '=', $continent->id)->where('facility_type_id', '=', $type->id)->orderBy('name')->get();
         // Skip if no markers exist for that type
         if (count($facilities) == 0) {
             $this->log("No " . $type->name . " facilities found.");
             continue;
         }
         $output[$type->slug] = [];
         // Add the facilities to the output
         foreach ($facilities as $facility) {
             // Ignore if Warpgate facility has no position
             // if ( strpos($facility->name, 'Warpgate') !== false and (is_null($facility->lat) or is_null($facility->lng) or $facility->lat == 0 or $facility->lng == 0 )) {
             // 	$this->log($facility->name." has no position");
             // 	continue;
             // }
             // Facility Name
             $output[$type->slug][$facility->id] = ['name' => $facility->name];
             // Facility Position
             if (!is_null($facility->lat) or !is_null($facility->lng)) {
                 $x = (double) $facility->lat;
                 $y = (double) $facility->lng;
                 // $output[$type->slug][$facility->id]['xy'] = [(float)$facility->lat, (float)$facility->lng ];
             } else {
                 $x = (double) $facility->lat_override;
                 $y = (double) $facility->lng_override;
                 // $output[$type->slug][$facility->id]['xy'] = [(float)$facility->lat_override, (float)$facility->lng_override ];
             }
             if (!is_null($x) and !is_null($y) and $x != 0 and $y != 0) {
                 $output[$type->slug][$facility->id]['xy'] = [$x, $y];
             }
             // Lattice Links
             if (count($facility->linkedFacilities) > 0) {
                 $output[$type->slug][$facility->id]['links'] = [];
                 foreach ($facility->linkedFacilities as $linkedFacility) {
                     $output[$type->slug][$facility->id]['links'][] = (int) $linkedFacility->id;
                 }
             }
         }
     }
     return $output;
 }
Esempio n. 2
0
 private function facility_types()
 {
     $class = get_class(new FacilityType());
     $this->log($this->verb . ' Facility Types');
     $url = $this->baseUrl . "facility_type?c:limit=100";
     $data = $this->getCensusData($url);
     if (!$data) {
         return false;
     }
     // Collection of Eloquent objects from API
     $apiCollection = new Collection();
     foreach ($data->facility_type_list as $type) {
         $values = [];
         $values['id'] = isset($type->facility_type_id) ? $type->facility_type_id : null;
         $values['name'] = isset($type->description) ? $type->description : null;
         $values['slug'] = isset($type->description) ? Str::camel($type->description) : null;
         $apiCollection->add(new FacilityType($values));
     }
     $facilityTypes = FacilityType::all();
     $this->addModels($class, $facilityTypes, $apiCollection);
     $this->deleteModels($class, $facilityTypes, $apiCollection);
     $this->updateModels($class, FacilityType::all(), $apiCollection, ['name', 'slug']);
 }