<?php
// start hack by Trabis
if (!class_exists('ProtectorRegistry')) {
exit('Registry not found');
}
$registry = ProtectorRegistry::getInstance();
$mydirname = $registry->getEntry('mydirname');
$mydirpath = $registry->getEntry('mydirpath');
$language = $registry->getEntry('language');
// end hack by Trabis
$mytrustdirname = basename(__DIR__);
$mytrustdirpath = __DIR__;
// environment
require_once XOOPS_ROOT_PATH . '/class/template.php';
/* @var XoopsModuleHandler $module_handler */
$module_handler = xoops_getHandler('module');
$xoopsModule = $module_handler->getByDirname($mydirname);
/* @var XoopsConfigHandler $config_handler */
$config_handler = xoops_getHandler('config');
$xoopsModuleConfig = $config_handler->getConfigsByCat(0, $xoopsModule->getVar('mid'));
// check permission of 'module_admin' of this module
/* @var XoopsGroupPermHandler $moduleperm_handler */
$moduleperm_handler = xoops_getHandler('groupperm');
if (!is_object(@$xoopsUser) || !$moduleperm_handler->checkRight('module_admin', $xoopsModule->getVar('mid'), $xoopsUser->getGroups())) {
die('only admin can access this area');
}
$xoopsOption['pagetype'] = 'admin';
require XOOPS_ROOT_PATH . '/include/cp_functions.php';
// language files (admin.php)
//$language = empty( $xoopsConfig['language'] ) ? 'english' : $xoopsConfig['language'] ; //hack by Trabis
if (file_exists("$mydirpath/language/$language/admin.php")) {
// user customized language file
include_once "$mydirpath/language/$language/admin.php";
} elseif (file_exists("$mytrustdirpath/language/$language/admin.php")) {
// default language file
include_once "$mytrustdirpath/language/$language/admin.php";
} else {
// fallback english
include_once "$mytrustdirpath/language/english/admin.php";
}
// language files (main.php)
//$language = empty( $xoopsConfig['language'] ) ? 'english' : $xoopsConfig['language'] ; //hack by Trabis
if (file_exists("$mydirpath/language/$language/main.php")) {
// user customized language file
include_once "$mydirpath/language/$language/main.php";
} elseif (file_exists("$mytrustdirpath/language/$language/main.php")) {
// default language file
include_once "$mytrustdirpath/language/$language/main.php";
} else {
// fallback english
include_once "$mytrustdirpath/language/english/main.php";
}
if (!empty($_GET['lib'])) {
// common libs (eg. altsys)
$lib = preg_replace('/[^a-zA-Z0-9_-]/', '', $_GET['lib']);
$page = preg_replace('/[^a-zA-Z0-9_-]/', '', @$_GET['page']);
if (file_exists(XOOPS_TRUST_PATH . '/libs/' . $lib . '/' . $page . '.php')) {
include XOOPS_TRUST_PATH . '/libs/' . $lib . '/' . $page . '.php';
} elseif (file_exists(XOOPS_TRUST_PATH . '/libs/' . $lib . '/index.php')) {
include XOOPS_TRUST_PATH . '/libs/' . $lib . '/index.php';
} else {
die('wrong request');
}
} else {
// fork each pages of this module
$page = preg_replace('/[^a-zA-Z0-9_-]/', '', @$_GET['page']);
if (file_exists("$mytrustdirpath/admin/$page.php")) {
include "$mytrustdirpath/admin/$page.php";
} elseif (file_exists("$mytrustdirpath/admin/index.php")) {
include "$mytrustdirpath/admin/index.php";
} else {
die('wrong request');
}
}
|