annotate sites/all/modules/insert/includes/image.inc @ 9:830c812b520f

added smtp module
author root <root@paio.local>
date Mon, 28 Oct 2013 15:34:27 +0000
parents ff03f76ab3fe
children
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3 /**
danielebarchiesi@0 4 * @file
danielebarchiesi@0 5 * Insert support for ImageField module.
danielebarchiesi@0 6 */
danielebarchiesi@0 7
danielebarchiesi@0 8 /**
danielebarchiesi@0 9 * Implementation of hook_insert_widgets().
danielebarchiesi@0 10 */
danielebarchiesi@0 11 function image_insert_widgets() {
danielebarchiesi@0 12 return array(
danielebarchiesi@0 13 'image_image' => array(
danielebarchiesi@0 14 'element_type' => 'managed_file',
danielebarchiesi@0 15 'wrapper' => '.image-widget',
danielebarchiesi@0 16 'fields' => array(
danielebarchiesi@0 17 'alt' => 'input[name$="[alt]"], textarea[name$="[alt]"]',
danielebarchiesi@0 18 'title' => 'input[name$="[title]"], textarea[name$="[title]"]',
danielebarchiesi@0 19 'description' => 'input[name$="[description]"], textarea[name$="[description]"]',
danielebarchiesi@0 20 ),
danielebarchiesi@0 21 ),
danielebarchiesi@0 22 );
danielebarchiesi@0 23 }
danielebarchiesi@0 24
danielebarchiesi@0 25 /**
danielebarchiesi@0 26 * Implementation of hook_insert_styles().
danielebarchiesi@0 27 */
danielebarchiesi@0 28 function image_insert_styles() {
danielebarchiesi@0 29 $image_styles = image_styles();
danielebarchiesi@0 30 $insert_styles = array();
danielebarchiesi@0 31 foreach ($image_styles as $style) {
danielebarchiesi@0 32 $insert_styles['image_' . $style['name']] = array(
danielebarchiesi@0 33 'label' => t($style['name']),
danielebarchiesi@0 34 );
danielebarchiesi@0 35 }
danielebarchiesi@0 36 return $insert_styles;
danielebarchiesi@0 37 }
danielebarchiesi@0 38
danielebarchiesi@0 39 /**
danielebarchiesi@0 40 * Implementation of hook_insert_content().
danielebarchiesi@0 41 */
danielebarchiesi@0 42 function image_insert_content($item, $style, $widget) {
danielebarchiesi@0 43 $style_name = preg_replace('/^image_/', '', $style['name']);
danielebarchiesi@0 44 return theme(array('image_insert_image__' . str_replace('-', '_', $style_name), 'image_insert_image'), array('item' => $item, 'widget' => $widget, 'style_name' => $style_name));
danielebarchiesi@0 45 }
danielebarchiesi@0 46
danielebarchiesi@0 47 /**
danielebarchiesi@0 48 * Theme the content that will be inserted for Image styles.
danielebarchiesi@0 49 */
danielebarchiesi@0 50 function template_preprocess_image_insert_image(&$vars) {
danielebarchiesi@0 51 $vars['file'] = file_load($vars['item']['fid']);
danielebarchiesi@0 52
danielebarchiesi@0 53 // Determine dimensions of the image after the image style transformations.
danielebarchiesi@0 54 $image_info = @image_get_info($vars['file']->uri);
danielebarchiesi@0 55 $vars['width'] = isset($image_info['width']) ? $image_info['width'] : NULL;
danielebarchiesi@0 56 $vars['height'] = isset($image_info['height']) ? $image_info['height'] : NULL;
danielebarchiesi@0 57 image_style_transform_dimensions($vars['style_name'], $vars);
danielebarchiesi@0 58
danielebarchiesi@0 59 $vars['uri'] = image_style_path($vars['style_name'], $vars['file']->uri);
danielebarchiesi@0 60 $absolute = isset($vars['widget']['settings']['insert_absolute']) ? $vars['widget']['settings']['insert_absolute'] : NULL;
danielebarchiesi@0 61 $vars['url'] = insert_create_url($vars['uri'], $absolute, variable_get('clean_url'));
danielebarchiesi@0 62
danielebarchiesi@0 63 // http://drupal.org/node/1923336
danielebarchiesi@0 64 if (function_exists('image_style_path_token')) {
danielebarchiesi@0 65 $token_query = array(IMAGE_DERIVATIVE_TOKEN => image_style_path_token($vars['style_name'], $vars['file']->uri));
danielebarchiesi@0 66 $vars['url'] .= (strpos($vars['url'], '?') !== FALSE ? '&' : '?') . drupal_http_build_query($token_query);
danielebarchiesi@0 67 }
danielebarchiesi@0 68
danielebarchiesi@0 69 $vars['class'] = !empty($vars['widget']['settings']['insert_class']) ? $vars['widget']['settings']['insert_class'] : '';
danielebarchiesi@0 70 }