/** * Creates a broker properties instance with specified JSON message. * * @param string $brokerPropertiesJson A JSON message representing a * broker properties. * * @return none */ public static function create($brokerPropertiesJson) { Validate::isString($brokerPropertiesJson, 'brokerPropertiesJson'); $brokerProperties = new self(); $brokerPropertiesArray = (array) json_decode($brokerPropertiesJson); if (array_key_exists('CorrelationId', $brokerPropertiesArray)) { $brokerProperties->setCorrelationId($brokerPropertiesArray['CorrelationId']); } if (array_key_exists('SessionId', $brokerPropertiesArray)) { $brokerProperties->setSessionId($brokerPropertiesArray['SessionId']); } if (array_key_exists('DeliveryCount', $brokerPropertiesArray)) { $brokerProperties->setDeliveryCount($brokerPropertiesArray['DeliveryCount']); } if (array_key_exists('LockedUntilUtc', $brokerPropertiesArray)) { $brokerProperties->setLockedUntilUtc(\DateTime::createFromFormat(Resources::AZURE_DATE_FORMAT, $brokerPropertiesArray['LockedUntilUtc'])); } if (array_key_exists('LockToken', $brokerPropertiesArray)) { $brokerProperties->setLockToken($brokerPropertiesArray['LockToken']); } if (array_key_exists('MessageId', $brokerPropertiesArray)) { $brokerProperties->setMessageId($brokerPropertiesArray['MessageId']); } if (array_key_exists('Label', $brokerPropertiesArray)) { $brokerProperties->setLabel($brokerPropertiesArray['Label']); } if (array_key_exists('ReplyTo', $brokerPropertiesArray)) { $brokerProperties->setReplyTo($brokerPropertiesArray['ReplyTo']); } if (array_key_exists('SequenceNumber', $brokerPropertiesArray)) { $brokerProperties->setSequenceNumber($brokerPropertiesArray['SequenceNumber']); } if (array_key_exists('TimeToLive', $brokerPropertiesArray)) { $brokerProperties->setTimeToLive(doubleval($brokerPropertiesArray['TimeToLive'])); } if (array_key_exists('To', $brokerPropertiesArray)) { $brokerProperties->setTo($brokerPropertiesArray['To']); } if (array_key_exists('ScheduledEnqueueTimeUtc', $brokerPropertiesArray)) { $brokerProperties->setScheduledEnqueueTimeUtc(\DateTime::createFromFormat(Resources::AZURE_DATE_FORMAT, $brokerPropertiesArray['ScheduledEnqueueTimeUtc'])); } if (array_key_exists('ReplyToSessionId', $brokerPropertiesArray)) { $brokerProperties->setReplyToSessionId($brokerPropertiesArray['ReplyToSessionId']); } if (array_key_exists('MessageLocation', $brokerPropertiesArray)) { $brokerProperties->setMessageLocation($brokerPropertiesArray['MessageLocation']); } if (array_key_exists('LockLocation', $brokerPropertiesArray)) { $brokerProperties->setLockLocation($brokerPropertiesArray['LockLocation']); } return $brokerProperties; }
public static function fromArray(array $array) { $message = new self($array['subject']); if (null !== $array['sender']) { $message->setSender($array['sender']); } if (null !== $array['from']) { $message->setFrom($array['from']); } if (null !== $array['to']) { $message->setTo($array['to']); } if (null !== $array['replyTo']) { $message->setReplyTo($array['replyTo']); } if (null !== $array['cc']) { $message->setCc($array['cc']); } if (null !== $array['bcc']) { $message->setBcc($array['bcc']); } if (null !== $array['text']) { $message->setBodyWithAlternative($array['text'], $array['html']); } foreach ($array['customHeaders'] as $label => $valueList) { foreach ($valueList as $value) { $message->getHeaders()->addTextHeader($label, $value); } } return $message; }