vBulletin 5.6.5 API

vB_Api_Style extends vB_Api
in package

vB_Api_Style

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.
$library  : mixed
$userContext  : mixed
$cssFileLocation  : 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
buildAllStyles()  : mixed
Builds all data from the template table into the fields in the style table
callNamed()  : The
Call the given api function by name with a named arguments list.
canDeleteStyle()  : mixed
Can this style be deleted
checkApiState()  : mixed
This method checks whether the API method is enabled.
checkCanImportStyleXML()  : array<string|int, mixed>
This is used mostly by the adminCP style importer. This checks if the current user has enough permissions to import the specified XML data.
clearCache()  : mixed
Clears all previously loaded API objects.
deleteStyle()  : mixed
Delete style
fetchStyles()  : array<string|int, mixed>
Fetch All styles
fetchStyleVars()  : mixed
Get Style Vars
generateStyle()  : mixed
getApiClassName()  : mixed
getCssStyleDirectory()  : array<string|int, mixed>
Gets the directory for the css on the filestystem
getCssStyleUrlPath()  : array<string|int, mixed>
Gets the directory for the css on the filestystem as a url relative to the site root.
getThemeInfo()  : array<string|int, mixed>
Returns an array of theme information if the user has permission.
getValidStyleFromPreference()  : mixed
Get the style from the list of preferences -- will check that the desired styles exist and are available for the user to
insertStyle()  : array<string|int, mixed>
Insert style
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
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.
setDefaultStyle()  : array<string|int, mixed>
Sets the site default style
updateStyle()  : mixed
Update style
useCssFiles()  : array<string|int, mixed>
Determines if the css for the style should be loaded from a static file cache or from the database
__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
fetchCssLocation()  : mixed
Gets the css File Location, which only means something if storecssasfiles is on.
getCssDirname()  : 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()

$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('fetchStyles', 'fetchStyleVars', 'useCssFiles', 'getCssStyleUrlPath')

$library

protected mixed $library

$userContext

protected mixed $userContext

$cssFileLocation

private mixed $cssFileLocation

$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

buildAllStyles()

Builds all data from the template table into the fields in the style table

public buildAllStyles(bool $renumber, mixed $install[, mixed $resetcache = false ]) : mixed
Parameters
$renumber : bool

-- no longer used, feature has been removed.

$install : mixed
$resetcache : mixed = false
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.

canDeleteStyle()

Can this style be deleted

public canDeleteStyle(int $dostyleid) : mixed

This will either return an standard success array or will throw and exception This exists for contexts where we want to confirm the delete before actually doing it, but don't want to throw and error after the delete is confirmed.

Parameters
$dostyleid : int

Style ID to be deleted.

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

checkCanImportStyleXML()

This is used mostly by the adminCP style importer. This checks if the current user has enough permissions to import the specified XML data.

public checkCanImportStyleXML(string $xmlString) : array<string|int, mixed>

Caller using this function must ensure that the $xmlString data matches what's in an uploaded XML file, if they are separately specified.

Parameters
$xmlString : string

XML data

Return values
array<string|int, mixed>

Array containing the bool 'canimport' & string 'reason'.

  • canimport : true if user has enough perms
  • reason : only set if canimport is false. Phrase label for the reason why the current user cannot import the XML.

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

deleteStyle()

Delete style

public deleteStyle(int $dostyleid[, mixed $skipRebuild = false ]) : mixed
Parameters
$dostyleid : int

Style ID to be deleted.

$skipRebuild : mixed = false
Return values
mixed

fetchStyles()

Fetch All styles

public fetchStyles([bool $withdepthmark = false ][, bool $userselectonly = false ][, mixed $nocache = false ][, mixed $options = array() ]) : array<string|int, mixed>
Parameters
$withdepthmark : bool = false

If true, style title will be prepended with depth mark

$userselectonly : bool = false

If true, this method returns only styles that allows user to select

$nocache : mixed = false
$options : mixed = array()
Return values
array<string|int, mixed>

All styles' information

fetchStyleVars()

Get Style Vars

public fetchStyleVars(array<string|int, mixed> $stylePreference) : mixed
Parameters
$stylePreference : array<string|int, mixed>

-- various styles in the order we should check them

Return values
mixed

generateStyle()

public generateStyle(mixed $scheme, mixed $type, mixed $parentid, mixed $title[, mixed $displayorder = 1 ][, mixed $userselect = false ]) : mixed
Parameters
$scheme : mixed
$type : mixed
$parentid : mixed
$title : mixed
$displayorder : mixed = 1
$userselect : mixed = false
Return values
mixed

