vB_Api_Style
extends vB_Api
in package
vB_Api_Style
Tags
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
$db
Database object.
protected
vB_Database
$db
$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
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 —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