vBulletin 5.6.5 API

vB_Api_Facebook extends vB_Api
in package

vB_Api_Facebook

Tags
access

public

Table of Contents

$controller  : string
API Controller
$db  : vB_Database
Database object.
$disabled  : bool
Indicates whether the API was disabled
$disableFalseReturnOnly  : array<string|int, mixed>
Contains white listed methods which return a false response when API is disabled in special scenarios like forum closed, password expiry, ip ban and others.
$disableWhiteList  : array<string|int, mixed>
Contains white listed methods which act as normal when API is disabled no matter of special scenarios like forum closed, password expiry, ip ban and others.
$instances  : mixed
$instancesRaw  : array<string|int, mixed>
We want API subclasses to access the instances only through getters
$vb4_input_mappings  : mixed
$wrappers  : mixed
__serialize()  : mixed
__sleep()  : mixed
__unserialize()  : mixed
__wakeup()  : mixed
callNamed()  : The
Call the given api function by name with a named arguments list.
checkApiState()  : mixed
This method checks whether the API method is enabled.
clearCache()  : mixed
Clears all previously loaded API objects.
clearSession()  : mixed
connectCurrentUser()  : mixed
Connects the currently logged in user to the currently logged in Facebook user
disconnectUser()  : mixed
Disconnects the current user from facebook
getAllUserInfo()  : array<string|int, mixed>
Get the results from several functions in one call.
getApiClassName()  : mixed
getFbProfilePicUrl()  : string|false
Get the logged in user's profile picture url.
getFbProfileUrl()  : string|false
Get the logged in user's profile url.
getFbUserInfo()  : mixed
Grabs logged in user info from faceboook if user is logged in
getLoggedInFbUserId()  : mixed
Checks for a currrently logged in user through facebook api
getVbUseridFromFbUserid()  : mixed
Checks if current facebook user is associated with a vb user, and returns vb userid if so
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
isFacebookEnabled()  : bool
Is facebook enabled on this site.
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.
userIsLoggedIn()  : bool
Checks if the current user is logged into facebook
__construct()  : mixed
checkHasAdminPermission()  : none
Determines if the calling user has the given admin permission, and if not throws an exception
checkHasPermission()  : none
Determines if the calling user has the given bitfield permission, and if not, throws a 'no_permission' exception.
checkIsLoggedIn()  : mixed
Determines if the calling user has the given admin permission, and if not throws an exception
getApiClass()  : mixed
getApiClassNameInternal()  : mixed
hasAdminPermission()  : bool
Determines if the calling user has the given admin permission
inDebugMode()  : mixed
isDisableFalseReturnOnly()  : bool
Checks if method returns false response only when API is disabled.
isWhiteListed()  : bool
Checks if method is white listed when API is disabled.
setController()  : mixed
Set controller
cms_vb4_to_vb5_method_mapping()  : mixed
default_vb4_to_vb5_method_mapping()  : mixed
hasAdminPermissionInternal()  : mixed
Internal function to power the previous cover functions
remove_nulls()  : mixed
wrapLoggerIfNeeded()  : mixed
Wrap the api object with the log wrapper class if needed.

Properties

$controller

API Controller

protected string $controller

$disabled

Indicates whether the API was disabled

protected bool $disabled = alse

$disableFalseReturnOnly

Contains white listed methods which return a false response when API is disabled in special scenarios like forum closed, password expiry, ip ban and others.

protected array<string|int, mixed> $disableFalseReturnOnly = array('isFacebookEnabled', 'userIsLoggedIn', 'getLoggedInFbUserId')

$disableWhiteList

Contains white listed methods which act as normal when API is disabled no matter of special scenarios like forum closed, password expiry, ip ban and others.

protected array<string|int, mixed> $disableWhiteList = array()

$instances

private static mixed $instances

$instancesRaw

We want API subclasses to access the instances only through getters

private static array<string|int, mixed> $instancesRaw

$vb4_input_mappings

