? photosets_getPhotos.2.patch
? photosets_getPhotos.patch.txt
Index: flickr.inc
===================================================================
RCS file: /cvs/drupal/contributions/modules/flickr/flickr.inc,v
retrieving revision 1.25.2.5
diff -u -r1.25.2.5 flickr.inc
--- flickr.inc	20 Jul 2007 18:22:22 -0000	1.25.2.5
+++ flickr.inc	23 Apr 2008 09:51:12 -0000
@@ -336,6 +336,33 @@
 }
 
 /**
+ * @param $photoset_id
+ *   id of the photoset to get photos from
+ *
+ * @return
+ *   response from the flickr method flickr.photosets.getPhotos
+ *   (http://www.flickr.com/services/api/flickr.photos.getPhotos.html)
+ */
+function flickr_photoset_get_photos($photoset_id, $page = 1, $per_page = NULL) {
+  if (!isset($per_page)) {
+    $per_page = variable_get('flickr_photos_per_page', 20);
+  }
+  
+  $response = flickr_request(
+    'flickr.photosets.getPhotos',
+    array(
+      'photoset_id' => $photoset_id,
+      'page' => $page,
+      'per_page' => $per_page,
+    )
+  );
+  if ($response) {
+    return $response['photoset'];
+  }
+  return FALSE;
+}
+
+/**
  * @param $nsid The Flickr user's NSID
  *
  * @return
Index: sets/flickr_sets.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/flickr/sets/flickr_sets.module,v
retrieving revision 1.6.2.4
diff -u -r1.6.2.4 flickr_sets.module
--- sets/flickr_sets.module	2 Apr 2008 20:09:15 -0000	1.6.2.4
+++ sets/flickr_sets.module	23 Apr 2008 09:51:12 -0000
@@ -105,27 +105,21 @@
   $per_page = variable_get('flickr_photos_per_page', 20);
   
   //request set photos
-  $set_response = flickr_request('flickr.photosets.getPhotos', 
-    array(
-      'photoset_id' => $set_id,
-      'page' => $pager_page_array[$element] + 1,
-      'per_page' => variable_get('flickr_photos_per_page', 20),
-     ));
-  
-  if (!$set_response) {
-    drupal_set_message(t('Error retrieving :setid\'s photosets from Flickr'), array(':setid', $set_id));
+  $photoset = flickr_photoset_get_photos($set_id, $pager_page_array[$element] + 1, $per_page);
+  if (!$photoset) {
+    drupal_set_message(t("Error retrieving @setid's photosets from Flickr."), array('@setid', $set_id));
     return '';
   }
-  elseif (!isset($set_response['photoset']['photo']) || empty($set_response['photoset']['photo'])) {
+  elseif (!isset($photoset['photoset']['photo']) || empty($photoset['photoset']['photo'])) {
       drupal_set_message('This photoset is empty');
       return '';
   }
   
   //set pager information we just acquired
-  $pager_total_items[$element] = $set_response['photoset']['total'];
-  $pager_total[$element] = $set_response['photoset']['pages'];
+  $pager_total_items[$element] = $photoset['photoset']['total'];
+  $pager_total[$element] = $photoset['photoset']['pages'];
   
-  return theme('flickr_sets_photoset', $uid, $per_page, $set_response, $set_info);
+  return theme('flickr_sets_photoset', $uid, $per_page, $photoset, $set_info);
 }
 
 
@@ -143,17 +137,15 @@
 }
 
 function theme_flickr_sets_photoset($uid, $per_page, $photo_arr, $set_info) {
-  $output = 
-    theme('pager', NULL, variable_get('flickr_photos_per_page', 20));
+  $output = theme('pager', NULL, $per_page);
   $output .= "<div class='fickr-photoset'>\n";
-  foreach ((array) $photo_arr['photoset']['photo'] as $photo) {
+  foreach ((array) $photo_arr['photo'] as $photo) {
     //insert owner into $photo because theme_flickr_photo_box/flickr_photo_page_url needs it
     $photo['owner'] = $set_info['owner'];
     $output .= theme('flickr_photo_box', $photo, 'm');
   }
   $output .= '</div>';
-  $output .= 
-    theme('pager', NULL, variable_get('flickr_photos_per_page', 20));
+  $output .= theme('pager', NULL, $per_page, 20));
   return $output;
 }
 
