本文整理汇总了PHP中EmailMessage::recurse方法的典型用法代码示例。如果您正苦于以下问题:PHP EmailMessage::recurse方法的具体用法?PHP EmailMessage::recurse怎么用?PHP EmailMessage::recurse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EmailMessage
的用法示例。
在下文中一共展示了EmailMessage::recurse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: recurse
public function recurse($messageParts, $prefix = '', $index = 1, $fullPrefix = true)
{
foreach ($messageParts as $part) {
$partNumber = $prefix . $index;
if ($part->type == 0) {
if ($part->subtype == 'PLAIN') {
$this->bodyPlain .= $this->getPart($partNumber, $part->encoding);
} else {
$this->bodyHTML .= $this->getPart($partNumber, $part->encoding);
}
} elseif ($part->type == 2) {
$msg = new EmailMessage($this->connection, $this->messageNumber);
$msg->getAttachments = $this->getAttachments;
$msg->recurse($part->parts, $partNumber . '.', 0, false);
$this->attachments[] = array('type' => $part->type, 'subtype' => $part->subtype, 'filename' => '', 'data' => $msg, 'inline' => false);
} elseif (isset($part->parts)) {
if ($fullPrefix) {
$this->recurse($part->parts, $prefix . $index . '.');
} else {
$this->recurse($part->parts, $prefix);
}
} elseif ($part->type > 2) {
if (isset($part->id)) {
$id = str_replace(array('<', '>'), '', $part->id);
$this->attachments[$id] = array('type' => $part->type, 'subtype' => $part->subtype, 'filename' => $this->getFilenameFromPart($part), 'data' => $this->getAttachments ? $this->getPart($partNumber, $part->encoding) : '', 'inline' => true);
} else {
$this->attachments[] = array('type' => $part->type, 'subtype' => $part->subtype, 'filename' => $this->getFilenameFromPart($part), 'data' => $this->getAttachments ? $this->getPart($partNumber, $part->encoding) : '', 'inline' => false);
}
}
$index++;
}
}