<?php
altsys_set_module_config();
function altsys_set_module_config()
{
global $altsysModuleConfig, $altsysModuleId;
$module_handler = xoops_getHandler('module');
$module = $module_handler->getByDirname('altsys');
if (is_object($module)) {
$config_handler = xoops_getHandler('config');
$altsysModuleConfig = $config_handler->getConfigList($module->getVar('mid'));
$altsysModuleId = $module->getVar('mid');
} else {
$altsysModuleConfig = array();
$altsysModuleId = 0;
}
}
function altsys_include_mymenu()
{
global $xoopsModule, $xoopsConfig, $mydirname, $mydirpath, $mytrustdirname, $mytrustdirpath, $mymenu_fake_uri;
$mymenu_find_paths = array(
$mydirpath . '/admin/mymenu.php',
$mydirpath . '/mymenu.php',
$mytrustdirpath . '/admin/mymenu.php',
$mytrustdirpath . '/mymenu.php');
foreach ($mymenu_find_paths as $mymenu_find_path) {
if (file_exists($mymenu_find_path)) {
include $mymenu_find_path;
include_once __DIR__ . '/adminmenu_functions.php';
altsys_adminmenu_insert_mymenu($xoopsModule);
altsys_adminmenu_hack_ft();
break;
}
}
}
/**
* @param $type
*/
function altsys_include_language_file($type)
{
$mylang = $GLOBALS['xoopsConfig']['language'];
if (file_exists(XOOPS_ROOT_PATH . '/modules/altsys/language/' . $mylang . '/' . $type . '.php')) {
include_once XOOPS_ROOT_PATH . '/modules/altsys/language/' . $mylang . '/' . $type . '.php';
} elseif (file_exists(XOOPS_TRUST_PATH . '/libs/altsys/language/' . $mylang . '/' . $type . '.php')) {
include_once XOOPS_TRUST_PATH . '/libs/altsys/language/' . $mylang . '/' . $type . '.php';
} elseif (file_exists(XOOPS_ROOT_PATH . '/modules/altsys/language/english/' . $type . '.php')) {
include_once XOOPS_ROOT_PATH . '/modules/altsys/language/english/' . $type . '.php';
} elseif (file_exists(XOOPS_TRUST_PATH . '/libs/altsys/language/english/' . $type . '.php')) {
include_once XOOPS_TRUST_PATH . '/libs/altsys/language/english/' . $type . '.php';
}
}
define('ALTSYS_CORE_TYPE_X20', 1); // 2.0.0-2.0.13 and 2.0.x-JP
define('ALTSYS_CORE_TYPE_X20S', 2); // 2.0.14- from xoops.org Skalpa's "S"
define('ALTSYS_CORE_TYPE_ORE', 4); // ORETEKI by marijuana
define('ALTSYS_CORE_TYPE_X22', 8); // 2.2 from xoops.org
define('ALTSYS_CORE_TYPE_XC21L', 16); // XOOPS Cube 2.1 Legacy
/**
* @return int
*/
function altsys_get_core_type()
{
if (defined('XOOPS_ORETEKI')) {
return ALTSYS_CORE_TYPE_ORE;
} elseif (defined('XOOPS_CUBE_LEGACY')) {
return ALTSYS_CORE_TYPE_XC21L;
} elseif (strstr(XOOPS_VERSION, 'JP')) {
return ALTSYS_CORE_TYPE_X20;
} else {
$versions = array_map('intval', explode('.', preg_replace('/[^0-9.]/', '', XOOPS_VERSION)));
if ($versions[0] == 2 && $versions[1] == 2) {
return ALTSYS_CORE_TYPE_X22;
} elseif ($versions[0] == 2 && ($versions[1] > 2 || $versions[2] > 13)) {
return ALTSYS_CORE_TYPE_X20S;
} else {
return ALTSYS_CORE_TYPE_X20;
}
}
}
/**
* @param $mid
* @param $coretype
* @return null|string
*/
function altsys_get_link2modpreferences($mid, $coretype)
{
switch ($coretype) {
case ALTSYS_CORE_TYPE_X20:
case ALTSYS_CORE_TYPE_X20S:
case ALTSYS_CORE_TYPE_ORE:
case ALTSYS_CORE_TYPE_X22:
return XOOPS_URL . '/modules/system/admin.php?fct=preferences&op=showmod&mod=' . $mid;
case ALTSYS_CORE_TYPE_XC21L:
return XOOPS_URL . '/modules/legacy/admin/index.php?action=PreferenceEdit&confmod_id=' . $mid;
}
return null;
}
/**
* @param $tpl_id
*/
function altsys_template_touch($tpl_id)
{
if (altsys_get_core_type() == ALTSYS_CORE_TYPE_X20S) {
// need to delete all files under templates_c/
altsys_clear_templates_c();
} else {
// just touch the template
xoops_template_touch($tpl_id);
}
}
function altsys_clear_templates_c()
{
$dh = opendir(XOOPS_COMPILE_PATH);
while ($file = readdir($dh)) {
if (substr($file, 0, 1) === '.') {
continue;
}
if (substr($file, -4) !== '.php') {
continue;
}
@unlink(XOOPS_COMPILE_PATH . '/' . $file);
}
closedir($dh);
}
|