/** * 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(); }