Index: includes/images.previewlist.image.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/image_fupload/includes/images.previewlist.image.inc,v
retrieving revision 1.4
diff -u -r1.4 images.previewlist.image.inc
--- includes/images.previewlist.image.inc	9 Jun 2009 22:25:54 -0000	1.4
+++ includes/images.previewlist.image.inc	12 Nov 2009 17:34:44 -0000
@@ -131,30 +131,27 @@
   $attributes = variable_get('fupload_previewlist_img_attributes', '');
   // need to split image module and other cck related imagemodules to be able to provide the right
   // preview handling
-  switch ($node_type) {
-    case 'image':
-      // image module
-      if (!empty($image_node_types['image']['imagecache_preset'])) {
-        // using ImageCache
-        $content = theme('imagecache', $image_node_types['image']['imagecache_preset'], $node_image->images['_original'], $node_image->title, $node_image->title, $attributes);
-      }
-      else {
-        // using a ready-to-use Image size of Image module
-        $image = $node_image->images[$image_node_types['image']['image_selection']];
-        $content = theme('fupload_imagepreview_image', $image, image_get_info($image), $node_image, $attributes);
-      }
-      break;
-
-    default:
-      // imagefield cck module
-      if (!empty($image_node_types[$node_type]['imagecache_preset'])) {
-        // using ImageCache
-        $field_name = $image_node_types[$node_type]['fieldname'];
-        $image = $node_image->$field_name;
+  if (_image_fupload_is_image_module($node_type)) {
+    // image module
+    if (!empty($image_node_types['image']['imagecache_preset'])) {
+      // using ImageCache
+      $content = theme('imagecache', $image_node_types['image']['imagecache_preset'], $node_image->images['_original'], $node_image->title, $node_image->title, $attributes);
+    }
+    else {
+      // using a ready-to-use Image size of Image module
+      $image = $node_image->images[$image_node_types['image']['image_selection']];
+      $content = theme('fupload_imagepreview_image', $image, image_get_info($image), $node_image, $attributes);
+    }
+  }
+  else {
+    // imagefield cck module
+    if (!empty($image_node_types[$node_type]['imagecache_preset'])) {
+      // using ImageCache
+      $field_name = $image_node_types[$node_type]['fieldname'];
+      $image = $node_image->$field_name;
 
-        $content = theme('imagecache', $image_node_types[$node_type]['imagecache_preset'], $image[0]['filepath'], $node_image->title, $node_image->title, $attributes);
-      }
-      break;
+      $content = theme('imagecache', $image_node_types[$node_type]['imagecache_preset'], $image[0]['filepath'], $node_image->title, $node_image->title, $attributes);
+    }
   }
 
   return $content;
Index: image_fupload.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/image_fupload/image_fupload.module,v
retrieving revision 1.34
diff -u -r1.34 image_fupload.module
--- image_fupload.module	9 Jun 2009 22:25:54 -0000	1.34
+++ image_fupload.module	12 Nov 2009 17:34:44 -0000
@@ -148,33 +148,27 @@
   $field_access = FALSE;
   if (!empty($upload_user) && !empty($node_type) && !empty($field_name)) { // user valid? node_type & field_name received?
     // Check if given node_type & field_name combination is possible for user
-    switch ($node_type) {
-      case "image":
-        // image node type
-        if ($field_name == "images") {
+    if (_image_fupload_is_image_module($node_type)) {
+      // image node type
+      if ($field_name == "images") {
+        $field_access = node_access('create', $node_type, $user);
+          // also get suitable validators for our upload: cck imagefield module
+          $validators = array_merge(filefield_widget_upload_validators($field), imagefield_widget_upload_validators($field));
+      }
+    } else {
+      // probably cck image node type
+      if (module_exists('content')) {
+        if (image_node_type_load($node_type, TRUE) && ($field = content_fields($field_name, $node_type))) {
           $field_access = node_access('create', $node_type, $user);
-
-          // get suitable validators for our upload: image module
-          $validators = array(
-            'file_validate_is_image' => array(),
-            'file_validate_size' => array(variable_get('image_max_upload_size', 800) * 1024),
-          );
-        }
-        break;
-      default:
-        // probably cck image node type
-        if (module_exists('content')) {
-          if (image_node_type_load($node_type, TRUE) && ($field = content_fields($field_name, $node_type))) {
-            $field_access = node_access('create', $node_type, $user);
-
-            // also get suitable validators for our upload: cck imagefield module
-            $validators = array_merge(filefield_widget_upload_validators($field), imagefield_widget_upload_validators($field));
-          }
+          // also get suitable validators for our upload: cck imagefield module
+          $validators = array_merge(filefield_widget_upload_validators($field), imagefield_widget_upload_validators($field));
         }
-        break;
+      }
     }
   }
 
+  watchdog('image_fupload', 'attepmting to authenticate session id @sid, user @uid from IP address @ip', array('@sid' => $sid, '@uid' => $upload_user, '@ip' => ip_address()), WATCHDOG_DEBUG);
+
   if (user_access('mass upload images', $user) && $field_access) {
     // Adapt to drupal files structure
     $_FILES['files']['name']['image'] = $_FILES['Filedata']['name'];
@@ -302,7 +296,7 @@
       $preview_presets_list = array();
 
       // image module presets
-      if (module_exists('image') && $node_type == "image") {
+      if (module_exists('image') && _image_fupload_is_image_module($node_type)) {
         $image_sizes = image_get_sizes();
 
         foreach ($image_sizes as $key => $size) {
@@ -356,37 +350,35 @@
 
     case 'write':
       if (isset($data_write)) { // is some data available?
-      // write input data to database
-      $image_node_types  = variable_get('image_node_types', array());
+        // write input data to database
+        $image_node_types  = variable_get('image_node_types', array());
 
-      // prepare type of image preview before writing into db
-      $preview_preset = explode('_', $data_write['preview_preset'], 2);
-      switch ($preview_preset[0]) {
-        case '0':
-          // image module preset
-          $preview_preset_image = $preview_preset[1];
-          break;
-        case '1':
-          // imagecache module preset
-          $preview_preset_imagecache = $preview_preset[1];
-          break;
-      }
+        // prepare type of image preview before writing into db
+        $preview_preset = explode('_', $data_write['preview_preset'], 2);
+        switch ($preview_preset[0]) {
+          case '0':
+            // image module preset
+            $preview_preset_image = $preview_preset[1];
+            break;
+          case '1':
+            // imagecache module preset
+            $preview_preset_imagecache = $preview_preset[1];
+            break;
+        }
 
-      switch ($node_type) {
-        case 'image':
+        // check whether this node type is handled by the Image module or CCK
+        if (_image_fupload_is_image_module($node_type)) {
           // image node type
           $image_node_types['image'] = array('type' => 'image', 'fieldname' => 'images', 'image_selection' => $preview_preset_image, 'imagecache_preset' => $preview_preset_imagecache);
-          break;
-
-        default:
+        }
+        else {
           // node type with CCK ImageField
           $image_node_types[$node_type] = array('type' => 'cck', 'fieldname' => $data_write['fieldname'], 'image_selection' => $preview_preset_image, 'imagecache_preset' => $preview_preset_imagecache);
-          break;
-      }
-      // write data to database
-      variable_set('image_node_types', $image_node_types);
+        }
+        // write data to database
+        variable_set('image_node_types', $image_node_types);
       }
-      break;
+    break;
 
     case 'delete':
       // delete an entry from settings variable
@@ -398,3 +390,13 @@
 
   }
 }
+
+/**
+ *
+ * @param $type
+ * @return true if the specified node type is handled by the Image module
+ */
+function _image_fupload_is_image_module($type){
+  $content_types = node_get_types();
+  return ($content_types[$node_type]->module == 'image');
+}
