/**
  * get sieve vacation object
  * 
  * @return Expressomail_Sieve_Vacation
  */
 public function getFSV()
 {
     $fsv = new Expressomail_Sieve_Vacation();
     $fsv->setEnabled($this->enabled)->setDays(is_int($this->days) && $this->days > 0 ? $this->days : 7)->setSubject($this->subject)->setFrom($this->from)->setMime($this->mime)->setReason($this->reason)->setDateEnabled($this->date_enabled);
     $this->setTimezone(Tinebase_Core::get(Tinebase_Core::USERTIMEZONE));
     if ($this->start_date instanceof Tinebase_DateTime) {
         $fsv->setStartdate($this->start_date->format('Y-m-d'));
     }
     if ($this->end_date instanceof Tinebase_DateTime) {
         $fsv->setEnddate($this->end_date->format('Y-m-d'));
     }
     $this->setTimezone('UTC');
     if (is_array($this->addresses)) {
         foreach ($this->addresses as $address) {
             $fsv->addAddress($address);
         }
     }
     return $fsv;
 }
 /**
  * parse sieve parts and set vacation
  * 
  * @param array $parts
  */
 protected function _parseSmartSieveVacation($parts)
 {
     $vacation = new Expressomail_Sieve_Vacation();
     $vacation->setDays($parts[1])->setReason($this->_unescapeChars($parts[3]))->setEnabled($parts[4] == 'on' ? true : false);
     $addresses = explode(',', $this->_unescapeChars($parts[2]));
     $addresses = array_map('trim', $addresses, array('"'));
     foreach ($addresses as $address) {
         $vacation->addAddress($address);
     }
     $this->setVacation($vacation);
 }