Contentserv PHP API

CSObjectProxyCreatorPlugin extends CSPlugin
in package

This Plugin is called to handle ObjectProxy Support for given objects.

As different objects should be handled in ObjectProxys this plugin architecture offers the possibility to define its own handler, e.g. for records or for dictionaries To be included, it must be placed in a plugins/system subfolder with a file name ending with ProxyCreator.php.

Tags
since
11.0

Table of Contents

TRANSPROXY_INTF_METHOD_NOTIMPLEMENTED  = 0x1000
__call()  : mixed|string
All method calls which are not defined within the plugin are forwarded to the module Therefore it is possible to get, e.g. the label by calling the getSuiteName() method.
_construct()  : void
The construct method may be used to initialize custom plugin properties it is called immediately after instantiating the plugin all arguments passed to the getPlugins method are also available in this method.
addAlternativePluginFolder()  : void
A path to a specific folder in which should be search for plugins.
afterStorage()  : void
This method is called after the job was reimported through the blue button.
getAlternativePluginFolder()  : array<string|int, mixed>
getKeys()  : array<string|int, mixed>
Returns all available keys for a given CSObjectProxy type.
getLevel()  : int
The getLevel method may be overwritten in the plugins and defines the order, the plugins are called, where the highest level is called first.
getMetaData()  : CSMetaData
Returns the CSMetaData of the current plugin.
getModule()  : CSModule
Returns the module, if the plugin is defined within a module.
getPlugin()  : CSPlugin|null
Returns a CSPlugin for the given plugin type and plugin class name.
getPluginChooser()  : array<string|int, mixed>
Returns an array all defined CSPlugins for the current plugin type
getPluginData()  : mixed
getPluginDefinitionFile()  : string
Returns the path to the file, the plugin is defined.
getPluginName()  : mixed
getPlugins()  : array<string|int, CSPlugin>
Returns all defined CSPlugins for the current plugin type It should be used to get all matching plugins for a given plugin api.
getPluginsInModule()  : array<string|int, mixed>
Returns all CSPlugins for the current plugin type which are defined within the given module It should be used to get all matching plugins for a given plugin api.
getProxysForIDs()  : array<string|int, mixed>
Returns an CSObjectProxy instance for given object IDs.
getTranslateableKeys()  : array<string|int, mixed>
Returns all available keys which values may be translated for a given CSObjectProxy type
getValue()  : string
Returns the value of the handled object for a given key
getValues()  : array<string|int, mixed>
Returns all values for given ObjectProxies
handlesObject()  : bool
Checks whether a given object is handled by the plugin.
isAvailable()  : bool
This method is called to check, whether the plugin is available.
prepareForStorage()  : bool
Prepares an object for storage, e.g. checkin it out
resetInternalAttributes()  : void
Clear static cache used to hold configuration objects.
resetLoadedPlugins()  : mixed
reset the internal plugins cache for loaded plugins
setValue()  : void
Sets the value of the handled object for a given key
setValues()  : array<string|int, mixed>
Sets multiple values on the handled object
store()  : void
Stores a changed object

Constants

Methods

__call()

All method calls which are not defined within the plugin are forwarded to the module Therefore it is possible to get, e.g. the label by calling the getSuiteName() method.

public __call(mixed $methodName, mixed $methodArguments) : mixed|string
Parameters
$methodName : mixed
$methodArguments : mixed
Tags
Return values
mixed|string

_construct()

The construct method may be used to initialize custom plugin properties it is called immediately after instantiating the plugin all arguments passed to the getPlugins method are also available in this method.

public _construct() : void
Tags
Return values
void

addAlternativePluginFolder()

A path to a specific folder in which should be search for plugins.

public static addAlternativePluginFolder(mixed $sPluginFolder) : void
Parameters
$sPluginFolder : mixed
Tags
Return values
void

afterStorage()

This method is called after the job was reimported through the blue button.

public afterStorage() : void
Tags
Return values
void

getAlternativePluginFolder()

public static getAlternativePluginFolder() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>

getKeys()

Returns all available keys for a given CSObjectProxy type.

public getKeys(string $classID, string $path) : array<string|int, mixed>
Parameters
$classID : string

the classID of the ObjectProxies

$path : string

the path of the ObjectProxies

Tags
Return values
array<string|int, mixed>

the names of all available keys

getLevel()

