OXID eShop CE  6.1.5
OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator Class Reference
+ Collaboration diagram for OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator:

Public Member Functions

 __construct ($systemRequirementsInfo=[])
 
 getModuleStateMap ()
 
 setModuleStateHtmlClassConvertFunction ($function)
 
 setModuleNameTranslateFunction ($function)
 
 setModuleGroupNameTranslateFunction ($function)
 

Public Attributes

const MODULE_ID_KEY = 'module'
 
const MODULE_STATE_KEY = 'state'
 
const MODULE_NAME_KEY = 'modulename'
 
const MODULE_STATE_HTML_CLASS_KEY = 'class'
 

Private Member Functions

 convertFromSystemRequirementsInfo ()
 
 applyModuleStateHtmlClassConvertFunction ($moduleStateMap)
 
 applyModuleNameTranslateFunction ($moduleStateMap)
 
 applyModuleGroupNameTranslateFunction ($moduleStateMap)
 
 iterateThroughModuleStateMapByGroup ($moduleStateMap)
 
 iterateThroughModuleStateMap ($moduleStateMap)
 
 applyModuleStateMapFilterFunction ($moduleStateMap, $helpFunction, $moduleStateMapUpdateFunction)
 
 validateClosure ($object)
 

Private Attributes

 $systemRequirementsInfo = []
 
 $moduleStateHtmlClassConvertFunction = null
 
 $moduleNameTranslateFunction = null
 
 $moduleGroupNameTranslateFunction = null
 

Detailed Description

Class ModuleStateMapGenerator.

Accepts SystemRequirementsInfo as primary source of data and converts it to be compatible with setup's view component which displays the system requirements (Used in Controller).

It also accepts the following custom functions to help and deal with:

  • ModuleStateHtmlClass converter to map module state integer value to custom HTML class strings;
  • ModuleNameTranslate to translate module id to it's full name/title;
  • ModuleGroupNameTranslate to translate group module id to it's full name/title;

Constructor & Destructor Documentation

◆ __construct()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::__construct (   $systemRequirementsInfo = [])

ModuleStateMapGenerator constructor.

Parameters
array$systemRequirementsInfo

Member Function Documentation

◆ applyModuleGroupNameTranslateFunction()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::applyModuleGroupNameTranslateFunction (   $moduleStateMap)
private

Apply function which translates module group id into module group name.

Parameters
array$moduleStateMapAn array of format described in getModuleStateMap.
Returns
array An array of format described in getModuleStateMap.

◆ applyModuleNameTranslateFunction()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::applyModuleNameTranslateFunction (   $moduleStateMap)
private

Apply function which translates module id into module name.

Parameters
array$moduleStateMapAn array of format described in getModuleStateMap.
Returns
array An array of format described in getModuleStateMap.

◆ applyModuleStateHtmlClassConvertFunction()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::applyModuleStateHtmlClassConvertFunction (   $moduleStateMap)
private

Apply function which converts module state into HTML class of given state.

Parameters
array$moduleStateMapAn array of format described in getModuleStateMap.
Returns
array An array of format described in getModuleStateMap.

◆ applyModuleStateMapFilterFunction()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::applyModuleStateMapFilterFunction (   $moduleStateMap,
  $helpFunction,
  $moduleStateMapUpdateFunction 
)
private

Apply filter function to update the contents of module state map.

Parameters
array$moduleStateMapAn array of format described in getModuleStateMap.
\Closure$helpFunctionHelp function which will be passed to moduleStateMapUpdateFunction as 2nd argument.
\Closure$moduleStateMapUpdateFunctionFunction which will be used to modify contents of module state map.
Returns
array An array of format described in getModuleStateMap.

◆ convertFromSystemRequirementsInfo()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::convertFromSystemRequirementsInfo ( )
private

Convert a raw array taken from SystemRequirements::getSystemInfo into a format described in getModuleStateMap.

Returns
array

◆ getModuleStateMap()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::getModuleStateMap ( )

Returns module state map with all applied external functions.

In case a function is not set it will be just skipped.

Returns
array Module State Map in a form of [ 'Translated group name' => [ MODULE_ID_KEY => 'moduleId', MODULE_STATE_KEY => 'moduleState', MODULE_NAME_KEY => 'Translated module name', MODULE_STATE_HTML_CLASS_KEY => 'html class', ], ... ]

◆ iterateThroughModuleStateMap()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::iterateThroughModuleStateMap (   $moduleStateMap)
private

Yield with [groupId, moduleIndex of module_info_array, module_info_array] by iterating through given module state map.

Parameters
array$moduleStateMapAn array of format described in getModuleStateMap.
Returns
\Generator Iterator which yields [groupId, moduleIndex of module_info_array, module_info_array]

◆ iterateThroughModuleStateMapByGroup()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::iterateThroughModuleStateMapByGroup (   $moduleStateMap)
private

Yield with [groupId, module_info_array] by iterating through given module state map.

Parameters
array$moduleStateMapAn array of format described in getModuleStateMap.
Returns
\Generator Iterator which yields [groupId, module_info_array].

◆ setModuleGroupNameTranslateFunction()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::setModuleGroupNameTranslateFunction (   $function)

Sets function which defines how module group name should be translated.

Single argument is given to the provided function as the module group id.

Parameters
\Closure$function
Exceptions

◆ setModuleNameTranslateFunction()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::setModuleNameTranslateFunction (   $function)

Sets function which defines how module name should be translated.

Single argument is given to the provided function as the module id.

Parameters
\Closure$function
Exceptions

◆ setModuleStateHtmlClassConvertFunction()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::setModuleStateHtmlClassConvertFunction (   $function)

Sets function which knows how to convert given module state to Html class.

Single argument is given to the provided function as the state of module.

Parameters
\Closure$function
Exceptions

◆ validateClosure()

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::validateClosure (   $object)
private

Validate input to check if it's a Closure.

Parameters
\Closure$objectGiven input argument to check.
Exceptions

Member Data Documentation

◆ $moduleGroupNameTranslateFunction

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::$moduleGroupNameTranslateFunction = null
private

◆ $moduleNameTranslateFunction

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::$moduleNameTranslateFunction = null
private

◆ $moduleStateHtmlClassConvertFunction

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::$moduleStateHtmlClassConvertFunction = null
private

◆ $systemRequirementsInfo

OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::$systemRequirementsInfo = []
private

◆ MODULE_ID_KEY

const OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::MODULE_ID_KEY = 'module'

◆ MODULE_NAME_KEY

const OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::MODULE_NAME_KEY = 'modulename'

◆ MODULE_STATE_HTML_CLASS_KEY

const OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::MODULE_STATE_HTML_CLASS_KEY = 'class'

◆ MODULE_STATE_KEY

const OxidEsales\EshopCommunity\Setup\Controller\ModuleStateMapGenerator::MODULE_STATE_KEY = 'state'

The documentation for this class was generated from the following file: