/** * @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); } }
/** * @param DiscussionController $Sender */ public function DiscussionController_Render_Before($Sender, $Args) { $ConversationID = $Sender->Data('Discussion.Attributes.WhisperConversationID'); if (!$ConversationID) { return; } if ($ConversationID === TRUE) { $UserIDs = $Sender->Data('Discussion.Attributes.WhisperUserIDs'); // Grab the users that are in the conversaton. $WhisperUsers = array(); foreach ($UserIDs as $UserID) { $WhisperUsers[] = array('UserID' => $UserID); } } else { // There is already a conversation so grab its users. $WhisperUsers = Gdn::SQL()->Select('UserID')->From('UserConversation')->Where('ConversationID', $ConversationID)->Where('Deleted', 0)->Get()->ResultArray(); $UserIDs = ConsolidateArrayValuesByKey($WhisperUsers, 'UserID'); } if (!Gdn::Session()->CheckPermission('Conversations.Moderation.Manage') && !in_array(Gdn::Session()->UserID, $UserIDs)) { $Sender->Data['Discussion']->Closed = TRUE; return; } Gdn::UserModel()->JoinUsers($WhisperUsers, array('UserID')); $Sender->SetData('WhisperUsers', $WhisperUsers); }
/** * * @param DiscussionController $Sender * @param type $Args * @return type */ public function DiscussionController_AfterDiscussion_Handler($Sender, $Args) { if ($Sender->Data('Answers')) { include $Sender->FetchViewLocation('Answers', '', 'plugins/QnA'); } }