The getLevel method may be overwritten in the plugins and defines the order, the plugins are called, where the highest level is called first.

public getLevel() : int

The method can also be set for all plugins within a module by overwriting the modules getLevel method.

Tags
Return values
int

the level of the plugin where it is called

getMetaData()

Returns the CSMetaData of the current plugin.

public getMetaData() : CSMetaData
Tags
access

public

Return values
CSMetaData

getModule()

Returns the module, if the plugin is defined within a module.

public getModule() : CSModule

This method can be used in the plugin api and the plugin wherever access to the defining module is required. If it is used in the Api, it should be noticed that this method may return null, if the plugin is directly defined in the projects or admin.local plugins directory.

Tags
Return values
CSModule

the module object, if the plugin defined in a module or null otherwise

getPlugin()

Returns a CSPlugin for the given plugin type and plugin class name.

public static getPlugin(string $pluginApiPath, string $className[, mixed $arguments = NULL ]) : CSPlugin|null

As standard behaviour the module subfolder is guessed from the forward URL parameter. If a plugin should point to something in a special module subfolder, this scope can be added by adding the module name in squared bracket at the end of the $pluginApiPath, e.g. 'core/api/plugins/CSRecordPlugin.php[pms]' to get all CSRecordPlugins defined for pms records.

Parameters
$pluginApiPath : string

The relative path in filesystem for the requested plugin api (optional: ending with the module subfolder).

$className : string

The target plugin class name, which should be loaded.

$arguments : mixed = NULL

one or multiple arguments which should be passed to the isAvailable method.

Tags
Return values
CSPlugin|null

Returns the requested plugin for the given parameter.

getPluginChooser()

Returns an array all defined CSPlugins for the current plugin type

public static getPluginChooser(string $pluginApiPath[, mixed $arguments = NULL ]) : array<string|int, mixed>
Parameters
$pluginApiPath : string

the relative path in filesystem for the requested plugin api (optional: ending with the module subfolder).

$arguments : mixed = NULL

one ore multiple arguments which should be passed to the isAvailable method.

Tags
Return values
array<string|int, mixed>

of CSPlugins in the form [CLASSNAME => LABEL] where the CLASSNAME may be used in the CSPlugin::getPlugin method

getPluginData()

public getPluginData() : mixed
Tags
Return values
mixed

getPluginDefinitionFile()

Returns the path to the file, the plugin is defined.

public getPluginDefinitionFile() : string
Tags
Return values
string

the path to the plugin

getPluginName()

public getPluginName() : mixed
Tags
Return values
mixed

getPlugins()

Returns all defined CSPlugins for the current plugin type It should be used to get all matching plugins for a given plugin api.

public static getPlugins(string $pluginApiPath[, mixed $arguments = NULL ]) : array<string|int, CSPlugin>

As standard behaviour the module subfolder is guessed from the forward URL parameter. If a plugin should point to something in a special module subfolder, this scope can be added by adding the module name in squared bracket at the end of the $pluginApiPath, e.g. 'core/api/plugins/CSRecordPlugin.php[pms]' to get all CSRecordPlugins defined for pms records.

Parameters
$pluginApiPath : string

the relative path in filesystem for the requested plugin api (optional: ending with the module subfolder).

$arguments : mixed = NULL

one ore multiple arguments which should be passed to the isAvailable method.

Tags
Return values
array<string|int, CSPlugin>

array of CSPlugin objects matching the defined plugin criteria

getPluginsInModule()

Returns all CSPlugins for the current plugin type which are defined within the given module It should be used to get all matching plugins for a given plugin api.

public static getPluginsInModule(string $moduleName, string $pluginApiPath[, mixed $sFileNamePattern = '' ][, mixed $arguments = NULL ]) : array<string|int, mixed>
Parameters
$moduleName : string

the module which should be searched for plugins

$pluginApiPath : string

the relative path in filesystem for the requested plugin api.

$sFileNamePattern : mixed = ''
$arguments : mixed = NULL

one ore multiple arguments which should be passed to the isAvailable method.

Tags
Return values
array<string|int, mixed>

of CSPlugin objects matching the defined plugin criterias

getProxysForIDs()

Returns an CSObjectProxy instance for given object IDs.

public getProxysForIDs(mixed $object, array<string|int, mixed> $IDs[, mixed $createNew = true ]) : array<string|int, mixed>