private static mixed $vb4_input_mappings = array( 'blog.post_comment' => array('method' => 'vb4_blog.post_comment'), 'blog.post_postcomment' => array('method' => 'vb4_blog.post_postcomment'), 'blog.post_updateblog' => array('method' => 'vb4_blog.post_updateblog'), 'blog.post_newblog' => array('method' => 'vb4_blog.post_newblog'), 'blog.post_editblog' => array('method' => 'vb4_blog.post_editblog'), 'blog_list' => array('method' => 'vb4_blog.bloglist'), 'api_init' => array('method' => 'api.init'), 'api_cmssectionlist' => array('method' => 'Vb4_Cms.sectionlist'), 'api_cmscategorylist' => array('method' => 'Vb4_Cms.categorylist'), /* // These can no longer be mapped directly to vB_Api_User::login/logout // due to additional processing of devicetoken that may be required // for mapi calls. 'login_login' => array( 'method' => 'user.login', 'request_mappings' => array( 'vb_login_username' => 'username', 'vb_login_password' => 'password', 'vb_login_md5password' => 'md5password', 'vb_login_md5password_utf' => 'md5passwordutf' ) ), 'login_logout' => array( 'method' => 'user.logout' ), */ 'get_vbfromfacebook' => array('method' => 'vb4_facebook.getVbfromfacebook'), )

$wrappers

private static mixed $wrappers

Methods

__serialize()

public __serialize() : mixed
Return values
mixed —

__sleep()

public __sleep() : mixed
Return values
mixed —

__unserialize()

public __unserialize(mixed $serialized) : mixed
Parameters
$serialized : mixed
Return values
mixed —

__wakeup()

public __wakeup() : mixed
Return values
mixed —

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.

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
Return values
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.

Return values
mixed —

clearSession()

public clearSession() : mixed
Return values
mixed —

connectCurrentUser()

Connects the currently logged in user to the currently logged in Facebook user

public connectCurrentUser([mixed $accessToken = null ]) : mixed

Note that we don't allow connection of a non logged in account because we need to validate the FB login. Connecting somebody else's account to a FB just doesn't make sense as an action.

Parameters
$accessToken : mixed = null
Return values
mixed —

disconnectUser()

Disconnects the current user from facebook

public disconnectUser(int $userid) : mixed

User must either be the current user or an administrator with permissions to manage users.

Parameters
$userid : int

-- The id of the user to disconnect

Return values
mixed —

getAllUserInfo()

Get the results from several functions in one call.

public getAllUserInfo() : array<string|int, mixed>

This is a cover function to make it easier to access all of the fb related information for the current Facebook user in a single call. This is an inefficient way of getting the information if you aren't going to use most of it, but convenient if you are.

Return values
array<string|int, mixed> —

'profileurl' => result of getFbProfileUrl 'profilepicurl' => result of getFbProfilePicUrl 'vbuserid' => result of getVbUseridFromFbUserid 'user' = > result of getFbUserInfo

getApiClassName()

public static getApiClassName(mixed $controller) : mixed
Parameters
$controller : mixed
Return values
mixed —

getFbProfilePicUrl()

Get the logged in user's profile picture url.

public getFbProfilePicUrl() : string|false
Return values
string|false —

facebook profile picture url or false on failure (forex, there is no logged in FB user)

getFbProfileUrl()

Get the logged in user's profile url.

public getFbProfileUrl() : string|false
Return values
string|false —

facebook profile url or false on failure (forex, there is no logged in FB user)

getFbUserInfo()

Grabs logged in user info from faceboook if user is logged in

public getFbUserInfo() : mixed
Return values
mixed —

getLoggedInFbUserId()

Checks for a currrently logged in user through facebook api

public getLoggedInFbUserId() : mixed
Return values
mixed —

getVbUseridFromFbUserid()

Checks if current facebook user is associated with a vb user, and returns vb userid if so

public getVbUseridFromFbUserid() : mixed
Return values
mixed —

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_Api —

instanceInternal()

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_Api —

isFacebookEnabled()

Is facebook enabled on this site.

public isFacebookEnabled() : bool
Return values
bool —

