vBulletin 5.6.5 API

vB_Api_Page extends vB_Api
in package

vB_Api_Page

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

$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
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

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

Search results