From cc95700b58f31f04470db8271a09d6e52ba9a63d Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Sun, 05 Feb 2006 10:38:51 -0500 Subject: [PATCH] Added message cache garbage collector --- program/include/rcube_shared.inc | 43 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 36 insertions(+), 7 deletions(-) diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc index b622203..fb200de 100644 --- a/program/include/rcube_shared.inc +++ b/program/include/rcube_shared.inc @@ -88,13 +88,9 @@ $this->charset = $charset; } - - function encode_string($str) + function get_charset() { - if ($this->charset=='UTF-8' && function_exists('utf8_encode')) - return utf8_encode($str); - else - return $str; + return $this->charset; } @@ -187,7 +183,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); - print $output; + print rcube_charset_convert($output, 'UTF-8', $this->charset); } @@ -1357,4 +1353,37 @@ } +// create a unix timestamp with a specified offset from now +function get_offset_time($offset_str, $factor=1) + { + if (preg_match('/^([0-9]+)\s*([smhdw])/i', $offset_str, $regs)) + { + $amount = (int)$regs[1]; + $unit = strtolower($regs[2]); + } + else + { + $amount = (int)$offset_str; + $unit = 's'; + } + + $ts = mktime(); + switch ($unit) + { + case 'w': + $amount *= 7; + case 'd': + $amount *= 24; + case 'h': + $amount *= 60; + case 'h': + $amount *= 60; + case 's': + $ts += $amount * $factor; + } + + return $ts; + } + + ?> \ No newline at end of file -- Gitblit v1.9.1