vBulletin 5.6.5 API

vB_Api_Ad extends vB_Api
in package

vB_Api_Ad Advertising API

Tags
access

public

Table of Contents

$ad_cache  : array<string|int, mixed>
$ad_name_cache  : array<string|int, mixed>
$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.
$max_displayorder  : int
$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.
delete()  : bool
Deletes an ad
fetch()  : array<string|int, mixed>
Fetches an ad by its ID
fetchDisplayOptions()  : array<string|int, mixed>
Fetches display options
getApiClassName()  : 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
listAdsByLocation()  : array<string|int, mixed>
Lists ads for a location
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.
quickSave()  : bool
Saves the active status and display orders for multiple ads
save()  : int
Updates an existing ad or saves a new ad
saveNumberOfHeaderAds()  : bool
Saves the number of header ads to use (this can be 1 or 2)
__construct()  : mixed
Constructor
buildAdTemplate()  : string
Builds an ad template based on criteria
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.
replaceAdTemplate()  : mixed
Replaces ad code into correct template
setController()  : mixed
Set controller
updateAdCache()  : mixed
Populates the ad cache properties $ad_cache and $ad_name_cache
wrapAdTemplate()  : string
Wraps an ad template in a div with the correct id
cleanConditions()  : mixed
cms_vb4_to_vb5_method_mapping()  : mixed
default_vb4_to_vb5_method_mapping()  : mixed
expandJsonConditions()  : mixed
getConditionsForSave()  : mixed
getCriteria()  : mixed
hasAdminPermissionInternal()  : mixed
Internal function to power the previous cover functions
rebuildAdTemplates()  : none
Rebuilds the template for given ad locations
remove_nulls()  : mixed
useJSONCondition()  : mixed
wrapLoggerIfNeeded()  : mixed
Wrap the api object with the log wrapper class if needed.

Properties

$ad_cache

protected array<string|int, mixed> $ad_cache = array()

$ad_name_cache

protected array<string|int, mixed> $ad_name_cache = array()

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

$max_displayorder

protected int $max_displayorder = 0

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

delete()

Deletes an ad

public delete(int $adid) : bool
Parameters
$adid : int

Ad ID to delete

Return values
bool —

Returns true on success

fetch()

Fetches an ad by its ID

public fetch(int $adid) : array<string|int, mixed>
Parameters
$adid : int

Ad ID

Tags
throws
vB_Exception_Api

invalidid if the specified ad id does not exist

Return values
array<string|int, mixed> —

$ad Ad data (fields from the ad and adcriteria tables)

fetchDisplayOptions()

Fetches display options

public fetchDisplayOptions(int $adid) : array<string|int, mixed>
Parameters
$adid : int

(optinal) Ad ID

Return values
array<string|int, mixed> —

Array with two elements: criteria_options - array with criterion name => criterion info (type, data, default value) criteria_cache - not currently used

getApiClassName()

public static getApiClassName(mixed $controller) : mixed
Parameters
$controller : mixed
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 —

listAdsByLocation()

Lists ads for a location

public listAdsByLocation(string $adlocation) : array<string|int, mixed>
Parameters
$adlocation : string

The location we want to get ads for (string locations defined in templates)

Return values
array<string|int, mixed> —

Returns an array of ads (fields from the ad and adcriteria tables)

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 —

quickSave()

Saves the active status and display orders for multiple ads

public quickSave(array<string|int, mixed> $data) : bool
Parameters
$data : array<string|int, mixed>

Data to save. Format: array(adid => array('active' => $active, 'displayorder' => $displayorder), ...)

Return values
bool —

True on success

save()

Updates an existing ad or saves a new ad

public save(int $adid, array<string|int, mixed> $data) : int
Parameters
$adid : int

ID of Ad to be updated. Set to 0 to insert a new Ad

$data : array<string|int, mixed>

Ad data

Tags
throws
vB_Exception_Api

invalid_title_specified if the title is missing

Return values
int —

Ad ID

saveNumberOfHeaderAds()

Saves the number of header ads to use (this can be 1 or 2)

public saveNumberOfHeaderAds(int $number) : bool
Parameters
$number : int

Number of header ads to show (1 or 2)

Return values
bool —

True on success

__construct()

Constructor

protected __construct() : mixed
Return values
mixed —

buildAdTemplate()

Builds an ad template based on criteria

protected buildAdTemplate(string $location) : string
Parameters
$location : string

Template location

Return values
string —

Template string

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.

replaceAdTemplate()

Replaces ad code into correct template

protected replaceAdTemplate(string $styleid, string $location, string $template[, string $product = 'vbulletin' ]) : mixed
Parameters
$styleid : string

Style for template

$location : string

Ad location

$template : string

Template compiled

$product : string = 'vbulletin'

Product that uses this template

Return values
mixed —

setController()

Set controller

protected setController(mixed $controller) : mixed
Parameters
$controller : mixed
Return values
mixed —

updateAdCache()

Populates the ad cache properties $ad_cache and $ad_name_cache

protected updateAdCache() : mixed
Return values
mixed —

wrapAdTemplate()

Wraps an ad template in a div with the correct id

protected wrapAdTemplate(string $template, string $id_name[, string $id_prefix = 'ad_' ]) : string
Parameters
$template : string

Template String

$id_name : string

Ad location (global_header1)

$id_prefix : string = 'ad_'

ID Prefix (Default: 'ad_')

Return values
string —

Wrapped AD Template

cleanConditions()

private cleanConditions(mixed $criteriaid, mixed &$conditions) : mixed
Parameters
$criteriaid : mixed
$conditions : 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 —

expandJsonConditions()

private expandJsonConditions(mixed &$criterion) : mixed
Parameters
$criterion : mixed
Return values
mixed —

getConditionsForSave()

private getConditionsForSave(mixed $criteriaid, mixed $conditions) : mixed
Parameters
$criteriaid : mixed
$conditions : mixed
Return values
mixed —

getCriteria()

private getCriteria(mixed $db, mixed $adid) : mixed
Parameters
$db : mixed
$adid : 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 —

rebuildAdTemplates()

Rebuilds the template for given ad locations

private rebuildAdTemplates(mixed $locationids) : none
Parameters
$locationids : mixed
Tags
params

array $locationids array of location id strings to rebuild

Return values
none —

remove_nulls()

private static remove_nulls(mixed &$data) : mixed
Parameters
$data : mixed
Return values
mixed —

useJSONCondition()

private useJSONCondition(mixed $criteriaid) : mixed
Parameters
$criteriaid : 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