vB_Api_SocialGroup
extends vB_Api_Blog
in package
vB_Api_Socialgroup
Table of Contents
Methods
- __serialize() : array<string|int, mixed>
- __sleep() : array<string|int, mixed>
- __unserialize() : void
- __wakeup() : void
- callNamed() : The
- Call the given api function by name with a named arguments list.
- cancelChannelTransfer() : bool
- Cancels a channel transfer request
- canCreateBlog() : bool
- Checks if the user can create a new Blog
- changeCategory() : mixed
- checkApiState() : mixed
- This method checks whether the API method is enabled.
- clearCache() : mixed
- Clears all previously loaded API objects.
- createBlog() : array<string|int, mixed>
- Creates a blog channel
- createSocialGroup() : int
- Creates a new social group
- fetchContributors() : array<string|int, mixed>
- Returns the userids of the channel contributors (moderators)
- fetchMembers() : array<string|int, mixed>
- Lists channel members
- fetchOwner() : int
- Returns the userid of the channel owner
- fetchSubscribers() : mixed
- Fetches information about members (subscribers) for a blog.
- getApiClassName() : mixed
- getBlogChannel() : int
- getBlogInfo() : mixed
- getBlogSidebarModules() : array<string|int, mixed>
- Returns the widget instances that are used for blog sidebar.
- getCategories() : mixed
- returns the category list- direct children of the social group channel
- getChannelAdminPerms() : array<string|int, mixed>
- Returns a list of channel owner permissions and their values
- getMembersCount() : int
- Gets the number of members for the given blog channel
- getSGChannel() : int
- getSGInfo() : mixed
- gets Get info on every SG Channel
- getSGOwnerPerms() : array<string|int, mixed>
- Get the current user's permissions for own stuff (eg. Own groups, own discussions, own messages)
- instance() : vB_Api
- Returns an instance of the API object which translates exceptions to an array Use this method for API clients.
- instanceInternal() : vB_Api
- Returns an instance of the API object which doesn't handle exceptions This should only be used in other API objects, not for clients of the API
- isBlogNode() : bool
- Determines if the given node is a blog-related node (blog entry).
- isChannelMember() : int
- Indicates if the current user is member of a given channelid
- isChannelModerator() : bool
- Indicates if the given user or current user is owner or mod from given channel.
- isSGChannel() : bool
- Determines if the given node is a Social group channel.
- isSGNode() : bool
- Determines if the given node is a blog-related node (blog entry).
- leaveChannel() : bool
- Handles leave in special channels for the current or specified user.
- map_vb4_input_to_vb5() : string
- Returns vb5 api method name.
- map_vb5_errors_to_vb4() : mixed
- Alters the error array in any way necessary to interface correctly with vb4.
- map_vb5_output_to_vb4() : mixed
- Alters the output array in any way necessary to interface correctly with vb4.
- removeChannelMember() : bool
- Handles removing a channel member
- removeChannelModerator() : bool
- Handles removing a channel moderator
- saveBlogSidebarModules() : mixed
- Saves channel configuration for blog sidebar
- saveCategory() : int
- creates a new category
- subscribeChannel() : bool
- Handles subscription in special channels for the current user.
- userCanComment() : array<string|int, mixed>
- Returns whether current user can comment in the blog or not
Methods
__serialize()
public
__serialize() : array<string|int, mixed>
Return values
array<string|int, mixed>__sleep()
public
__sleep() : array<string|int, mixed>
Return values
array<string|int, mixed>__unserialize()
public
__unserialize(array<string|int, mixed> $serialized) : void
Parameters
- $serialized : array<string|int, mixed>
__wakeup()
public
__wakeup() : void
callNamed()
Call the given api function by name with a named arguments list.
public
callNamed() : The
Used primarily to translate REST requests into API calls.
Return values
The —return of the method or an error if the method doesn't exist, or is static, a constructor or destructor, or otherwise shouldn't be callable as and API method. It is also an error if the value of a paramater is not provided and that parameter doesn't have a default value.
cancelChannelTransfer()
Cancels a channel transfer request
public
cancelChannelTransfer(int $channelId, int $userId) : bool
Parameters
- $channelId : int
- $userId : int
Return values
bool —Indicates if the action succeeded
canCreateBlog()
Checks if the user can create a new Blog
public
canCreateBlog(mixed $parentid) : bool
Parameters
- $parentid : mixed
Tags
Return values
boolchangeCategory()
public
changeCategory(mixed $groupid, mixed $categoryid) : mixed
Parameters
- $groupid : mixed
- $categoryid : mixed
checkApiState()
This method checks whether the API method is enabled.
public
checkApiState(mixed $method) : mixed
For extensions check make sure $controller property is already set.
Parameters
- $method : mixed
clearCache()
Clears all previously loaded API objects.
public
static clearCache() : mixed
Intended for use in tests where the loading pattern can cause issues with objects that cache thier own data.
createBlog()
Creates a blog channel
public
createBlog(mixed $input) : array<string|int, mixed>
Parameters
- $input : mixed
Return values
array<string|int, mixed>createSocialGroup()
Creates a new social group
public
createSocialGroup(array<string|int, mixed> $input) : int
Parameters
- $input : array<string|int, mixed>
-
array which must include parentid, title. Should also have various options and a description. $input = [ 'title' => (string) Required. Group title. Note that the group title must be unique within its category. 'description' => (string) Default ''. Group description. 'parentid' => (int) Required. Nodeid of the group category. 'filedataid' => (int) Optional. Channel Icon Filedataid. This requires forumpermissions.canuploadchannelicon . 'group_type' => (int) 0|1|2, default 0. Group membership rules. 0 = auto-approve memberships, 1 = membership requires approval, 2 = invite only. 'viewperms' => (int) 0|1|2, default 2. Who can view this group. 0 = subscribed only, 1 = subscribed & registered users, 2 = everyone. 'moderate_topics' => (bool) Default false. True = put new topics into moderation, False = auto-approve new topics. ]
Return values
int —nodeid of the created group/channel
fetchContributors()
Returns the userids of the channel contributors (moderators)
public
fetchContributors(mixed $nodeid[, mixed $count = false ]) : array<string|int, mixed>
Parameters
- $nodeid : mixed
- $count : mixed = false
Return values
array<string|int, mixed> —Array of channel contributor user IDs
fetchMembers()
Lists channel members
public
fetchMembers(int $nodeid[, int $pageno = 1 ][, int $perpage = 20 ][, bool $thumb = false ][, bool $includeOwnersAndMods = false ]) : array<string|int, mixed>
This is used for groups.
Parameters
- $nodeid : int
- $pageno : int = 1
-
Page number to fetch
- $perpage : int = 20
-
Number of members to list per page
- $thumb : bool = false
-
Whether to return the thumbnail version of the avatar
- $includeOwnersAndMods : bool = false
-
Whether to include owners and moderators instead of strictly members
Tags
Return values
array<string|int, mixed> —int count -- total count of members array members -- list of userid => Array int userid string username string avatarUrl -- deprecated, use avatarpath string avatarpath -- the user's avatar url path. Thumbnail path if requested int groupid -- the groupid from the channel member usergroup int pagecount -- total number of pages
fetchOwner()
Returns the userid of the channel owner
public
fetchOwner(mixed $nodeid) : int
Parameters
- $nodeid : mixed
Return values
int —Channel owner user ID
fetchSubscribers()
Fetches information about members (subscribers) for a blog.
public
fetchSubscribers(int $nodeid[, int $pageno = 1 ][, int $perpage = 20 ][, bool $thumb = false ]) : mixed
For actual node subscription information
Parameters
- $nodeid : int
-
the nodeid
- $pageno : int = 1
-
page for which we want data
- $perpage : int = 20
-
items per page
- $thumb : bool = false
-
whether to get the thumbnail avatar
Tags
Return values
mixed —array with 'count'=> total subscriber count 'pagecount' => total number of pages 'groupid' => id for the channel member group 'members'=> array of users:
- avatarUrl
- username
- userid
getApiClassName()
public
static getApiClassName(mixed $controller) : mixed
Parameters
- $controller : mixed
getBlogChannel()
public
getBlogChannel() : int
Tags
Return values
int —nodeid of actual Main Blog Channel
getBlogInfo()
public
getBlogInfo([mixed $from = 1 ][, mixed $perpage = 20 ][, mixed $authorid = 0 ][, mixed $sort_field = 'title' ][, mixed $sort_order = 'asc' ]) : mixed
Parameters
- $from : mixed = 1
- $perpage : mixed = 20
- $authorid : mixed = 0
- $sort_field : mixed = 'title'
- $sort_order : mixed = 'asc'
Tags
Return values
mixed —array containing the blog channel info we need
getBlogSidebarModules()
Returns the widget instances that are used for blog sidebar.
public
getBlogSidebarModules([mixed $channelId = 0 ]) : array<string|int, mixed>
This method should be used only for owner configuration of the blog, not rendering
Parameters
- $channelId : mixed = 0
Return values
array<string|int, mixed> —An array of widget instances, keyed by widget instance ID [ widget instance ID => [ title widgetid widgetinstanceid hidden (int flag) ] ]
getCategories()
returns the category list- direct children of the social group channel
public
getCategories() : mixed
Return values
mixed —array of nodeid => title
getChannelAdminPerms()
Returns a list of channel owner permissions and their values
public
getChannelAdminPerms(mixed $nodeid) : array<string|int, mixed>
Parameters
- $nodeid : mixed
Return values
array<string|int, mixed> —List of permissions and their values: canmanageusers (value from moderatorpermissions:canaddowners) canmoderate (value from moderatorpermissions:canmoderateposts) canconfig (value from forumpermissions2:canconfigchannel) canmanagechannel (value from forumpermissions2:candeletechannel) canstats true
getMembersCount()
Gets the number of members for the given blog channel
public
getMembersCount(mixed $nodeid) : int
Parameters
- $nodeid : mixed
Return values
int —number of members
getSGChannel()
public
getSGChannel() : int
Tags
Return values
int —nodeid of actual Main Social Group Channel
getSGInfo()
gets Get info on every SG Channel
public
getSGInfo([mixed $options = [] ][, mixed $routeInfo = [] ]) : mixed
Parameters
- $options : mixed = []
- $routeInfo : mixed = []
getSGOwnerPerms()
Get the current user's permissions for own stuff (eg. Own groups, own discussions, own messages)
public
getSGOwnerPerms(mixed $nodeid) : array<string|int, mixed>
Parameters
- $nodeid : mixed
Return values
array<string|int, mixed> —of permissions set to yes
instance()
Returns an instance of the API object which translates exceptions to an array Use this method for API clients.
public
static instance(string $controller[, bool $refresh_cache = false ]) : vB_Api
Parameters
- $controller : string
-
-- name of the API controller to load
- $refresh_cache : bool = false
-
-- true if we want to force the cache to update with a new api object primarily intended for testing
Return values
vB_ApiinstanceInternal()
Returns an instance of the API object which doesn't handle exceptions This should only be used in other API objects, not for clients of the API
public
static instanceInternal(string $controller[, bool $refresh_cache = false ]) : vB_Api
Parameters
- $controller : string
-
-- name of the API controller to load
- $refresh_cache : bool = false
-
-- true if we want to force the cache to update with a new api object primarily intended for testing
Return values
vB_ApiisBlogNode()
Determines if the given node is a blog-related node (blog entry).
public
isBlogNode(int $nodeId[, array<string|int, mixed> $node = false ]) : bool
Parameters
- $nodeId : int
- $node : array<string|int, mixed> = false
-
-- optionally provide the node array to save a lookup
Return values
boolisChannelMember()
Indicates if the current user is member of a given channelid
public
isChannelMember(mixed $channelId) : int
Parameters
- $channelId : mixed
Return values
int —Values of the member status. 0 = no member 1 = member 2 = request pending
isChannelModerator()
Indicates if the given user or current user is owner or mod from given channel.
public
isChannelModerator(int $channelId[, int $checkUser = 0 ]) : bool
Owner can't leave the channel ditto for mods (managers or contributors).
Parameters
- $channelId : int
-
The channel id we are checking.
- $checkUser : int = 0
-
Optional, the user id we're checking if we're not checking the current user
Return values
bool —Indicaticates if user is owner/mod
isSGChannel()
Determines if the given node is a Social group channel.
public
isSGChannel(int $nodeid) : bool
Parameters
- $nodeid : int
Return values
boolisSGNode()
Determines if the given node is a blog-related node (blog entry).
public
isSGNode(mixed $nodeId[, mixed $node = false ]) : bool
Parameters
- $nodeId : mixed
- $node : mixed = false
Return values
boolleaveChannel()
Handles leave in special channels for the current or specified user.
public
leaveChannel(int $channelId[, int $leavingUser = 0 ]) : bool
This is used basically for social groups handling the join/subscribe logical but we are implementing here in case requirements change and join/subscribe gets into blogs too.
Parameters
- $channelId : int
-
The channel id we are leaving
- $leavingUser : int = 0
-
Optional, userid of the user leaving the channel. If not provided, current user will leave the channel.
Return values
bool —Indicates if action succeeded.
map_vb4_input_to_vb5()
Returns vb5 api method name.
public
static map_vb4_input_to_vb5(string $method, array<string|int, mixed> &$request) : string
May alter request array.
Parameters
- $method : string
-
-- vb4 method name
- $request : array<string|int, mixed>
-
-- $_REQUEST array for this api request
Return values
stringmap_vb5_errors_to_vb4()
Alters the error array in any way necessary to interface correctly with vb4.
public
static map_vb5_errors_to_vb4(string $method, array<string|int, mixed> &$data) : mixed
Parameters
- $method : string
-
-- vb4 method name
- $data : array<string|int, mixed>
-
-- error array from vb5
map_vb5_output_to_vb4()
Alters the output array in any way necessary to interface correctly with vb4.
public
static map_vb5_output_to_vb4(string $method, array<string|int, mixed> &$data) : mixed
Parameters
- $method : string
-
-- vb4 method name
- $data : array<string|int, mixed>
-
-- output array from vb5
removeChannelMember()
Handles removing a channel member
public
removeChannelMember(int $channelId, int $userId) : bool
Parameters
- $channelId : int
-
The channel id of that $userId is leaving
- $userId : int
-
Userid of the user leaving the channel.
Return values
bool —Indicates if the user was removed successfully
removeChannelModerator()
Handles removing a channel moderator
public
removeChannelModerator(int $channelId, int $userId) : bool
Parameters
- $channelId : int
-
The channel id of that $userId is leaving
- $userId : int
-
Userid of the user leaving the channel.
Return values
bool —Indicates if the moderator was removed successfully
saveBlogSidebarModules()
Saves channel configuration for blog sidebar
public
saveBlogSidebarModules(int $blogId, array<string|int, mixed> $modules) : mixed
Parameters
- $blogId : int
- $modules : array<string|int, mixed>
-
An array in which each element contains:
- widgetinstanceid (int)
- hide (bool)
Tags
saveCategory()
creates a new category
public
saveCategory(int $nodeId, array<string|int, mixed> $input) : int
Parameters
- $nodeId : int
- $input : array<string|int, mixed>
-
array which must include title and optionally parentid
Return values
int —nodeid of the created category
subscribeChannel()
Handles subscription in special channels for the current user.
public
subscribeChannel(int $channelId) : bool
This is used basically for social groups subscription handling the join/subscribe logical but we are implementing here in case requirements change and join/subscribe gets into blogs too.
Parameters
- $channelId : int
Return values
bool —Indicates if subscription succeeded.
userCanComment()
Returns whether current user can comment in the blog or not
public
userCanComment(mixed $blogPosts) : array<string|int, mixed>
Parameters
- $blogPosts : mixed
Return values
array<string|int, mixed> —- Returns an array with nodeid as key and value for "user can comment"? 0 : No (Commenting is disabled for the blog post or the blog channel) -1: No (User is not logged in and Guests have no permission to comment -2: No (User is logged in but is not subscribed to the blog post - permission to comment is set for subscribers only) 1 : Yes