You are here

function flickr_tags_photos in Flickr 7

Same name and namespace in other branches
  1. 5 tags/flickr_tags.module \flickr_tags_photos()
  2. 6 tags/flickr_tags.module \flickr_tags_photos()

Returns a user's photos with given tags.

1 string reference to 'flickr_tags_photos'
flickr_tags_menu in tags/flickr_tags.module
Implements hook_menu().

File

tags/flickr_tags.module, line 128
The Flickr tags module.

Code

function flickr_tags_photos($account, $tagstring) {
  global $pager_page_array, $pager_total, $pager_total_items;
  drupal_set_title(t('Flickr photos of @user tagged @tag', array(
    '@user' => $account->name,
    '@tag' => $tagstring,
  )));
  $tags = explode(',', $tagstring);
  $nsid = $account->flickr['nsid'];

  // Set this to something else if you want multiple pagers.
  $element = 0;
  $pager_page_array[$element] = empty($_GET['page']) ? 0 : (int) $_GET['page'];
  $photo_arr = flickr_photos_search($nsid, $pager_page_array[$element] + 1, flickr_tag_request_args($tags));
  if ($photo_arr === FALSE) {
    drupal_set_message(t("Error retrieving %user's photos from Flickr", array(
      '%user' => $account->name,
    )));
    return '';
  }
  elseif (empty($photo_arr)) {
    drupal_set_message(t("No photos tagged with %tags found in %user's Flickr account", array(
      '%user' => $account->name,
      '%tags' => str_replace(',', ', ', $tagstring),
    )));
    return '';
  }

  // Set pager information we just acquired.
  $pager_total[$element] = $photo_arr['pages'];
  $pager_total_items[$element] = $photo_arr['total'];
  return theme('flickr_photos', array(
    'uid' => $account->uid,
    'nsid' => $nsid,
    'photos' => $photo_arr,
  ));
}