function GetDiscussion(&$Context, $Discussion, $FirstRow = "0")
{
    // Prefix the discussion name with the whispered-to username if this is a whisper
    if ($Discussion->WhisperUserID > 0) {
        $Discussion->Name = @$Discussion->WhisperUsername . ": " . $Discussion->Name;
    }
    $UnreadQS = $Context->Session->User->Settings['comments_order'] == 'asc' ? GetUnreadQuerystring($Discussion) : '';
    $LastQS = $Context->Session->User->Settings['comments_order'] == 'asc' ? GetLastCommentQuerystring($Discussion) : '';
    $sReturn = "<dl class=\"Discussion" . $Discussion->Status . ($FirstRow ? " FirstDiscussion" : "") . ($Discussion->CountComments == 1 ? " NoReplies" : "") . (agUSE_CATEGORIES ? " Category_" . $Discussion->CategoryID : "") . "\">\r\n\t\t<dt class=\"DataItemLabel DiscussionTopicLabel\">" . $Context->GetDefinition("DiscussionTopic") . "</dt>\r\n\t\t<dd class=\"DataItem DiscussionTopic\">" . DiscussionPrefix($Discussion) . "<a href=\"comments.php?DiscussionID=" . $Discussion->DiscussionID . ($Context->Session->User->Setting("JumpToLastReadComment", 1) ? $UnreadQS : "") . "\">" . $Discussion->Name . "</a></dd>";
    if (agUSE_CATEGORIES) {
        $sReturn .= "\r\n\t\t\t<dt class=\"MetaItemLabel DiscussionInformationLabel DiscussionCategoryLabel\">" . $Context->GetDefinition("Category") . "</dt>\r\n\t\t\t<dd class=\"MetaItem DiscussionInformation DiscussionCategory\"><a href=\"./?CategoryID=" . $Discussion->CategoryID . "\">" . $Discussion->Category . "</a></dd>\r\n\t\t\t";
    }
    $sReturn .= "<dt class=\"MetaItemLabel DiscussionInformationLabel StarterLabel\"><a href=\"./comments.php?DiscussionID=" . $Discussion->DiscussionID . "#Item_1\">" . $Context->GetDefinition("StartedBy") . "</a></dt>\r\n\t\t<dd class=\"MetaItem DiscussionInformation Starter\"><a href=\"./account.php?u=" . $Discussion->AuthUserID . "\">" . $Discussion->AuthUsername . "</a></dd>\r\n\t\t<dt class=\"MetaItemLabel DiscussionInformationLabel CommentCountLabel\">" . $Context->GetDefinition("Comments") . "</dt>\r\n\t\t<dd class=\"MetaItem DiscussionInformation CommentCount\">" . $Discussion->CountComments . "</dd>\r\n\t\t<dt class=\"MetaItemLabel DiscussionInformationLabel LastReplierLabel\"><a href=\"./comments.php?DiscussionID=" . $Discussion->DiscussionID . $LastQS . "\">" . $Context->GetDefinition("LastCommentBy") . "</a></dt>\r\n\t\t<dd class=\"MetaItem DiscussionInformation LastReplier\"><a href=\"./account.php?u=" . $Discussion->LastUserID . "\">" . $Discussion->LastUsername . "</a></dd>\r\n\t\t<dt class=\"MetaItemLabel DiscussionInformationLabel LastActiveLabel\"><a href=\"./comments.php?DiscussionID=" . $Discussion->DiscussionID . $LastQS . "\">" . $Context->GetDefinition("LastActive") . "</a></dt>\r\n\t\t<dd class=\"MetaItem DiscussionInformation LastActive\">" . TimeDiff($Discussion->DateLastActive, mktime()) . "</dd>";
    if ($Context->Session->UserID > 0) {
        $sReturn .= "<dt class=\"MetaItemLabel DiscussionInformationLabel NewCommentCountLabel" . ($Discussion->NewComments > 0 ? " NewCommentsPresentLabel" : "") . "\"><a href=\"comments.php?DiscussionID=" . $Discussion->DiscussionID . $UnreadQS . "\">" . $Context->GetDefinition("New") . "</a></dt>\r\n\t\t\t<dd class=\"MetaItem DiscussionInformation NewCommentCount" . ($Discussion->NewComments > 0 ? " NewCommentsPresent" : "") . "\"><a href=\"comments.php?DiscussionID=" . $Discussion->DiscussionID . $UnreadQS . "\">" . $Discussion->NewComments . "</a></dd>";
    }
    $sReturn .= "</dl>\n";
    return $sReturn;
}
Esempio n. 2
0
<?php

