summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include/rcube_shared.inc
diff options
context:
space:
mode:
authorroundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c>2006-02-05 15:38:51 +0000
committerroundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c>2006-02-05 15:38:51 +0000
commite4c5b65c94cf5dcad52692b8e9474c1b080d3dcb (patch)
tree03e88bbc0cf94685566b0a17a248ebf743fa720a /roundcubemail/program/include/rcube_shared.inc
parentac2c4a9ef69d798c359f6942db266d355c4cfb8b (diff)
Added message cache garbage collector
git-svn-id: https://svn.roundcube.net/trunk@132 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/rcube_shared.inc')
-rw-r--r--roundcubemail/program/include/rcube_shared.inc33
1 files changed, 33 insertions, 0 deletions
diff --git a/roundcubemail/program/include/rcube_shared.inc b/roundcubemail/program/include/rcube_shared.inc
index a36458b00..fb200de57 100644
--- a/roundcubemail/program/include/rcube_shared.inc
+++ b/roundcubemail/program/include/rcube_shared.inc
@@ -1353,4 +1353,37 @@ function clear_directory($dir_path)
}
+// 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