| | |
| | | } |
| | | } |
| | | |
| | | $interval_txt = $interval->show(isset($this->vacation['seconds']) ? $this->vacation['seconds'] : $this->vacation['days']); |
| | | $interval_txt = $interval->show(self::vacation_interval($this->vacation)); |
| | | if ($seconds_extension) { |
| | | $interval_select = new html_select(array('name' => 'vacation_interval_type')); |
| | | $interval_select->add($this->plugin->gettext('days'), 'days'); |
| | |
| | | } |
| | | |
| | | /** |
| | | * Get current vacation interval |
| | | */ |
| | | public static function vacation_interval(&$vacation) |
| | | { |
| | | $rcube = rcube::get_instance(); |
| | | |
| | | if (isset($vacation['seconds'])) { |
| | | $interval = $vacation['seconds']; |
| | | } |
| | | else if (isset($vacation['days'])) { |
| | | $interval = $vacation['days']; |
| | | } |
| | | else if ($interval_cfg = $rcube->config->get('managesieve_vacation_interval')) { |
| | | if (preg_match('/^([0-9]+)s$/', $interval_cfg, $m)) { |
| | | if ($seconds_extension) { |
| | | $vacation['seconds'] = ($interval = intval($m[1])) ? $interval : null; |
| | | } |
| | | else { |
| | | $vacation['days'] = $interval = ceil(intval($m[1])/86400); |
| | | } |
| | | } |
| | | else { |
| | | $vacation['days'] = $interval = intval($interval_cfg); |
| | | } |
| | | } |
| | | |
| | | return $interval ? $interval : ''; |
| | | } |
| | | |
| | | /** |
| | | * Saves vacation script (adding some variables) |
| | | */ |
| | | protected function save_vacation_script($rule) |