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