/** * Converts a sent SMS message down to a basic object for writing to the DB * @param MoodletxtOutboundSMS $sms Object to convert * @param object $existingRecord Existing DB record, if one exists * @return object Object for writing to the database * @version 2012031901 * @since 2012031501 */ private function convertSMSBeanToStandardClass(MoodletxtOutboundSMS $sms, object $existingRecord = null) { if ($existingRecord == null) { $existingRecord = new object(); } $existingRecord->messageid = $sms->getMessageId(); $existingRecord->ticketnumber = $sms->getTicketNumber(); $existingRecord->destination = $sms->getRecipientObject()->getRecipientNumber()->getPhoneNumber(); $existingRecord->sendfirstname = $sms->getRecipientObject()->getFirstName(); $existingRecord->sendlastname = $sms->getRecipientObject()->getLastName(); return $existingRecord; }
/** * Builds message and status objects from parsed XML * @param SimpleXMLElement $node The node collection to create the object from * @return mixed[] Sent messages built from the XML * @see SentMessageStatus * @version 2012031501 * @since 2011033101 */ private function buildStatusMessage($node) { $returnObjects = array(); // Check that all required children for message object // build exist within passed data if (isset($node->{MoodletxtXMLConstants::$RESPONSE_STATUS_MESSAGE_TEXT}) && isset($node->{MoodletxtXMLConstants::$RESPONSE_STATUS_PHONE}) && isset($node->{MoodletxtXMLConstants::$RESPONSE_STATUS_TICKET}) && isset($node->{MoodletxtXMLConstants::$RESPONSE_STATUS_UNIQUE_ID})) { // Build object and shove it onto the parsed objects array $sentMessageObject = new MoodletxtOutboundSMS($this->outboundMessageObject->getId(), (int) $node->{MoodletxtXMLConstants::$RESPONSE_STATUS_TICKET}, (string) $node->{MoodletxtXMLConstants::$RESPONSE_STATUS_MESSAGE_TEXT}); $sentMessageObject->setRecipientObject($this->outboundMessageObject->getMessageRecipientByKey((string) $node->{MoodletxtXMLConstants::$RESPONSE_STATUS_UNIQUE_ID})); } // Check if required children for status object exist if (isset($node->{MoodletxtXMLConstants::$RESPONSE_STATUS_TICKET}) && isset($node->{MoodletxtXMLConstants::$RESPONSE_STATUS_CODE}) && isset($node->{MoodletxtXMLConstants::$RESPONSE_STATUS_MESSAGE})) { // Build status object and shove onto array $statusObject = new MoodletxtOutboundSMSStatus((int) $node->{MoodletxtXMLConstants::$RESPONSE_STATUS_TICKET}, (int) $node->{MoodletxtXMLConstants::$RESPONSE_STATUS_CODE}, (string) $node->{MoodletxtXMLConstants::$RESPONSE_STATUS_MESSAGE}, time()); if (isset($sentMessageObject)) { $sentMessageObject->addStatusUpdate($statusObject); } else { if ($this->getExistingSentMessageByTicketNumber($statusObject->getTicketNumber()) != null) { $this->getExistingSentMessageByTicketNumber($statusObject->getTicketNumber())->addStatusUpdate($statusObject); } else { array_push($returnObjects, $statusObject); } } } if (isset($sentMessageObject)) { array_push($returnObjects, $sentMessageObject); } return $returnObjects; }