commit 2ad1524a1acbf44b1745ddbeda8c269787ffecd0 (HEAD, temp) Author: Tim Plunkett Date: Fri Nov 11 23:16:22 2011 -0500 original patch. diff --git a/core/includes/common.inc b/core/includes/common.inc index 1bd8b19..c63763f 100644 --- a/core/includes/common.inc +++ b/core/includes/common.inc @@ -6563,7 +6563,7 @@ function drupal_common_theme() { // - http://dev.w3.org/html5/spec/Overview.html#alt // The title attribute is optional in all cases, so it is omitted by // default. - 'variables' => array('path' => NULL, 'width' => NULL, 'height' => NULL, 'alt' => '', 'title' => NULL, 'attributes' => array()), + 'variables' => array('uri' => NULL, 'width' => NULL, 'height' => NULL, 'alt' => '', 'title' => NULL, 'attributes' => array()), ), 'breadcrumb' => array( 'variables' => array('breadcrumb' => NULL), diff --git a/core/includes/theme.inc b/core/includes/theme.inc index 68dd70b..2a3363b 100644 --- a/core/includes/theme.inc +++ b/core/includes/theme.inc @@ -1638,7 +1638,7 @@ function theme_links($variables) { * * @param $variables * An associative array containing: - * - path: Either the path of the image file (relative to base_path()) or a + * - uri: Either the path of the image file (relative to base_path()) or a * full URL. * - width: The width of the image (if known). * - height: The height of the image (if known). @@ -1658,11 +1658,11 @@ function theme_links($variables) { */ function theme_image($variables) { $attributes = $variables['attributes']; - $attributes['src'] = file_create_url($variables['path']); + $attributes['src'] = file_create_url($variables['uri']); + // The standard image attributes are only used if they arn't empty. foreach (array('width', 'height', 'alt', 'title') as $key) { - - if (isset($variables[$key])) { + if (isset($variables[$key]) && !empty($variables[$key])) { $attributes[$key] = $variables[$key]; } } @@ -1909,10 +1909,10 @@ function theme_table($variables) { */ function theme_tablesort_indicator($variables) { if ($variables['style'] == "asc") { - return theme('image', array('path' => 'core/misc/arrow-asc.png', 'width' => 13, 'height' => 13, 'alt' => t('sort ascending'), 'title' => t('sort ascending'))); + return theme('image', array('uri' => 'core/misc/arrow-asc.png', 'width' => 13, 'height' => 13, 'alt' => t('sort ascending'), 'title' => t('sort ascending'))); } else { - return theme('image', array('path' => 'core/misc/arrow-desc.png', 'width' => 13, 'height' => 13, 'alt' => t('sort descending'), 'title' => t('sort descending'))); + return theme('image', array('uri' => 'core/misc/arrow-desc.png', 'width' => 13, 'height' => 13, 'alt' => t('sort descending'), 'title' => t('sort descending'))); } } @@ -2046,7 +2046,7 @@ function theme_more_help_link($variables) { */ function theme_feed_icon($variables) { $text = t('Subscribe to @feed-title', array('@feed-title' => $variables['title'])); - if ($image = theme('image', array('path' => 'core/misc/feed.png', 'width' => 16, 'height' => 16, 'alt' => $text))) { + if ($image = theme('image', array('uri' => 'core/misc/feed.png', 'width' => 16, 'height' => 16, 'alt' => $text))) { return l($image, $variables['url'], array('html' => TRUE, 'attributes' => array('class' => array('feed-icon'), 'title' => $text))); } } diff --git a/core/modules/aggregator/aggregator.parser.inc b/core/modules/aggregator/aggregator.parser.inc index 0f594d4..7b4b732 100644 --- a/core/modules/aggregator/aggregator.parser.inc +++ b/core/modules/aggregator/aggregator.parser.inc @@ -35,6 +35,13 @@ function aggregator_aggregator_parse($feed) { $image[$key] = trim($value); } + if (!empty($image['link']) && !empty($image['url']) && !empty($image['title'])) { + $image = l(theme('image', array('uri' => $image['url'], 'alt' => $image['title'])), $image['link'], array('html' => TRUE)); + } + else { + $image = ''; + } + $etag = empty($feed->http_headers['etag']) ? '' : $feed->http_headers['etag']; // Add parsed data to the feed object. diff --git a/core/modules/color/color.module b/core/modules/color/color.module index 7665631..ca6f4f2 100644 --- a/core/modules/color/color.module +++ b/core/modules/color/color.module @@ -63,7 +63,7 @@ function _color_theme_select_form_alter(&$form, &$form_state) { foreach (element_children($form) as $theme) { if ($screenshot = variable_get('color_' . $theme . '_screenshot')) { if (isset($form[$theme]['screenshot'])) { - $form[$theme]['screenshot']['#markup'] = theme('image', array('path' => $screenshot, 'title' => '', 'attributes' => array('class' => array('screenshot')))); + $form[$theme]['screenshot']['#markup'] = theme('image', array('uri' => $screenshot, 'title' => '', 'attributes' => array('class' => array('screenshot')))); } } } diff --git a/core/modules/image/image.admin.inc b/core/modules/image/image.admin.inc index d72fdf4..ecd5364 100644 --- a/core/modules/image/image.admin.inc +++ b/core/modules/image/image.admin.inc @@ -796,7 +796,7 @@ function theme_image_style_preview($variables) { $output .= '
'; $output .= t('original') . ' (' . l(t('view actual size'), $original_url) . ')'; $output .= ''; // End preview-image. @@ -807,7 +807,7 @@ function theme_image_style_preview($variables) { $output .= '
'; $output .= check_plain($style['name']) . ' (' . l(t('view actual size'), file_create_url($preview_file) . '?' . time()) . ')'; $output .= ''; // End preview-image. diff --git a/core/modules/image/image.field.inc b/core/modules/image/image.field.inc index c3ac1d5..4aedc57 100644 --- a/core/modules/image/image.field.inc +++ b/core/modules/image/image.field.inc @@ -569,14 +569,14 @@ function image_field_formatter_view($entity_type, $entity, $field, $instance, $l * An associative array containing: * - item: An array of image data. * - image_style: An optional image style. - * - path: An array containing the link 'path' and link 'options'. + * - path: An optional array containing the link 'path' and link 'options'. * * @ingroup themeable */ function theme_image_formatter($variables) { $item = $variables['item']; $image = array( - 'path' => $item['uri'], + 'uri' => $item['uri'], 'alt' => $item['alt'], ); @@ -591,11 +591,11 @@ function theme_image_formatter($variables) { } if ($variables['image_style']) { - $image['style_name'] = $variables['image_style']; - $output = theme('image_style', $image); + $item['style_name'] = $variables['image_style']; + $output = theme('image_style', $item); } else { - $output = theme('image', $image); + $output = theme('image', $item); } if (!empty($variables['path']['path'])) { diff --git a/core/modules/image/image.module b/core/modules/image/image.module index 54d98eb..5cdd9c5 100644 --- a/core/modules/image/image.module +++ b/core/modules/image/image.module @@ -876,15 +876,15 @@ function image_style_flush($style) { * * @param $style_name * The name of the style to be used with this image. - * @param $path + * @param $uri * The path to the image. * @return * The absolute URL where a style image can be downloaded, suitable for use * in an tag. Requesting the URL will cause the image to be created. * @see image_style_deliver() */ -function image_style_url($style_name, $path) { - $uri = image_style_path($style_name, $path); +function image_style_url($style_name, $uri) { + $uri = image_style_path($style_name, $uri); // If not using clean URLs, the image derivative callback is only available // with the query string. If the file does not exist, use url() to ensure @@ -1162,7 +1162,7 @@ function image_effect_apply($image, $effect) { * @param $variables * An associative array containing: * - style_name: The name of the style to be used to alter the original image. - * - path: The path of the image file relative to the Drupal files directory. + * - uri: The path of the image file relative to the Drupal files directory. * This function does not work with images outside the files directory nor * with remotely hosted images. * - width: The width of the source image (if known). @@ -1187,7 +1187,7 @@ function theme_image_style($variables) { $variables['height'] = $dimensions['height']; // Determine the url for the styled image. - $variables['path'] = image_style_url($variables['style_name'], $variables['path']); + $variables['uri'] = image_style_url($variables['style_name'], $variables['uri']); return theme('image', $variables); } diff --git a/core/modules/image/image.test b/core/modules/image/image.test index a29b4f3..ca88c5d 100644 --- a/core/modules/image/image.test +++ b/core/modules/image/image.test @@ -666,7 +666,7 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase { // Test that the default formatter is being used. $image_uri = $node->{$field_name}[LANGUAGE_NONE][0]['uri']; $image_info = array( - 'path' => $image_uri, + 'uri' => $image_uri, 'width' => 40, 'height' => 20, ); @@ -713,7 +713,7 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase { // Ensure the derivative image is generated so we do not have to deal with // image style callback paths. $this->drupalGet(image_style_url('thumbnail', $image_uri)); - $image_info['path'] = image_style_path('thumbnail', $image_uri); + $image_info['uri'] = image_style_path('thumbnail', $image_uri); $image_info['width'] = 100; $image_info['height'] = 50; $default_output = theme('image', $image_info); @@ -764,7 +764,7 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase { // style. $node = node_load($nid, NULL, TRUE); $image_info = array( - 'path' => image_style_url('medium', $node->{$field_name}[LANGUAGE_NONE][0]['uri']), + 'uri' => image_style_url('medium', $node->{$field_name}[LANGUAGE_NONE][0]['uri']), 'width' => 220, 'height' => 110, ); @@ -773,7 +773,7 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase { // Add alt/title fields to the image and verify that they are displayed. $image_info = array( - 'path' => $node->{$field_name}[LANGUAGE_NONE][0]['uri'], + 'uri' => $node->{$field_name}[LANGUAGE_NONE][0]['uri'], 'alt' => $this->randomName(), 'title' => $this->randomName(), 'width' => 40, @@ -815,7 +815,7 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase { $field = field_info_field($field_name); $image = file_load($field['settings']['default_image']); $this->assertTrue($image->status == FILE_STATUS_PERMANENT, t('The default image status is permanent.')); - $default_output = theme('image', array('path' => $image->uri)); + $default_output = theme('image', array('uri' => $image->uri)); $this->drupalGet('node/' . $node->nid); $this->assertRaw($default_output, t('Default image displayed when no user supplied image is present.')); @@ -824,7 +824,7 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase { $nid = $this->uploadNodeImage($images[1], $field_name, 'article'); $node = node_load($nid, NULL, TRUE); $image_info = array( - 'path' => $node->{$field_name}[LANGUAGE_NONE][0]['uri'], + 'uri' => $node->{$field_name}[LANGUAGE_NONE][0]['uri'], 'width' => 40, 'height' => 20, ); diff --git a/core/modules/simpletest/simpletest.pages.inc b/core/modules/simpletest/simpletest.pages.inc index e65c4d4..d189159 100644 --- a/core/modules/simpletest/simpletest.pages.inc +++ b/core/modules/simpletest/simpletest.pages.inc @@ -82,8 +82,8 @@ function theme_simpletest_test_table($variables) { // Define the images used to expand/collapse the test groups. $js = array( 'images' => array( - theme('image', array('path' => 'core/misc/menu-collapsed.png', 'width' => 7, 'height' => 7, 'alt' => t('Expand'), 'title' => t('Expand'))) . ' (' . t('Expand') . ')', - theme('image', array('path' => 'core/misc/menu-expanded.png', 'width' => 7, 'height' => 7, 'alt' => t('Collapse'), 'title' => t('Collapse'))) . ' (' . t('Collapse') . ')', + theme('image', array('uri' => 'core/misc/menu-collapsed.png', 'width' => 7, 'height' => 7, 'alt' => t('Expand'), 'title' => t('Expand'))) . ' (' . t('Expand') . ')', + theme('image', array('uri' => 'core/misc/menu-expanded.png', 'width' => 7, 'height' => 7, 'alt' => t('Collapse'), 'title' => t('Collapse'))) . ' (' . t('Collapse') . ')', ), ); @@ -414,10 +414,10 @@ function simpletest_result_status_image($status) { if (!isset($map)) { $map = array( - 'pass' => theme('image', array('path' => 'core/misc/watchdog-ok.png', 'width' => 18, 'height' => 18, 'alt' => t('Pass'))), - 'fail' => theme('image', array('path' => 'core/misc/watchdog-error.png', 'width' => 18, 'height' => 18, 'alt' => t('Fail'))), - 'exception' => theme('image', array('path' => 'core/misc/watchdog-warning.png', 'width' => 18, 'height' => 18, 'alt' => t('Exception'))), - 'debug' => theme('image', array('path' => 'core/misc/watchdog-warning.png', 'width' => 18, 'height' => 18, 'alt' => t('Debug'))), + 'pass' => theme('image', array('uri' => 'core/misc/watchdog-ok.png', 'width' => 18, 'height' => 18, 'alt' => t('Pass'))), + 'fail' => theme('image', array('uri' => 'core/misc/watchdog-error.png', 'width' => 18, 'height' => 18, 'alt' => t('Fail'))), + 'exception' => theme('image', array('uri' => 'core/misc/watchdog-warning.png', 'width' => 18, 'height' => 18, 'alt' => t('Exception'))), + 'debug' => theme('image', array('uri' => 'core/misc/watchdog-warning.png', 'width' => 18, 'height' => 18, 'alt' => t('Debug'))), ); } if (isset($map[$status])) { diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc index aa2f98f..97a4673 100644 --- a/core/modules/system/system.admin.inc +++ b/core/modules/system/system.admin.inc @@ -154,7 +154,7 @@ function system_themes_page() { foreach (array_reverse($theme_keys) as $theme_key) { if (isset($themes[$theme_key]) && file_exists($themes[$theme_key]->info['screenshot'])) { $theme->screenshot = array( - 'path' => $themes[$theme_key]->info['screenshot'], + 'uri' => $themes[$theme_key]->info['screenshot'], 'alt' => t('Screenshot for !theme theme', array('!theme' => $theme->info['name'])), 'title' => t('Screenshot for !theme theme', array('!theme' => $theme->info['name'])), 'attributes' => array('class' => array('screenshot')), @@ -1003,7 +1003,7 @@ function _system_modules_build_row($info, $extra) { } else { $form['enable'] = array( - '#markup' => theme('image', array('path' => 'core/misc/watchdog-error.png', 'alt' => $status_short, 'title' => $status_short)), + '#markup' => theme('image', array('uri' => 'core/misc/watchdog-error.png', 'alt' => $status_short, 'title' => $status_short)), ); $form['description']['#markup'] .= theme('system_modules_incompatible', array('message' => $status_long)); } diff --git a/core/modules/update/update.report.inc b/core/modules/update/update.report.inc index 02150e9..7703503 100644 --- a/core/modules/update/update.report.inc +++ b/core/modules/update/update.report.inc @@ -57,25 +57,25 @@ function theme_update_report($variables) { switch ($project['status']) { case UPDATE_CURRENT: $class = 'ok'; - $icon = theme('image', array('path' => 'core/misc/watchdog-ok.png', 'width' => 18, 'height' => 18, 'alt' => t('ok'), 'title' => t('ok'))); + $icon = theme('image', array('uri' => 'core/misc/watchdog-ok.png', 'width' => 18, 'height' => 18, 'alt' => t('ok'), 'title' => t('ok'))); break; case UPDATE_UNKNOWN: case UPDATE_FETCH_PENDING: case UPDATE_NOT_FETCHED: $class = 'unknown'; - $icon = theme('image', array('path' => 'core/misc/watchdog-warning.png', 'width' => 18, 'height' => 18, 'alt' => t('warning'), 'title' => t('warning'))); + $icon = theme('image', array('uri' => 'core/misc/watchdog-warning.png', 'width' => 18, 'height' => 18, 'alt' => t('warning'), 'title' => t('warning'))); break; case UPDATE_NOT_SECURE: case UPDATE_REVOKED: case UPDATE_NOT_SUPPORTED: $class = 'error'; - $icon = theme('image', array('path' => 'core/misc/watchdog-error.png', 'width' => 18, 'height' => 18, 'alt' => t('error'), 'title' => t('error'))); + $icon = theme('image', array('uri' => 'core/misc/watchdog-error.png', 'width' => 18, 'height' => 18, 'alt' => t('error'), 'title' => t('error'))); break; case UPDATE_NOT_CHECKED: case UPDATE_NOT_CURRENT: default: $class = 'warning'; - $icon = theme('image', array('path' => 'core/misc/watchdog-warning.png', 'width' => 18, 'height' => 18, 'alt' => t('warning'), 'title' => t('warning'))); + $icon = theme('image', array('uri' => 'core/misc/watchdog-warning.png', 'width' => 18, 'height' => 18, 'alt' => t('warning'), 'title' => t('warning'))); break; } diff --git a/core/modules/user/user.module b/core/modules/user/user.module index abf7477..f40adbe 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -1410,7 +1410,7 @@ function template_preprocess_user_picture(&$variables) { // If the image does not have a valid Drupal scheme (for eg. HTTP), // don't load image styles. if (module_exists('image') && file_valid_uri($filepath) && $style = variable_get('user_picture_style', '')) { - $variables['user_picture'] = theme('image_style', array('style_name' => $style, 'path' => $filepath, 'alt' => $alt, 'title' => $alt)); + $variables['user_picture'] = theme('image_style', array('style_name' => $style, 'uri' => $filepath, 'alt' => $alt, 'title' => $alt)); } else { $variables['user_picture'] = theme('image', array('path' => $filepath, 'alt' => $alt, 'title' => $alt)); diff --git a/core/themes/seven/template.php b/core/themes/seven/template.php index b1073b7..9804d4d 100644 --- a/core/themes/seven/template.php +++ b/core/themes/seven/template.php @@ -88,10 +88,10 @@ function seven_tablesort_indicator($variables) { $style = $variables['style']; $theme_path = drupal_get_path('theme', 'seven'); if ($style == 'asc') { - return theme('image', array('path' => $theme_path . '/images/arrow-asc.png', 'alt' => t('sort ascending'), 'width' => 13, 'height' => 13, 'title' => t('sort ascending'))); + return theme('image', array('uri' => $theme_path . '/images/arrow-asc.png', 'alt' => t('sort ascending'), 'width' => 13, 'height' => 13, 'title' => t('sort ascending'))); } else { - return theme('image', array('path' => $theme_path . '/images/arrow-desc.png', 'alt' => t('sort descending'), 'width' => 13, 'height' => 13, 'title' => t('sort descending'))); + return theme('image', array('uri' => $theme_path . '/images/arrow-desc.png', 'alt' => t('sort descending'), 'width' => 13, 'height' => 13, 'title' => t('sort descending'))); } }