示例#1
0
 /**
  * get sieve rule object
  * 
  * @return Felamimail_Sieve_Rule
  */
 public function getFSR()
 {
     $fsr = new Felamimail_Sieve_Rule();
     $fsr->setEnabled($this->enabled)->setId($this->id);
     $fsra = new Felamimail_Sieve_Rule_Action();
     $fsra->setType($this->action_type)->setArgument($this->action_argument);
     $fsr->setAction($fsra);
     foreach ($this->conditions as $condition) {
         $fsrc = new Felamimail_Sieve_Rule_Condition();
         $fsrc->setTest($condition['test'])->setComperator($condition['comperator'])->setHeader($condition['header'])->setKey($condition['key']);
         $fsr->addCondition($fsrc);
     }
     return $fsr;
 }
示例#2
0
 /**
  * test enabled rule
  */
 public function testEnabledRule()
 {
     $script = new Felamimail_Sieve_Backend_Script();
     $rule = new Felamimail_Sieve_Rule();
     $condition = new Felamimail_Sieve_Rule_Condition();
     $action = new Felamimail_Sieve_Rule_Action();
     $condition->setComperator(Felamimail_Sieve_Rule_Condition::COMPERATOR_CONTAINS)->setTest(Felamimail_Sieve_Rule_Condition::TEST_ADDRESS)->setHeader('From')->setKey('*****@*****.**');
     $action->setType(Felamimail_Sieve_Rule_Action::FILEINTO)->setArgument('INBOX/UNITTEST');
     $rule->setEnabled(true)->setId(12)->setAction($action)->addCondition($condition);
     $script->addRule($rule);
     $sieveScript = $script->getSieve();
     #echo $sieveScript;
     $this->assertContains('if allof (address :contains "From" "*****@*****.**")', $sieveScript);
     $this->assertContains('fileinto "INBOX/UNITTEST";', $sieveScript);
     $this->assertContains('Felamimail_Sieve_Rule', $sieveScript);
 }