示例#1
0
 /**
  * Factory for modules' moduleOperationInfo objects.
  *
  * @param string $moduleName
  * @param bool $useTriggers*
  *
  * @return eZModuleOperationInfo
  */
 static function moduleOperationInfo($moduleName, $useTriggers = true)
 {
     if (!isset($GLOBALS['eZGlobalModuleOperationList'])) {
         $GLOBALS['eZGlobalModuleOperationList'] = array();
     }
     if (isset($GLOBALS['eZGlobalModuleOperationList'][$moduleName])) {
         return $GLOBALS['eZGlobalModuleOperationList'][$moduleName];
     }
     $moduleOperationInfo = new eZModuleOperationInfo($moduleName, $useTriggers);
     $moduleOperationInfo->loadDefinition();
     return $GLOBALS['eZGlobalModuleOperationList'][$moduleName] = $moduleOperationInfo;
 }
示例#2
0
 * @license Licensed under GNU General Public License v2.0. See file license.txt
 *
 */
// generic info for all views: module name, extension name, ...
$operationList = array();
$modules = eZModuleLister::getModuleList();
if ($Params['modulename'] != '' && !array_key_exists($Params['modulename'], $modules)) {
    /// @todo
} else {
    foreach ($modules as $modulename => $path) {
        if ($Params['modulename'] == '' || $Params['modulename'] == $modulename) {
            $module = eZModule::exists($modulename);
            if ($module instanceof eZModule) {
                $moduleOperationInfo = new eZModuleOperationInfo($modulename);
                /// @todo prevent warning to be generated here
                $moduleOperationInfo->loadDefinition();
                if ($moduleOperationInfo->isValid()) {
                    $extension = '';
                    if (preg_match('#extension/([^/]+)/modules/#', $path, $matches)) {
                        $extension = $matches[1];
                    }
                    foreach ($moduleOperationInfo->OperationList as $op) {
                        $operationList[$op['name'] . '_' . $modulename] = $op;
                        $operationList[$op['name'] . '_' . $modulename]['module'] = $modulename;
                        $operationList[$op['name'] . '_' . $modulename]['extension'] = $extension;
                    }
                }
                /*                foreach( $module->attribute( 'views' ) as $viewname => $view )
                                {
                                    // merge empty array to facilitate life of templates
                                    $view = array_merge( array( 'params' => array(), 'functions' => array(), 'unordered_params' => array(), 'single_post_actions' => array(), 'post_actions' => array(), 'post_action_parameters' => array() ), $view );