You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

75 lines
2.3 KiB

<?php
/**
* @package tikiwiki
*/
// (c) Copyright by authors of the Tiki Wiki CMS Groupware Project
//
// All Rights Reserved. See copyright.txt for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
// $Id$
if (basename($_SERVER['SCRIPT_NAME']) === basename(__FILE__)) {
die('This script may only be included.');
}
require_once('tiki-setup.php');
$modlib = TikiLib::lib('mod');
$usermoduleslib = TikiLib::lib('usermodules');
$userlib = TikiLib::lib('user');
$smarty = TikiLib::lib('smarty');
$tikilib = TikiLib::lib('tiki');
include_once('tiki-module_controls.php');
global $prefs, $user;
clearstatcache();
$modules = $modlib->get_modules_for_user($user);
if (Perms::get()->admin) {
$smarty->assign('module_pref_errors', $modlib->pref_errors);
}
$show_columns = array_fill_keys(array_keys($modules), 'n');
$modnames = [];
foreach ($modules as $zone => & $moduleList) {
if (
$prefs['feature_fullscreen'] != 'y' || empty($_SESSION['fullscreen']) || $_SESSION['fullscreen'] != 'y' ||
strpos($zone, 'page') === 0
) { // pagetop and pagebottom zones appear in fullscreen
foreach ($moduleList as & $mod_reference) {
$show_columns[$zone] = 'y';
$ref = (array) $mod_reference;
$mod_reference['data'] = new Tiki_Render_Lazy(
function () use ($ref) {
$modlib = TikiLib::lib('mod');
return $modlib->execute_module($ref);
}
);
$modnames[$ref['name']] = '';
}
$smarty->assign($zone, $moduleList);
}
}
//add necessary css files to header as required for specific modules
//TODO only add css when module will actually be showing
$cssadd = array_intersect_key($modlib->cssfiles, $modnames);
if (count($cssadd)) {
$headerlib = TikiLib::lib('header');
foreach ($cssadd as $add) {
$headerlib->add_cssfile($add['csspath'], $add['rank']);
}
}
$smarty->assign('show_columns', $show_columns);
$smarty->assign('module_zones', $modules);
$module_nodecorations = ['decorations' => 'n'];
$module_isflippable = ['flip' => 'y'];
$smarty->assign('module_nodecorations', $module_nodecorations);
$smarty->assign('module_isflippable', $module_isflippable);