vB_Api_Page
extends vB_Api
in package
vB_Api_Page
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.
- $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.
- checkCustomUrl() : bool
- This is used for setting a custom url to make sure that the new url is valid as a prefix
- clearCache() : mixed
- Clears all previously loaded API objects.
- delete() : array<string|int, mixed>
- Deletes a page
- deleteOrphanedPagetemplates() : mixed
- fetchPageById() : array<string|int, mixed>
- Get information for a page
- fetchRouteClass() : mixed
- Returns the pagetemplate record given a pageid
- getApiClassName() : mixed
- getHomePages() : mixed
- Returns a list of pages to show as the home page options in quick config
- getOrphanedPagetemplates() : mixed
- getPageNav() : mixed
- getPagingInfo() : array<string|int, mixed>
- Get pagination information for frontend use
- getQryCount() : array<string|int, mixed>
- This returns the number and type of database asserts. This is similar to but a bit smaller than the number of queries executed.
- getURLs() : mixed
- 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
- isGlobalDisplaySection() : bool
- Determines if the section is a global display section (displays on all pages)
- 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.
- pageSave() : array<string|int, mixed>
- Saves a page based on page editor info
- preload() : mixed
- This preloads information for the current page.
- savePreCacheInfo() : mixed
- This saves preload information for the current page.
- __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
- getAllCurrentModuleInstances() : mixed
- getAllSubModulesInstances() : mixed
- getAllTabbedContainerSubModulesInstances() : mixed
- 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.
- saveSubModules() : mixed
- saveTabbedContainerSubModules() : mixed
- 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
- needNewPage() : mixed
- Determines if we need to clone the existing page on url update instead of updating
- remove_nulls() : mixed
- save() : int|mixed
- Saves a (new or existing) page
- 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('getQryCount', 'preload', 'savePreCacheInfo', 'fetchPageById')
$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 —checkCustomUrl()
This is used for setting a custom url to make sure that the new url is valid as a prefix
public
checkCustomUrl(string $prefixCandidate) : bool
Parameters
- $prefixCandidate : string
-
-- the 'resturl' to be checked
Return values
bool —-- true if no reserved characters are used in the url AND it is unique
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 —delete()
Deletes a page
public
delete(int $pageid) : array<string|int, mixed>
Parameters
- $pageid : int
Return values
array<string|int, mixed> —success=>true or success=>false and an error array
deleteOrphanedPagetemplates()
public
deleteOrphanedPagetemplates(mixed $pagetemplateids) : mixed
Parameters
- $pagetemplateids : mixed
Return values
mixed —fetchPageById()
Get information for a page
public
fetchPageById(int $pageid[, array<string|int, mixed> $routeData = array() ]) : array<string|int, mixed>
Parameters
- $pageid : int
- $routeData : array<string|int, mixed> = array()
-
-- The needed to render this pages route. Will vary by page
Return values
array<string|int, mixed> —pageid int parentid int -- the parent page (currently unused) pagetemplateid int title string metadescription string -- the metadescription to display when page is rendered as html routeid int -- route associated with this page moderatorid int -- need to determine displayorder int -- the order to display page when displaying lists of pages pagetype string -- default or custom depending of if this is a page we install with the system product string -- product the page belongs to 'vbulletin' for pages created by the system and via the admincp guid string -- globally unique identifier screenlayoutid int -- layout for the page screenlayouttemplate string -- name of the layout template templatetitle string -- need to determine isgeneric boolean -- DEPRECATED true if this is of type default urlprefix string -- prefix for the route url string -- url generated from the route -- will be relative to the frontend base urlscheme string -- DEPRECATED -- will be blank urlhostname string -- DEPRECATED -- will be blank noindex boolean -- should this page be indexed. nofollow boolean -- should this page be followed.
fetchRouteClass()
Returns the pagetemplate record given a pageid
public
fetchRouteClass(int $pageid) : mixed
Parameters
- $pageid : int
Return values
mixed —array with success=>true/false and usually an error array or a route class.
getApiClassName()
public
static getApiClassName(mixed $controller) : mixed
Parameters
- $controller : mixed
Return values
mixed —getHomePages()
Returns a list of pages to show as the home page options in quick config
public
getHomePages() : mixed
Return values
mixed —getOrphanedPagetemplates()
public
getOrphanedPagetemplates([mixed $params = array() ]) : mixed
Parameters
- $params : mixed = array()
Return values
mixed —getPageNav()
public
getPageNav([mixed $currentpage = 1 ][, mixed $totalpages = 1 ]) : mixed
Parameters
- $currentpage : mixed = 1
- $totalpages : mixed = 1
Return values
mixed —getPagingInfo()
Get pagination information for frontend use
public
getPagingInfo([mixed $pageNum = 1 ], mixed $totalCount, mixed $perPage[, array<string|int, mixed> $routeInfo = [] ][, mixed $baseUrl = '' ], mixed $maxpage) : array<string|int, mixed>
Parameters
- $pageNum : mixed = 1
- $totalCount : mixed
- $perPage : mixed
- $routeInfo : array<string|int, mixed> = []
- $baseUrl : mixed = ''
- $maxpage : mixed
Return values
array<string|int, mixed> —Number of pages, start/end count, next/previous URLs
getQryCount()
This returns the number and type of database asserts. This is similar to but a bit smaller than the number of queries executed.
public
getQryCount() : array<string|int, mixed>
Return values
array<string|int, mixed> —queryCount int queries array -- query strings
getURLs()
public
getURLs([mixed $params = array() ]) : mixed
Parameters
- $params : mixed = array()
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 —isGlobalDisplaySection()
Determines if the section is a global display section (displays on all pages)
public
isGlobalDisplaySection(mixed $section) : bool
Parameters
- $section : mixed
Return values
bool —True if it is a global display section, otherwise false
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 —pageSave()
Saves a page based on page editor info
public
pageSave(array<string|int, mixed> $input) : array<string|int, mixed>
Parameters
- $input : array<string|int, mixed>
Return values
array<string|int, mixed> —success boolean url string -- DEPRECATED this will not always be correct due to the lack of complete route data. See the action savePage in the front end controller for a way to generate the correct url for the updated page pageid int -- the pageid for the update or created page
preload()
This preloads information for the current page.
public
preload(mixed $pageKey) : mixed
Parameters
- $pageKey : mixed
Return values
mixed —savePreCacheInfo()
This saves preload information for the current page.
public
savePreCacheInfo(string $pageKey) : mixed
Parameters
- $pageKey : string
-
-- the identifier for this page, which comes from the route class.
Return values
mixed —__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 —getAllCurrentModuleInstances()
protected
getAllCurrentModuleInstances(mixed $modules) : mixed
Parameters
- $modules : mixed
Return values
mixed —getAllSubModulesInstances()
protected
getAllSubModulesInstances(mixed $subModules) : mixed
Parameters
- $subModules : mixed
Return values
mixed —getAllTabbedContainerSubModulesInstances()
protected
getAllTabbedContainerSubModulesInstances(mixed $pagetemplateid, mixed $subModulesArray) : mixed
Parameters
- $pagetemplateid : mixed
- $subModulesArray : 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.
saveSubModules()
protected
saveSubModules(mixed $pageTemplateId, mixed $widgetInstanceId, mixed $subModules, mixed $displaySubModules, mixed $forceNewPage) : mixed
Parameters
- $pageTemplateId : mixed
- $widgetInstanceId : mixed
- $subModules : mixed
- $displaySubModules : mixed
- $forceNewPage : mixed
Return values
mixed —saveTabbedContainerSubModules()
protected
saveTabbedContainerSubModules(mixed $pagetemplateid, mixed $containerinstanceid, mixed $tabbedContainerSubModules, mixed $newTemplate) : mixed
Parameters
- $pagetemplateid : mixed
- $containerinstanceid : mixed
- $tabbedContainerSubModules : mixed
- $newTemplate : mixed
Return values
mixed —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 —needNewPage()
Determines if we need to clone the existing page on url update instead of updating
private
needNewPage(mixed $page) : mixed
Parameters
- $page : mixed
Return values
mixed —remove_nulls()
private
static remove_nulls(mixed &$data) : mixed
Parameters
- $data : mixed
Return values
mixed —save()
Saves a (new or existing) page
private
save(array<string|int, mixed> $data[, array<string|int, mixed> $conditions = [] ]) : int|mixed
Parameters
- $data : array<string|int, mixed>
- $conditions : array<string|int, mixed> = []
Return values
int|mixed —If it is a new page, the pageid will be returned
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