vB_Api_Content_Photo
extends vB_Api_Content
in package
vB_Api_Content_Photo
Tags
Table of Contents
- $assertor : vB_dB_Assertor
- $authors : mixed
- $contenttype : mixed
- override in client- the text name
- $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
- $imageHandler : mixed
- $inlist : mixed
- $library : vB_Library_Content
- $nodeApi : vB_Api_Node
- $options : array<string|int, mixed>
- $primarykey : mixed
- We need the primary key field name.
- $tablename : mixed
- The table for the type-specific data.
- $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
- Add photo record
- 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
- Delete photo record
- extractMedia() : mixed
- Extracts the video and photo content from text.
- fetchImageByPhotoid() : array<string|int, mixed>
- Returns an image record based on photo ID
- fetchTableName() : array<string|int, mixed>
- Returns the tables used by this content type.
- getApiClassName() : mixed
- 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
- 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
- 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.
- update() : bool
- Updates a record
- __construct() : mixed
- Normal constructor- protected to prevent direct instantiation
- canDeletePhoto() : bool
- Checks if user can delete a given photo
- 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
- cleanOptions() : mixed
- Clean unallowed options from user request, only cleans 'skipFloodCheck' for now
- 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
- validateFileData() : array<string|int, mixed>
- Validate filedata record
- verify_limits() : bool|string
- For checking the photo specific limits
- canViewPhotoInternal() : mixed
- 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.
Properties
$assertor
protected
vB_dB_Assertor
$assertor
$authors
protected
mixed
$authors
= array()
$contenttype
override in client- the text name
protected
mixed
$contenttype
= 'vBForum_Photo'
$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()
$doFloodCheck
protected
bool
$doFloodCheck
= alse
$imageHandler
protected
mixed
$imageHandler
= alse
$inlist
protected
mixed
$inlist
= 0
$library
protected
vB_Library_Content
$library
$nodeApi
protected
vB_Api_Node
$nodeApi
$options
protected
array<string|int, mixed>
$options
$primarykey
We need the primary key field name.
protected
mixed
$primarykey
= 'nodeid'
$tablename
The table for the type-specific data.
protected
mixed
$tablename
= 'photo'
$usercontext
protected
vB_UserContext
$usercontext
$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()
Add photo record
public
add(mixed $data[, mixed $options = array() ]) : int
Parameters
- $data : mixed
- $options : mixed = array()
Return values
int —photoid
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
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()
Delete photo record
public
delete(mixed $photoId) : bool
Parameters
- $photoId : mixed
Return values
bool —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.
fetchImageByPhotoid()
Returns an image record based on photo ID
public
fetchImageByPhotoid(mixed $id[, mixed $thumb = false ][, mixed $includeData = true ]) : array<string|int, mixed>
Parameters
- $id : mixed
- $thumb : mixed = false
- $includeData : mixed = true
Return values
array<string|int, mixed> —Array of image data
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 —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
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
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 —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 —update()
Updates a record
public
update(mixed $nodeid, mixed $data) : bool
Parameters
- $nodeid : mixed
- $data : mixed
Return values
bool —__construct()
Normal constructor- protected to prevent direct instantiation
protected
__construct() : mixed
Return values
mixed —canDeletePhoto()
Checks if user can delete a given photo
protected
canDeletePhoto(mixed $userId, mixed $photoId) : bool
Parameters
- $userId : mixed
- $photoId : mixed
Return values
bool —Value to indicate whether user can or not delete photo
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 —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 —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 —validateFileData()
Validate filedata record
protected
validateFileData(mixed $fileDataId, mixed $userId) : array<string|int, mixed>
Parameters
- $fileDataId : mixed
- $userId : mixed
Return values
array<string|int, mixed> —Information keys from the error: 'errors' => boolean indicating if the validation contains errors, 'error_id' => phraseid of the error found
verify_limits()
For checking the photo specific limits
protected
verify_limits(mixed $data) : bool|string
Parameters
- $data : mixed
Return values
bool|string —either true if all the tests passed or throws exception
canViewPhotoInternal()
private
canViewPhotoInternal(mixed $photo, mixed $isThumb) : mixed
Parameters
- $photo : mixed
- $isThumb : 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