diff options
author | alecpl <alec@alec.pl> | 2012-04-19 07:42:19 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2012-04-19 07:42:19 +0000 |
commit | 5d66a4bcf3ad5d584255184776f1f04451c929fc (patch) | |
tree | c203c622d679a5c60c03743ec2d878c754c47722 /program/include/rcube_shared.inc | |
parent | 6a8b4c2951314441e670d89204dd3b913698b23d (diff) |
- Improved ttl values handling
Diffstat (limited to 'program/include/rcube_shared.inc')
-rw-r--r-- | program/include/rcube_shared.inc | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc index b3911659e..176a46281 100644 --- a/program/include/rcube_shared.inc +++ b/program/include/rcube_shared.inc @@ -146,25 +146,23 @@ function clear_directory($dir_path) /** - * Create a unix timestamp with a specified offset from now. + * Returns number of seconds for a specified offset string. * - * @param string $offset_str String representation of the offset (e.g. 20min, 5h, 2days) - * @param int $factor Factor to multiply with the offset + * @param string $str String representation of the offset (e.g. 20min, 5h, 2days, 1week) * - * @return int Unix timestamp + * @return int Number of seconds */ -function get_offset_time($offset_str, $factor=1) +function get_offset_sec($str) { - if (preg_match('/^([0-9]+)\s*([smhdw])/i', $offset_str, $regs)) { - $amount = (int)$regs[1]; + if (preg_match('/^([0-9]+)\s*([smhdw])/i', $str, $regs)) { + $amount = (int) $regs[1]; $unit = strtolower($regs[2]); } else { - $amount = (int)$offset_str; + $amount = (int) $str; $unit = 's'; } - $ts = time(); switch ($unit) { case 'w': $amount *= 7; @@ -174,11 +172,23 @@ function get_offset_time($offset_str, $factor=1) $amount *= 60; case 'm': $amount *= 60; - case 's': - $ts += $amount * $factor; } - return $ts; + return $amount; +} + + +/** + * Create a unix timestamp with a specified offset from now. + * + * @param string $offset_str String representation of the offset (e.g. 20min, 5h, 2days) + * @param int $factor Factor to multiply with the offset + * + * @return int Unix timestamp + */ +function get_offset_time($offset_str, $factor=1) +{ + return time() + get_offset_sec($offset_str) * $factor; } |