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; } /**