/** * Initializes the data from the incoming info. * @param array $info incoming data. * @param bool $attached Indicates whether the object was attached successfully. * @param EE_Message $message * @return array */ protected function _init_data($info, $attached, $message) { $data = array('test_send' => false, 'preview' => false, 'data_handler_class_name' => '', 'data' => array('MSG_generation_data' => array())); if (isset($info['preview'])) { $data['preview'] = $info['preview']; unset($info['preview']); } if (isset($info['test_send'])) { $data['test_send'] = $info['test_send']; unset($info['test_send']); } if (isset($info['data_handler_class_name'])) { $data['data_handler_class_name'] = $info['data_handler_class_name']; unset($info['data_handler_class_name']); } if ($attached && $message->STS_ID() === EEM_Message::status_incomplete) { $generation_data = isset($info['MSG_generation_data']) ? $info['MSG_generation_data'] : array(); //if data isn't in $info...let's see if its available via the message object $generation_data = !$generation_data ? $message->get_generation_data() : $generation_data; //still empty then let's just use info $generation_data = !$generation_data ? $info : $generation_data; $data['data']['MSG_generation_data'] = $generation_data; } return $data; }
/** * This sets any necessary error messages on the message object and its status to failed. * @param EE_Message $message * @param array $error_messages the response from the messenger. */ protected function _set_error_message(EE_Message $message, $error_messages) { $error_messages = (array) $error_messages; if (in_array($message->STS_ID(), EEM_Message::instance()->stati_indicating_failed_sending())) { $notices = EE_Error::has_notices(); $error_messages[] = __('Messenger and Message Type were valid and active, but the messenger send method failed.', 'event_espresso'); if ($notices === 1) { $notices = EE_Error::get_vanilla_notices(); $notices['errors'] = isset($notices['errors']) ? $notices['errors'] : array(); $error_messages[] = implode("\n", $notices['errors']); } } if (count($error_messages) > 0) { $msg = __('Message was not executed successfully.', 'event_espresso'); $msg = $msg . "\n" . implode("\n", $error_messages); $message->set_error_message($msg); } }