diff --git a/includes/image.inc b/includes/image.inc index f3271a6..4998cdf 100644 --- a/includes/image.inc +++ b/includes/image.inc @@ -57,6 +57,7 @@ function template_preprocess_image_insert_image(&$vars) { image_style_transform_dimensions($vars['style_name'], $vars); $vars['uri'] = image_style_path($vars['style_name'], $vars['file']->uri); - $vars['url'] = insert_create_url($vars['uri']); + $absolute = isset($vars['widget']['settings']['insert_absolute']) ? $vars['widget']['settings']['insert_absolute'] : NULL; + $vars['url'] = insert_create_url($vars['uri'], $absolute); $vars['class'] = !empty($vars['widget']['settings']['insert_class']) ? $vars['widget']['settings']['insert_class'] : ''; } diff --git a/includes/insert.inc b/includes/insert.inc index 048a096..ea81870 100644 --- a/includes/insert.inc +++ b/includes/insert.inc @@ -51,7 +51,8 @@ function insert_insert_content($item, $style, $widget) { */ function template_preprocess_insert_image(&$vars) { $vars['file'] = file_load($vars['item']['fid']); - $vars['url'] = insert_create_url($vars['file']->uri); + $absolute = isset($vars['widget']['settings']['insert_absolute']) ? $vars['widget']['settings']['insert_absolute'] : NULL; + $vars['url'] = insert_create_url($vars['file']->uri, $absolute); $vars['class'] = !empty($vars['widget']['settings']['insert_class']) ? $vars['widget']['settings']['insert_class'] : ''; $image_info = @image_get_info($vars['file']->uri); $vars['width'] = isset($image_info['width']) ? $image_info['width'] : ''; @@ -63,7 +64,8 @@ function template_preprocess_insert_image(&$vars) { */ function template_preprocess_insert_link(&$vars) { $vars['file'] = file_load($vars['item']['fid']); - $vars['url'] = insert_create_url($vars['file']->uri); + $absolute = isset($vars['widget']['settings']['insert_absolute']) ? $vars['widget']['settings']['insert_absolute'] : NULL; + $vars['url'] = insert_create_url($vars['file']->uri, $absolute); $vars['class'] = !empty($vars['widget']['settings']['insert_class']) ? $vars['widget']['settings']['insert_class'] : ''; $vars['name'] = $vars['file']->filename; } @@ -73,7 +75,8 @@ function template_preprocess_insert_link(&$vars) { */ function template_preprocess_insert_icon_link(&$vars) { $vars['file'] = file_load($vars['item']['fid']); - $vars['url'] = insert_create_url($vars['file']->uri); + $absolute = isset($vars['widget']['settings']['insert_absolute']) ? $vars['widget']['settings']['insert_absolute'] : NULL; + $vars['url'] = insert_create_url($vars['file']->uri, $absolute); $vars['class'] = !empty($vars['widget']['settings']['insert_class']) ? $vars['widget']['settings']['insert_class'] : ''; $vars['name'] = $vars['file']->filename; $vars['type'] = $vars['file']->filemime .'; length='. $vars['file']->filesize; diff --git a/insert.module b/insert.module index f9f63a4..ac85797 100644 --- a/insert.module +++ b/insert.module @@ -263,6 +263,7 @@ function insert_form_field_ui_field_edit_form_alter(&$form, $form_state) { function insert_field_widget_info_alter(&$info) { $settings = array( 'insert' => 0, + 'insert_absolute' => variable_get('insert_absolute_paths', FALSE), 'insert_styles' => array('auto'), 'insert_default' => array('auto'), 'insert_class' => '', @@ -301,6 +302,14 @@ function insert_field_widget_settings_form($field, $instance) { '#weight' => -10, ); + $form['insert']['insert_absolute'] = array( + '#type' => 'checkbox', + '#title' => t('Use absolute paths'), + '#default_value' => isset($settings['insert_absolute']) ? $settings['insert_absolute'] : variable_get('insert_absolute_paths', FALSE), + '#description' => t('Includes the full URL prefix "@base_url" in all links and image tags.', array('@base_url' => $GLOBALS['base_url'])), + '#weight' => -9, + ); + $form['insert']['insert_styles'] = array( '#title' => t('Enabled insert styles'), '#type' => 'checkboxes', @@ -378,13 +387,8 @@ function theme_insert_field_widget_settings_styles($variables) { * will consistently use absolute or relative URLs, depending on the Insert * setting. */ -function insert_create_url($uri) { - // This variable has no configuration location. It may be set by placing - // $conf['insert_absolute_paths'] = FALSE; - // in the site settings.php file, or by manually running variable_set(). - // For reasons why this might not do what you want and why there's no UI - // see http://drupal.org/node/640352. - $absolute = variable_get('insert_absolute_paths', TRUE); +function insert_create_url($uri, $absolute = NULL) { + $absolute = isset($absolute) ? $absolute : variable_get('insert_absolute_paths', FALSE); $url = file_create_url($uri); if (!$absolute && strpos($url, $GLOBALS['base_url']) === 0) { $url = base_path() . ltrim(str_replace($GLOBALS['base_url'], '', $url), '/');