### Eclipse Workspace Patch 1.0 #P travel_site Index: sites/all/modules/image_fupload/includes/images.previewlist.image.inc =================================================================== --- sites/all/modules/image_fupload/includes/images.previewlist.image.inc (revision 44461) +++ sites/all/modules/image_fupload/includes/images.previewlist.image.inc (working copy) @@ -123,29 +123,25 @@ /** 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; - - $content = theme('imagecache', $image_node_types[$node_type]['imagecache_preset'], $image[0]['filepath'], $node_image->title, $node_image->title, $attributes); - } - break; + 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); + } } return $content; Index: sites/all/modules/image_fupload/image_fupload.module =================================================================== --- sites/all/modules/image_fupload/image_fupload.module (revision 44461) +++ sites/all/modules/image_fupload/image_fupload.module (working copy) @@ -144,33 +144,32 @@ $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); + + // 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), + ); + } + } 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), - ); + + // also get suitable validators for our upload: cck imagefield module + $validators = array_merge(filefield_widget_upload_validators($field), imagefield_widget_upload_validators($field)); } - 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)); - } - } - 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']; @@ -294,7 +293,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) { @@ -362,18 +361,16 @@ $preview_preset_imagecache = $preview_preset[1]; break; } - - switch($node_type) { - case 'image': - // image node type - $image_node_types['image'] = array('type' => 'image', 'fieldname' => 'images', 'image_selection' => $preview_preset_image, 'imagecache_preset' => $preview_preset_imagecache); - break; - - default: - // 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; + + // 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); + } 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); } + // write data to database variable_set('image_node_types', $image_node_types); } @@ -388,4 +385,14 @@ break; } +} + +/** + * + * @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'); } \ No newline at end of file