From fda695f29732f5e5bcaa55e7e7abd090d2359927 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 01 Sep 2006 13:14:51 -0400
Subject: [PATCH] Finalized quota image

---
 program/include/rcube_shared.inc |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 50 insertions(+), 10 deletions(-)

diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc
index 77753f5..af4c295 100644
--- a/program/include/rcube_shared.inc
+++ b/program/include/rcube_shared.inc
@@ -33,6 +33,7 @@
   
   var $script_tag_file = "<script type=\"text/javascript\" src=\"%s%s\"></script>\n";
   var $script_tag      = "<script type=\"text/javascript\">\n<!--\n%s\n\n//-->\n</script>\n";
+  var $default_template = "<html>\n<head><title></title></head>\n<body></body>\n</html>";
   
   var $title = '';
   var $header = '';
@@ -78,10 +79,11 @@
     }
 
 
-  function set_title()
+  function set_title($t)
     {
-    
+    $this->title = $t;
     }
+
 
   function set_charset($charset)
     {
@@ -95,17 +97,26 @@
         $MBSTRING = FALSE;
       }
     }
-    
+
   function get_charset()
     {
     return $this->charset;
     }
 
 
+  function reset()
+    {
+    $this->css = new rcube_css();
+    $this->script_files = array();
+    $this->scripts = array();
+    $this->title = '';
+    }
+
+
   function write($templ='', $base_path='')
     {
-    $output = trim($templ);
-  
+    $output = empty($templ) ? $this->default_template : trim($templ);
+    
     // set default page title
     if (!strlen($this->title))
       $this->title = 'RoundCube Mail';
@@ -193,6 +204,7 @@
   
     // correct absolute pathes in images and other tags
     $output = preg_replace('/(src|href|background)=(["\']?)(\/[a-z0-9_\-]+)/Ui', "\\1=\\2$base_path\\3", $output);
+    $output = str_replace('$__skin_path', $base_path, $output);
   
     print rcube_charset_convert($output, 'UTF-8', $this->charset);
     }
@@ -1287,12 +1299,25 @@
   }
 
 
-function show_bytes($numbytes)
+// create a human readable string for a number of bytes
+function show_bytes($bytes)
   {
-  if ($numbytes > 1024)
-    return sprintf('%d KB', round($numbytes/1024));
+  if ($bytes > 1073741824)
+    {
+    $gb = $bytes/1073741824;
+    $str = sprintf($gb>=10 ? "%d GB" : "%.1f GB", $gb);
+    }
+  else if ($bytes > 1048576)
+    {
+    $mb = $bytes/1048576;
+    $str = sprintf($mb>=10 ? "%d MB" : "%.1f MB", $mb);
+    }
+  else if ($bytes > 1024)
+    $str = sprintf("%d KB",  round($bytes/1024));
   else
-    return sprintf('%d B', $numbytes);
+    $str = sprintf('%d B', $bytes);
+
+  return $str;
   }
 
 
@@ -1333,7 +1358,8 @@
     }
 
 
-
+// replace the middle part of a string with ...
+// if it is longer than the allowed length
 function abbrevate_string($str, $maxlength, $place_holder='...')
   {
   $length = strlen($str);
@@ -1349,6 +1375,20 @@
   }
 
 
+// make sure the string ends with a slash
+function slashify($str)
+  {
+  return unslashify($str).'/';
+  }
+
+
+// remove slash at the end of the string
+function unslashify($str)
+  {
+  return preg_replace('/\/$/', '', $str);
+  }
+  
+
 // delete all files within a folder
 function clear_directory($dir_path)
   {

--
Gitblit v1.9.1