示例#1
0
 /**
  *  Test civicrm_activity_processmail()
  */
 function testActivityProcessEMail()
 {
     //  Give contact 17 an email address
     $op = new PHPUnit_Extensions_Database_Operation_Insert();
     $op->execute($this->_dbconn, new PHPUnit_Extensions_Database_DataSet_XMLDataSet(dirname(__FILE__) . '/dataset/email_contact_17.xml'));
     $result = civicrm_activity_process_email(dirname(__FILE__) . '/dataset/activity_email', 5);
     //  civicrm_activity should show the new activity
     $expected = new PHPUnit_Extensions_Database_DataSet_XMLDataSet(dirname(__FILE__) . '/dataset/activity_1_emailed.xml');
     $actual = new PHPUnit_Extensions_Database_DataSet_QueryDataset($this->_dbconn);
     $actual->addTable('civicrm_activity');
     $expected->assertEquals($actual);
     //  civicrm_activity_target should show the target of the new activity
     $expected = new PHPUnit_Extensions_Database_DataSet_XMLDataSet(dirname(__FILE__) . '/dataset/activity_target_1_emailed.xml');
     $actual = new PHPUnit_Extensions_Database_DataSet_QueryDataset($this->_dbconn);
     $actual->addTable('civicrm_activity_target');
     $expected->assertEquals($actual);
 }
示例#2
0
 function process($file)
 {
     if ($this->_context == 'activity') {
         require_once 'api/v2/Activity.php';
         $result = civicrm_activity_process_email($this->_mailDir . DIRECTORY_SEPARATOR . $file, EMAIL_ACTIVITY_TYPE_ID);
     } elseif ($this->_context == 'case') {
         require_once 'CRM/Case/BAO/Case.php';
         $result = CRM_Case_BAO_Case::recordActivityViaEmail($this->_mailDir . DIRECTORY_SEPARATOR . $file);
     } else {
         echo "Context not supported/set.\n";
         exit;
     }
     if ($result['is_error']) {
         rename($this->_mailDir . DIRECTORY_SEPARATOR . $file, $this->_errorDir . DIRECTORY_SEPARATOR . $file);
         echo "Failed Processing: {$file}. Reason: {$result['error_message']}\n";
         return false;
     } else {
         rename($this->_mailDir . DIRECTORY_SEPARATOR . $file, $this->_processedDir . DIRECTORY_SEPARATOR . $file);
         echo "Processed: {$file}\n";
         return true;
     }
 }