Minahito
minah****@users*****
2006年 6月 27日 (火) 18:11:19 JST
Index: xoops2jp/html/modules/base/preload/SiteClose.class.php diff -u xoops2jp/html/modules/base/preload/SiteClose.class.php:1.1.2.1 xoops2jp/html/modules/base/preload/SiteClose.class.php:removed --- xoops2jp/html/modules/base/preload/SiteClose.class.php:1.1.2.1 Thu Jun 22 14:56:22 2006 +++ xoops2jp/html/modules/base/preload/SiteClose.class.php Tue Jun 27 18:11:19 2006 @@ -1,184 +0,0 @@ -<?php - -if (!defined('XOOPS_ROOT_PATH')) exit(); - -class Base_SiteClose extends XCube_ActionFilter -{ - function preBlockFilter() - { - if(($this->mController->mConfig['closesite']==1)||is_array(XCube_Utils::checkSystemModules())) { - $this->mController->mRoot->mEventManager->add("Site.Login",new XCube_InstanceDelegate($this,"callbackSiteLogin")); - $this->mController->mRoot->mEventManager->add("Site.CheckLogin.Success",new XCube_InstanceDelegate($this,"callbackCheckLoginSuccess")); - } - } - - function callbackSiteLogin() - { - $retArray = XCube_Utils::checkSystemModules(); - $accessAllowFlag = false; - if(!empty($_POST['xoops_login'])) { - if (is_array($retArray)) { - define('XOOPS_CPFUNC_LOADED',1); - } - require_once XOOPS_ROOT_PATH.'/include/checklogin.php'; - return; - } elseif(is_object($this->mController->mXoopsUser)) { - foreach ($this->mController->mXoopsUser->getGroups() as $group) { - if (in_array($group, $this->mController->mConfig['closesite_okgrp']) || XOOPS_GROUP_ADMIN == $group) { - $accessAllowFlag = true; - break; - } - } - } - // @todo Devide following lines to another preload file - if ($accessAllowFlag) { - if (is_array($retArray)) { - if (in_array(XOOPS_GROUP_ADMIN, $this->mController->mXoopsUser->getGroups())) { - $GLOBALS['xoopsUser'] = $this->mController->mXoopsUser; - if (!empty($_POST['cube_module_install'])) { //@todo use Ticket - require_once XOOPS_BASE_PATH."/admin/class/ModuleInstaller.class.php"; - if (isset($_POST['uninstalled_modules']) && is_array($_POST['uninstalled_modules']) ){ - foreach($_POST['uninstalled_modules'] as $module) { - $module = basename($module); - if (in_array($module, $retArray['uninstalled'])) { - $installer = new Legacy_ModuleInstaller($module); - $installer->execute(); - } - } - } - if (isset($_POST['disabled_modules']) &&is_array($_POST['disabled_modules'])){ - $moduleHandler =& xoops_gethandler('module'); - foreach($_POST['disabled_modules'] as $module) { - $module = basename($module); - if (in_array($module, $retArray['disabled'])) { - if($moduleObject =& $moduleHandler->getByDirname($module)) { - $moduleObject->setVar('isactive',1); - $moduleHandler->insert($moduleObject); - } - } - } - } - if (isset($_POST['option_modules']) && is_array($_POST['option_modules']) ){ - $handler =& xoops_getmodulehandler('non_installation_module','base'); - $objects = $handler->getObjects(); - $optionModules = array(); - foreach($objects as $module) { - if (!in_array($module->getVar('dirname'), $retArray['uninstalled'])) { - $optionModules[] = $module->getVar('dirname'); - } - } - foreach($_POST['option_modules'] as $module) { - $module = basename($module); - if (in_array($module, $optionModules)) { - $installer = new Legacy_ModuleInstaller($module); - $installer->execute(); - } - } - } - XCube_Utils::redirectHeader(XOOPS_URL,1); - } else if (!empty($_GET['cube_module_uninstall'])) { - require_once XOOPS_ROOT_PATH.'/class/template.php'; - $xoopsTpl = new XoopsTpl(); - $xoopsTpl->assign('cube_module_uninstall',htmlspecialchars($_GET['cube_module_uninstall'],ENT_QUOTES)); - $xoopsTpl->assign( array( - 'xoops_sitename' => htmlspecialchars($this->mController->mConfig['sitename']), - 'xoops_themecss' => xoops_getcss(), - 'xoops_imageurl' => XOOPS_THEME_URL.'/'.$this->mController->mConfig['theme_set'].'/', - )); - ///< @todo filebase template with absolute file path - $xoopsTpl->compile_check = true; - $xoopsTpl->display(XOOPS_ROOT_PATH.'/modules/base/templates/legacy_uninstall_modules.html'); - exit(); - } else if (!empty($_POST['cube_module_uninstallok'])) { //@todo use Ticket - require_once XOOPS_BASE_PATH."/admin/class/ModuleUninstaller.class.php"; - $module = basename($_POST['cube_module_uninstallok']); - if (in_array($module, $retArray['disabled'])) { - $uninstaller = new Legacy_ModuleUninstaller($module); - $uninstaller->execute(); - } - XCube_Utils::redirectHeader(XOOPS_URL,1); - } else { - $handler =& xoops_getmodulehandler('non_installation_module','base'); - $objects = $handler->getObjects(); - $optionModules = array(); - foreach($objects as $module) { - $dirname = $module->getVar('dirname'); - if (!in_array($dirname, $retArray['uninstalled'])) { - $optionModule['dirname'] = $dirname; - if (in_array($dirname, $retArray['recommended'])) { - $optionModule['checked'] = 'checked="checked"'; - $optionModule['desc'] = _SYS_RECOMMENDED_MODULES; - } else { - $optionModule['checked'] = ''; - $optionModule['desc'] = _SYS_OPTION_MODULES; - } - $optionModules[] = $optionModule; - } - } - require_once XOOPS_ROOT_PATH.'/class/template.php'; - $xoopsTpl = new XoopsTpl(); - $xoopsTpl->assign('uninstalled',$retArray['uninstalled']); - $xoopsTpl->assign('disabled',$retArray['disabled']); - $xoopsTpl->assign('option',$optionModules); - $xoopsTpl->assign( array( - 'xoops_sitename' => htmlspecialchars($this->mController->mConfig['sitename']), - 'xoops_themecss' => xoops_getcss(), - 'xoops_imageurl' => XOOPS_THEME_URL.'/'.$this->mController->mConfig['theme_set'].'/', - )); - ///< @todo filebase template with absolute file path - $xoopsTpl->compile_check = true; - $xoopsTpl->display(XOOPS_ROOT_PATH.'/modules/base/templates/legacy_install_modules.html'); - exit(); - } - } else { - $accessAllowFlag = false; - } - } - } - - if (!$accessAllowFlag) { - require_once XOOPS_ROOT_PATH.'/class/template.php'; - $xoopsTpl = new XoopsTpl(); - $xoopsTpl->assign( array('xoops_sitename' => htmlspecialchars($this->mController->mConfig['sitename']), - 'xoops_themecss' => xoops_getcss(), - 'xoops_imageurl' => XOOPS_THEME_URL.'/'.$this->mController->mConfig['theme_set'].'/', - 'lang_login' => _LOGIN, - 'lang_username' => _USERNAME, - 'lang_password' => _PASSWORD, - 'lang_siteclosemsg' => $this->mController->mConfig['closesite_text'])); - $xoopsTpl->compile_check = true; - // @todo filebase template with absolute file path - $xoopsTpl->display(XOOPS_ROOT_PATH.'/modules/base/templates/legacy_site_closed.html'); - exit(); - } - } - - function callbackCheckLoginSuccess(&$controller,&$eventArgs) - { - // - // This check is not needed. :) - // - if(!is_object($eventArgs['xoopsUser'])) - return; - - $user=&$eventArgs['xoopsUser']; - - // Site close - if($controller->getConfig('closesite')) { - $accessAllowed=false; - - foreach($user->getGroups() as $group) { - if(in_array($group,$controller->getConfig('closesite_okgrp')) || ($group==XOOPS_GROUP_ADMIN)) { - $accessAllowed=true; - break; - } - } - - if(!$accessAllowed) { - XCube_Utils::redirectHeader(XOOPS_URL,1,_NOPERM); - } - } - } -} - -?> \ No newline at end of file