vBulletin 5.6.5 API

vB_Api_Content_Attach extends vB_Api_Content
in package

vB_Api_Content_Attach

Tags
access

public

Table of Contents

$assertor  : vB_dB_Assertor
$contenttype  : string
$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.
$doFloodCheck  : bool
$extension_map  : mixed
$imageHandler  : object
$inlist  : int
$library  : vB_Library_Content
$nodeApi  : vB_Api_Node
$options  : array<string|int, mixed>
$tablename  : string
$types  : mixed
$usercontext  : vB_UserContext
$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
add()  : int
Adds a new node
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.
cleanInput()  : mixed
Cleans the input in the $data array, directly updating $data.
cleanPreviewContent()  : mixed
Takes a node record and removes the data cannot be viewed based on public_preview.
clearCache()  : mixed
Clears all previously loaded API objects.
createQuoteText()  : string
This returns the text to quote a node. Used initially for private messaging.
delete()  : bool
Remove an attachment
deleteAttachment()  : mixed
Remove an attachment
extractMedia()  : mixed
Extracts the video and photo content from text.
fetchAttachByFiledataids()  : array<string|int, mixed>
Fetch information of attachments without data
fetchImage()  : mixed
Fetch image information about an attachment
fetchImageByFiledataid()  : mixed
Alias for vB_Api_Filedata::fetchImageByFiledataid
fetchTableName()  : array<string|int, mixed>
Returns the tables used by this content type.
getApiClassName()  : mixed
getAttachmentPermissions()  : array<string|int, mixed>
Retrieves the permissions for the specified file type and upload method
getAvailableSettings()  : array<string|int, mixed>
Returns an array of settings that can be saved.
getBareContent()  : mixed
Returns the node content, channel routeid and title, and starter route and title, but no permissions or other subsidiary data
getBbcodeOptions()  : mixed
Returns an array with bbcode options for the node.
getContent()  : mixed
Alias for @getFullContent
getContentApi()  : mixed
Returns a content api of the appropriate type
getConversationParent()  : array<string|int, mixed>|false
Gets the conversation starter for a node. If the node is a channel it returns the channel array.
getFullContent()  : array<string|int, mixed>
Returns the node content plus the channel routeid and title, and starter route and title, and permissions and other data
getGenericChannelAttachmentPermissions()  : mixed
getImageExtensions()  : mixed
Returns a string[] of accepted extensions that use the img tag for display.
getQuoteText()  : string
This returns the text to quote a node. Used initially for private messaging.
getTextCountChange()  : int
Returns textCountChange property
getTimeNow()  : int
Gives the current board time- needed to set publishdate.
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
isImage()  : array<string|int, mixed>
Returns an true of the extension & size requested would be treated as an image attachment
isPublished()  : bool
Determines if this record is in a published state
isVisitorMessage()  : bool
Determines whether a specific node is a visitor message
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.
setLogo()  : mixed
Sets the main logo for a file
update()  : bool
Updates a record
upload()  : array<string|int, mixed>
Uploads a file
uploadPhoto()  : array<string|int, mixed>
Uploads a photo. Only use for images.
uploadProfilePicture()  : array<string|int, mixed>
Uploads a file without dimension check - to be cropped later. Only use for images.
uploadUrl()  : mixed
Upload an image based on the url
__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
checkPermission()  : mixed
This validates that a user can upload attachments. Currently that's just verifying that they are logged in.
cleanOptions()  : mixed
Clean unallowed options from user request, only cleans 'skipFloodCheck' for now
cleanSettings()  : string
Performs permission checks and cleaning for the 'settings' attach data and returns the serialized string that can be saved.
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
uploadAttachment()  : array<string|int, mixed>
Uploads an attachment
verify_limits()  : bool
Checks the "limit" permissions for this content item
checkFileUploadErrors()  : mixed
cms_vb4_to_vb5_method_mapping()  : mixed
convertFileObjectIntoArray()  : 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.

Properties

$assertor

protected vB_dB_Assertor $assertor

$contenttype

protected string $contenttype = 'vBForum_Attach'

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

$doFloodCheck

protected bool $doFloodCheck = rue

$extension_map

protected mixed $extension_map
Tags
deprecated

Appears to be unused

$imageHandler

protected object $imageHandler

$inlist

protected int $inlist = 0

$options

protected array<string|int, mixed> $options

$tablename

protected string $tablename = 'attach'

$types

protected mixed $types
Tags
deprecated

Appears to be unused

$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

add()

Adds a new node

public add(mixed $data[, mixed $options = array() ]) : int
Parameters
$data : mixed
$options : mixed = array()
Return values
int

the new nodeid

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

cleanInput()

Cleans the input in the $data array, directly updating $data.

public cleanInput(mixed $data[, mixed $nodeid = false ]) : mixed

