vB_Api_Extensions
extends vB_Api
in package
vB_Api_Extensions
Tags
Table of Contents
- $extensionClass : string
- Extension class name
- $AutoInstall : mixed
- $checked : array<string|int, mixed>
- Array of flags for controller loading
- $checkurl : mixed
- $ClassDependancy : mixed
- $controller : string
- Name of the API module
- $db : vB_Database
- Database object.
- $developer : mixed
- $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.
- $extensionOrder : mixed
- $extensions : array<string|int, mixed>
- Contains extensions for all API classes
- $folders : array<string|int, mixed>
- stores the packages folder list
- $foldersLoaded : array<string|int, mixed>
- Folders loaded flag
- $infourl : mixed
- $maxver : mixed
- $minver : mixed
- $product : mixed
- $ProductDependancy : mixed
- $resultVarName : mixed
- $title : mixed
- $version : mixed
- $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() : mixed
- 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.
- getApiClassName() : mixed
- getExtensionList() : mixed
- Returns all the currently loaded extension.
- getExtensions() : array<string|int, mixed>
- Returns all the extensions for a controller.
- 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
- loadAllExtensions() : mixed
- Loads an array of all extensions
- 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.
- resetExtensions() : mixed
- clears the loaded folders & extensions.
- __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
- getExtensionOrder() : 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
- arraySort() : int
- extensionOrder Returns comparison value for array sorter
- autoInstall() : mixed
- Check if product is installed and install if option is set.
- clearExtensions() : mixed
- clears the loaded extensions.
- clearFolders() : mixed
- clears the loaded folders.
- cms_vb4_to_vb5_method_mapping() : mixed
- default_vb4_to_vb5_method_mapping() : mixed
- getExtensionClass() : string
- Builds the class name for an extension using the file name
- hasAdminPermissionInternal() : mixed
- Internal function to power the previous cover functions
- isCompatible() : mixed
- Check if correct product, and compatible with current vB version.
- isEnabled() : mixed
- Check if product/extension is enabled.
- loadExtension() : mixed
- load the actual extension for a package / $controller.
- loadExtensionList() : mixed
- gets the list of api classes in a given package.
- loadExtensionListFile() : mixed
- gets the class data for a given extension file.
- loadExtensionListFolder() : mixed
- gets the list of api classes in a given folder.
- loadExtensions() : mixed
- Loads extensions for a given controller
- remove_nulls() : mixed
- wrapLoggerIfNeeded() : mixed
- Wrap the api object with the log wrapper class if needed.
Properties
$extensionClass
Extension class name
public
string
$extensionClass
$AutoInstall
protected
mixed
$AutoInstall
= 0
$checked
Array of flags for controller loading
protected
static array<string|int, mixed>
$checked
= array()
$checkurl
protected
mixed
$checkurl
= ''
$ClassDependancy
protected
mixed
$ClassDependancy
= ''
$controller
Name of the API module
protected
string
$controller
$db
Database object.
protected
vB_Database
$db
$developer
protected
mixed
$developer
= ''
$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()
$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()
$extensionOrder
protected
mixed
$extensionOrder
= 10
$extensions
Contains extensions for all API classes
protected
static array<string|int, mixed>
$extensions
$folders
stores the packages folder list
protected
static array<string|int, mixed>
$folders
= array()
$foldersLoaded
Folders loaded flag
protected
static array<string|int, mixed>
$foldersLoaded
= alse
$infourl
protected
mixed
$infourl
= 'https://www.vbulletin.com'
$maxver
protected
mixed
$maxver
= '5.9.99'
$minver
protected
mixed
$minver
= '5.0.0 Alpha 1'
$product
protected
mixed
$product
= 'vbulletin'
$ProductDependancy
protected
mixed
$ProductDependancy
= ''
$resultVarName
protected
mixed
$resultVarName
= 'prevResult'
$title
protected
mixed
$title
= 'Extensions Default Title'
$version
protected
mixed
$version
= '5.6.5 Alpha 4 Week 1'
$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() : mixed
Tags
Return values
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
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 —getApiClassName()
public
static getApiClassName(mixed $controller) : mixed
Parameters
- $controller : mixed
Return values
mixed —getExtensionList()
Returns all the currently loaded extension.
public
static getExtensionList() : mixed
Return values
mixed —getExtensions()
Returns all the extensions for a controller.
public
static getExtensions(string $controller[, mixed $options = array() ]) : array<string|int, mixed>
Parameters
- $controller : string
- $options : mixed = array()
Return values
array<string|int, mixed> —The extensions.
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 —loadAllExtensions()
Loads an array of all extensions
public
static loadAllExtensions() : mixed
Return values
mixed —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 —resetExtensions()
clears the loaded folders & extensions.
public
static resetExtensions() : mixed
Return values
mixed —__construct()
protected
__construct(mixed $controller) : mixed
Parameters
- $controller : 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
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
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 —getExtensionOrder()
protected
getExtensionOrder() : 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 —arraySort()
extensionOrder Returns comparison value for array sorter
private
static arraySort(mixed $a, mixed $b) : int
Parameters
- $a : mixed
- $b : mixed
Return values
int —-1, 0 or 1
autoInstall()
Check if product is installed and install if option is set.
private
static autoInstall(mixed $product, mixed $class, mixed $xmlDir, mixed $products) : mixed
Parameters
- $product : mixed
- $class : mixed
- $xmlDir : mixed
- $products : mixed
Return values
mixed —clearExtensions()
clears the loaded extensions.
private
static clearExtensions() : mixed
Return values
mixed —clearFolders()
clears the loaded folders.
private
static clearFolders() : 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 —getExtensionClass()
Builds the class name for an extension using the file name
private
static getExtensionClass(mixed $controller, mixed $product) : string
Parameters
- $controller : mixed
- $product : mixed
Return values
string —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 —isCompatible()
Check if correct product, and compatible with current vB version.
private
static isCompatible(mixed $class, mixed $package, mixed $options) : mixed
Parameters
- $class : mixed
- $package : mixed
- $options : mixed
Return values
mixed —isEnabled()
Check if product/extension is enabled.
private
static isEnabled(mixed $class, mixed $products) : mixed
Returns 0 = Disabled 1 = Enabled : Product Dependancy Failed 2 = Enabled : Class Dependancy Failed 3 = Enabled : Dependancy check is Ok
Parameters
- $class : mixed
- $products : mixed
Return values
mixed —loadExtension()
load the actual extension for a package / $controller.
private
static loadExtension(mixed $packagesDir, mixed $package, mixed $controller, mixed $options) : mixed
Parameters
- $packagesDir : mixed
- $package : mixed
- $controller : mixed
- $options : mixed
Return values
mixed —loadExtensionList()
gets the list of api classes in a given package.
private
static loadExtensionList(mixed $eDir, mixed $package, mixed $options, mixed $products) : mixed
Parameters
- $eDir : mixed
- $package : mixed
- $options : mixed
- $products : mixed
Return values
mixed —loadExtensionListFile()
gets the class data for a given extension file.
private
static loadExtensionListFile(mixed $eDir, mixed $file, mixed $package, mixed $options, mixed $products, mixed $prefix) : mixed
Parameters
- $eDir : mixed
- $file : mixed
- $package : mixed
- $options : mixed
- $products : mixed
- $prefix : mixed
Return values
mixed —loadExtensionListFolder()
gets the list of api classes in a given folder.
private
static loadExtensionListFolder(mixed $eDir, mixed $package, mixed $options, mixed $products, mixed &$folders[, mixed $prefix = '' ]) : mixed
Parameters
- $eDir : mixed
- $package : mixed
- $options : mixed
- $products : mixed
- $folders : mixed
- $prefix : mixed = ''
Return values
mixed —loadExtensions()
Loads extensions for a given controller
private
static loadExtensions(string $controller) : mixed
Parameters
- $controller : string
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