Exemplo n.º 1
0
 public function testSpamSetController()
 {
     $model = new Kwf_Model_Mail(array('tpl' => 'UserActivation'));
     $row = $model->createRow();
     $row->addTo('*****@*****.**');
     $row->subject = 'Buy cheap viagra';
     $row->sent_mail_content_text = "cheap viagra cheap cialis buy now cheap viagra cheap cialis buy now\ncheap viagra cheap cialis buy now cheap viagra cheap cialis buy now";
     $row->save();
     $transport = $this->getMock('Zend_Mail_Transport_Abstract', array('_sendMail'));
     $transport->expects($this->never())->method('_sendMail');
     $ret = Kwf_Controller_Action_Spam_SetController::sendSpammedMail($row->id, 'xx' . Kwf_Util_Check_Spam::getSpamKey($row), $transport);
     $this->assertFalse($ret);
     $transport = $this->getMock('Zend_Mail_Transport_Abstract', array('_sendMail'));
     $transport->expects($this->never())->method('_sendMail');
     $ret = Kwf_Controller_Action_Spam_SetController::sendSpammedMail($row->id . '9999999999999999999', Kwf_Util_Check_Spam::getSpamKey($row), $transport);
     $this->assertFalse($ret);
     $transport = $this->getMock('Zend_Mail_Transport_Abstract', array('_sendMail'));
     $transport->expects($this->once())->method('_sendMail');
     $ret = Kwf_Controller_Action_Spam_SetController::sendSpammedMail($row->id, Kwf_Util_Check_Spam::getSpamKey($row), $transport);
     $this->assertTrue($ret);
     $transport = $this->getMock('Zend_Mail_Transport_Abstract', array('_sendMail'));
     $transport->expects($this->never())->method('_sendMail');
     $ret = Kwf_Controller_Action_Spam_SetController::sendSpammedMail($row->id, Kwf_Util_Check_Spam::getSpamKey($row), $transport);
     $this->assertFalse($ret);
 }
Exemplo n.º 2
0
 public static function checkIsSpam($text, $row = null)
 {
     if (!self::$_backend) {
         $c = Kwf_Registry::get('config')->spamChecker;
         if (!$c) {
             return false;
         }
         self::$_backend = new $c();
     }
     return self::$_backend->checkIsSpam($text, $row);
 }
 /**
  * Public only for testing!!!
  */
 public static function sendSpammedMail($id, $key, $tranport = null)
 {
     $row = Kwf_Model_Abstract::getInstance('Kwf_Model_Mail')->getRow($id);
     if (!$row) {
         return false;
     }
     if (Kwf_Util_Check_Spam::getSpamKey($row) != $key) {
         return false;
     }
     if (!$row->mail_sent) {
         $row->is_spam = 0;
         $row->sendMail($tranport);
         // setzt mail_sent auf 1 und speichert
         return true;
     }
     return false;
 }
Exemplo n.º 4
0
 protected function _checkIsSpam()
 {
     if (!$this->_checkSpam) {
         return false;
     }
     if (!$this->id) {
         throw new Kwf_Exception("row wurde noch nie gespeichert, daher spam check nicht möglich da keine id vorhanden");
     }
     $siblingRows = $this->_getSiblingRows();
     $essentialsRow = $siblingRows['essentials'];
     $mailVarsRow = $siblingRows['vars'];
     $spamFields = unserialize($essentialsRow->spamFields);
     if (!$spamFields) {
         return 0;
     }
     if (in_array('*', $spamFields)) {
         $spamFields = array_keys($mailVarsRow->toArray());
     }
     $text = array();
     foreach ($spamFields as $v) {
         $text[] = $mailVarsRow->{$v};
     }
     $text = implode("\n", $text);
     return Kwf_Util_Check_Spam::checkIsSpam($text, $this);
 }