? use_imagecache.patch ? use_imagecache2.patch Index: imagefield.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/imagefield/imagefield.module,v retrieving revision 1.112 diff -u -p -r1.112 imagefield.module --- imagefield.module 29 Jun 2010 23:04:42 -0000 1.112 +++ imagefield.module 1 Dec 2010 02:45:10 -0000 @@ -295,6 +295,29 @@ function imagefield_form_content_field_o } /** + * Implementation of ImageCache's hook_imagecache_default_presets. + */ +function imagefield_imagecache_default_presets() { + $presets = array(); + $presets['thumbnail'] = array ( + 'presetname' => 'thumbnail', + 'actions' => array ( + 0 => array ( + 'weight' => '0', + 'module' => 'imagecache', + 'action' => 'imagecache_scale_and_crop', + 'data' => array ( + 'width' => '90', + 'height' => '90', + ), + ), + ), + ); + return $presets; +} + + +/** * @defgroup "Theme Callbacks" * @{ * @see imagefield_theme(). @@ -346,36 +369,42 @@ function theme_imagefield_item($item) { return theme('imagefield_image', $item, $item['alt'], $item['title']); } -function theme_imagefield_widget_preview($item = NULL) { - return '
' . theme('imagefield_admin_thumbnail', $item) . '
'; -} +function theme_imagefield_widget_preview($item = NULL, $preview_preset = '') { + return '
' . theme('imagefield_admin_thumbnail', $item, $preview_preset) . '
';} function theme_imagefield_widget_item($element) { return theme('filefield_widget_item', $element); } -function theme_imagefield_admin_thumbnail($item = NULL) { +function theme_imagefield_admin_thumbnail($item = NULL, $preview_preset = '') { if (is_null($item) || empty($item['filepath'])) { return ''; } - $thumb_path = imagefield_file_admin_thumb_path($item); + + if (!empty($preview_preset)) { + return theme('imagecache', $preview_preset, $item['filepath']); + } + else { + $thumb_path = imagefield_file_admin_thumb_path($item); + + // Encode the parts of the path. + $parts = explode('/', $thumb_path); + foreach ($parts as $n => $part) { + $parts[$n] = rawurlencode($part); + } + $thumb_path = implode('/', $parts); - // Encode the parts of the path. - $parts = explode('/', $thumb_path); - foreach ($parts as $n => $part) { - $parts[$n] = rawurlencode($part); - } - $thumb_path = implode('/', $parts); + // Add a timestamp to the URL to ensure it is immediately updated after editing. + $query_string = ''; + if (isset($item['timestamp'])) { + $query_character = (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC) == FILE_DOWNLOADS_PRIVATE && variable_get('clean_url', '0') == '0') ? '&' : '?'; + $query_string = $query_character . $item['timestamp']; + } - // Add a timestamp to the URL to ensure it is immediately updated after editing. - $query_string = ''; - if (isset($item['timestamp'])) { - $query_character = (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC) == FILE_DOWNLOADS_PRIVATE && variable_get('clean_url', '0') == '0') ? '&' : '?'; - $query_string = $query_character . $item['timestamp']; + return '' . t('Image preview') . ''; } - return '' . t('Image preview') . ''; } /** * @} End defgroup "Theme Callbacks". - */ + */ \ No newline at end of file Index: imagefield_widget.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/imagefield/imagefield_widget.inc,v retrieving revision 1.44 diff -u -p -r1.44 imagefield_widget.inc --- imagefield_widget.inc 29 Jun 2010 22:46:18 -0000 1.44 +++ imagefield_widget.inc 1 Dec 2010 02:45:10 -0000 @@ -126,6 +126,38 @@ function imagefield_widget_settings_form '#type' => 'value', '#value' => $widget['default_image'], ); + + // preview options (imagecahe for preview thumbnails) + $form['preview'] = array( + '#type' => 'fieldset', + '#title' => t('Preview Thumbnail Settings'), + '#collapsible' => true, + '#collapsed' => true, + '#weight' => 8, + ); + $form['preview']['preview_preset'] = array( + '#default_value' => !empty($widget['preview_preset']) ? $widget['preview_preset'] : '', + ); + + if (module_exists('imagecache')) { + $imagecache_presets = imagecache_presets(); + $preview_presets_list[''] = t(''); + foreach ($imagecache_presets as $key => $preset) { + $preview_presets_list[$preset['presetname']] = $preset['presetname']; + } + $new_parts = array( + '#type' => 'select', + '#title' => t('Imagecache Preset'), + '#description' => t('This imagecache preset will be used to creeate the thumbnail.'), + '#options' => $preview_presets_list, // @str_replace: returns correct node type + ); + $form['preview']['preview_preset'] = array_merge($form['preview']['preview_preset'], $new_parts); + } else { + $form['preview']['imagecache_disabled'] = array( + '#value' => '

'.t('Enable imagecache to control the way preview thumbnails should be shown for this field.').'

', + ); + $form['preview']['preview_preset']['#type'] = 'value'; + } return $form; } @@ -197,7 +229,7 @@ function imagefield_widget_settings_vali */ function imagefield_widget_settings_save($widget) { $filefield_settings = module_invoke('filefield', 'widget_settings', 'save', $widget); - return array_merge($filefield_settings, array('max_resolution', 'min_resolution', 'alt', 'custom_alt', 'title', 'custom_title', 'title_type', 'default_image', 'use_default_image')); + return array_merge($filefield_settings, array('max_resolution', 'min_resolution', 'alt', 'custom_alt', 'title', 'custom_title', 'title_type', 'default_image', 'use_default_image', 'preview_preset')); } /** @@ -226,7 +258,8 @@ function imagefield_widget_process($elem $element['#theme'] = 'imagefield_widget_item'; if (isset($element['preview']) && $element['#value']['fid'] != 0) { - $element['preview']['#value'] = theme('imagefield_widget_preview', $element['#value']); + $preview_preset = module_exists('imagecache') ? $field['widget']['preview_preset'] : ''; + $element['preview']['#value'] = theme('imagefield_widget_preview', $element['#value'], $preview_preset); } // Check if using the default alt text and replace tokens.