コード例 #1
0
ファイル: moodletxtplus.php プロジェクト: educacionbe/campus
/**
 * Receives a message event object from moodletxt+
 * and sens an SMS to the destination user as per their
 * preferences
 * @param object $messageObject Message event object
 * @version 2012062401
 * @since 2012062401
 */
function send_moodletxt_plus_message($messageObject)
{
    $accountDAO = new TxttoolsAccountDAO();
    $userDAO = new MoodletxtMoodleUserDAO();
    $messageDAO = new TxttoolsSentMessageDAO();
    // moodletxt requires a ConnectTxt account to be specified
    // for this message to transition via
    $defaultAccountId = (int) get_config('moodletxt', 'Event_Messaging_Account');
    if ($defaultAccountId > 0) {
        $connectTxtAccount = $accountDAO->getTxttoolsAccountById($defaultAccountId);
        // Check that the specified account has outbound enabled
        if ($connectTxtAccount->isOutboundEnabled()) {
            $sender = $userDAO->getUserById($messageObject->from_id);
            $recipient = $userDAO->getUserById($messageObject->to_id);
            $message = new MoodletxtOutboundMessage($connectTxtAccount, $sender, $messageObject->smallmessage, time(), MoodletxtOutboundMessage::$MESSAGE_CHARGE_TYPE_BULK);
            $message->addMessageRecipient($recipient);
            $message->setEventCreated(true);
            // Send message to ConnectTxt
            try {
                $connector = MoodletxtOutboundControllerFactory::getOutboundController(MoodletxtOutboundControllerFactory::$CONTROLLER_TYPE_XML);
                $message->setSentSMSMessages($connector->sendMessage($message));
                $messageDAO->saveSentMessage($message);
            } catch (MoodletxtRemoteProcessingException $ex) {
                // Die silently, for now
            }
        }
    }
}
コード例 #2
0
 /**
  * Takes the vanilla object returned as a database row and creates a full-fledged
  * sent message object from it, complete with dependent beans, methods, the works
  * @param stdClass $stdObject Raw database-level data object
  * @return MoodletxtOutboundMessage Constructed message object
  * @version 2015062901
  * @since 2011081101
  */
 private function convertStandardClassToBean($stdObject)
 {
     $defaultUser = new MoodletxtBiteSizedUser($stdObject->defaultuser, $stdObject->defaultusername, $stdObject->defaultfirst, $stdObject->defaultlast);
     $txttoolsAccount = new TxttoolsAccount($stdObject->txttoolsuser, $stdObject->description, $defaultUser, $stdObject->url, $stdObject->location);
     if (isset($stdObject->encrypted)) {
         $txttoolsAccount->setEncryptedPassword($stdObject->encrypted);
     }
     $messageOwner = new MoodletxtBiteSizedUser($stdObject->moodleuserid, $stdObject->moodleuser, $stdObject->firstname, $stdObject->lastname);
     $outboundMessage = new MoodletxtOutboundMessage($txttoolsAccount, $messageOwner, $stdObject->messagetext, $stdObject->timesent, $stdObject->type);
     if (isset($stdObject->scheduledfor)) {
         $outboundMessage->setScheduledTime($stdObject->scheduledfor);
     }
     if (isset($stdObject->id)) {
         $outboundMessage->setId($stdObject->id);
     }
     $eventCreated = $stdObject->fromevent == '1' ? true : false;
     $outboundMessage->setEventCreated($eventCreated);
     return $outboundMessage;
 }