Note: This is called from the cleanInput method in the text API for all the attachments to the text node.

Parameters
$data : mixed
$nodeid : mixed = false
Return values
mixed

cleanPreviewContent()

Takes a node record and removes the data cannot be viewed based on public_preview.

public cleanPreviewContent(mixed $record) : mixed

It's called from the search Api, which avoids using the content APIs

Parameters
$record : 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

createQuoteText()

This returns the text to quote a node. Used initially for private messaging.

public createQuoteText(mixed $nodeid, mixed $pageText) : string
Parameters
$nodeid : mixed
$pageText : mixed
Return values
string

Quote text.

delete()

Remove an attachment

public delete(mixed $nodeid) : bool
Parameters
$nodeid : mixed
Return values
bool

deleteAttachment()

Remove an attachment

public deleteAttachment(mixed $id) : mixed
Parameters
$id : mixed
Return values
mixed

extractMedia()

Extracts the video and photo content from text.

public extractMedia(mixed $rawtext) : mixed
Parameters
$rawtext : mixed
Return values
mixed

Array of "photo", "video". Each is an array of images.

fetchAttachByFiledataids()

Fetch information of attachments without data

public fetchAttachByFiledataids(array<string|int, mixed> $filedataids) : array<string|int, mixed>
Parameters
$filedataids : array<string|int, mixed>

Array of file data ID

Return values
array<string|int, mixed>

The attachment data array

fetchImage()

Fetch image information about an attachment

public fetchImage(mixed $id[, mixed $type = vB_Api_Filedata::SIZE_FULL ][, mixed $includeData = true ]) : mixed
Parameters
$id : mixed
$type : mixed = vB_Api_Filedata::SIZE_FULL
$includeData : mixed = true
Return values
mixed

Array of data, includes: filesize, dateline, htmltype, filename, extension, and filedataid

fetchImageByFiledataid()

Alias for vB_Api_Filedata::fetchImageByFiledataid

public fetchImageByFiledataid(mixed $id[, mixed $type = vB_Api_Filedata::SIZE_FULL ][, mixed $includeData = true ], mixed $attachmentnodeid) : mixed
Parameters
$id : mixed
$type : mixed = vB_Api_Filedata::SIZE_FULL
$includeData : mixed = true
$attachmentnodeid : mixed
Tags
see
vB_Api_Filedata::fetchImageByFiledataid
Return values
mixed

fetchTableName()

Returns the tables used by this content type.

public fetchTableName() : array<string|int, mixed>
Return values
array<string|int, mixed>

Array of table names

getApiClassName()

public static getApiClassName(mixed $controller) : mixed
Parameters
$controller : mixed
Return values
mixed

getAttachmentPermissions()

Retrieves the permissions for the specified file type and upload method

public getAttachmentPermissions(mixed $data) : array<string|int, mixed>
Parameters
$data : mixed
Return values
array<string|int, mixed>

$results

getAvailableSettings()

Returns an array of settings that can be saved.

public getAvailableSettings() : array<string|int, mixed>
Return values
array<string|int, mixed>

Key 'settings' => array of available setting names

getBareContent()

Returns the node content, channel routeid and title, and starter route and title, but no permissions or other subsidiary data

public getBareContent(mixed $nodeid[, mixed $permissions = false ]) : mixed
Parameters
$nodeid : mixed
$permissions : mixed = false
Return values
mixed

getBbcodeOptions()

Returns an array with bbcode options for the node.

public getBbcodeOptions(int $nodeId) : mixed
Parameters
$nodeId : int
Return values
mixed

getContent()

Alias for @getFullContent

public getContent(mixed $nodeid[, mixed $permissions = false ]) : mixed
Parameters
$nodeid : mixed
$permissions : mixed = false
Return values
mixed

getContentApi()

Returns a content api of the appropriate type

public static getContentApi(mixed $contenttypeid) : mixed
Parameters
$contenttypeid : mixed
Return values
mixed

Content api object

getConversationParent()

Gets the conversation starter for a node. If the node is a channel it returns the channel array.

public getConversationParent(int $nodeid) : array<string|int, mixed>|false
Parameters
$nodeid : int
Tags
throws

vB_Exception_Api('no_permission')

Return values
array<string|int, mixed>|false

The starter node array. False when the node lookup fails

getFullContent()

Returns the node content plus the channel routeid and title, and starter route and title, and permissions and other data

public getFullContent(int $nodeid[, array<string|int, mixed> $permissions = false ]) : array<string|int, mixed>
Parameters
$nodeid : int
$permissions : array<string|int, mixed> = false

(unused)

Return values
array<string|int, mixed>

The standard array of node data

getGenericChannelAttachmentPermissions()

public getGenericChannelAttachmentPermissions(mixed $nodeid) : mixed
Parameters
$nodeid : mixed
Return values
mixed

getImageExtensions()

