PHP Класс ConversationModel, vanilla

С версии: 2.0.0
Наследование: extends Gdn_Model
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
__construct ( ) Class constructor. Defines the related database table name.
addUserAllowed ( integer $ConversationID, integer $CountRecipients ) : boolean Are we allowed to add more recipients?
addUserToConversation ( integer $ConversationID, integer $UserID ) Add another user to the conversation.
bookmark ( integer $ConversationID, integer $UserID ) : boolean Bookmark (or unbookmark) a conversation for a specific user id.
clear ( integer $ConversationID, integer $ClearingUserID ) Clear a conversation for a specific user id.
conversationQuery ( integer $ViewingUserID, $Join = '' ) Build generic part of conversation query.
countUnread ( integer $UserID, boolean $Save = true ) : integer Count unread messages.
counts ( $Column, $From = false, $To = false, $Max = false )
get ( $OrderFields = '', $OrderDirection = '', $Limit = false, $PageNumber = false )
get2 ( integer $UserID, integer $Offset, integer $Limit ) Get a list of conversations for a user's inbox. This is an optimized version of ConversationModel::get().
getCount ( $wheres = [] )
getCountInbox ( integer $ViewingUserID, array $Wheres = '' ) : integer Get number of conversations involving current user.
getCountWhere ( array $Wheres = '' ) : integer Get number of conversations that meet criteria.
getID ( integer $ConversationID, string $datasetType = false, array $options = [] ) : array | stdClass Get meta data of a single conversation.
getInbox ( integer $ViewingUserID, integer | string $Limit = '', integer | string $Offset = '0' ) : Gdn_DataSet Get list of conversations.
getRecipients ( integer $ConversationID, integer $Limit = 20 ) : Gdn_DataSet Get all users involved in conversation.
inConversation ( integer $ConversationID, integer $UserID ) : integer | boolean Figure out whether or not a user is in a conversation.
joinLastMessages ( &$Data )
joinParticipants ( &$Data, $Max = 5 )
markRead ( integer $ConversationID, integer $ReadingUserID ) Update a conversation as read for a specific user id.
participantTitle ( array | object $Conversation, boolean $Html = true, integer $Max = 3 ) : string Gets a nice title to represent the participants in a conversation.
save ( array $formPostValues, array $settings = [] ) : integer Save conversation from form submission.
updateParticipantCount ( integer $ConversationID ) Update the count of participants.
updateUserUnreadCount ( array $UserIDs, boolean $SkipSelf = false ) Update users' unread conversation counter.

Описание методов

__construct() публичный Метод

Class constructor. Defines the related database table name.
С версии: 2.0.0
public __construct ( )

addUserAllowed() публичный Метод

If we pass $CountRecipients then $ConversationID isn't needed (set to zero).
public addUserAllowed ( integer $ConversationID, integer $CountRecipients ) : boolean
$ConversationID integer Unique ID of the conversation.
$CountRecipients integer Optionally skip needing to query the count by passing it.
Результат boolean Whether user may add more recipients to conversation.

addUserToConversation() публичный Метод

Add another user to the conversation.
С версии: 2.0.0
public addUserToConversation ( integer $ConversationID, integer $UserID )
$ConversationID integer Unique ID of conversation effected.
$UserID integer Unique ID of current user.

bookmark() публичный Метод

Bookmark (or unbookmark) a conversation for a specific user id.
С версии: 2.0.0
public bookmark ( integer $ConversationID, integer $UserID ) : boolean
$ConversationID integer Unique ID of conversation effected.
$UserID integer Unique ID of current user.
Результат boolean Whether it is currently bookmarked.

clear() публичный Метод

Clear a conversation for a specific user id.
С версии: 2.0.0
public clear ( integer $ConversationID, integer $ClearingUserID )
$ConversationID integer Unique ID of conversation effected.
$ClearingUserID integer Unique ID of current user.

conversationQuery() публичный Метод

Build generic part of conversation query.
С версии: 2.0.0
public conversationQuery ( integer $ViewingUserID, $Join = '' )
$ViewingUserID integer Unique ID of current user.

