? 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 '';
}
- return '';
}
/**
* @} 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.