Exemple #1
0
 /**
  * @param stdClass|array $api_data
  *
  * @return Resource
  */
 public static function fromApi($api_data)
 {
     if (!is_array($api_data)) {
         $api_data = (array) $api_data;
     }
     $availability = null;
     if (!empty($api_data['availability'])) {
         $availability = array();
         foreach ($api_data['availability'] as $av_uuid => $av) {
             $availability[$av_uuid] = Vevent::fromApi($av);
         }
     }
     $external_id = empty($api_data['external_id']) ? null : $api_data['external_id'];
     return new self($api_data['uuid'], $api_data['title'], $api_data['location'], $api_data['groups'], $availability, $external_id);
 }
Exemple #2
0
 /**
  * Takes event data from api and creates new self.
  *
  * @param stdClass|array $api_data
  *   Data returned from api.
  *
  * @return Event
  *
  * @todo Resource_ids come back as classes which should really be resource
  * properties of an event. However since we don't yet have a 'teaser'
  * schema, it will have to wait.
  */
 public static function fromApi($api_data)
 {
     if (!is_array($api_data)) {
         $api_data = (array) $api_data;
     }
     $date_time = Vevent::fromApi($api_data['date_time']);
     $competitors = empty($api_data['competitors']) ? null : $api_data['competitors'];
     $external_id = empty($api_data['external_id']) ? null : $api_data['external_id'];
     $resource_ids = null;
     if (!empty($api_data['resource_ids'])) {
         $resource_ids = array();
         foreach ($api_data['resource_ids'] as $rid) {
             $resource_ids[] = $rid->uuid;
         }
     }
     return new self($api_data['uuid'], $api_data['groups'], $api_data['title'], $api_data['description'], $date_time, $api_data['category'], $resource_ids, $competitors, $api_data['published'], $external_id);
 }