StreamManager
in package
implements
StreamManagerInterface
Class StreamManager.
Tags
Table of Contents
Interfaces
Properties
- $allowSortFields : array<string, array<string, string|null>>
- $select : array<string|int, string>
- $sortMapping : array<string, string>
- $isGreaterThanLastFeed : bool
- $isViewSearchString : bool
- $searchString : string|null
- $additionalConditions : array<string, mixed>
- $continuousTry : int
- $eagerLoads : array<string|int, string>
- $hashtag : string|null
- $isPreviewTag : bool
- $isViewHashtag : bool
- $isViewOnProfile : bool
- $limit : int
- $loadedSponsoredFeedIds : array<string|int, mixed>|null
- $onlyFriends : bool
- $ownerId : int|null
- $pinnedFeedIds : array<string|int, mixed>
- $searchByStreamId : bool
- $sortFields : array<string, mixed>
- $sortType : string
- $sortView : string
- $sponsoredFeedIds : array<string|int, mixed>
- $status : array<string|int, mixed>|null
- $user : User|null
- $userId : int|null
Methods
- __construct() : mixed
- addPinnedFeedIds() : mixed
- addSponsoredFeed() : void
- fetchPinnedFeeds() : void
- Fetch pinned feed into a collections when prepend to collection, we need to keep ordering of lasted pined at first.
- fetchSponsoredFeeds() : array<string|int, mixed>
- fetchStream() : Collection
- fetchStreamContinuous() : void
- getEagerLoads() : array<string|int, mixed>
- getFeedSortView() : array<string|int, mixed>
- getIsGreaterThanLastFeed() : bool
- getLimit() : int
- getOwnerId() : int|null
- getPinnedFeedIds() : array<string|int, mixed>
- getSelect() : array<string|int, string>
- getSortFields() : array<string, mixed>
- getSortType() : string
- getSortView() : string
- getSponsoredFeedLimit() : int
- getStatus() : string
- getUserId() : int|null
- hasAdditionalConditions() : bool
- isApproved() : StreamManager
- isDenied() : StreamManager
- isOnlyFriends() : bool
- isPending() : StreamManager
- isPreviewTag() : int
- isRemoved() : StreamManager
- isSearchByStreamId() : bool
- isViewHashtag() : bool
- isViewOnProfile() : bool
- isViewSearch() : bool
- setAdditionalConditions() : StreamManager
- setHashtag() : StreamManager
- setIsGreaterThanLastFeed() : $this
- setIsViewHashtag() : StreamManager
- setIsViewOnProfile() : StreamManager
- setIsViewSearch() : $this
- setLimit() : self
- setLoadedSponsoredFeedIds() : $this
- setOnlyFriends() : $this
- setOwnerId() : self
- setPreviewTag() : $this
- setSearchByStreamId() : StreamManager
- setSearchString() : $this
- setSelect() : self
- setSortFields() : self
- setStatus() : StreamManager
- setUser() : $this
- setUserId() : self
- toFeeds() : Collection
- Convert from get stream (feed ids) to collection of Feeds.
- buildProfileQueryForMember() : Builder
- buildProfileQueryForModeration() : Builder
- buildQuery() : Builder|null
- buildQueryForFriendsOnly() : void
- queryHomeFeed() : Builder
- queryProfileFeed() : Builder
- handleAdditionalConditions() : Builder
Properties
$allowSortFields
public
array<string, array<string, string|null>>
$allowSortFields
= [
\MetaFox\Platform\Support\Browse\Browse::SORT_RECENT => ['stream.created_at' => \MetaFox\Platform\MetaFoxConstant::SORT_DESC, 'stream.feed_id' => \MetaFox\Platform\MetaFoxConstant::SORT_DESC],
\MetaFox\Platform\Support\Browse\Browse::SORT_MOST_DISCUSSED => ['feed.total_comment' => null, 'stream.updated_at' => \MetaFox\Platform\MetaFoxConstant::SORT_DESC, 'stream.feed_id' => \MetaFox\Platform\MetaFoxConstant::SORT_DESC],
\MetaFox\Platform\Support\Browse\Browse::SORT_MOST_VIEWED => ['feed.total_view' => null, 'stream.updated_at' => \MetaFox\Platform\MetaFoxConstant::SORT_DESC, 'stream.feed_id' => \MetaFox\Platform\MetaFoxConstant::SORT_DESC],
\MetaFox\Platform\Support\Browse\Browse::SORT_MOST_LIKED => ['feed.total_like' => null, 'stream.updated_at' => \MetaFox\Platform\MetaFoxConstant::SORT_DESC, 'stream.feed_id' => \MetaFox\Platform\MetaFoxConstant::SORT_DESC],
// @todo: TBD for sorting rule
\MetaFox\Platform\Support\Browse\Browse::SORT_TOP_STORIES => ['stream.updated_at' => \MetaFox\Platform\MetaFoxConstant::SORT_DESC, 'feed.total_comment' => null, 'feed.total_like' => null, 'stream.feed_id' => \MetaFox\Platform\MetaFoxConstant::SORT_DESC],
]
$select
public
array<string|int, string>
$select
= [
// 'stream.id',
'stream.feed_id',
'stream.updated_at',
]
$sortMapping
public
array<string, string>
$sortMapping
= ['stream.feed_id' => 'id', 'stream.updated_at' => 'updated_at', 'feed.total_like' => 'total_like', 'feed.total_comment' => 'total_comment', 'feed.total_view' => 'total_view', 'stream.created_at' => 'created_at']
$isGreaterThanLastFeed
protected
bool
$isGreaterThanLastFeed
= false
$isViewSearchString
protected
bool
$isViewSearchString
= false
$searchString
protected
string|null
$searchString
= null
$additionalConditions
private
array<string, mixed>
$additionalConditions
= null
| array<int, mixed> |null
$continuousTry
private
int
$continuousTry
= 1
$eagerLoads
private
array<string|int, string>
$eagerLoads
= []
$hashtag
private
string|null
$hashtag
= null
$isPreviewTag
private
bool
$isPreviewTag
= false
$isViewHashtag
private
bool
$isViewHashtag
= false
$isViewOnProfile
private
bool
$isViewOnProfile
= false
$limit
private
int
$limit
= \MetaFox\Platform\Support\Helper\Pagination::DEFAULT_ITEM_PER_PAGE
$loadedSponsoredFeedIds
private
array<string|int, mixed>|null
$loadedSponsoredFeedIds
= null
$onlyFriends
private
bool
$onlyFriends
$ownerId
private
int|null
$ownerId
$pinnedFeedIds
private
array<string|int, mixed>
$pinnedFeedIds
= []
$searchByStreamId
private
bool
$searchByStreamId
= false
$sortFields
private
array<string, mixed>
$sortFields
$sortType
private
string
$sortType
$sortView
private
string
$sortView
$sponsoredFeedIds
private
array<string|int, mixed>
$sponsoredFeedIds
= []
$status
private
array<string|int, mixed>|null
$status
= null
$user
private
User|null
$user
= null
$userId
private
int|null
$userId
Methods
__construct()
public
__construct() : mixed
addPinnedFeedIds()
public
addPinnedFeedIds(Collection $collection) : mixed
Parameters
- $collection : Collection
addSponsoredFeed()
public
addSponsoredFeed(Collection $collection) : void
Parameters
- $collection : Collection
fetchPinnedFeeds()
Fetch pinned feed into a collections when prepend to collection, we need to keep ordering of lasted pined at first.
public
fetchPinnedFeeds() : void
So we need to sort out ordering in a right way, then collection just keep ordering only.
fetchSponsoredFeeds()
public
fetchSponsoredFeeds([array<string|int, mixed>|null $loadedSponsoredFeedIds = null ]) : array<string|int, mixed>
Parameters
- $loadedSponsoredFeedIds : array<string|int, mixed>|null = null
Return values
array<string|int, mixed>fetchStream()
public
fetchStream([int|null $lastFeedId = null ][, string|null $timeFrom = null ][, string|null $timeTo = null ]) : Collection
Parameters
- $lastFeedId : int|null = null
- $timeFrom : string|null = null
- $timeTo : string|null = null
Tags
Return values
CollectionfetchStreamContinuous()
public
fetchStreamContinuous(Collection $result, int $need, int|null $lastFeedId, int $try) : void
Parameters
- $result : Collection
- $need : int
- $lastFeedId : int|null
- $try : int
Tags
getEagerLoads()
public
getEagerLoads() : array<string|int, mixed>
Return values
array<string|int, mixed>getFeedSortView()
public
getFeedSortView() : array<string|int, mixed>
Return values
array<string|int, mixed>getIsGreaterThanLastFeed()
public
getIsGreaterThanLastFeed() : bool
Return values
boolgetLimit()
public
getLimit() : int
Return values
intgetOwnerId()
public
getOwnerId() : int|null
Return values
int|nullgetPinnedFeedIds()
public
getPinnedFeedIds() : array<string|int, mixed>
Return values
array<string|int, mixed>getSelect()
public
getSelect() : array<string|int, string>
Return values
array<string|int, string>getSortFields()
public
getSortFields() : array<string, mixed>
Return values
array<string, mixed>getSortType()
public
getSortType() : string
Return values
stringgetSortView()
public
getSortView() : string
Return values
stringgetSponsoredFeedLimit()
public
getSponsoredFeedLimit() : int
Return values
intgetStatus()
public
getStatus() : string
Return values
stringgetUserId()
public
getUserId() : int|null
Return values
int|nullhasAdditionalConditions()
public
hasAdditionalConditions() : bool
Return values
boolisApproved()
public
isApproved() : StreamManager
Return values
StreamManagerisDenied()
public
isDenied() : StreamManager
Return values
StreamManagerisOnlyFriends()
public
isOnlyFriends() : bool
Return values
boolisPending()
public
isPending() : StreamManager
Return values
StreamManagerisPreviewTag()
public
isPreviewTag() : int
Return values
intisRemoved()
public
isRemoved() : StreamManager
Return values
StreamManagerisSearchByStreamId()
public
isSearchByStreamId() : bool
Return values
boolisViewHashtag()
public
isViewHashtag() : bool
Return values
boolisViewOnProfile()
public
isViewOnProfile() : bool
Return values
boolisViewSearch()
public
isViewSearch() : bool
Return values
boolsetAdditionalConditions()
public
setAdditionalConditions(array<string|int, mixed> $additionalConditions) : StreamManager
Parameters
- $additionalConditions : array<string|int, mixed>
Return values
StreamManagersetHashtag()
public
setHashtag(string $hashtag) : StreamManager
Parameters
- $hashtag : string
Return values
StreamManagersetIsGreaterThanLastFeed()
public
setIsGreaterThanLastFeed([bool $value = true ]) : $this
Parameters
- $value : bool = true
Return values
$thissetIsViewHashtag()
public
setIsViewHashtag(bool $isViewHashtag) : StreamManager
Parameters
- $isViewHashtag : bool
Return values
StreamManagersetIsViewOnProfile()
public
setIsViewOnProfile(bool $isViewOnProfile) : StreamManager
Parameters
- $isViewOnProfile : bool
Return values
StreamManagersetIsViewSearch()
public
setIsViewSearch(bool $isViewSearch) : $this
Parameters
- $isViewSearch : bool
Return values
$thissetLimit()
public
setLimit(int $limit) : self
Parameters
- $limit : int
Return values
selfsetLoadedSponsoredFeedIds()
public
setLoadedSponsoredFeedIds(array<string|int, mixed>|null $ids) : $this
Parameters
- $ids : array<string|int, mixed>|null
Return values
$thissetOnlyFriends()
public
setOnlyFriends(bool $onlyFriends) : $this
Parameters
- $onlyFriends : bool
Return values
$thissetOwnerId()
public
setOwnerId(int $ownerId) : self
Parameters
- $ownerId : int
Return values
selfsetPreviewTag()
public
setPreviewTag(bool $isPreviewTag) : $this
Parameters
- $isPreviewTag : bool
Return values
$thissetSearchByStreamId()
public
setSearchByStreamId(bool $value) : StreamManager
Parameters
- $value : bool
Return values
StreamManagersetSearchString()
public
setSearchString(string $search) : $this
Parameters
- $search : string
Return values
$thissetSelect()
public
setSelect(array<string|int, string> $select) : self
Parameters
- $select : array<string|int, string>
Return values
selfsetSortFields()
public
setSortFields(string $view[, string $sortType = MetaFoxConstant::SORT_DESC ]) : self
Parameters
- $view : string
- $sortType : string = MetaFoxConstant::SORT_DESC
Return values
selfsetStatus()
public
setStatus([string $status = null ]) : StreamManager
Parameters
- $status : string = null
Return values
StreamManagersetUser()
public
setUser(User $user) : $this
Parameters
- $user : User
Return values
$thissetUserId()
public
setUserId(int $userId) : self
Parameters
- $userId : int
Return values
selftoFeeds()
Convert from get stream (feed ids) to collection of Feeds.
public
toFeeds(array<string|int, int> $feedIds) : Collection
Parameters
- $feedIds : array<string|int, int>
Return values
CollectionbuildProfileQueryForMember()
protected
buildProfileQueryForMember(bool|null $isFriendOfFriend) : Builder
Parameters
- $isFriendOfFriend : bool|null
Return values
BuilderbuildProfileQueryForModeration()
protected
buildProfileQueryForModeration() : Builder
Return values
BuilderbuildQuery()
protected
buildQuery([int|null $lastFeedId = null ][, string|null $timeFrom = null ][, string|null $timeTo = null ]) : Builder|null
Parameters
- $lastFeedId : int|null = null
- $timeFrom : string|null = null
- $timeTo : string|null = null
Tags
Return values
Builder|nullbuildQueryForFriendsOnly()
protected
buildQueryForFriendsOnly(Builder $query) : void
Parameters
- $query : Builder
queryHomeFeed()
protected
queryHomeFeed() : Builder
Return values
BuilderqueryProfileFeed()
protected
queryProfileFeed() : Builder
Return values
BuilderhandleAdditionalConditions()
private
handleAdditionalConditions(Builder $query, array<string|int, mixed> $conditions) : Builder
Parameters
- $query : Builder
- $conditions : array<string|int, mixed>