You are here

function _media_flickr_photoset_photo_id in Media: Flickr 7.2

Same name and namespace in other branches
  1. 7 includes/media_flickr.utilities.inc \_media_flickr_photoset_photo_id()
1 call to _media_flickr_photoset_photo_id()
media_flickr_photoset_photo_id in ./media_flickr.module

File

includes/media_flickr.utilities.inc, line 161
Utility functions for Media: Flickr.

Code

function _media_flickr_photoset_photo_id($uri, $refresh = FALSE) {
  $wrapper = file_stream_wrapper_get_instance_by_uri($uri);
  $parts = $wrapper
    ->get_parameters();
  if (isset($parts['search'])) {
    $photos = _media_flickr_sets_request('flickr.photos.search', array(
      'text' => $parts['search'],
      'per_page' => 1,
      'media' => 'photos',
    ));
    if ($photos && $photos['@attributes']['stat'] !== 'fail') {
      return $photos['photos']['photo']['@attributes']['id'];
    }
  }
  elseif (isset($parts['s'])) {
    if ($parts['s'] === 'photostream') {
      if (isset($parts['u'])) {
        $photos = _media_flickr_sets_request('flickr.people.getPublicPhotos', array(
          'user_id' => $parts['u'],
          'per_page' => 1,
          'media' => 'photos',
        ));
        if ($photos && $photos['@attributes']['stat'] !== 'fail') {
          return $photos['photos']['photo']['@attributes']['id'];
        }
      }
    }
    else {
      $photos = _media_flickr_sets_request('flickr.photosets.getPhotos', array(
        'photoset_id' => $parts['s'],
        'per_page' => 1,
        'media' => 'photos',
      ));
      if ($photos && $photos['@attributes']['stat'] !== 'fail') {
        return $photos['photoset']['photo']['@attributes']['id'];
      }
    }
  }
}