From 5afbcf08e2cd24bb36eb565d2a77273285ca5468 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 24 Dec 2010 15:38:34 +0100 Subject: [PATCH] Adding the "tag" function fixing Display::icon, Display::return, --- main/inc/lib/display.lib.php | 81 ++++++++++++++++++++++++++++-------- 1 file changed, 63 insertions(+), 18 deletions(-) diff --git a/main/inc/lib/display.lib.php b/main/inc/lib/display.lib.php index cc67c011be..86edc6b165 100755 --- a/main/inc/lib/display.lib.php +++ b/main/inc/lib/display.lib.php @@ -630,7 +630,7 @@ class Display { * @param array additional attributes (for instance height, width, onclick, ...) */ public static function display_icon($image, $alt_text = '', $additional_attributes = array()) { - echo Display::return_icon($image, $alt_text, $additional_attributes); + echo self::return_icon($image, $alt_text, $additional_attributes); } /** @@ -640,23 +640,68 @@ class Display { * @param string $alt_text the alt text (probably a language variable) * @param array additional attributes (for instance height, width, onclick, ...) * - * @author Patrick Cool , Ghent University + * @author Patrick Cool , Ghent University 2006 + * @author Julio Montoya 2010 Function improved * @version October 2006 */ - public static function return_icon($image, $alt_text = '', $additional_attributes = array()) { - $attribute_list = ''; - // alt text = the image name if there is none provided (for XHTML compliance) - if ($alt_text == '') { - $alt_text = $image; - } - // Managing the additional attributes - if (!empty($additional_attributes) && is_array($additional_attributes)) { - $attribute_list = ''; - foreach ($additional_attributes as $key => & $value) { - $attribute_list .= $key.'="'.$value.'" '; - } - } - return ''.$alt_text.''; + public static function return_icon($image, $alt_text = '', $additional_attributes = array()) { + return self::img(api_get_path(WEB_IMG_PATH).$image, $alt_text,$additional_attributes); } - -} //end class Display + + /** + * Returns the htmlcode for an image + * + * @param string $image the filename of the file (in the main/img/ folder + * @param string $alt_text the alt text (probably a language variable) + * @param array additional attributes (for instance height, width, onclick, ...) + * @author Julio Montoya 2010 + */ + public static function img($image_path, $alt_text = '', $additional_attributes = array()) { + $attribute_list = ''; + // alt text = the image name if there is none provided (for XHTML compliance) + if ($alt_text == '') { + $alt_text = basename($image_path); + } + $image_path = Security::remove_XSS($image_path); + + $additional_attributes['src'] = $image_path; + + if (empty($additional_attributes['alt'])) { + $additional_attributes['alt'] = $alt_text; + } + if (empty($additional_attributes['title'])) { + $additional_attributes['title'] = $alt_text; + } + //return ''.$alt_text.''; + return self::tag('img','',$additional_attributes); + } + + + /** + * Returns the htmlcode for a tag (h3, h1, div), etc + * + * @param string $image the filename of the file (in the main/img/ folder + * @param string $alt_text the alt text (probably a language variable) + * @param array additional attributes (for instance height, width, onclick, ...) + * @author Julio Montoya 2010 + */ + public static function tag($tag, $content, $additional_attributes = array()) { + $attribute_list = ''; + // Managing the additional attributes + if (!empty($additional_attributes) && is_array($additional_attributes)) { + $attribute_list = ''; + foreach ($additional_attributes as $key => & $value) { + $attribute_list .= $key.'="'.$value.'" '; + } + } + //some tags don't have this + if (in_array($tag, array('img','input'))) { + $return_value = '<'.$tag.' '.$attribute_list.' />'; + } else { + $return_value = '<'.$tag.' '.$attribute_list.' > '.$content.''; + } + return $return_value; + + } + +} //end class Display \ No newline at end of file