/** * @see ViewablePost::getFormattedMessage() */ public function getFormattedMessage($outputType = 'text/html') { if ($outputType === 'text/html') { return parent::getFormattedMessage(); } if ($outputType == 'text/plain') { $message = StringUtil::stripHTML($this->message); } else { $message = $this->message; } require_once WCF_DIR . 'lib/data/message/bbcode/MessageParser.class.php'; MessageParser::getInstance()->setOutputType($outputType); return MessageParser::getInstance()->parse($message, $this->enableSmilies, $this->enableHtml, $this->enableBBCodes, false); }
/** * Creates the preview of a post with the given data. * * @param string $subject * @param string $text * * @return string the preview of a post */ public static function createPreview($subject, $message, $enableSmilies = 1, $enableHtml = 0, $enableBBCodes = 1) { $row = array('postID' => 0, 'subject' => $subject, 'message' => $message, 'enableSmilies' => $enableSmilies, 'enableHtml' => $enableHtml, 'enableBBCodes' => $enableBBCodes, 'messagePreview' => true); require_once WBB_DIR . 'lib/data/post/ViewablePost.class.php'; $post = new ViewablePost(null, $row); return $post->getFormattedMessage(); }
/** * @see ViewablePost::getFormattedMessage() */ public function getFormattedMessage() { // replace relative urls $text = preg_replace('~(?<=href="|src=")(?![a-z0-9]+://)(?!mailto:)~i', PAGE_URL . '/', parent::getFormattedMessage()); return StringUtil::escapeCDATA($text); }