Index: block/flickr_block.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/flickr/block/flickr_block.module,v
retrieving revision 1.6
diff -u -r1.6 flickr_block.module
--- block/flickr_block.module	13 Apr 2007 00:23:26 -0000	1.6
+++ block/flickr_block.module	13 Apr 2007 16:17:34 -0000
@@ -31,55 +31,51 @@
     unset($size_options['b']);
     unset($size_options['o']);
 
+    $settings = variable_get('flickr_block_'. $delta, array('user_id' => '', 'show_n' => 4, 'size' => 's'));
+
     $form = array();
     $form["flickr_block_{$delta}_user_id"] = array(
       '#type' => 'textfield',
       '#title' => t('Flickr User Id'),
-      '#default_value' => variable_get("flickr_block_{$delta}_user_id", ''),
+      '#default_value' => $settings['user_id'],
       '#description' => t("The user id of a Flickr user. If this is left blank, the sites's default user will be used. Current default id is " . variable_get('flickr_default_userid', '')),
     );
     $form["flickr_block_{$delta}_show_n"] = array(
       '#type' => 'select',
       '#options' => $count_options,
       '#title' => t('Show the last <em>n</em> photos'),
-      '#default_value' => variable_get("flickr_block_{$delta}_show_n", 4),
+      '#default_value' => $settings['show_n'],
       '#description' => t("The block will display this many photos.")
     );
     $form["flickr_block_{$delta}_size"] = array(
       '#type' => 'select',
       '#options' => $size_options,
       '#title' => t('Size of photos'),
-      '#default_value' => variable_get("flickr_block_{$delta}_size", 's'),
+      '#default_value' => $settings['size'],
       '#description' => t("Select the size of photos you'd like to display in the block.")
     );
 
     switch ($delta) {
-    case 0:
-      // user page, recent
+    case 0: // user page, recent
       unset($form["flickr_block_{$delta}_user_id"]);
       break;
-    case 1:
-      // user page, photosets
+    case 1: // user page, photosets
       unset($form["flickr_block_{$delta}_user_id"]);
       // photoset, not photos
       $form["flickr_block_{$delta}_show_n"]['#title'] = t('Show the last <em>n</em> photosets');
       $form["flickr_block_{$delta}_show_n"]['#description'] = t("The block will show this many of the user's photosets.");
       break;
-    case 2:
-      // user page, random
+    case 2: // user page, random
       unset($form["flickr_block_{$delta}_user_id"]);
       break;
 
-    case 3:
-      // sitewide, recent
+    case 3: // sitewide, recent
       break;
-    case 4:
-      // sitewite photoset, not photos
+    case 4: // sitewite photoset, not photos
       $form["flickr_block_{$delta}_show_n"]['#title'] = t('Show the last <em>n</em> photosets');
       $form["flickr_block_{$delta}_show_n"]['#description'] = t("The block will show this many of the user's photosets.");
       break;
-    case 5:
-      // sitewide, random
+    case 5: // sitewide, random
       break;
     }
 
@@ -90,74 +86,64 @@
     case 0:
     case 1:
     case 2:
+      variable_set('flickr_block_'. $delta, array(
+        'show_n' => (int) $edit["flickr_block_{$delta}_show_n"],
+        'size' => $edit["flickr_block_{$delta}_size"],
+      ));
+      break;
+
     case 3:
     case 4:
     case 5:
-      variable_set("flickr_block_{$delta}_user_id", $edit["flickr_block_{$delta}_user_id"]);
-      variable_set("flickr_block_{$delta}_show_n", $edit["flickr_block_{$delta}_show_n"]);
-      variable_set("flickr_block_{$delta}_size", $edit["flickr_block_{$delta}_size"]);
+      variable_set('flickr_block_'. $delta, array(
+        'user_id' => $edit["flickr_block_{$delta}_user_id"],
+        'show_n' => (int) $edit["flickr_block_{$delta}_show_n"],
+        'size' => $edit["flickr_block_{$delta}_size"],
+      ));
       break;
     }
     break;
 
   case 'view': default:
+    $settings = variable_get('flickr_block_'. $delta, array(
+      'user_id' => '',
+      'show_n' => 4,
+      'size' => 's',
+    ));
     // Get the default user id as a fallback
-    $default_userid = variable_get('flickr_default_userid', '');
+    if (isset($settings['user_id'])) {
+      $settings['user_id'] = variable_get('flickr_default_userid', '');
+    }
 
     switch ($delta) {
     case 0:
-      $user_id = _flickr_block_get_userid(arg(1));
-      $show_n = variable_get("flickr_block_{$delta}_show_n", 4);
-      $size = variable_get("flickr_block_{$delta}_size", 's');
-
       $block['subject'] = t('Flickr recent photos by user');
-      $block['content'] = _flickr_block_recent($user_id, $show_n, $size);
-
+      $block['content'] = _flickr_block_recent(_flickr_block_get_userid(arg(1)), $settings['show_n'], $settings['size']);
       break;
-    case 1:
-      $user_id = _flickr_block_get_userid(arg(1));
-      $show_n = variable_get("flickr_block_{$delta}_show_n", 4);
-      $size = variable_get("flickr_block_{$delta}_size", 's');
 
+    case 1:
       $block['subject'] = t('Flickr recent photosets');
-      $block['content'] = _flickr_block_photosets($user_id, $show_n, $size);
-
+      $block['content'] = _flickr_block_photosets(_flickr_block_get_userid(arg(1)), $settings['show_n'], $settings['size']);
       break;
-    case 2:
-      $user_id = _flickr_block_get_userid(arg(1));
-      $show_n = variable_get("flickr_block_{$delta}_show_n", 4);
-      $size = variable_get("flickr_block_{$delta}_size", 's');
 
+    case 2:
       $block['subject'] = t('Flickr random photos');
-      $block['content'] = _flickr_block_random($user_id, $show_n, $size);
-
+      $block['content'] = _flickr_block_random(_flickr_block_get_userid(arg(1)), $settings['show_n'], $settings['size']);
       break;
-    case 3:
-      $user_id = variable_get("flickr_block_{$delta}_user_id", $default_userid);
-      $show_n = variable_get("flickr_block_{$delta}_show_n", 4);
-      $size = variable_get("flickr_block_{$delta}_size", 's');
 
+    case 3:
       $block['subject'] = t('Flickr recent photos');
-      $block['content'] = _flickr_block_recent($user_id, $show_n, $size);
-
+      $block['content'] = _flickr_block_recent($settings['user_id'], $settings['show_n'], $settings['size']);
       break;
-    case 4:
-      $user_id = variable_get("flickr_block_{$delta}_user_id", $default_userid);
-      $show_n = variable_get("flickr_block_{$delta}_show_n", 4);
-      $size = variable_get("flickr_block_{$delta}_size", 's');
 
+    case 4:
       $block['subject'] = t('Flickr recent photosets');
-      $block['content'] = _flickr_block_photosets($user_id, $show_n, $size);
-
+      $block['content'] = _flickr_block_photosets($settings['user_id'], $settings['show_n'], $settings['size']);
       break;
-    case 5:
-      $user_id = variable_get("flickr_block_{$delta}_user_id", $default_userid);
-      $show_n = variable_get("flickr_block_{$delta}_show_n", 4);
-      $size = variable_get("flickr_block_{$delta}_size", 's');
 
+    case 5:
       $block['subject'] = t('Flickr random photos');
-      $block['content'] = _flickr_block_random($user_id, $show_n, $size);
-
+      $block['content'] = _flickr_block_random($settings['user_id'], $settings['show_n'], $settings['size']);
       break;
     }
 

