Index: image.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/image/image.install,v
retrieving revision 1.19
diff -u -p -r1.19 image.install
--- image.install	18 Jan 2009 00:31:35 -0000	1.19
+++ image.install	18 Jan 2009 04:28:36 -0000
@@ -55,6 +55,8 @@ function image_uninstall() {
   variable_del('image_updated');
   variable_del('image_default_path');
   variable_del('image_sizes');
+  variable_del('image_block_0_number_images');
+  variable_del('image_block_1_number_images');
 }
 
 /**
Index: image.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/image/image.module,v
retrieving revision 1.290
diff -u -p -r1.290 image.module
--- image.module	18 Jan 2009 00:31:35 -0000	1.290
+++ image.module	18 Jan 2009 04:29:20 -0000
@@ -303,29 +303,43 @@ function image_link($type, $node, $main 
  *
  * Offers 2 blocks: latest image and random image
  */
-function image_block($op = 'list', $delta = 0) {
+function image_block($op = 'list', $delta = 0, $edit = array()) {
   switch ($op) {
     case 'list':
       $block[0]['info'] = t('Latest image');
       $block[1]['info'] = t('Random image');
-
       return $block;
+
+    case 'configure':
+      $form['number_images'] = array(
+        '#type' => 'select', 
+        '#title' => t('Number of images to display'),
+        '#options' => drupal_map_assoc(range(1, 99)),
+        '#default_value' => variable_get("image_block_{$delta}_number_images", 1),
+      );
+      return $form;
+
     case 'view':
       if (user_access('access content')) {
         switch ($delta) {
           case 0:
-            $images = image_get_latest();
+            $images = image_get_latest(variable_get("image_block_{$delta}_number_images", 1));
             $block['subject'] = t('Latest image');
             $block['content'] = theme('image_block_latest', $images, IMAGE_THUMBNAIL);
             break;
+
           case 1:
-            $images = image_get_random();
+            $images = image_get_random(variable_get("image_block_{$delta}_number_images", 1));
             $block['subject'] = t('Random image');
             $block['content'] = theme('image_block_random', $images, IMAGE_THUMBNAIL);
             break;
         }
       }
       return $block;
+
+    case 'save':
+      variable_set("image_block_{$delta}_number_images", $edit['number_images']);
+      break;
   }
 }
 
@@ -674,14 +688,22 @@ function theme_image_display($node, $lab
  * Theme a random block
  */
 function theme_image_block_random($images, $size) {
-  return l(image_display($images[0], $size), 'node/'. $images[0]->nid, array('html' => TRUE));
+  $output = '';
+  foreach ($images as $image) {
+    $output .= l(image_display($image, $size), 'node/'. $image->nid, array('html' => TRUE));
+  }
+  return $output;
 }
 
 /**
  * Theme a latest block
  */
 function theme_image_block_latest($images, $size) {
-  return l(image_display($images[0], $size), 'node/'. $images[0]->nid, array('html' => TRUE));
+  $output = '';
+  foreach ($images as $image) {
+    $output .= l(image_display($image, $size), 'node/'. $image->nid, array('html' => TRUE));
+  }
+  return $output;
 }
 
 /**
