From c71bfded3dea1754633f29ac8e81fb3ab46b766a Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Wed, 4 Aug 2004 20:40:01 +0000 Subject: - Patch #9657: more intelligent theme() function. Hopefully, Adrian will be able to use this patch too. --- includes/tablesort.inc | 2 +- includes/theme.inc | 23 +++++++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) (limited to 'includes') diff --git a/includes/tablesort.inc b/includes/tablesort.inc index e80eb544f..56d805e1b 100644 --- a/includes/tablesort.inc +++ b/includes/tablesort.inc @@ -77,8 +77,8 @@ function tablesort_header($cell, $header, $ts) { if ($cell['data'] == $ts['name']) { $ts['sort'] = (($ts['sort'] == 'asc') ? 'desc' : 'asc'); $cell['class'] = 'active'; - $image = ' '. t('sort icon') .''; $title = ($ts['sort'] == 'asc' ? t('sort ascending') : t('sort descending')); + $image = ' '. theme('image', 'misc/arrow-'. $ts['sort'] .'.png', t('sort icon'), $title); } else { // If the user clicks a different header, we want to sort ascending initially. diff --git a/includes/theme.inc b/includes/theme.inc index c43b45df6..60f9dfe43 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -235,13 +235,22 @@ function theme_links($links, $delimiter = ' | ') { /** * Return a themed image. * - * @param $name - * The name of the image file. + * @param $path + * The path of the image file. + * @param $alt + * The alternative text for text-based browsers. + * @param $title + * The title text is displayed when the image is hovered in some popular browsers. + * @param $attr + * Attributes placed in the img tag. + * This parameter overrides the default auto-detection of width and height. * @return - * The pathname of the themed image. + * A string containing the image tag. */ -function theme_image($name) { - return 'misc/'. $name; +function theme_image($path, $alt = NULL, $title = NULL, $attr = NULL) { + if (isset($attr) || (file_exists($path) && (list($width, $height, $type, $attr) = getimagesize($path)))) { + return "\"$alt\""; + } } /** @@ -511,7 +520,9 @@ function theme_error($message) { * Return code that emits an XML icon. */ function theme_xml_icon($url) { - return '
'. t('XML feed') .'
'; + if ($image = theme('image', 'misc/xml.png', t('XML feed'), t('XML feed'))) { + return '
'. $image. '
'; + } } /** -- cgit v1.2.3