Example #1
0
 /**
  * Returns a parsed user signature.
  * 
  * @param	\wcf\data\user\User	$user
  * @return	string
  */
 public function getSignature(User $user)
 {
     if (!isset($this->signatures[$user->userID])) {
         $this->signatures[$user->userID] = MessageParser::getInstance()->parse($user->signature, $user->signatureEnableSmilies, $user->signatureEnableHtml, $user->signatureEnableBBCodes, false);
     }
     return $this->signatures[$user->userID];
 }
 /**
  * @see	\wcf\data\IMessage::getFormattedMessage()
  */
 public function getFormattedMessage()
 {
     // assign embedded attachments
     AttachmentBBCode::setObjectID($this->updateID);
     // parse and return the news message
     MessageParser::getInstance()->setOutputType('text/html');
     return MessageParser::getInstance()->parse($this->message, $this->enableSmilies, $this->enableHtml, $this->enableBBCodes);
 }
 /**
  * @see	\wcf\system\option\user\IUserOptionOutput::getOutput()
  */
 public function getOutput(User $user, UserOption $option, $value)
 {
     $value = StringUtil::trim($value);
     if (empty($value)) {
         return '';
     }
     MessageParser::getInstance()->setOutputType('text/html');
     WCF::getTPL()->assign(array('option' => $option, 'value' => MessageParser::getInstance()->parse($value)));
     return WCF::getTPL()->fetch('messageUserOptionOutput');
 }
 /**
  * Returns a rendered message preview.
  * 
  * @return	array
  */
 public function getMessagePreview()
 {
     // get options
     $enableBBCodes = isset($this->parameters['options']['enableBBCodes']) ? 1 : 0;
     $enableHtml = isset($this->parameters['options']['enableHtml']) ? 1 : 0;
     $enableSmilies = isset($this->parameters['options']['enableSmilies']) ? 1 : 0;
     $preParse = isset($this->parameters['options']['preParse']) ? 1 : 0;
     $allowedBBCodesPermission = isset($this->parameters['allowedBBCodesPermission']) ? $this->parameters['allowedBBCodesPermission'] : 'user.message.allowedBBCodes';
     // validate permissions for options
     if ($enableBBCodes && !WCF::getSession()->getPermission('user.message.canUseBBCodes')) {
         $enableBBCodes = 0;
     }
     if ($enableHtml && !WCF::getSession()->getPermission('user.message.canUseHtml')) {
         $enableHtml = 0;
     }
     if ($enableSmilies && !WCF::getSession()->getPermission('user.message.canUseSmilies')) {
         $enableSmilies = 0;
     }
     // check if disallowed bbcode are used
     if ($enableBBCodes && $allowedBBCodesPermission) {
         $disallowedBBCodes = MessageParser::getInstance()->validateBBCodes($this->parameters['data']['message'], ArrayUtil::trim(explode(',', WCF::getSession()->getPermission($allowedBBCodesPermission))));
         if (!empty($disallowedBBCodes)) {
             throw new UserInputException('message', WCF::getLanguage()->getDynamicVariable('wcf.message.error.disallowedBBCodes', array('disallowedBBCodes' => $disallowedBBCodes)));
         }
     }
     // get message
     $message = StringUtil::trim($this->parameters['data']['message']);
     // get embedded objects
     MessageEmbeddedObjectManager::getInstance()->parseTemporaryMessage($message);
     // parse URLs
     if ($preParse && $enableBBCodes) {
         if ($allowedBBCodesPermission) {
             $message = PreParser::getInstance()->parse($message, ArrayUtil::trim(explode(',', WCF::getSession()->getPermission($allowedBBCodesPermission))));
         } else {
             $message = PreParser::getInstance()->parse($message);
         }
     }
     // parse message
     $preview = MessageParser::getInstance()->parse($message, $enableSmilies, $enableHtml, $enableBBCodes, false);
     return array('message' => $preview);
 }
 /**
  * Returns a rendered signature preview.
  * 
  * @return	array
  */
 public function getMessagePreview()
 {
     // get options
     $enableBBCodes = isset($this->parameters['options']['enableBBCodes']) ? 1 : 0;
     $enableHtml = isset($this->parameters['options']['enableHtml']) ? 1 : 0;
     $enableSmilies = isset($this->parameters['options']['enableSmilies']) ? 1 : 0;
     // validate permissions for options
     if ($enableBBCodes && !WCF::getSession()->getPermission('user.signature.canUseBBCodes')) {
         $enableBBCodes = 0;
     }
     if ($enableHtml && !WCF::getSession()->getPermission('user.signature.canUseHtml')) {
         $enableHtml = 0;
     }
     if ($enableSmilies && !WCF::getSession()->getPermission('user.signature.canUseSmilies')) {
         $enableSmilies = 0;
     }
     // parse message
     $message = StringUtil::trim($this->parameters['data']['message']);
     $preview = MessageParser::getInstance()->parse($message, $enableSmilies, $enableHtml, $enableBBCodes, false);
     return array('message' => $preview);
 }
 /**
  * @see	\wcf\data\IMessage::getExcerpt()
  */
 public function getExcerpt($maxLength = 255)
 {
     MessageParser::getInstance()->setOutputType('text/simplified-html');
     $message = MessageParser::getInstance()->parse($this->text, $this->enableSmilies, $this->enableHtml, $this->enableBBCodes);
     return StringUtil::truncateHTML($message, $maxLength);
 }
 /**
  * Return text.
  *
  * @return string
  */
 public function getText()
 {
     if ($this->type == self::TYPE_HTML) {
         return $this->text;
     } else {
         if ($this->type == self::TYPE_BBCODE) {
             return MessageParser::getInstance()->parse($this->text);
         } else {
             return StringUtil::encodeHTML($this->text);
         }
     }
 }
