/** * @param string photo-id * @return FlickrPhoto[] key 'prev' = previous photo, key 'next' = next photo */ public function getContext($photo_id) { if (!isset($this->context_cache[$photo_id])) { $res = FlickrService::$instance->call('flickr.photosets.getContext', array('photoset_id' => $this->id, 'photo_id' => $photo_id, 'extras' => FlickrPhoto::$std_extras)); $ctx = array('prev' => FlickrPhoto::valueOf($res->dom['prevphoto'][0]), 'next' => FlickrPhoto::valueOf($res->dom['nextphoto'][0])); $this->context_cache[$photo_id] =& $ctx; return $ctx; } else { return $this->context_cache[$photo_id]; } }
/** * @param array * @return FlickrPhoto[] */ public static function valueOfCollection(&$a) { $photo_count = count($a); $photos = array(); for ($i = 0; $i < $photo_count; $i++) { $photos[] = FlickrPhoto::valueOf($a[$i]); } return $photos; }