CSS for printer-friendly templates
[squirrelmail.git] / templates / util_global.php
index 9c8f39127f451871f374e47cc5bd5ad5d6818f49..56c832c20c4c9a0b0fb751fc25f63f3258f1316c 100644 (file)
@@ -30,20 +30,14 @@ function getIcon($icon_theme_path, $icon_name, $text_icon, $alt_text='', $w=NULL
     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 (!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.'" ' : '') .
                     ' />';
@@ -53,4 +47,63 @@ function getIcon($icon_theme_path, $icon_name, $text_icon, $alt_text='', $w=NULL
     }
     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 $fallback_icon_theme_path;
+
+    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 fallback
+    } elseif (!is_null($fallback_icon_theme_path) && is_file($fallback_icon_theme_path . $icon_name)) {
+        return $fallback_icon_theme_path . $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);
+}
+