vB_Api_Bbcode
extends vB_Api
in package
vB_Api_Bbcode
Tags
Table of Contents
- ALLOW_BBCODE_ALIGN = 16
- ALLOW_BBCODE_BASIC = 1
- ALLOW_BBCODE_CODE = 128
- ALLOW_BBCODE_COLOR = 2
- ALLOW_BBCODE_CUSTOM = 4096
- ALLOW_BBCODE_FONT = 8
- ALLOW_BBCODE_HTML = 512
- ALLOW_BBCODE_IMG = 1024
- ALLOW_BBCODE_LIST = 32
- ALLOW_BBCODE_PHP = 256
- ALLOW_BBCODE_QUOTE = 2048
- ALLOW_BBCODE_SIZE = 4
- ALLOW_BBCODE_URL = 64
- ALLOW_BBCODE_USER = 16384
- EDITOR_INDENT = 40
- $controller : string
- API Controller
- $customTags : array<string|int, mixed>
- Contains an array of user specified custom BB code tags.
- $db : vB_Database
- Database object.
- $disabled : bool
- Indicates whether the API was disabled
- $disableFalseReturnOnly : array<string|int, mixed>
- {@inheritDoc} Methods include: getSignatureInfo
- $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.
- clearCache() : mixed
- Clears all previously loaded API objects.
- convertUrlToBbcode() : string
- Converts URLs into bbcode with [URL]
- convertWysiwygTextToBbcode() : string
- Converts text from an editor into text ready to be saved with bbcode converted
- extractVideo() : mixed
- Extracts the video and photo content from text.
- fetchSmilies() : array<string|int, mixed>
- Returns an array of smilie information.
- fetchTagList() : array<string|int, mixed>
- Returns the list of default BB code tags
- getApiClassName() : mixed
- getSignatureInfo() : array<string|int, mixed>
- Fetches and parses to html a user's signature
- hasBbcode() : bool
- Determines if the text contains bbcode.
- initInfo() : array<string|int, mixed>
- Returns an array of bbcode parsing information. {@see vB_Api_Bbcode::fetchTagList}
- 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.
- parseSignature() : string
- Fetches and parses to html a user's signature
- parseSignatures() : array<string|int, mixed>
- Fetches and parses to html signatures
- parseWysiwygHtmlToBbcode() : string
- Parses HTML produced by a WYSIWYG editor and produces the corresponding BBCode formatted text
- __construct() : mixed
- Constructor
- 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
- doParseSignature() : array<string|int, mixed>
- Used by getSignatureInfo and parseSignatures to parse a signature
- fetchBbcodeOptions() : array<string|int, mixed>
- Compiles and returns an array of various bbcode-related vboptions.
- fetchCustomTags() : array<string|int, mixed>
- Loads any user specified custom BB code tags.
- 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
- 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.
Constants
ALLOW_BBCODE_ALIGN
public
mixed
ALLOW_BBCODE_ALIGN
= 16
ALLOW_BBCODE_BASIC
public
mixed
ALLOW_BBCODE_BASIC
= 1
ALLOW_BBCODE_CODE
public
mixed
ALLOW_BBCODE_CODE
= 128
ALLOW_BBCODE_COLOR
public
mixed
ALLOW_BBCODE_COLOR
= 2
ALLOW_BBCODE_CUSTOM
public
mixed
ALLOW_BBCODE_CUSTOM
= 4096
ALLOW_BBCODE_FONT
public
mixed
ALLOW_BBCODE_FONT
= 8
ALLOW_BBCODE_HTML
public
mixed
ALLOW_BBCODE_HTML
= 512
ALLOW_BBCODE_IMG
public
mixed
ALLOW_BBCODE_IMG
= 1024
ALLOW_BBCODE_LIST
public
mixed
ALLOW_BBCODE_LIST
= 32
ALLOW_BBCODE_PHP
public
mixed
ALLOW_BBCODE_PHP
= 256
ALLOW_BBCODE_QUOTE
public
mixed
ALLOW_BBCODE_QUOTE
= 2048
ALLOW_BBCODE_SIZE
public
mixed
ALLOW_BBCODE_SIZE
= 4
ALLOW_BBCODE_URL
public
mixed
ALLOW_BBCODE_URL
= 64
ALLOW_BBCODE_USER
public
mixed
ALLOW_BBCODE_USER
= 16384
EDITOR_INDENT
public
int
EDITOR_INDENT
= 40
Properties
$controller
API Controller
protected
string
$controller
$customTags
Contains an array of user specified custom BB code tags.
protected
array<string|int, mixed>
$customTags
Tags
$db
Database object.
protected
vB_Database
$db
$disabled
Indicates whether the API was disabled
protected
bool
$disabled
= alse
$disableFalseReturnOnly
{@inheritDoc} Methods include: getSignatureInfo
protected
array<string|int, mixed>
$disableFalseReturnOnly
= array('getSignatureInfo')
$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()
$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 —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 —convertUrlToBbcode()
Converts URLs into bbcode with [URL]
public
convertUrlToBbcode(mixed $messagetext) : string
Parameters
- $messagetext : mixed
Return values
string —Converted text
convertWysiwygTextToBbcode()
Converts text from an editor into text ready to be saved with bbcode converted
public
convertWysiwygTextToBbcode(mixed $text, mixed $options) : string
Parameters
- $text : mixed
- $options : mixed
Return values
string —Converted Text
extractVideo()
Extracts the video and photo content from text.
public
extractVideo(mixed $rawtext) : mixed
Parameters
- $rawtext : mixed
Return values
mixed —Array of 'url', 'provider', 'code'
fetchSmilies()
Returns an array of smilie information.
public
fetchSmilies() : array<string|int, mixed>
Return values
array<string|int, mixed> —Smilie information corresponding to the data in the "smilie" field, with one extra column "smilielen".
fetchTagList()
Returns the list of default BB code tags
public
fetchTagList([mixed $prepend_path = '' ][, mixed $force_all = false ]) : array<string|int, mixed>
Parameters
- $prepend_path : mixed = ''
- $force_all : mixed = false
Return values
array<string|int, mixed> —Array of BB code tags. Format:
array(
defaultTags => array vB_Api_Bbcode::fetchTagList
customTags => array @see vB_Api_Bbcode::fetchCustomTags
defaultOptions => array vB_Api_Bbcode::fetchBbcodeOptions()
)
getApiClassName()
public
static getApiClassName(mixed $controller) : mixed
Parameters
- $controller : mixed
Return values
mixed —getSignatureInfo()
Fetches and parses to html a user's signature
public
getSignatureInfo(int $userid[, string $signature = false ][, bool $skipdupcheck = false ]) : array<string|int, mixed>
Parameters
- $userid : int
- $signature : string = false
-
optionally pass the signature to avoid fetching it again
- $skipdupcheck : bool = false
-
-- skips the check for multiple sigpic usages in the signature.
Return values
array<string|int, mixed> —Array containing the parsed signature: (same as doParseSignature)
array( signature => parsed HTML signature allowed => array of bbcode tags the user is allowed to use in their signature disabled => array of bbcode tags the user is NOT allowed to use in their signature )
hasBbcode()
Determines if the text contains bbcode.
public
hasBbcode(mixed $text) : bool
Parameters
- $text : mixed
Return values
bool —True if the text contains valid bbcode, false if not.
initInfo()
Returns an array of bbcode parsing information. {@see vB_Api_Bbcode::fetchTagList}
public
initInfo() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —Bbcode parsing information. Format:
array( defaultTags => array vB_Api_Bbcode::fetchTagList customTags => array @see vB_Api_Bbcode::fetchCustomTags defaultOptions => array vB_Api_Bbcode::fetchBbcodeOptions() )
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 —parseSignature()
Fetches and parses to html a user's signature
public
parseSignature(int $userid[, string $signature = false ][, bool $skipdupcheck = false ]) : string
Parameters
- $userid : int
- $signature : string = false
-
optionally pass the signature to avoid fetching it again
- $skipdupcheck : bool = false
-
-- skips the check for multiple sigpic usages in the signature.
Tags
Return values
string —the parsed (html) signature
parseSignatures()
Fetches and parses to html signatures
public
parseSignatures(array<string|int, mixed> $userIds[, array<string|int, mixed> $rawSignatures = array() ]) : array<string|int, mixed>
Parameters
- $userIds : array<string|int, mixed>
- $rawSignatures : array<string|int, mixed> = array()
-
(Optional) Raw signatures to avoid fetching them again
Return values
array<string|int, mixed> —the parsed (html) signatures keyed by the userid.
parseWysiwygHtmlToBbcode()
Parses HTML produced by a WYSIWYG editor and produces the corresponding BBCode formatted text
public
parseWysiwygHtmlToBbcode(mixed $text) : string
Parameters
- $text : mixed
Return values
string —BBCode text
__construct()
Constructor
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 —doParseSignature()
Used by getSignatureInfo and parseSignatures to parse a signature
protected
doParseSignature(mixed $userid[, mixed $signature = false ][, mixed $skipdupcheck = false ]) : array<string|int, mixed>
Parameters
- $userid : mixed
- $signature : mixed = false
- $skipdupcheck : mixed = false
Return values
array<string|int, mixed> —Array containing the parsed signature:
array( signature => parsed signature allowed => array of bbcode tags the user is allowed to use in their signature disabled => array of bbcode tags the user is NOT allowed to use in their signature )
fetchBbcodeOptions()
Compiles and returns an array of various bbcode-related vboptions.
protected
fetchBbcodeOptions() : array<string|int, mixed>
Return values
array<string|int, mixed> —Array of various bbcode-related vboptions.
array( privatemessage => array( allowhtml allowbbcode allowimagecode allowsmilies ) nonforum => array( dohtml dobbcode doimagecode dosmilies ) arrays similar to 'nonforum' for visitormessage, groupmessage, and socialmessage. )
fetchCustomTags()
Loads any user specified custom BB code tags.
protected
fetchCustomTags() : array<string|int, mixed>
Return values
array<string|int, mixed> —Array of custom BB code tags. Format:
array( option => array( bbcode_tag => array( html => replacement string strip_empty => int stop_parse => int disable_smilies => int disable_wordwrap => int ) [...] ) no_option => array( bbcode_tag => array( html => replacement string strip_empty => int stop_parse => int disable_smilies => int disable_wordwrap => int ) [...] ) )
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 —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