コード例 #1
0
ファイル: messagereceiptTest.php プロジェクト: nemein/openpsa
 public function testCRUD()
 {
     midcom::get('auth')->request_sudo('org.openpsa.directmarketing');
     $topic = $this->create_object('midcom_db_topic', array('component' => 'org.openpsa.directmarketing'));
     $campaign = $this->create_object('org_openpsa_directmarketing_campaign_dba', array('node' => $topic->id));
     $message = $this->create_object('org_openpsa_directmarketing_campaign_message_dba', array('campaign' => $campaign->id));
     $receipt = new org_openpsa_directmarketing_campaign_messagereceipt_dba();
     $stat = $receipt->create();
     $this->assertFalse($stat);
     $receipt = new org_openpsa_directmarketing_campaign_messagereceipt_dba();
     $receipt->message = $message->id;
     $stat = $receipt->create();
     $this->assertTrue($stat);
     $this->register_object($receipt);
     $receipt->token = 'TEST';
     $stat = $receipt->update();
     $this->assertTrue($stat);
     $receipt->refresh();
     $this->assertEquals('TEST', $receipt->token);
     $stat = $receipt->delete();
     $this->assertTrue($stat);
     midcom::get('auth')->drop_sudo();
 }
コード例 #2
0
ファイル: logger.php プロジェクト: nemein/openpsa
 private function _create_link_receipt(&$receipt, &$token, &$target)
 {
     if (!array_key_exists('create_status', $this->_request_data)) {
         $this->_request_data['create_status'] = array('receipts' => array(), 'links' => array());
     }
     //Store the click in database
     $link = new org_openpsa_directmarketing_link_log_dba();
     $link->person = $receipt->person;
     $link->message = $receipt->message;
     $link->target = $target;
     $link->token = $token;
     $this->_request_data['create_status']['links'][$target] = $link->create();
     //Create received and read receipts
     $read_receipt = new org_openpsa_directmarketing_campaign_messagereceipt_dba();
     $read_receipt->person = $receipt->person;
     $read_receipt->message = $receipt->message;
     $read_receipt->token = $token;
     $read_receipt->orgOpenpsaObtype = org_openpsa_directmarketing_campaign_messagereceipt_dba::RECEIVED;
     $this->_request_data['create_status']['receipts'][$token] = $read_receipt->create();
 }
コード例 #3
0
ファイル: member.php プロジェクト: nemein/openpsa
 /**
  * Creates a message receipt of type.
  */
 function create_receipt($message_id, $type, $token = '', $parameters = false)
 {
     $receipt = new org_openpsa_directmarketing_campaign_messagereceipt_dba();
     $receipt->orgOpenpsaObtype = $type;
     $receipt->person = $this->person;
     $receipt->message = $message_id;
     $receipt->token = $token;
     $receipt->timestamp = time();
     midcom::get('auth')->request_sudo('org.openpsa.directmarketing');
     $stat = $receipt->create();
     if (!$stat) {
         debug_add('Failed to create, errstr: ' . midcom_connection::get_error_string(), MIDCOM_LOG_ERROR);
         return $stat;
     }
     if (is_array($parameters) && !empty($parameters)) {
         foreach ($parameters as $param_data) {
             if (empty($param_data['domain']) || empty($param_data['name']) || empty($param_data['value'])) {
                 // TODO: Log warning
                 continue;
             }
             $receipt->set_parameter($param_data['domain'], $param_data['name'], $param_data['value']);
         }
     }
     midcom::get('auth')->drop_sudo();
 }