if (is_null($icon_theme_path)) {
$icon = $text_icon;
} else {
- // Desired icon exists in the current theme?
- if (is_file($icon_theme_path . $icon_name)) {
- $icon_path = $icon_theme_path . $icon_name;
+ $icon_path = getIconPath($icon_theme_path, $icon_name);
- // Icon not found, return the SQM default icon
- } elseif (is_file(SM_PATH . 'images/themes/default/'.$icon_name)) {
- $icon_path = SM_PATH . 'images/themes/default/'.$icon_name;
- }
-
// If we found an icon, build an img tag to display it. If we didn't
// find an image, we will revert back to the text icon.
- if (isset($icon_path) && !is_null($icon_path)) {
+ if (!is_null($icon_path)) {
$icon = '<img src="'.$icon_path.'" ' .
- (!empty($alt_text) ? 'alt="'.$alt_text.'" title="'.$alt_text.'" ' : '') .
+ 'alt="'.$alt_text.'" '.
+ (!empty($alt_text) ? 'title="'.$alt_text.'" ' : '') .
(!is_null($w) ? 'width="'.$w.'" ' : '') .
(!is_null($h) ? 'height="'.$h.'" ' : '') .
' />';
}
return $icon;
}
-?>
\ No newline at end of file
+
+/**
+ * Gets the path to the specified icon or returns NULL if the image is not
+ * found. This has been separated from getIcon to allow the path to be fetched
+ * for use w/ third party packages, e.g. dTree.
+ *
+ * @param string $icon_theme_path User's chosen icon set
+ * @param string $icon_name File name of the desired icon
+ * @return string $icon String containing path to icon that can be used in
+ * an IMG tag, or NULL if the image is not found.
+ * @author Steve Brown
+ * @since 1.5.2
+ */
+function getIconPath ($icon_theme_path, $icon_name) {
+ global $default_icon_theme;
+
+ if (is_null($icon_theme_path))
+ return NULL;
+
+ // Desired icon exists in the current theme?
+ if (is_file($icon_theme_path . $icon_name)) {
+ return $icon_theme_path . $icon_name;
+
+ // Icon not found, check for the admin-specified default
+ } elseif (!is_null($default_icon_theme) && is_file($default_icon_theme . $icon_name)) {
+ return $default_icon_theme . $icon_name;
+
+ // Icon not found, return the SQM default icon
+ } elseif (is_file(SM_PATH . 'images/themes/default/'.$icon_name)) {
+ return SM_PATH . 'images/themes/default/'.$icon_name;
+ }
+
+ return NULL;
+}
+
+/**
+ * Display error messages for use in footer.tpl
+ *
+ * @author Steve Brown
+ * @since 1.5.2
+ **/
+function displayErrors () {
+ global $oErrorHandler;
+
+ if ($oErrorHandler) {
+ $oErrorHandler->displayErrors();
+ }
+}
+
+/**
+ * Make the internal show_readable_size() function available to templates.
+ *
+ * @param int size to be converted to human-readable
+ * @return string human-readable form
+ * @since 1.5.2
+ **/
+function humanReadableSize ($size) {
+ return show_readable_size($size);
+}
+