Contentserv PHP API

CSMamImageHandler extends CSPlugin
in package

The CSMamImageHandler is plugin to read and manipulate images.

As handling images is not always streight working multiple ImageHandlers may be defined for the same file. The order is which they are called is defined with the method getLevel(), where the one with the highest value is called first (Standard handlers have the level 0). As long as one handler fails for an operation, one after another is called until one had succeeded in doing the file operation.

To be included, it must be placed in a plugins/mam/imagehandler subfolder with a file name ending with ImageHandler.php.

Tags
since
5.0

Table of Contents

__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.
createPreviewImage()  : whether
This method is called when a master preview image is required for a mam file The preview should be copied to the given $dstPath
createSubPreviewImage()  : whether
This method is called when a sub preview image is required for a mam file.
getAlternativePluginFolder()  : array<string|int, mixed>
getHandledTypes()  : array<string|int, mixed>
Returns an array of all handled filetypes. If the isAvailable method is not overwritten, this array is checked to proove whether the file is handled by this handler in the {@see isAvailable} method.
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.
isAvailable()  : bool
Checks and returns whether this ImageHandler is responsible for the given file
isLayoutFileAvailable()  : false
Returns whether the layout file is available for the given MAM file.
resetLoadedPlugins()  : mixed
reset the internal plugins cache for loaded plugins
shouldCallOtherImageHandlers()  : bool
This method can be overridden to prevent other image handlers to be called after the current one.
updateImageInformations()  : mixed
This method is called when image informations should be read from a file.

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

createPreviewImage()

This method is called when a master preview image is required for a mam file The preview should be copied to the given $dstPath

public createPreviewImage(CSMamFile $csMamFile, string $dstPath) : whether
Parameters
$csMamFile : CSMamFile

the CSMamFile object the preview should be created for

$dstPath : string

the path of the file the preview should be created to

Tags
Return values
whether

a preview has been created or not

createSubPreviewImage()

This method is called when a sub preview image is required for a mam file.

public createSubPreviewImage(CSMamFile $csMamFile, string $geometry, string $dstPath) : whether

Normally sub previews are created from within the master preview using ImageMagick. Sometimes it is necessary, to create them directly. Therefore this method can be used.

The preview should be copied to the given $dstPath

Parameters
$csMamFile : CSMamFile

the CSMamFile object the preview should be created for

$geometry : string

the requested geometry in the form [WIDTH]x[HEIGHT]

$dstPath : string

the path of the file the preview should be created to

Tags
Return values
whether

a preview has been created or not

getAlternativePluginFolder()

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

getHandledTypes()

Returns an array of all handled filetypes. If the isAvailable method is not overwritten, this array is checked to proove whether the file is handled by this handler in the {@see isAvailable} method.

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

an array of all filetypes managed by this handler

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

isAvailable()

Checks and returns whether this ImageHandler is responsible for the given file

public isAvailable([mixed $csMamFile = null ]) : bool
Parameters
$csMamFile : mixed = null
Tags
Return values
bool

whether this handler handles the given file

isLayoutFileAvailable()

Returns whether the layout file is available for the given MAM file.

public isLayoutFileAvailable(CSMamFile $csMamFile) : false
Parameters
$csMamFile : CSMamFile

the CSMamFile object.

Tags
Return values
false

resetLoadedPlugins()

reset the internal plugins cache for loaded plugins

public static resetLoadedPlugins() : mixed
Tags
@return

void;

access

public

Return values
mixed

shouldCallOtherImageHandlers()

This method can be overridden to prevent other image handlers to be called after the current one.

public shouldCallOtherImageHandlers() : bool
Tags
Return values
bool

true when it allows to get it handled by other image handler (default) false to prevent other image handlers to be called.

updateImageInformations()

This method is called when image informations should be read from a file.

public updateImageInformations(CSMamFile $csMamFile[, bool $isModified = null ]) : mixed

It should write all found informations directly to the $csMamFile and return true on success. If the file is modified the $isModified argument is set. That means the current file is not available on the remote system, but must be accessed using the $csMamFile->getLocalFilesystemPath() method

Parameters
$csMamFile : CSMamFile

the CSMamFile object the informations should be added to

$isModified : bool = null

whether the file is modified

Tags
Return values
mixed

true If true, the information has been set correctly, when false, information extraction is not supported, if null, setting information failed, should be tried again.


        

Search results