getApiClassName()

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

getCssStyleDirectory()

Gets the directory for the css on the filestystem

public getCssStyleDirectory(int $styleid, string $textdir) : array<string|int, mixed>
Parameters
$styleid : int
$textdir : string

-- either 'ltr' or 'rtl' (unknown values treated as 'rtl')

Return values
array<string|int, mixed>

-- array('directory' => string) the full directory path without a trailing slash

getCssStyleUrlPath()

Gets the directory for the css on the filestystem as a url relative to the site root.

public getCssStyleUrlPath(int $styleid, string $textdir) : array<string|int, mixed>
Parameters
$styleid : int
$textdir : string

-- either 'ltr' or 'rtl' (unknown values treated as 'rtl')

Return values
array<string|int, mixed>

-- array('directory' => string) the full directory path without a trailing slash

getThemeInfo()

Returns an array of theme information if the user has permission.

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

The theme parent style is skipped.

Return values
array<string|int, mixed>

array where each element contains an array of theme information, eg: array( "themes" => array( 0 => array( "styleid" => {theme1's styleid} "title" => {theme1's title}, "iconurl" => {URL to theme1's icon}, "previewurl" => {URL to theme1's preview image (empty if there is no preview image)}, ), 1 => array( "styleid" => {theme2's styleid} "title" => {theme2's title}, "iconurl" => {URL to theme2's icon}, "previewurl" => {URL to theme2's preview image (empty if there is no preview image)}, ), [...] ) )

getValidStyleFromPreference()

Get the style from the list of preferences -- will check that the desired styles exist and are available for the user to

public getValidStyleFromPreference(array<string|int, mixed> $stylePreference) : mixed
Parameters
$stylePreference : array<string|int, mixed>

-- various styles in the order we should check them

Return values
mixed

insertStyle()

Insert style

public insertStyle(string $title, int $parentid, bool $userselect, int $displayorder[, string $guid = '' ][, binary $icon = '' ][, binary $previewImage = '' ][, mixed $styleattributes = vB_Library_Style::ATTR_DEFAULT ][, mixed $dateline = null ]) : array<string|int, mixed>
Parameters
$title : string

Style title

$parentid : int

New parent style ID for the style.

$userselect : bool

Whether user is able to choose the style.

$displayorder : int

Display order.

$guid : string = ''

Theme GUID

$icon : binary = ''

Theme icon

$previewImage : binary = ''

Theme preview image

$styleattributes : mixed = vB_Library_Style::ATTR_DEFAULT
$dateline : mixed = null
Return values
array<string|int, mixed>

array('styleid' => newstyleid)

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

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

setDefaultStyle()

Sets the site default style

public setDefaultStyle(mixed $styleid) : array<string|int, mixed>
Parameters
$styleid : mixed
Return values
array<string|int, mixed>

Array containing the bool 'success' element

updateStyle()

Update style

public updateStyle(int $dostyleid, string $title, int $parentid, bool $userselect, int $displayorder[, string $guid = '' ][, binary $icon = '' ][, bool $iconRemove = false ][, binary $previewImage = '' ][, bool $previewImageRemove = false ]) : mixed
Parameters
$dostyleid : int

Style ID to be updated.

$title : string

Style title.

$parentid : int

New parent style ID for the style.

$userselect : bool

Whether user is able to choose the style.

$displayorder : int

Display order of the style.

$guid : string = ''

Theme GUID

$icon : binary = ''

Theme icon

$iconRemove : bool = false

Whether to remove the current icon (if there is one, and we're not uploading a new one)

$previewImage : binary = ''

Theme preview image

$previewImageRemove : bool = false

Whether to remove the current preview image (if there is one, and we're not uploading a new one)

Return values
mixed

useCssFiles()

Determines if the css for the style should be loaded from a static file cache or from the database

public useCssFiles(mixed $styleid) : array<string|int, mixed>

@param int $styleid

Parameters
$styleid : mixed
Return values
array<string|int, mixed>

-- array('usefiles' => boolean)

__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

fetchCssLocation()

Gets the css File Location, which only means something if storecssasfiles is on.

private fetchCssLocation() : mixed
Return values
mixed

getCssDirname()

private getCssDirname(mixed $styleid, mixed $textdir) : mixed
Parameters
$styleid : mixed
$textdir : 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