static function &creatorList($checkRoles = false)
 {
     $allowedCreators = false;
     $currentUser = eZUser::currentUser();
     $accessResult = $currentUser->hasAccessTo('package', 'create');
     $limitationList = array();
     $canCreate = false;
     if ($accessResult['accessWord'] == 'no') {
         $creators = array();
         return $creators;
     }
     if ($accessResult['accessWord'] == 'limited') {
         $limitationList = $accessResult['policies'];
         foreach ($limitationList as $limitationArray) {
             foreach ($limitationArray as $key => $limitation) {
                 if ($key == 'CreatorType') {
                     if (!is_array($allowedCreators)) {
                         $allowedCreators = array();
                     }
                     $list = $limitation;
                     $allowedCreators = array_merge($allowedCreators, $list);
                 }
             }
         }
     }
     $creators =& $GLOBALS['eZPackageCreatorList'];
     if (!isset($creators)) {
         $creators = array();
         $ini = eZINI::instance('package.ini');
         $list = $ini->variable('CreationSettings', 'HandlerList');
         foreach ($list as $name) {
             if (is_array($allowedCreators) and !in_array($name, $allowedCreators)) {
                 continue;
             }
             $handler = eZPackageCreationHandler::instance($name);
             $creators[] = $handler;
         }
     }
     return $creators;
 }
Beispiel #2
0
    if ($creatorID) {
        $creator = eZPackageCreationHandler::instance($creatorID);
        $persistentData = array();
        $http->setSessionVariable('eZPackageCreatorData' . $creatorID, $persistentData);
        $initializeStep = true;
        $package = false;
        if (isset($persistentData['package_name'])) {
            $package = eZPackage::fetch($persistentData['package_name']);
        }
        $creator->generateStepMap($package, $persistentData);
    }
} else {
    if ($module->isCurrentAction('PackageStep')) {
        if ($module->hasActionParameter('CreatorItemID')) {
            $creatorID = $module->actionParameter('CreatorItemID');
            $creator = eZPackageCreationHandler::instance($creatorID);
            if ($http->hasSessionVariable('eZPackageCreatorData' . $creatorID)) {
                $persistentData = $http->sessionVariable('eZPackageCreatorData' . $creatorID);
            } else {
                $persistentData = array();
            }
            $package = false;
            if (isset($persistentData['package_name'])) {
                $package = eZPackage::fetch($persistentData['package_name']);
            }
            $creator->generateStepMap($package, $persistentData);
        }
    }
}
$tpl = eZTemplate::factory();
$templateName = 'design:package/create.tpl';