countUnread() публичный Метод

Count unread messages.
public countUnread ( integer $UserID, boolean $Save = true ) : integer
$UserID integer Unique ID for user being queried.
$Save boolean Whether to update user record.
Результат integer

counts() публичный Метод

public counts ( $Column, $From = false, $To = false, $Max = false )

get() публичный Метод

public get ( $OrderFields = '', $OrderDirection = '', $Limit = false, $PageNumber = false )

get2() публичный Метод

Get a list of conversations for a user's inbox. This is an optimized version of ConversationModel::get().
public get2 ( integer $UserID, integer $Offset, integer $Limit )
$UserID integer The user looking at the conversations.
$Offset integer Number to skip.
$Limit integer Maximum to return.

getCount() публичный Метод

public getCount ( $wheres = [] )

getCountInbox() публичный Метод

Get number of conversations involving current user.
public getCountInbox ( integer $ViewingUserID, array $Wheres = '' ) : integer
$ViewingUserID integer Unique ID of current user.
$Wheres array SQL conditions.
Результат integer Number of messages.

getCountWhere() публичный Метод

Get number of conversations that meet criteria.
С версии: 2.0.0
public getCountWhere ( array $Wheres = '' ) : integer
$Wheres array SQL conditions.
Результат integer Number of messages.

getID() публичный Метод

Get meta data of a single conversation.
public getID ( integer $ConversationID, string $datasetType = false, array $options = [] ) : array | stdClass
$ConversationID integer Unique ID of conversation.
$datasetType string The format of the resulting conversation.
$options array Options to modify the get. Currently supports `viewingUserID`.
Результат array | stdClass Returns a conversation.

getInbox() публичный Метод

Events: BeforeGet.
public getInbox ( integer $ViewingUserID, integer | string $Limit = '', integer | string $Offset = '0' ) : Gdn_DataSet
$ViewingUserID integer Unique ID of current user.
$Limit integer | string Maximum to return.
$Offset integer | string Number to skip.
Результат Gdn_DataSet SQL results.

getRecipients() публичный Метод

Get all users involved in conversation.
С версии: 2.0.0
public getRecipients ( integer $ConversationID, integer $Limit = 20 ) : Gdn_DataSet
$ConversationID integer Unique ID of conversation.
$Limit integer The number of recipients to grab.
Результат Gdn_DataSet SQL results.

inConversation() публичный Метод

Figure out whether or not a user is in a conversation.
public inConversation ( integer $ConversationID, integer $UserID ) : integer | boolean
$ConversationID integer
$UserID integer
Результат integer | boolean

joinLastMessages() публичный Метод

public joinLastMessages ( &$Data )

joinParticipants() публичный Метод

public joinParticipants ( &$Data, $Max = 5 )

markRead() публичный Метод

Update a conversation as read for a specific user id.
С версии: 2.0.0
public markRead ( integer $ConversationID, integer $ReadingUserID )
$ConversationID integer Unique ID of conversation effected.
$ReadingUserID integer Unique ID of current user.

participantTitle() публичный статический Метод

Gets a nice title to represent the participants in a conversation.
public static participantTitle ( array | object $Conversation, boolean $Html = true, integer $Max = 3 ) : string
$Conversation array | object The conversation to get the participants for.
$Html boolean Whether or not to return HTML.
$Max integer The maximum number of participants to show in the list.
Результат string Returns a title for the conversation.

save() публичный Метод

Save conversation from form submission.
public save ( array $formPostValues, array $settings = [] ) : integer
$formPostValues array Values submitted via form.
$settings array Not used.
Результат integer Unique ID of conversation created or updated.

updateParticipantCount() публичный Метод

Update the count of participants.
public updateParticipantCount ( integer $ConversationID )
$ConversationID integer

updateUserUnreadCount() публичный Метод

Update users' unread conversation counter.
public updateUserUnreadCount ( array $UserIDs, boolean $SkipSelf = false )
$UserIDs array Array of ints.
$SkipSelf boolean Whether to omit current user.