/** * Get all security permissions schemas. * * @return array array if permission schema values. */ public function getallschemas() { // Security check if (!SecurityUtil::checkPermission('Permissions::', '::', ACCESS_ADMIN)) { return LogUtil::registerPermissionError(); } $schemas = SecurityUtil::getSchemas(); BlockUtil::loadAll(); $modinfos = ModUtil::getAllMods(); foreach ($modinfos as $modinfo) { if (!empty($modinfo['securityschema'])) { $schemas = array_merge($schemas, $modinfo['securityschema']); } } uksort($schemas, 'strnatcasecmp'); SecurityUtil::setSchemas($schemas); return $schemas; }
/** * modify a theme page configuration * */ public function modifypageconfigtemplates($args) { // get our input $themename = FormUtil::getPassedValue('themename', isset($args['themename']) ? $args['themename'] : null, 'GET'); $filename = FormUtil::getPassedValue('filename', isset($args['filename']) ? $args['filename'] : null, 'GET'); // check our input if (empty($themename)) { return LogUtil::registerArgsError(ModUtil::url('Theme', 'admin', 'view')); } $themeinfo = ThemeUtil::getInfo(ThemeUtil::getIDFromName($themename)); if (!file_exists('themes/'.DataUtil::formatForOS($themeinfo['directory']).'/version.php')) { return LogUtil::registerArgsError(ModUtil::url('Theme', 'admin', 'view')); } // Security check if (!SecurityUtil::checkPermission('Theme::', "$themename::pageconfigurations", ACCESS_EDIT)) { return LogUtil::registerPermissionError(); } // read our configuration file $pageconfiguration = ModUtil::apiFunc('Theme', 'user', 'getpageconfiguration', array('theme' => $themename, 'filename' => $filename)); if (empty($pageconfiguration)) { return LogUtil::registerArgsError(ModUtil::url('Theme', 'admin', 'view')); } // get all block positions $blockpositions = ModUtil::apiFunc('Blocks', 'user', 'getallpositions'); foreach ($blockpositions as $name => $blockposition) { // check the page configuration if (!isset($pageconfiguration['blockpositions'][$blockposition['name']])) { $pageconfiguration['blockpositions'][$name] = ''; } $blockpositions[$name] = $blockposition['description']; } // call the block API to get a list of all available blocks $allblocks = BlockUtil::loadAll(); foreach ($allblocks as $key => $blocks) { foreach ($blocks as $k => $block) { $allblocks[$key][$k]['bkey'] = $bkey = strtolower($block['bkey']); // check the page configuration if (!isset($pageconfiguration['blocktypes'][$bkey])) { $pageconfiguration['blocktypes'][$bkey] = ''; } } } // call the block API to get a list of all defined block instances $blocks = ModUtil::apiFunc('Blocks', 'user', 'getall'); foreach ($blocks as $block) { // check the page configuration if (!isset($pageconfiguration['blockinstances'][$block['bid']])) { $pageconfiguration['blockinstances'][$block['bid']] = ''; } } // palette default if (!isset($pageconfiguration['palette'])) { $pageconfiguration['palette'] = ''; } // block default if (!isset($pageconfiguration['block'])) { $pageconfiguration['block'] = ''; } // filters defaults if (!isset($pageconfiguration['filters']['outputfilters'])) { $pageconfiguration['filters']['outputfilters'] = ''; } if (!isset($pageconfiguration['filters']['prefilters'])) { $pageconfiguration['filters']['prefilters'] = ''; } if (!isset($pageconfiguration['filters']['postfilters'])) { $pageconfiguration['filters']['postfilters'] = ''; } $this->view->setCaching(Zikula_View::CACHE_DISABLED); // assign the output variables and fetch the template return $this->view->assign('filename', $filename) ->assign('themename', $themename) ->assign('themeinfo', $themeinfo) ->assign('moduletemplates', ModUtil::apiFunc('Theme', 'user', 'gettemplates', array('theme' => $themename))) ->assign('blocktemplates', ModUtil::apiFunc('Theme', 'user', 'gettemplates', array('theme' => $themename, 'type' => 'blocks'))) ->assign('palettes', ModUtil::apiFunc('Theme', 'user', 'getpalettenames', array('theme' => $themename))) ->assign('blockpositions', $blockpositions) ->assign('allblocks', $allblocks) ->assign('blocks', $blocks) ->assign('pageconfiguration', $pageconfiguration) ->fetch('theme_admin_modifypageconfigtemplates.tpl'); }
/** * Get all security permissions schemas. * * @return array array if permission schema values. */ public function getallschemas() { // Security check if (!SecurityUtil::checkPermission('Permissions::', '::', ACCESS_ADMIN)) { throw new \Zikula\Framework\Exception\ForbiddenException(); } $schemas = SecurityUtil::getSchemas(); BlockUtil::loadAll(); $modinfos = ModUtil::getAllMods(); foreach ($modinfos as $modinfo) { if (!empty($modinfo['securityschema'])) { $schemas = array_merge($schemas, $modinfo['securityschema']); } } uksort($schemas, 'strnatcasecmp'); SecurityUtil::setSchemas($schemas); return $schemas; }
/** * Display form for a new block. * * @return string HTML output string. */ public function newblock() { // Security check if (!SecurityUtil::checkPermission('Blocks::', '::', ACCESS_ADD)) { return LogUtil::registerPermissionError(); } // Get parameters if exists $default = array('title' => '', 'description' => '', 'language' => ZLanguage::getLanguageCode(), 'blockid' => null, 'positions' => array(), 'collapsable' => 0, 'defaultstate' => 1); $inputblock = FormUtil::getPassedValue('block', $default); // Block // Load all blocks $blocks = BlockUtil::loadAll(); if (!$blocks) { return LogUtil::registerError($this->__('Error! Could not load blocks.')); } $blockinfo = array(); foreach ($blocks as $moduleblocks) { foreach ($moduleblocks as $block) { $modinfo = ModUtil::getInfoFromName($block['module']); $blockinfo[$block['mid'] . ':' . $block['bkey']] = $modinfo['displayname'] . '/' . $block['text_type_long']; } } $this->view->assign('blockids', $blockinfo); // assign block positions $positions = ModUtil::apiFunc('Blocks', 'user', 'getallpositions'); $block_positions = array(); foreach ($positions as $position) { $block_positions[$position['pid']] = $position['name']; } $this->view->assign('block_positions', $block_positions); // Return the output that has been generated by this function return $this->view->assign('block', $inputblock)->fetch('blocks_admin_newblock.tpl'); }
/** * load all blocks * * @deprecated * @see BlockUtil::loadAll() * * @return array array of blocks */ function pnBlockLoadAll() { LogUtil::log(__f('Warning! Function %1$s is deprecated. Please use %2$s instead.', array(__FUNCTION__, 'BlockUtil::loadAll()')), E_USER_DEPRECATED); return BlockUtil::loadAll(); }