/** * Builds response JSON to send back to the webpage * @param MoodletxtInboundMessage $message Message to build JSON from * @return array JSON structure ready for encoding * @TODO Return destination accounts when stored by system * @version 2012050401 * @since 2012050301 */ private function buildMessageJSON(MoodletxtInboundMessage $message) { $JSON = array('source' => array('firstName' => $message->getSourceFirstName(), 'lastName' => $message->getSourceLastName(), 'displayName' => $message->getSourceNameForDisplay(), 'number' => $message->getSourceNumber()->getPhoneNumber()), 'ticket' => $message->getMessageTicket(), 'messageText' => $message->getMessageText(), 'timeReceived' => $message->getTimeReceived('%H:%M:%S, %d %B %Y'), 'hasBeenRead' => $message->getHasBeenRead()); if ($message->hasOwner()) { $JSON['owner'] = array('userId' => $message->getOwner()->getId(), 'username' => $message->getOwner()->getUsername(), 'firstName' => $message->getOwner()->getFirstName(), 'lastName' => $message->getOwner()->getLastName(), 'displayName' => $message->getOwner()->getFullNameForDisplay()); } return $JSON; }
/** * Converts a message object down to a basic data object for use in the DB * @param MoodletxtInboundMessage $bean Message to convert * @return array One or more raw database row objects * @TODO Store and retrieve destination txttools accounts * @version 2012050401 * @since 2011080401 */ private function convertBeanToStandardClasses(MoodletxtInboundMessage $bean) { $returnedObjects = array(); // Existing record - update if ($bean->getId() > 0) { $stdObject = new stdClass(); $stdObject->id = $bean->getId(); $stdObject->userid = $bean->getOwner()->getId(); $stdObject->ticket = $bean->getMessageTicket(); $stdObject->messagetext = $bean->getMessageText(); $stdObject->source = $bean->getSourceNumber()->getPhoneNumber(); $stdObject->sourcefirstname = $bean->getSourceFirstName(); $stdObject->sourcelastname = $bean->getSourceLastName(); $stdObject->timereceived = $bean->getTimeReceived(); $stdObject->hasbeenread = $bean->getHasBeenRead(); } else { // Fresh from being filtered or forwarded - make new // message objects for destination users foreach ($bean->getDestinationUserIds() as $userId) { $stdObject = new stdClass(); $stdObject->userid = $userId; $stdObject->ticket = $bean->getMessageTicket(); $stdObject->messagetext = $bean->getMessageText(); $stdObject->source = $bean->getSourceNumber()->getPhoneNumber(); $stdObject->sourcefirstname = $bean->getSourceFirstName(); $stdObject->sourcelastname = $bean->getSourceLastName(); $stdObject->timereceived = $bean->getTimeReceived(); $stdObject->hasbeenread = $bean->getHasBeenRead(); array_push($returnedObjects, $stdObject); } } return $returnedObjects; }