// Note: This file is included from the library/Vanilla/Vanilla.Control.SearchForm.php
// class and also from the library/Vanilla/Vanilla.Control.DiscussionForm.php's
// themes/discussions.php include template.
$UnreadUrl = GetUnreadQuerystring($Discussion, $this->Context->Configuration, $CurrentUserJumpToLastCommentPref);
$NewUrl = GetUnreadQuerystring($Discussion, $this->Context->Configuration, 1);
$LastUrl = GetLastCommentQuerystring($Discussion, $this->Context->Configuration, $CurrentUserJumpToLastCommentPref);
$this->DelegateParameters['Discussion'] =& $Discussion;
$this->DelegateParameters['DiscussionList'] =& $DiscussionList;
$DiscussionList .= '
<li id="Discussion_' . $Discussion->DiscussionID . '" class="Discussion' . $Discussion->Status . ($Discussion->CountComments == 1 ? ' NoReplies' : '') . ($this->Context->Configuration['USE_CATEGORIES'] ? ' Category_' . $Discussion->CategoryID : '') . ($Alternate ? ' Alternate' : '') . '">';
$this->CallDelegate('PreDiscussionOptionsRender');
$DiscussionList .= '<ul>
		<li class="DiscussionType">
			<span>' . $this->Context->GetDefinition('DiscussionType') . '</span>' . DiscussionPrefix($this->Context, $Discussion) . '
		</li>
		<li class="DiscussionTopic">
			<span>' . $this->Context->GetDefinition('DiscussionTopic') . '</span><a href="' . $UnreadUrl . '">' . $Discussion->Name . '</a>
		</li>
		';
if ($this->Context->Configuration['USE_CATEGORIES']) {
    $DiscussionList .= '
			<li class="DiscussionCategory">
				<span>' . $this->Context->GetDefinition('Category') . ' </span><a href="' . GetUrl($this->Context->Configuration, 'index.php', '', 'CategoryID', $Discussion->CategoryID) . '">' . $Discussion->Category . '</a>
			</li>
			';
}
$DiscussionList .= '<li class="DiscussionStarted">
			<span><a href="' . GetUrl($this->Context->Configuration, 'comments.php', '', 'DiscussionID', $Discussion->DiscussionID, '', '#Item_1', CleanupString($Discussion->Name) . '/') . '">' . $this->Context->GetDefinition('StartedBy') . '</a> </span><a href="' . GetUrl($this->Context->Configuration, 'account.php', '', 'u', $Discussion->AuthUserID) . '">' . $Discussion->AuthUsername . '</a>
		</li>
Esempio n. 3
0
 function AddDiscussionsToPanel(&$Context, &$Panel, $DataManager, $GetDataMethod, $MaxRecords, $ListTitle, $UrlAction, $PermissionRequirement)
 {
     if ($PermissionRequirement && $Context->Session->UserID > 0) {
         $Data = $DataManager->{$GetDataMethod}($Context->Session->UserID, $MaxRecords);
         $ActualRecords = $Context->Database->RowCount($Data);
         if ($ActualRecords > 0) {
             $Panel->AddList($ListTitle, 21);
             $Discussion = $Context->ObjectFactory->NewContextObject($Context, "Discussion");
             while ($Row = $Context->Database->GetRow($Data)) {
                 $Discussion->Clear();
                 $Discussion->GetPropertiesFromDataSet($Row, $Context->Configuration);
                 $Discussion->FormatPropertiesForDisplay();
                 $Suffix = "";
                 if ($Discussion->NewComments > 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));
             }
         }
     }
 }