/** * Write information about addons to the discussion if it is related to an addon. * * @param DiscussionController $Sender */ public function discussionController_afterDiscussionTitle_handler($Sender) { $Discussion = $Sender->data('Discussion'); $AddonID = val('AddonID', $Discussion); if (is_numeric($AddonID) && $AddonID > 0) { $Data = Gdn::database()->sql()->select('Name')->from('Addon')->where('AddonID', $AddonID)->get()->firstRow(); if ($Data) { echo renderDiscussionAddonWarning($AddonID, $Data->Name, val('DiscussionID', $Discussion)); } } }
/** * Disallow comments in Resolved discussions by new participants. * * @param DiscussionController $sender */ public function discussionController_beforeDiscussionRender_handler($sender, $args) { $discussion = $sender->data('Discussion'); // Do not close blog comments. if ('page' == val('Type', $discussion)) { return; } $resolved = val('Resolved', $discussion); $isStarter = val('InsertUserID', $discussion) == Gdn::session()->UserID; if (!checkPermission('Plugins.Resolved.Manage') && $resolved && !$isStarter) { // Pretend we're closed svalr('Closed', $discussion, 1); $sender->setData('Discussion', $discussion); } }
/** * Add 'Ask a Question' button if using BigButtons. * * @param DiscussionController $sender Sending controller instance. */ public function discussionController_render_before($sender) { if (c('Plugins.QnA.UseBigButtons')) { $QuestionModule = new NewQuestionModule($sender, 'plugins/QnA'); $sender->addModule($QuestionModule); } if ($sender->data('Discussion.Type') == 'Question') { $sender->setData('_CommentsHeader', t('Answers')); } }
/** * @param DiscussionController $Sender */ public function discussionController_render_before($Sender) { // Get the tags on this discussion. $Tags = TagModel::instance()->getDiscussionTags($Sender->data('Discussion.DiscussionID'), TagModel::IX_EXTENDED); foreach ($Tags as $Key => $Value) { setValue($Key, $Sender->Data['Discussion'], $Value); } }