Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
    /**
     * 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');
    }
Ejemplo n.º 3
0
 /**
  * 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;
 }
Ejemplo n.º 4
0
 /**
  * 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');
 }
Ejemplo n.º 5
0
/**
 * 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();
}