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
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
TRANSPROXY_INTF_METHOD_NOTIMPLEMENTED
public
mixed
TRANSPROXY_INTF_METHOD_NOTIMPLEMENTED
= 0x1000
Tags
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
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
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
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 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
