ItemLink($params, 'topic'); } function ListTopics($params) { return $this->PrintList2($params); } function PostingLink($params) { $item_id = getArrayValue($params, 'posting_id'); if (!$item_id) { $item_id = $this->Application->GetVar($this->Prefix.'_post_id'); } $params[$this->Prefix.'_post_id'] = $item_id; return $this->TopicLink($params); } function PostingDeleteLink($params) { $params['Action'] = 'bb_post_delete'; return $this->PostingLink($params); } /** * Returns topic replies count * * @param Array $params * @return int */ function TopicReplies($params) { $object =& $this->getObject($params); // -1 - don't count post created together with topic return $object->GetDBField('Posts') ? $object->GetDBField('Posts') - 1 : 0; } /** * Returns topic lock statis * * @param Array $params * @return bool */ function IsLocked($params) { $object =& $this->getObject($params); return $object->GetDBField('TopicType') == 0; } function LockToggleLink($params) { $params[$this->Prefix.'_event'] = 'OnTopicLockToggle'; $params['pass'] = 'm,'.$this->Prefix; return $this->Application->ProcessParsedTag('m', 'Link', $params); } function PostBody($params) { $object =& $this->getObject($params); $post_helper =& $this->Application->recallObject('PostHelper'); /* @var $post_helper PostHelper */ $body = $object->GetDBField('PostingText'); // 2. parse post body $sub_blocks = Array ( 'smileys' => $params['smiley_render_as'], 'bbcode' => $params['bbcode_render_as'], 'quote' => $params['quote_render_as'], ); $body = $post_helper->parsePostBody($body, $object->GetDBField('Options'), $sub_blocks); return $body; } }