.
public function Get($ConversationID, $ViewingUserID, $Offset = '0', $Limit = '', $Wheres = '') {
if ($Limit == '')
$Limit = Gdn::Config('Conversations.Messages.PerPage', 50);
$Offset = !is_numeric($Offset) || $Offset < 0 ? 0 : $Offset;
if (is_array($Wheres))
$this->SQL->Where($Wheres);
$this->FireEvent('BeforeGet');
return $this->SQL
->Select('cm.*')
->Select('iu.Name', '', 'InsertName')
->Select('iu.Email', '', 'InsertEmail')
->Select('iu.Photo', '', 'InsertPhoto')
->From('ConversationMessage cm')
->Join('Conversation c', 'cm.ConversationID = c.ConversationID')
->Join('UserConversation uc', 'c.ConversationID = uc.ConversationID and uc.UserID = '.$ViewingUserID, 'left')
->Join('User iu', 'cm.InsertUserID = iu.UserID', 'left')
->BeginWhereGroup()
->Where('uc.DateCleared is null')
->OrWhere('uc.DateCleared <', 'cm.DateInserted', TRUE, FALSE) // Make sure that cleared conversations do not show up unless they have new messages added.
->EndWhereGroup()
->Where('cm.ConversationID', $ConversationID)
->OrderBy('cm.DateInserted', 'asc')
->Limit($Limit, $Offset)
->Get();
}
.
沒有留言:
張貼留言