Esempio n. 1
0
                        $Suffix .= str_replace('//1', $Discussion->NewComments, $Context->GetDefinition("XNew"));
                    }
                    $Panel->AddListItem($ListTitle, $Discussion->Name, GetUnreadQuerystring($Discussion, $Context->Configuration, $Context->Session->User->Preference('JumpToLastReadComment')), $Suffix);
                }
                if ($ActualRecords >= $MaxRecords) {
                    $Panel->AddListItem($ListTitle, $Context->GetDefinition("ShowAll"), GetUrl($Context->Configuration, "index.php", "", "", "", "", "View=" . $UrlAction));
                }
            }
        }
    }
    $DiscussionManager = $Context->ObjectFactory->NewContextObject($Context, "DiscussionManager");
    AddBookmarksToPanel($Context, $Panel, $DiscussionManager, ForceIncomingInt("DiscussionID", 0));
    AddDiscussionsToPanel($Context, $Panel, $DiscussionManager, "GetDiscussionsByUserID", $Configuration["PANEL_USER_DISCUSSIONS_COUNT"], $Context->GetDefinition("YourDiscussions"), "YourDiscussions", $Context->Session->User->Preference("ShowRecentDiscussions"));
    AddDiscussionsToPanel($Context, $Panel, $DiscussionManager, "GetViewedDiscussionsByUserID", $Configuration["PANEL_HISTORY_COUNT"], $Context->GetDefinition('BrowsingHistory'), "History", $Context->Session->User->Preference("ShowBrowsingHistory"));
    if ($Configuration["ENABLE_WHISPERS"] && $Context->Session->User->Preference("ShowPrivateDiscussions")) {
        AddDiscussionsToPanel($Context, $Panel, $DiscussionManager, "GetPrivateDiscussionsByUserID", $Configuration["PANEL_PRIVATE_COUNT"], $Context->GetDefinition("WhisperedDiscussions"), "Private", $Context->Session->User->Preference("ShowPrivateDiscussions"));
    }
}
if ($Context->SelfUrl == "comments.php") {
    if ($Context->Session->User->Preference("ShowBookmarks")) {
        // Include the js required to remove/add the discussions to the panel when
        // items are un/bookmarked
        $Head->AddScript('extensions/PanelLists/functions.js', '~', 390);
        $Context->PassThruVars['SetBookmarkOnClick'] .= ' SetBookmarkList(' . ForceIncomingInt('DiscussionID', 0) . ');';
    }
}
// Apply discussion filters
if ($Context->SelfUrl == 'index.php') {
    $View = ForceIncomingString("View", "");
    switch ($View) {
        case "Bookmarks":
    }
}
// Add the appendix to the comments page if applicable
if ($Context->SelfUrl == "comments.php" && $Context->Session->UserID > 0 && $Context->Session->User->Setting("ShowAppendices", 1)) {
    $Context->ObjectFactory->AddControlString("VanillaFunctions", "AddAppendixToPanel", "<h2>" . $Context->GetDefinition("Appendix") . "</h2>\r\n      <ul class=\"LinkedList Appendix\">\r\n         <li class=\"Appendix WhisperFrom\">" . $Context->GetDefinition("YouWhispered") . "</li>\r\n         <li class=\"Appendix WhisperTo\">" . $Context->GetDefinition("WhisperedToYou") . "</li>\r\n      </ul>");
}
// Add "show private discussions in control panel" option to the functionality form on the account page
if ($Context->SelfUrl == "account.php") {
    $Context->ObjectFactory->AddControlString("FunctionalityForm", "RenderPreferences", "<div class=\"CheckBox\">" . GetDynamicCheckBox("ShowPrivateDiscussions", 1, $Context->Session->User->Setting("ShowPrivateDiscussions"), "PanelSwitch('ShowPrivateDiscussions');", $Context->GetDefinition("DisplayPrivateDiscussions")) . "</div>");
}
// Add private discussions to panel on index and comments page
if (in_array($Context->SelfUrl, array("comments.php", "index.php")) && $Context->Session->UserID > 0) {
    // I perform this extra check so I don't have to instantiate a new discussion manager needlessly
    if ($Context->Session->User->Setting("ShowPrivateDiscussions")) {
        $dm = $Context->ObjectFactory->NewContextObject($Context, "DiscussionManager");
        AddDiscussionsToPanel($Context, $Panel, $dm, "GetPrivateDiscussionsByUserID", agPANEL_PRIVATE_COUNT, $Context->GetDefinition("Private"), "Private", $Context->Session->User->Setting("ShowPrivateDiscussions"));
    }
}
// Add the whisper input to the discussion & comment forms
if (in_array($Context->SelfUrl, array("comments.php", "post.php"))) {
    // Need to load the appropriate whisperusername if editing
    $WhisperUsername = ForceIncomingString("WhisperUsername", "");
    $CommentID = ForceIncomingInt("CommentID", 0);
    $Discussion = 0;
    $dm = 0;
    $DiscussionID = ForceIncomingInt("DiscussionID", 0);
    if ($CommentID > 0) {
        $Comment = $Context->ObjectFactory->NewObject($Context, "Comment");
        $cm = $Context->ObjectFactory->NewContextObject($Context, "CommentManager");
        $Comment = $cm->GetCommentById($CommentID, $Context->Session->UserID);
        $WhisperUsername = ForceIncomingString("WhisperUsername", $Comment->WhisperUsername);
Esempio n. 3
0
// 1. DEFINE VARIABLES AND PROPERTIES SPECIFIC TO THIS PAGE
// Ensure the user is allowed to view this page
$Context->Session->Check(agSAFE_REDIRECT);
// Instantiate data managers to be used in this page
$DiscussionManager = $Context->ObjectFactory->NewContextObject($Context, "DiscussionManager");
$SearchManager = $Context->ObjectFactory->NewContextObject($Context, "SearchManager");
// Define properties of the page controls that are specific to this page
$Menu->CurrentTab = "discussions";
$Panel->CssClass = "DiscussionPanel";
$Body->CssClass = "Discussions";
// 2. BUILD PAGE CONTROLS
// Panel
AddDiscussionOptionsToPanel($Context, $Panel);
AddBookmarksToPanel($Context, $Panel, $DiscussionManager);
AddDiscussionsToPanel($Context, $Panel, $DiscussionManager, "GetDiscussionsByUserID", agPANEL_USERDISCUSSIONS_COUNT, $Context->GetDefinition("YourDiscussions"), "Recent", $Context->Session->User->Setting("ShowRecentDiscussions"));
AddDiscussionsToPanel($Context, $Panel, $DiscussionManager, "GetViewedDiscussionsByUserID", agPANEL_HISTORY_COUNT, $Context->GetDefinition("History"), "History", $Context->Session->User->Setting("ShowBrowsingHistory"));
AddSearchesToPanel($Context, $Panel, $SearchManager, agPANEL_SEARCH_COUNT);
//AddAppendixToPanel($Context, $Panel, "Discussion");
//AddTextModeToPanel($Context, $Panel);
AddGuestInfoToPanel($Context, $Panel);
// Add the discussion grid to the body
$CategoryID = ForceIncomingInt("CategoryID", 0);
$View = ForceIncomingString("View", "");
$DiscussionGrid = $Context->ObjectFactory->NewContextObject($Context, "DiscussionGrid", $DiscussionManager, $CategoryID, $View);
$Body->AddControl($DiscussionGrid);
// 3. ADD CONTROLS TO THE PAGE
$Page->AddControl("Head_Render", $Head);
$Page->AddControl("Menu_Render", $Menu);
$Page->AddControl("Panel_Render", $Panel);
$Page->AddControl("Body_Render", $Body);
// 4. FIRE PAGE EVENTS