<?php
/*
* You may not change or alter any portion of this comment or credits
* of supporting developers from this source code or any supporting source code
* which is considered copyrighted (c) material of the original comment or credit authors.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
* @copyright XOOPS Project http://xoops.org/
* @license GNU GPL 2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
* @package
* @since
* @author XOOPS Development Team, Kazumi Ono (AKA onokazu)
*/
// Include header
include __DIR__ . '/header.php';
if (isset($fct) && $fct === 'users') {
$xoopsOption['pagetype'] = 'user';
}
$error = false;
if ($admintest != 0) {
if (isset($fct) && $fct !== '') {
$fct = preg_replace("/[^a-z0-9_\-]/i", '', $fct);
if (file_exists(XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname', 'n') . '/admin/' . $fct . '/xoops_version.php')) {
// Load language file
system_loadLanguage($fct, $xoopsModule->getVar('dirname', 'n'));
// Include Configuration file
require XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname', 'n') . '/admin/' . $fct . '/xoops_version.php';
// Get System permission handler
/* @var XoopsGroupPermHandler $sysperm_handler */
$sysperm_handler = xoops_getHandler('groupperm');
$category = !empty($modversion['category']) ? (int)$modversion['category'] : 0;
unset($modversion);
if ($category > 0) {
$group = $xoopsUser->getGroups();
if (in_array(XOOPS_GROUP_ADMIN, $group) || false !== $sysperm_handler->checkRight('system_admin', $category, $group, $xoopsModule->getVar('mid'))) {
if (file_exists(XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname', 'n') . '/admin/' . $fct . '/main.php')) {
include_once XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname', 'n') . '/admin/' . $fct . '/main.php';
} else {
$error = true;
}
} else {
$error = true;
}
} elseif ($fct === 'version') {
if (file_exists(XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname', 'n') . '/admin/version/main.php')) {
include_once XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname', 'n') . '/admin/version/main.php';
} else {
$error = true;
}
} else {
$error = true;
}
} else {
$error = true;
}
} else {
$error = true;
}
}
if (false !== $error) {
$op = system_CleanVars($_REQUEST, 'op', '', 'string');
if ($op === 'system_activate') {
$part = system_CleanVars($_REQUEST, 'type', '', 'string');
/* @var XoopsConfigHandler $config_handler */
$config_handler = xoops_getHandler('config');
$criteria = new Criteria('conf_name', 'active_' . $part);
$configs = $config_handler->getConfigs($criteria);
foreach ($configs as $conf) {
if ($conf->getVar('conf_name') === 'active_' . $part) {
$conf->setVar('conf_value', !$conf->getVar('conf_value'));
$config_handler->insertConfig($conf);
}
}
exit;
}
// Define main template
$GLOBALS['xoopsOption']['template_main'] = 'system_index.tpl';
xoops_cp_header();
// Define Stylesheet
$xoTheme->addStylesheet(XOOPS_URL . '/modules/system/css/admin.css');
// Define scripts
$xoTheme->addScript('browse.php?Frameworks/jquery/jquery.js');
$xoTheme->addScript('modules/system/js/admin.js');
// Define Breadcrumb and tips
$xoBreadCrumb->addLink(_AM_SYSTEM_CONFIG);
$xoBreadCrumb->addTips(_AM_SYSTEM_TIPS_MAIN);
$xoBreadCrumb->render();
$groups = $xoopsUser->getGroups();
$all_ok = false;
if (!in_array(XOOPS_GROUP_ADMIN, $groups)) {
$sysperm_handler = xoops_getHandler('groupperm');
$ok_syscats = $sysperm_handler->getItemIds('system_admin', $groups);
} else {
$all_ok = true;
}
xoops_load('xoopslists');
$admin_dir = XOOPS_ROOT_PATH . '/modules/system/admin';
$dirlist = XoopsLists::getDirListAsArray($admin_dir);
$inactive_section = array('blocksadmin', 'groups', 'modulesadmin', 'preferences', 'tplsets');
foreach ($dirlist as $directory) {
if (file_exists($admin_dir . '/' . $directory . '/xoops_version.php')) {
require $admin_dir . '/' . $directory . '/xoops_version.php';
if ($modversion['hasAdmin']) {
if (xoops_getModuleOption('active_' . $directory, 'system')) {
$category = isset($modversion['category']) ? (int)$modversion['category'] : 0;
if (false !== $all_ok || in_array($modversion['category'], $ok_syscats)) {
$menu['file'] = $directory;
$menu['title'] = trim($modversion['name']);
$menu['desc'] = str_replace('<br>', ' ', $modversion['description']);
$menu['icon'] = $modversion['image'];
$menu['status'] = true;
}
} else {
$category = isset($modversion['category']) ? (int)$modversion['category'] : 0;
if (false !== $all_ok || in_array($modversion['category'], $ok_syscats)) {
$menu['file'] = $directory;
$menu['title'] = trim($modversion['name']);
$menu['desc'] = str_replace('<br>', ' ', $modversion['description']);
$menu['icon'] = $modversion['image'];
$menu['status'] = false;
}
}
if (!in_array($directory, $inactive_section)) {
$menu['used'] = true;
}
if (false !== $all_ok || in_array($modversion['category'], $ok_syscats)) {
switch ($directory) {
case 'avatars':
/* @var SystemAvatarHandler $avatar_handler */
$avatar_handler = xoops_getHandler('avatar');
$avatar = $avatar_handler->getCount();
$menu['infos'] = sprintf(_AM_SYSTEM_AVATAR_INFO, $avatar);
break;
case 'banners':
/* @var SystemBannerHandler $banner_handler */
$banner_handler = xoops_getModuleHandler('banner', 'system');
$banner = $banner_handler->getCount();
$menu['infos'] = sprintf(_AM_SYSTEM_BANNER_INFO, $banner);
break;
case 'comments':
/* @var XoopsCommentHandler $comment_handler */
$comment_handler = xoops_getHandler('comment');
$comment = $comment_handler->getCount();
$menu['infos'] = sprintf(_AM_SYSTEM_COMMENT_INFO, $comment);
break;
case 'groups':
/* @var XoopsMembershipHandler $groups_Handler */
$groups_Handler = xoops_getModuleHandler('group', 'system');
$groups = $groups_Handler->getCount();
$menu['infos'] = sprintf(_AM_SYSTEM_GROUP_INFO, $groups);
break;
case 'images':
/* @var XoopsImageHandler $imgcat_handler */
$imgcat_handler = xoops_getHandler('image');
$img = $imgcat_handler->getCount();
$menu['infos'] = sprintf(_AM_SYSTEM_IMG_INFO, $img);
break;
case 'smilies':
/* @var SystemsmiliesHandler $smilies_Handler */
$smilies_Handler = xoops_getModuleHandler('smilies', 'system');
$smilies = $smilies_Handler->getCount();
$menu['infos'] = sprintf(_AM_SYSTEM_SMILIES_INFO, $smilies);
break;
case 'userrank':
/* @var SystemUserrankHandler $userrank_Handler */
$userrank_Handler = xoops_getModuleHandler('userrank', 'system');
$userrank = $userrank_Handler->getCount();
$menu['infos'] = sprintf(_AM_SYSTEM_RANKS_INFO, $userrank);
break;
case 'users':
/* @var SystemUsersHandler $member_handler */
$member_handler = xoops_getModuleHandler('users', 'system');
$member = $member_handler->getCount();
$menu['infos'] = sprintf(_AM_SYSTEM_USERS_INFO, $member);
break;
}
}
$xoopsTpl->append_by_ref('menu', $menu);
unset($menu);
}
unset($modversion);
}
}
unset($dirlist);
xoops_cp_footer();
}
|