I am finding that in some of our image styles, where there may be a few effects to apply such as a scale and crop, that if there is a 'bypass_image_toolkit' step, that I get this error
Notice: Undefined index: effect callback in image_effect_apply() (line 1356 of /var/www/gsb_public/modules/image/image.module).
Here are a couple of the image effects for example:
'image_rotate' => array(
'label' => t('Rotate'),
'help' => t('Rotating an image may cause the dimensions of an image to increase to fit the diagonal.'),
'effect callback' => 'image_rotate_effect',
'dimensions callback' => 'image_rotate_dimensions',
'form callback' => 'image_rotate_form',
'summary theme' => 'image_rotate_summary',
),
'bypass_image_toolkit' => array(
'label' => t('Bypass Image Toolkit'),
'help' => t('This effect will bypass the image toolkit and simply do a file_copy of the image after all other effects have been applied.'),
),
Here is the image.module code which is throwing the error:
/**
* Applies an image effect to the image object.
*
* @param $image
* An image object returned by image_load().
* @param $effect
* An image effect array.
*
* @return
* TRUE on success. FALSE if unable to perform the image effect on the image.
*/
function image_effect_apply($image, $effect) {
module_load_include('inc', 'image', 'image.effects');
$function = $effect['effect callback'];
if (function_exists($function)) {
return $function($image, $effect['data']);
}
return FALSE;
}
I probably need to spend a little more time investigating, but at a glance it appears that in some cases, that using the Bypass image toolkit triggers an notice when the $function variable is declared and there isn't an effect callback.