/** * 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; }
/** * test disabled vacation */ public function testDisabledVacation() { $script = new Expresomail_Sieve_Backend_Script(); $vacation = new Expressomail_Sieve_Vacation(); $vacation->setEnabled(false)->addAddress('*****@*****.**')->setDays(8)->setReason('Tine 2.0 Unit Test'); $script->setVacation($vacation); $sieveScript = $script->getSieve(); $this->assertNotContains('vacation :days 8 :addresses ["*****@*****.**"]', $sieveScript); $this->assertContains('Expressomail_Sieve_Vacation', $sieveScript); $this->assertContains('Tine 2.0 Unit Test', $sieveScript); }