示例#1
0
 protected function _setInternal($table, $field, $newValue, $forceSet = false)
 {
     if ($table === 'xf_post' && $field === 'message' && Tinhte_XenTag_Option::get('useHashtag')) {
         $tagTexts = Tinhte_XenTag_Integration::parseHashtags($newValue, true);
         if ($this->_tagger === null) {
             /** @var XenForo_Model_Tag $tagModel */
             $tagModel = $this->getModelFromCache('XenForo_Model_Tag');
             $this->_tagger = $tagModel->getTagger('post');
             if ($this->isUpdate()) {
                 $this->_tagger->setPermissionsFromContext($this->getDiscussionData(), $this->_Tinhte_XenTag_getForumInfo());
                 $this->_tagger->setContent($this->get('post_id'), false);
             } else {
                 $this->_tagger->setPermissionsFromContext($this->_Tinhte_XenTag_getForumInfo());
             }
         }
         $this->_tagger->setTags($tagTexts);
         $errors = $this->_tagger->getErrors();
         if (!empty($errors)) {
             $this->mergeErrors($errors);
         }
     }
     parent::_setInternal($table, $field, $newValue, $forceSet);
 }
示例#2
0
文件: Post.php 项目: Sywooch/forums
 protected function _setInternal($table, $field, $newValue, $forceSet = false)
 {
     if ($table === 'xf_post' and $field === 'message') {
         $forum = $this->_Tinhte_XenTag_getForumInfo();
         $maximumTags = intval($this->getModelFromCache('XenForo_Model_Forum')->Tinhte_XenTag_getMaximumHashtags($forum));
         if ($maximumTags === -1 or $maximumTags > 0) {
             $this->_Tinhte_XenTag_tagTexts = Tinhte_XenTag_Integration::parseHashtags($newValue, true);
         } else {
             // always pickup [HAHSTAG]s in post, we will show error message later if found
             $this->_Tinhte_XenTag_tagTexts = Tinhte_XenTag_Integration::parseHashtags($newValue);
         }
     }
     return parent::_setInternal($table, $field, $newValue, $forceSet);
 }