danielebarchiesi@0: array( danielebarchiesi@0: 'element_type' => 'managed_file', danielebarchiesi@0: 'wrapper' => '.image-widget', danielebarchiesi@0: 'fields' => array( danielebarchiesi@0: 'alt' => 'input[name$="[alt]"], textarea[name$="[alt]"]', danielebarchiesi@0: 'title' => 'input[name$="[title]"], textarea[name$="[title]"]', danielebarchiesi@0: 'description' => 'input[name$="[description]"], textarea[name$="[description]"]', danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: ); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implementation of hook_insert_styles(). danielebarchiesi@0: */ danielebarchiesi@0: function image_insert_styles() { danielebarchiesi@0: $image_styles = image_styles(); danielebarchiesi@0: $insert_styles = array(); danielebarchiesi@0: foreach ($image_styles as $style) { danielebarchiesi@0: $insert_styles['image_' . $style['name']] = array( danielebarchiesi@0: 'label' => t($style['name']), danielebarchiesi@0: ); danielebarchiesi@0: } danielebarchiesi@0: return $insert_styles; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implementation of hook_insert_content(). danielebarchiesi@0: */ danielebarchiesi@0: function image_insert_content($item, $style, $widget) { danielebarchiesi@0: $style_name = preg_replace('/^image_/', '', $style['name']); danielebarchiesi@0: return theme(array('image_insert_image__' . str_replace('-', '_', $style_name), 'image_insert_image'), array('item' => $item, 'widget' => $widget, 'style_name' => $style_name)); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Theme the content that will be inserted for Image styles. danielebarchiesi@0: */ danielebarchiesi@0: function template_preprocess_image_insert_image(&$vars) { danielebarchiesi@0: $vars['file'] = file_load($vars['item']['fid']); danielebarchiesi@0: danielebarchiesi@0: // Determine dimensions of the image after the image style transformations. danielebarchiesi@0: $image_info = @image_get_info($vars['file']->uri); danielebarchiesi@0: $vars['width'] = isset($image_info['width']) ? $image_info['width'] : NULL; danielebarchiesi@0: $vars['height'] = isset($image_info['height']) ? $image_info['height'] : NULL; danielebarchiesi@0: image_style_transform_dimensions($vars['style_name'], $vars); danielebarchiesi@0: danielebarchiesi@0: $vars['uri'] = image_style_path($vars['style_name'], $vars['file']->uri); danielebarchiesi@0: $absolute = isset($vars['widget']['settings']['insert_absolute']) ? $vars['widget']['settings']['insert_absolute'] : NULL; danielebarchiesi@0: $vars['url'] = insert_create_url($vars['uri'], $absolute, variable_get('clean_url')); danielebarchiesi@0: danielebarchiesi@0: // http://drupal.org/node/1923336 danielebarchiesi@0: if (function_exists('image_style_path_token')) { danielebarchiesi@0: $token_query = array(IMAGE_DERIVATIVE_TOKEN => image_style_path_token($vars['style_name'], $vars['file']->uri)); danielebarchiesi@0: $vars['url'] .= (strpos($vars['url'], '?') !== FALSE ? '&' : '?') . drupal_http_build_query($token_query); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: $vars['class'] = !empty($vars['widget']['settings']['insert_class']) ? $vars['widget']['settings']['insert_class'] : ''; danielebarchiesi@0: }