Note the first matching proxy will be used to handle the given object

Parameters
$object : mixed

an object the proxy should listen to

$IDs : array<string|int, mixed>

the IDs of the given object as strings

$createNew : mixed = true
Tags
Return values
array<string|int, mixed>

of [ID => CSObjectProxy] elements.

getTranslateableKeys()

Returns all available keys which values may be translated for a given CSObjectProxy type

public getTranslateableKeys(string $classID, string $path) : array<string|int, mixed>
Parameters
$classID : string

the classID of the ObjectProxies

$path : string

the path of the ObjectProxies

Tags
access

public

Return values
array<string|int, mixed>

the names of all translateable keys in the form {TRANSLATEABLE_KEY => TYPE(TEXT/HTML/...)}

getValue()

Returns the value of the handled object for a given key

public getValue(CSObjectProxy $objectProxy, string $key, int $languageID[, string $sMedium = '' ]) : string
Parameters
$objectProxy : CSObjectProxy

the CSObjectProxy which is handled by this plugin

$key : string

the key which is requested

$languageID : int

the objects languageID

$sMedium : string = ''

the medium the value is requested for (e.g. CSItemMedium::TRANSLATIONMANAGER)

Tags
throws
CSException
Return values
string

the value for the given key

getValues()

Returns all values for given ObjectProxies

public getValues(string $classID, string $path, array<string|int, mixed> $objectProxys[, mixed $keys = array() ], int $languageID[, mixed $medium = '' ]) : array<string|int, mixed>
Parameters
$classID : string

the classID of the ObjectProxies

$path : string

the path of the ObjectProxies

$objectProxys : array<string|int, mixed>

the CSObjectProxies with the given ClassID and Path

$keys : mixed = array()
$languageID : int

the objects languageID

$medium : mixed = ''
Tags
Return values
array<string|int, mixed>

of ObjectProxies in the form {OBJECTPROXYID => {KEY => VALUE}}

handlesObject()

Checks whether a given object is handled by the plugin.

public handlesObject(mixed $object) : bool

Note the first matching proxy will be used to handle the given object

Parameters
$object : mixed

an object the proxy should listen to

Tags
Return values
bool

whether this plugin is handling the object type

isAvailable()

This method is called to check, whether the plugin is available.

public isAvailable() : bool

If further arguments are added to the CSPlugin::getPlugins call, they are added as arguments to this method.

For simpler usage of the plugin concept: This method should be overwritten with the correct signature for a plugin call, if arguments are passed.

Tags
Return values
bool

whether the plugin is available for the given arguments

prepareForStorage()

Prepares an object for storage, e.g. checkin it out

public prepareForStorage(CSObjectProxy $objectProxy) : bool
Parameters
$objectProxy : CSObjectProxy
Tags
Return values
bool

whether the object may be stored

resetInternalAttributes()

Clear static cache used to hold configuration objects.

public resetInternalAttributes() : void
Tags
Return values
void

resetLoadedPlugins()

reset the internal plugins cache for loaded plugins

public static resetLoadedPlugins() : mixed
Tags
@return

void;

access

public

Return values
mixed

setValue()

Sets the value of the handled object for a given key

public setValue(CSObjectProxy $objectProxy, string $key, string $value, int $languageID[, array<string|int, mixed> $additionalAttributes = array() ]) : void
Parameters
$objectProxy : CSObjectProxy
$key : string

the key which is requested

$value : string

the new value for the given key

$languageID : int

the objects languageID

$additionalAttributes : array<string|int, mixed> = array()

additionals attributes (TranslationmemoryID)

Tags
Return values
void

setValues()

Sets multiple values on the handled object

public setValues(string $classID, string $path, mixed $values, mixed $objectProxies, int $languageID[, array<string|int, mixed> $additionalAttributes = array() ]) : array<string|int, mixed>
Parameters
$classID : string

the classID of the ObjectProxies

$path : string

the path of the ObjectProxies

$values : mixed
$objectProxies : mixed
$languageID : int

the objects languageID

$additionalAttributes : array<string|int, mixed> = array()

additionals attributes (TranslationmemoryID)

Tags
Return values
array<string|int, mixed>

of the values which could not be updated

store()

Stores a changed object

public store(CSObjectProxy $objectProxy) : void
Parameters
$objectProxy : CSObjectProxy
Tags
Return values
void

        

Search results