meta->code) && $response->meta->code == 200 && isset($response->response->hereNow->count)) { return $response->response->hereNow->count; } else die("JSON content error."); } function getVenueUsers($response) { if (isset($response->meta->code) && $response->meta->code == 200 && isset($response->response->hereNow->items)) { return $response->response->hereNow->items; } else die("JSON content error."); } function userInfo($user) { $userid = 0; $firstName = ""; $lastName = ""; $photo = "http://foursquare.com/img/blank_boy.png"; if (isset($user->id)) $userid = $user->id; if (isset($user->firstName)) $firstName = $user->firstName; if (isset($user->lastName)) $lastName = $user->lastName; if (isset($user->photo)) $photo = $user->photo; $userInfo = array( "userid" => $userid, "firstName" => $firstName, "lastName" => $lastName, "photo" => $photo ); return $userInfo; } function cmp_users($a, $b) { // sort users - user with the highest createdAt timestamp value should be first, (e.g. this is reverse "createdAt" sorting) if ($a["createdAt"] == $b["createdAt"]) return 0; return ($a["createdAt"] > $b["createdAt"]) ? -1 : 1; } function sortAllUsers($venueUsers) { $users = array(); foreach($venueUsers as $user) { if (isset($user->user)) { $info = userInfo($user->user); if (isset($user->createdAt)) // attach checkin time $info["createdAt"] = $user->createdAt; else $info["createdAt"] = 0; array_push($users, $info); } } uasort($users, 'cmp_users'); return $users; } function findLast10VenueUsers($venueUsers) { $users = sortAllUsers($venueUsers); return array_slice($users, 0, 10); } function printUsers($users) { print "
\n"; foreach($users as $user) { print "{$user[\n"; } print "
\n"; } function printHereNow($herenow) { print "
Here now: {$herenow}
\n"; } function run() { global $venue_id; $response = fetchHereNow($venue_id); if (!$response) die("Fetch error."); $hereNow = getHereNow($response); $venueUsers = getVenueUsers($response); $last10Users = findLast10VenueUsers($venueUsers); printHereNow($hereNow); printUsers($last10Users); } ?> #4sqPha