public function jsonEventsToGEventObjects($jsonObject) { $json = json_decode($jsonObject); /** * Loop through each event in the json array * and create a gEvent object and add to our * array to return back to caller. * @var array */ $gEvents = array(); foreach ($json as $event) { $gEvent = new gEvent(); $gEvent->setInternal_Id($event->internal_Id); $gEvent->setExternal_Id($event->external_id); $gEvent->setDatasource($event->datasource); $gEvent->setEvent_external_url($event->event_external_url); $gEvent->setTitle($event->title); $gEvent->setDescription($event->description); $gEvent->setNotes($event->notes); $gEvent->setTimezone($event->timezone); $gEvent->setTimezone_abbr($event->timezone_abbr); $gEvent->setStart_time($event->start_time); $gEvent->setEnd_time($event->end_time); $gEvent->setStart_date_month($event->start_date_month); $gEvent->setStart_date_day($event->start_date_day); $gEvent->setStart_date_year($event->start_date_year); $gEvent->setStart_date_time($event->start_date_time); $gEvent->setEnd_date_month($event->end_date_month); $gEvent->setEnd_date_day($event->end_date_day); $gEvent->setEnd_date_year($event->end_date_year); $gEvent->setEnd_date_time($event->end_date_time); $gEvent->setVenue_external_id($event->venue_external_id); $gEvent->setVenue_external_url($event->venue_external_url); $gEvent->setVenue_name($event->venue_external_name); $gEvent->setVenue_display($event->venue_display); $gEvent->setVenue_address($event->venue_address); $gEvent->setState_name($event->state_name); $gEvent->setCity_name($event->city_name); $gEvent->setPostal_code($event->postal_code); $gEvent->setCountry_name($event->country_name); $gEvent->setAll_day($event->all_day); $gEvent->setPrice_range($event->price_range); $gEvent->setIs_free($event->is_free); $gEvent->setMajor_genre($event->major_genre); $gEvent->setMinor_genre($event->minor_genre); $gEvent->setLatitude($event->latitude); $gEvent->setLongitude($event->longitude); $performersArr = array(); foreach ($event->performers as $performer) { $gEventPerformer = new gEventPerformer(); $gEventPerformer->setPerformer_name($performer->name); $gEventPerformer->setPerformer_external_id($performer->external_id); $gEventPerformer->setPerformer_external_url($performer->external_url); $gEventPerformer->setPerformer_short_bio($performer->short_bio); $gEventPerformer->setPerformer_external_image_url($performer->external_image_url); array_push($performersArr, $gEventPerformer); } $gEvent->setPerformers($performersArr); $imagesArr = array(); foreach ($event->images as $image) { $gEventImage = new gEventImage(); $gEventImage->setImage_category($image->image_category); $gEventImage->setImage_height($image->image_height); $gEventImage->setImage_width($image->image_width); $gEventImage->setImage_external_url($image->image_external_url); array_push($imagesArr, $gEventImage); } $gEvent->setImages($imagesArr); // push event object onto event array stack array_push($gEvents, $gEvent); } return $gEvents; }
function neo4j_findEvents($queryString, $optionsArray, $data) { // Function Filter Parameters $userLat = $optionsArray['userLat']; $userLong = $optionsArray['userLng']; $filterRadius = $optionsArray['radius']; //$dbNeo = new DbHandlerNeo(); $num = count($data); $json = json_encode($data, JSON_FORCE_OBJECT | JSON_UNESCAPED_SLASHES); $json = json_decode($json); //echo $json[0]; $gEvents = array(); $i = 0; // Loop through Json Results from Neo4j resuest foreach ($json as $jObject) { $internal_id = empty($jObject->internal_id) ? null : $jObject->internal_id; $external_id = empty($jObject->external_id) ? null : $jObject->external_id; $datasource = empty($jObject->datasource) ? null : $jObject->datasource; $event_external_url = empty($jObject->event_external_url) ? null : $jObject->event_external_url; $title = empty($jObject->title) ? null : $jObject->title; $title = str_replace('"', "'", $title); $description = empty($jObject->description) ? null : $jObject->description; $description = str_replace('"', "'", $description); $notes = empty($jObject->notes) ? null : $jObject->notes; $notes = str_replace('"', "'", $notes); $timezone = empty($jObject->timezone) ? null : $jObject->timezone; $timezone_abbr = empty($jObject->timezone_abbr) ? null : $jObject->timezone_abbr; $start_time = empty($jObject->start_time) ? null : $jObject->start_time; $end_time = empty($jObject->end_time) ? null : $jObject->end_time; $start_date_month = empty($jObject->start_date_month) ? array() : json_decode($jObject->start_date_month, true); $start_date_day = empty($jObject->start_date_day) ? array() : json_decode($jObject->start_date_day, true); $start_date_year = empty($jObject->start_date_year) ? array() : json_decode($jObject->start_date_year, true); $start_date_time = empty($jObject->start_date_time) ? array() : json_decode($jObject->start_date_time, true); $end_date_month = empty($jObject->end_date_month) ? array() : json_decode($jObject->end_date_month, true); $end_date_day = empty($jObject->end_date_day) ? array() : json_decode($jObject->end_date_day, true); $end_date_year = empty($jObject->end_date_year) ? array() : json_decode($jObject->end_date_year, true); $end_date_time = empty($jObject->end_date_time) ? array() : json_decode($jObject->end_date_time, true); $venue_external_id = empty($jObject->venue_external_id) ? null : $jObject->venue_external_id; $venue_external_url = empty($jObject->venue_external_url) ? null : $jObject->venue_external_url; $venue_name = empty($jObject->venue_name) ? null : $jObject->venue_name; $venue_display = empty($jObject->venue_display) ? null : $jObject->venue_display; $venue_address = empty($jObject->venue_address) ? null : $jObject->venue_address; $state_name = empty($jObject->state_name) ? null : $jObject->state_name; $city_name = empty($jObject->city_name) ? null : $jObject->city_name; $postal_code = empty($jObject->postal_code) ? null : $jObject->postal_code; $country_name = empty($jObject->country_name) ? null : $jObject->country_name; $all_day = empty($jObject->all_day) ? null : $jObject->all_day; $price_range = empty($jObject->price_range) ? null : $jObject->price_range; $is_free = empty($jObject->is_free) ? null : $jObject->is_free; $major_genre = empty($jObject->major_genre) ? array() : json_decode($jObject->major_genre, true); $minor_genre = empty($jObject->minor_genre) ? array() : json_decode($jObject->minor_genre, true); $latitude = empty($jObject->latitude) ? null : $jObject->latitude; $longitude = empty($jObject->longitude) ? null : $jObject->longitude; $performers = empty($jObject->performers) ? array() : json_decode($jObject->performers, true); $images = empty($jObject->images) ? array() : json_decode($jObject->images, true); $currentEvent = true; $distance = 0.0; if (!empty($latitude) && !empty($longitude)) { if (null != $userLat && null != $userLong) { $distance = distanceInMiles($userLat, $userLong, $latitude, $longitude); } } if (!empty($start_time)) { date_default_timezone_set($timezone); $currentUnixTime = strtotime("now"); $eventUnixTime = strtotime($start_time); $currentEvent = $currentUnixTime > $eventUnixTime ? false : true; } // If no externalId is set, don't pull record. Avoids empty // records from getting pulled. if ($currentEvent) { if (empty($filterRadius) || $distance <= $filterRadius && $distance > 0) { $gEvent = new gEvent(); $gEvent->setExternal_id($external_id); $gEvent->setDatasource($datasource); $gEvent->setTitle($title); $gEvent->setDescription($description); $gEvent->setNotes($notes); $gEvent->setVenue_external_id($venue_external_id); $gEvent->setVenue_name($venue_name); $gEvent->setVenue_address($venue_address); $gEvent->setCountry_name($country_name); $gEvent->setState_name($state_name); $gEvent->setCity_name($city_name); $gEvent->setPostal_code($postal_code); $gEvent->setVenue_external_url($venue_external_url); if (!empty($latitude) && !empty($longitude)) { $gEvent->setLatitude((double) $latitude); $gEvent->setLongitude((double) $longitude); $gEvent->setDistance(number_format((double) $distance, 2, '.', '')); } $gEvent->setTimezone($timezone); $gEvent->setTimezone_abbr($timezone_abbr); $gEvent->setStart_time($start_time); $gEvent->setEnd_time($end_time); $gEvent->setStart_date_month($start_date_month); $gEvent->setStart_date_day($start_date_day); $gEvent->setStart_date_year($start_date_year); $gEvent->setStart_date_time($start_date_time); $gEvent->setEnd_date_month($end_date_month); $gEvent->setEnd_date_day($end_date_day); $gEvent->setEnd_date_year($end_date_year); $gEvent->setEnd_date_time($end_date_time); $gEvent->setPrice_range($price_range); $gEvent->setIs_free($is_free); $gEvent->setMinor_genre($minor_genre); $gEvent->setMajor_genre($major_genre); $gEvent->setEvent_external_url($event_external_url); // Populate image links found $gEvent->setImages($images); //Populate performers found $gEvent->setPerformers($performers); // Push gEvent object onto arraylist of gEvent objects array_push($gEvents, $gEvent); } } //$i++; } return $gEvents; }