true if the facebook system initialized properly, false otherwise note that if we get an error this may be false even if facebook is configured in the admincp.

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
string —

map_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

Return values
mixed —

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

Return values
mixed —

userIsLoggedIn()

Checks if the current user is logged into facebook

public userIsLoggedIn([bool $ping = false ]) : bool
Parameters
$ping : bool = false

Whether to ping Facebook (unused)

Return values
bool —

__construct()

protected __construct() : mixed
Return values
mixed —

checkHasAdminPermission()

Determines if the calling user has the given admin permission, and if not throws an exception

protected checkHasAdminPermission(string|array<string|int, mixed> $adminPermission) : none

Checks for:

  • A valid CP Session
  • The passed adminpermission.
Parameters
$adminPermission : string|array<string|int, mixed>

The admin permission to check. If an array then the check passes if the user has any of the permissions given.

Tags
throws
inlinemodauth_required

-- The current session is not a mod/admin session

throws
nopermission_loggedin

-- The user does not have the given permission

throws
no_permission

-- The user is not logged in at all.

Return values
none —

checkHasPermission()

Determines if the calling user has the given bitfield permission, and if not, throws a 'no_permission' exception.

protected checkHasPermission(string $group, string $permission) : none
Parameters
$group : string

The permission group where the permission is located

$permission : string

The permission to check

Tags
throws
no_permission
Return values
none —

checkIsLoggedIn()

Determines if the calling user has the given admin permission, and if not throws an exception

protected checkIsLoggedIn() : mixed
Return values
mixed —

getApiClass()

protected static getApiClass(mixed $controller[, mixed $errorCheck = true ]) : mixed
Parameters
$controller : mixed
$errorCheck : mixed = true
Return values
mixed —

getApiClassNameInternal()

protected static getApiClassNameInternal(mixed $controller) : mixed
Parameters
$controller : mixed
Return values
mixed —

hasAdminPermission()

Determines if the calling user has the given admin permission

protected hasAdminPermission(string|array<string|int, mixed> $adminPermission) : bool

Useful if you need to know if the calling user but do not care why they do not have that permission. Generally useful if there is a behavior difference between admins and non admins, but the call can be processed for either.

Parameters
$adminPermission : string|array<string|int, mixed>

The admin permission to check. If an array then the check passes if the user has any of the permissions given.

Return values
bool —

true if checks pass, false otherwise

inDebugMode()

protected inDebugMode() : mixed
Return values
mixed —

isDisableFalseReturnOnly()

Checks if method returns false response only when API is disabled.

protected isDisableFalseReturnOnly(mixed $method) : bool
Parameters
$method : mixed
Return values
bool —

Indicates whether method returns false response only.

isWhiteListed()

Checks if method is white listed when API is disabled.

protected isWhiteListed(mixed $method) : bool
Parameters
$method : mixed
Return values
bool —

Indicates whether method is or is not a white list.

setController()

Set controller

protected setController(mixed $controller) : mixed
Parameters
$controller : mixed
Return values
mixed —

cms_vb4_to_vb5_method_mapping()

private static cms_vb4_to_vb5_method_mapping(mixed $method, mixed &$request) : mixed
Parameters
$method : mixed
$request : mixed
Return values
mixed —

default_vb4_to_vb5_method_mapping()

private static default_vb4_to_vb5_method_mapping(mixed $method) : mixed
Parameters
$method : mixed
Return values
mixed —

hasAdminPermissionInternal()

Internal function to power the previous cover functions

private hasAdminPermissionInternal(mixed $adminPermission) : mixed
@param string|array $adminPermission The admin permission to check.  If an array

then the check passes if the user has any of the permissions given.

Parameters
$adminPermission : mixed
Return values
mixed —

remove_nulls()

private static remove_nulls(mixed &$data) : mixed
Parameters
$data : mixed
Return values
mixed —

wrapLoggerIfNeeded()

Wrap the api object with the log wrapper class if needed.

private static wrapLoggerIfNeeded(mixed $controller, mixed $api_object) : mixed
Parameters
$controller : mixed
$api_object : mixed
Return values
mixed —

Search results