本文整理汇总了PHP中Horde_Mime_Headers::addheader方法的典型用法代码示例。如果您正苦于以下问题:PHP Horde_Mime_Headers::addheader方法的具体用法?PHP Horde_Mime_Headers::addheader怎么用?PHP Horde_Mime_Headers::addheader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Horde_Mime_Headers
的用法示例。
在下文中一共展示了Horde_Mime_Headers::addheader方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveObject
/**
* Save an object in this folder.
*
* @param array $object The array that holds the data of the object.
* @param int $data_version The format handler version.
* @param string $object_type The type of the kolab object.
* @param string $id The IMAP id of the old object if it
* existed before
* @param array $old_object The array that holds the current data of the
* object.
*
* @return boolean True on success.
*/
public function saveObject(&$object, $data_version, $object_type, $id = null, &$old_object = null)
{
// Select folder
$this->_driver->select($this->_path);
$new_headers = new Horde_Mime_Headers();
$new_headers->setEOL("\r\n");
$formats = $this->getFormats();
$handlers = array();
foreach ($formats as $type) {
$handlers[$type] =& Horde_Kolab_Format::factory($type, $object_type, $data_version);
if (is_a($handlers[$type], 'PEAR_Error')) {
if ($type == 'XML') {
return $handlers[$type];
}
Horde::log(sprintf('Loading format handler "%s" failed: %s', $type, $handlers[$type]->getMessage()), 'ERR');
continue;
}
}
if ($id != null) {
/** Update an existing kolab object */
if (!in_array($id, $this->_driver->getUids($this->_path))) {
return PEAR::raiseError(sprintf(Horde_Kolab_Storage_Translation::t("The message with ID %s does not exist. This probably means that the Kolab object has been modified by somebody else while you were editing it. Your edits have been lost."), $id));
}
/** Parse email and load Kolab format structure */
$result = $this->parseMessage($id, $handlers['XML']->getMimeType(), true, $formats);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
list($old_message, $part_ids, $mime_message, $mime_headers) = $result;
if (is_a($old_message, 'PEAR_Error')) {
return $old_message;
}
if (isset($object['_attachments']) && isset($old_object['_attachments'])) {
$attachments = array_keys($object['_attachments']);
foreach (array_keys($old_object['_attachments']) as $attachment) {
if (!in_array($attachment, $attachments)) {
foreach ($mime_message->getParts() as $part) {
if ($part->getName() === $attachment) {
foreach (array_keys($mime_message->_parts) as $key) {
if ($mime_message->_parts[$key]->getMimeId() == $part->getMimeId()) {
unset($mime_message->_parts[$key]);
break;
}
}
$mime_message->_generateIdMap($mime_message->_parts);
}
}
}
}
}
$object = array_merge($old_object, $object);
if (isset($attachments)) {
foreach ($mime_message->getParts() as $part) {
$name = $part->getName();
foreach ($attachments as $attachment) {
if ($name === $attachment) {
$object['_attachments'][$attachment]['id'] = $part->getMimeId();
}
}
}
}
/** Copy email header */
if (!empty($mime_headers) && !$mime_headers === false) {
foreach ($mime_headers as $header => $value) {
$new_headers->addheader($header, $value);
}
}
} else {
$mime_message = $this->_prepareNewMessage($new_headers);
$mime_part_id = false;
}
if (isset($object['_attachments'])) {
$attachments = array_keys($object['_attachments']);
foreach ($attachments as $attachment) {
$data = $object['_attachments'][$attachment];
if (!isset($data['content']) && !isset($data['path'])) {
/**
* There no new content and no new path. Do not rewrite the
* attachment.
*/
continue;
}
$part = new Horde_Mime_Part();
$part->setType(isset($data['type']) ? $data['type'] : null);
$part->setContents(isset($data['content']) ? $data['content'] : file_get_contents($data['path']));
$part->setCharset('UTF-8');
$part->setTransferEncoding('quoted-printable');
//.........这里部分代码省略.........