예제 #1
0
 private function _restoreMessage(Swift_Mime_Message $message)
 {
     // restore original headers
     $headers = $message->getHeaders();
     if ($headers->has('X-Swift-To')) {
         $message->setTo($headers->get('X-Swift-To')->getNameAddresses());
         $headers->removeAll('X-Swift-To');
     }
     if ($headers->has('X-Swift-Cc')) {
         $message->setCc($headers->get('X-Swift-Cc')->getNameAddresses());
         $headers->removeAll('X-Swift-Cc');
     }
     if ($headers->has('X-Swift-Bcc')) {
         $message->setBcc($headers->get('X-Swift-Bcc')->getNameAddresses());
         $headers->removeAll('X-Swift-Bcc');
     }
 }
예제 #2
0
 /** Restore a changed message back to its original state */
 private function restoreMessage(Swift_Mime_Message $message)
 {
     if ($this->lastMessage === $message) {
         if (isset($this->originalBody)) {
             $message->setBody($this->originalBody);
             $this->originalBody = null;
         }
         if (!empty($this->originalHeaders)) {
             foreach ($message->getHeaders()->getAll() as $header) {
                 if (array_key_exists($header->getFieldName(), $this->originalHeaders)) {
                     $header->setFieldBodyModel($this->originalHeaders[$header->getFieldName()]);
                 }
             }
             $this->originalHeaders = array();
         }
         if (!empty($this->originalChildBodies)) {
             $children = (array) $message->getChildren();
             foreach ($children as $child) {
                 $id = $child->getId();
                 if (array_key_exists($id, $this->originalChildBodies)) {
                     $child->setBody($this->originalChildBodies[$id]);
                 }
             }
             $this->originalChildBodies = array();
         }
         $this->lastMessage = null;
     }
 }