Returns a string[] of accepted extensions that use the img tag for display.

public getImageExtensions() : mixed
Return values
mixed

getQuoteText()

This returns the text to quote a node. Used initially for private messaging.

public getQuoteText(mixed $nodeid) : string
Parameters
$nodeid : mixed
Return values
string

Quote text

getTextCountChange()

Returns textCountChange property

public getTextCountChange() : int
Return values
int

getTimeNow()

Gives the current board time- needed to set publishdate.

public getTimeNow() : int
Return values
int

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

isImage()

Returns an true of the extension & size requested would be treated as an image attachment

public isImage(string $extension[, string $type = vB_Api_Filedata::SIZE_FULL ]) : array<string|int, mixed>
Parameters
$extension : string

File extension of attachment

$type : string = vB_Api_Filedata::SIZE_FULL

'icon'|'thumb'|'small'|'medium'|'large'|'full'

Return values
array<string|int, mixed>

Key 'settings' => array of available setting names

isPublished()

Determines if this record is in a published state

public isPublished(mixed $data) : bool
Parameters
$data : mixed
Return values
bool

isVisitorMessage()

Determines whether a specific node is a visitor message

public isVisitorMessage(mixed $nodeid) : bool
Parameters
$nodeid : mixed
Return values
bool

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

Sets the main logo for a file

public setLogo(mixed $filedataid[, mixed $styleselection = 'current' ]) : mixed
Parameters
$filedataid : mixed
$styleselection : mixed = 'current'
Return values
mixed

Array of data, includes error message or an int- normally 1.

update()

Updates a record

public update(mixed $nodeid, mixed $data) : bool
Parameters
$nodeid : mixed
$data : mixed
Return values
bool

upload()

Uploads a file

public upload(mixed $file) : array<string|int, mixed>
Parameters
$file : mixed
Return values
array<string|int, mixed>

Array of data, which will include either error info or a filedataid

uploadPhoto()

Uploads a photo. Only use for images.

public uploadPhoto(mixed $file) : array<string|int, mixed>
Parameters
$file : mixed
Return values
array<string|int, mixed>

Array of data, which will include either error info or a filedataid

uploadProfilePicture()

Uploads a file without dimension check - to be cropped later. Only use for images.

public uploadProfilePicture(mixed $file) : array<string|int, mixed>
Parameters
$file : mixed
Return values
array<string|int, mixed>

Array of data, which will include either error info or a filedataid

uploadUrl()

Upload an image based on the url

public uploadUrl(mixed $url[, mixed $attachment = false ][, mixed $uploadfrom = '' ]) : mixed
Parameters
$url : mixed
$attachment : mixed = false
$uploadfrom : mixed = ''
Return values
mixed

Array of data, includes filesize, dateline, htmltype, filename, extension, and filedataid

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

checkPermission()

This validates that a user can upload attachments. Currently that's just verifying that they are logged in.

protected checkPermission(mixed $userid) : mixed
Parameters
$userid : mixed
Return values
mixed

cleanOptions()

Clean unallowed options from user request, only cleans 'skipFloodCheck' for now

protected cleanOptions(array<string|int, mixed> &$options) : mixed
Parameters
$options : array<string|int, mixed>

Array of options, may be passed in from client

Return values
mixed

cleanSettings()

Performs permission checks and cleaning for the 'settings' attach data and returns the serialized string that can be saved.

protected cleanSettings(array<string|int, mixed> $settings, int $nodeid) : string

Assumes that the current user is the user trying to save the settings

Parameters
$settings : array<string|int, mixed>

Array with keys as specified in getAvailableSettings() getavailablesettings

$nodeid : int

Nodeid of attachment or attachment's parent, used to check permissions

Return values
string

String containing the cleaned, serialized data

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

uploadAttachment()

Uploads an attachment

protected uploadAttachment(array<string|int, mixed> $file[, bool $checkperms = true ][, bool $imageOnly = false ]) : array<string|int, mixed>

For parameters & return data @see vB_Library_Content_Attach::uploadAttachment()

Parameters
$file : array<string|int, mixed>
  • Data from $_FILES
$checkperms : bool = true
  • Whether or not to check permissions
$imageOnly : bool = false
  • Whether or not this is an image only attachment
Tags
access

protected

Return values
array<string|int, mixed>

Array of attachment data @see vB_Library_Content_Attach::saveUpload()

verify_limits()

Checks the "limit" permissions for this content item

protected verify_limits(mixed $data) : bool
Parameters
$data : mixed
Return values
bool

Either true if all the tests passed or thrown exception

checkFileUploadErrors()

private checkFileUploadErrors(mixed $file) : mixed
Parameters
$file : 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

convertFileObjectIntoArray()

private convertFileObjectIntoArray(mixed $file) : mixed
Parameters
$file : 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
Return values
mixed

Search results