Index: imagefield.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/imagefield/imagefield.module,v
retrieving revision 1.103
diff -u -p -r1.103 imagefield.module
--- imagefield.module 28 Aug 2009 03:53:15 -0000 1.103
+++ imagefield.module 26 Apr 2010 00:09:36 -0000
@@ -319,20 +319,25 @@ 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);
- return '';
+ if (!empty($preview_preset)) {
+ return theme('imagecache', $preview_preset, $item['filepath']);
+ }
+ else {
+ $thumb_path = imagefield_file_admin_thumb_path($item);
+ return '';
+ }
}
/**
* @} End defgroup "Theme Callbacks".
Index: imagefield_widget.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/imagefield/imagefield_widget.inc,v
retrieving revision 1.41
diff -u -p -r1.41 imagefield_widget.inc
--- imagefield_widget.inc 24 Apr 2010 05:28:39 -0000 1.41
+++ imagefield_widget.inc 26 Apr 2010 00:17:40 -0000
@@ -123,6 +123,39 @@ 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'];
+ }
+ $form['preview']['preview_preset'] = $form['preview']['preview_preset'] + 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
+ );
+ } 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'] = $form['preview']['preset_name'] + array(
+ '#type' => 'value',
+ );
+ }
return $form;
}
@@ -189,7 +222,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'));
}
/**
@@ -218,7 +251,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.