Example #8
0
 public function getFormattedMessage()
 {
     AttachmentBBCode::setObjectID($this->newsID);
     MessageParser::getInstance()->setOutputType('text/html');
     return MessageParser::getInstance()->parse($this->getMessage(), $this->enableSmilies, $this->enableHtml, $this->enableBBCodes);
 }
Example #9
0
 /**
  * @see	\cms\system\content\type\IContentType::getOutput()
  */
 public function getOutput(Content $content)
 {
     MessageParser::getInstance()->setOutputType('text/html');
     return MessageParser::getInstance()->parse(WCF::getLanguage()->get($content->text), 1, 0, 1);
 }
 /**
  * Returns the message text, truncated to given character length.
  * 
  * @param    integer        $maxLength
  * @return    string
  */
 public function getFormattedExcerpt($maxLength = CMS_NEWS_EXCERPT_LENGTH)
 {
     $message = $this->message;
     // find position of [readmore] tag
     $position = mb_strpos($this->message, '[readmore]');
     if ($position !== false) {
         $message = mb_substr($message, 0, $position);
     }
     // assign embedded objects
     MessageEmbeddedObjectManager::getInstance()->setActiveMessage('de.incendium.cms.news.entry', $this->entryID);
     // parse message
     MessageParser::getInstance()->setOutputType('text/html');
     $message = MessageParser::getInstance()->parse($message, $this->enableSmilies, $this->enableHtml, $this->enableBBCodes);
     // truncate message
     return MessageUtil::truncateFormattedMessage($message, $maxLength);
 }
 /**
  * @see \wcf\data\IMessage::getFormattedMessage()
  */
 public function getFormattedMessage()
 {
     // parse and return message
     \wcf\system\bbcode\MessageParser::getInstance()->setOutputType('text/html');
     return \wcf\system\bbcode\MessageParser::getInstance()->parse($this->answerMessage, $this->enableSmilies, $this->enableHtml, $this->enableBBCodes);
 }
 /**
  *    {@inheritdoc}
  */
 public function getSimplifiedFormattedMessage()
 {
     MessageParser::getInstance()->setOutputType('text/simplified-html');
     return MessageParser::getInstance()->parse($this->getMessage(), $this->enableSmilies, $this->enableHtml, $this->enableBBCodes);
 }
Example #13
0
 /**
  * get the parsed description
  * @return string
  */
 public function getDescription()
 {
     MessageParser::getInstance()->setOutputType('text/html');
     return MessageParser::getInstance()->parse(WCF::getLanguage()->get($this->description), $this->allowSmileys, $this->allowHTML, $this->parseBBCodes, false);
 }
 /**
  * @see wcf\page\IPage::assignVariables()
  */
 public function assignVariables()
 {
     parent::assignVariables();
     WCF::getTPL()->assign(array('simplepage' => MessageParser::getInstance()->parse(WCF::getLanguage()->getDynamicVariable(SIMPLE_PAGE_CONTENT), SIMPLE_PAGE_ENABLE_SMILEY, SIMPLE_PAGE_ENABLE_HTML, SIMPLE_PAGE_ENABLE_BBCODES), 'allowSpidersToIndexThisPage' => SIMPLE_PAGE_ENABLE_ALLOWSPIDERS));
 }
 /**
  * Returns a text-only version of this message.
  * 
  * @return	string
  */
 public function getMailText()
 {
     MessageParser::getInstance()->setOutputType('text/simplified-html');
     $message = MessageParser::getInstance()->parse($this->message, $this->enableSmilies, $this->enableHtml, $this->enableBBCodes);
     return MessageParser::getInstance()->stripHTML($message);
 }