<?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'); 
    } 
} 
 
 |