Minahito
minah****@users*****
2006年 10月 14日 (土) 23:55:26 JST
Index: xoops2jp/html/modules/legacy/preload/IPbanningFilter.class.php diff -u /dev/null xoops2jp/html/modules/legacy/preload/IPbanningFilter.class.php:1.1.2.1 --- /dev/null Sat Oct 14 23:55:26 2006 +++ xoops2jp/html/modules/legacy/preload/IPbanningFilter.class.php Sat Oct 14 23:55:26 2006 @@ -0,0 +1,29 @@ +<?php +/** + * @package Legacy + * @version $Id$ + */ + +if (!defined('XOOPS_ROOT_PATH')) exit(); + +/** + * This burns the access from the specific IP address, which is specified at + * the preference. + */ +class Base_IPbanningFilter extends XCube_ActionFilter +{ + function preBlockFilter() + { + if ($this->mRoot->mContext->getXoopsConfig('enable_badips')) { + if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR']) { + foreach ($this->mController->mConfig['bad_ips'] as $bi) { + if(!empty($bi) && strstr($_SERVER['REMOTE_ADDR'], $bi)!==false) { + die(); + } + } + } + } + } +} + +?> \ No newline at end of file Index: xoops2jp/html/modules/legacy/preload/Wating.class.php diff -u /dev/null xoops2jp/html/modules/legacy/preload/Wating.class.php:1.1.2.1 --- /dev/null Sat Oct 14 23:55:26 2006 +++ xoops2jp/html/modules/legacy/preload/Wating.class.php Sat Oct 14 23:55:26 2006 @@ -0,0 +1,90 @@ +<?php + +if (!defined('XOOPS_ROOT_PATH')) exit(); + +class Base_Wating extends XCube_ActionFilter { + function preBlockFilter() + { + $this->mController->mRoot->mDelegateManager->add('Legacyblock.Wating.Show',array(&$this,"callbackWatingShow")); + } + + function callbackWatingShow(&$modules) { + $xoopsDB =& Database::getInstance(); + // for News Module + $module_handler =& xoops_gethandler('module'); + if ($module_handler->getCount(new Criteria('dirname', 'news'))) { + $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("stories")." WHERE published=0"); + if ( $result ) { + $blockVal = array(); + $blockVal['adminlink'] = XOOPS_URL."/modules/news/admin/index.php?op=newarticle"; + list($blockVal['pendingnum']) = $xoopsDB->fetchRow($result); + $blockVal['lang_linkname'] = _MB_BASE_SUBMS; + $modules[] = $blockVal; + } + } + // for MyLinks Module + if ($module_handler->getCount(new Criteria('dirname', 'mylinks'))) { + $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mylinks_links")." WHERE status=0"); + if ( $result ) { + $blockVal = array(); + $blockVal['adminlink'] = XOOPS_URL."/modules/mylinks/admin/index.php?op=listNewLinks"; + list($blockVal['pendingnum']) = $xoopsDB->fetchRow($result); + $blockVal['lang_linkname'] = _MB_BASE_WLNKS; + $modules[] = $blockVal; + } + $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mylinks_broken")); + if ( $result ) { + $blockVal = array(); + $blockVal['adminlink'] = XOOPS_URL."/modules/mylinks/admin/index.php?op=listBrokenLinks"; + list($blockVal['pendingnum']) = $xoopsDB->fetchRow($result); + $blockVal['lang_linkname'] = _MB_BASE_BLNK; + $modules[] = $blockVal; + } + $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mylinks_mod")); + if ( $result ) { + $blockVal = array(); + $blockVal['adminlink'] = XOOPS_URL."/modules/mylinks/admin/index.php?op=listModReq"; + list($blockVal['pendingnum']) = $xoopsDB->fetchRow($result); + $blockVal['lang_linkname'] = _MB_BASE_MLNKS; + $modules[] = $blockVal; + } + } + // for MyDownloads Modules + if ($module_handler->getCount(new Criteria('dirname', 'mydownloads'))) { + $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE status=0"); + if ( $result ) { + $blockVal = array(); + $blockVal['adminlink'] = XOOPS_URL."/modules/mydownloads/admin/index.php?op=listNewDownloads"; + list($blockVal['pendingnum']) = $xoopsDB->fetchRow($result); + $blockVal['lang_linkname'] = _MB_BASE_WDLS; + $modules[] = $blockVal; + } + $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_broken").""); + if ( $result ) { + $blockVal = array(); + $blockVal['adminlink'] = XOOPS_URL."/modules/mydownloads/admin/index.php?op=listBrokenDownloads"; + list($blockVal['pendingnum']) = $xoopsDB->fetchRow($result); + $blockVal['lang_linkname'] = _MB_BASE_BFLS; + $modules[] = $blockVal; + } + $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_mod").""); + if ( $result ) { + $blockVal = array(); + $blockVal['adminlink'] = XOOPS_URL."/modules/mydownloads/admin/index.php?op=listModReq"; + list($blockVal['pendingnum']) = $xoopsDB->fetchRow($result); + $blockVal['lang_linkname'] = _MB_BASE_MFLS; + $modules[] = $blockVal; + } + } + // for Comments + $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("xoopscomments")." WHERE com_status=1"); + if ( $result ) { + $blockVal = array(); + $blockVal['adminlink'] = XOOPS_URL."/modules/base/admin/index.php?action=CommentList&com_modid=0&com_status=1"; + list($blockVal['pendingnum']) = $xoopsDB->fetchRow($result); + $blockVal['lang_linkname'] =_MB_BASE_COMPEND; + $modules[] = $blockVal; + } + } +} +?> Index: xoops2jp/html/modules/legacy/preload/ThemeSelect.class.php diff -u /dev/null xoops2jp/html/modules/legacy/preload/ThemeSelect.class.php:1.1.2.1 --- /dev/null Sat Oct 14 23:55:26 2006 +++ xoops2jp/html/modules/legacy/preload/ThemeSelect.class.php Sat Oct 14 23:55:26 2006 @@ -0,0 +1,72 @@ +<?php +/** + * @package Legacy + * @version $Id$ + */ + +if (!defined('XOOPS_ROOT_PATH')) exit(); + +/** + * Theme select mechanism is that base knows the method to change themes + * without RenderSystem. So this class uses delegate to check whether the + * specified theme is selectable. Functions should be added to this delegate in + * constructor, because the delegate is called in preBlockFilter(). + */ +class Base_ThemeSelect extends XCube_ActionFilter +{ + /** + * @var XCube_Delegate + */ + var $mIsSelectableTheme = null; + + function Base_ThemeSelect(&$controller) + { + // + // TODO remove + // + parent::XCube_ActionFilter($controller); + $this->mIsSelectableTheme =& new XCube_Delegate(); + $this->mIsSelectableTheme->register('Base_ThemeSelect.IsSelectableTheme'); + + $controller->mSetupUser->add(array(&$this, 'doChangeTheme')); + } + + function preBlockFilter() + { + $this->mController->mRoot->mDelegateManager->add("Site.CheckLogin.Success", "Base_ThemeSelect::callbackCheckLoginSuccess"); + } + + /** + * Because this process needs sessions, this functions is added to + * SiteLogin event. + * + * @param XoopsUser $xoopsUser Must parameter, because this is added to login event. + */ + function doChangeTheme(&$principal, &$controller, &$context) + { + if (!empty($_POST['xoops_theme_select']) && $this->_isSelectableTheme($_POST['xoops_theme_select'])) { + $this->mController->setTheme($_POST['xoops_theme_select']); + $_SESSION['xoopsUserTheme'] = $_POST['xoops_theme_select']; + } elseif (!empty($_SESSION['xoopsUserTheme']) && $this->_isSelectableTheme($_SESSION['xoopsUserTheme'])) { + $this->mController->setTheme($_SESSION['xoopsUserTheme']); + } + } + + function callbackCheckLoginSuccess(&$xoopsUser) + { + // + // Check Theme and set it to session. + // + $userTheme = $xoopsUser->get('theme'); + if (is_array($userTheme) && in_array($userTheme, $this->mRoot->mContext->getXoopsConfig('theme_set_allowed'))) { + $_SESSION['xoopsUserTheme'] = $userTheme; + } + } + + function _isSelectableTheme($theme_name) + { + return in_array($theme_name, $this->mRoot->mContext->getXoopsConfig('theme_set_allowed')); + } +} + +?> \ No newline at end of file Index: xoops2jp/html/modules/legacy/preload/index.html diff -u /dev/null xoops2jp/html/modules/legacy/preload/index.html:1.1.2.1 --- /dev/null Sat Oct 14 23:55:26 2006 +++ xoops2jp/html/modules/legacy/preload/index.html Sat Oct 14 23:55:26 2006 @@ -0,0 +1 @@ + <script>history.go(-1);</script> \ No newline at end of file Index: xoops2jp/html/modules/legacy/preload/IndexRedirector.class.php diff -u /dev/null xoops2jp/html/modules/legacy/preload/IndexRedirector.class.php:1.1.2.1 --- /dev/null Sat Oct 14 23:55:26 2006 +++ xoops2jp/html/modules/legacy/preload/IndexRedirector.class.php Sat Oct 14 23:55:26 2006 @@ -0,0 +1,28 @@ +<?php +/** + * @version $Id$ + */ + +if (!defined('XOOPS_ROOT_PATH')) exit(); + +class Base_IndexRedirector extends XCube_ActionFilter +{ + function preBlockFilter() + { + $this->mController->mRoot->mDelegateManager->add("Legacypage.Top.Access", array(&$this, "redirect")); + } + + function redirect() + { + $startPage = $this->mRoot->mContext->getXoopsConfig('startpage'); + if ($startPage != null && $startPage != "--") { + $handler =& xoops_gethandler('module'); + $module =& $handler->get($startPage); + if (is_object($module)) { + $this->mController->executeForward(XOOPS_URL . '/modules/' . $module->getShow('dirname') . '/'); + } + } + } +} + +?> \ No newline at end of file