Minahito
minah****@users*****
2006年 11月 7日 (火) 17:04:33 JST
Index: xoops2jp/html/modules/base/service/LegacySearchService.class.php diff -u xoops2jp/html/modules/base/service/LegacySearchService.class.php:1.1.2.8.2.4 xoops2jp/html/modules/base/service/LegacySearchService.class.php:removed --- xoops2jp/html/modules/base/service/LegacySearchService.class.php:1.1.2.8.2.4 Sat Oct 14 02:52:39 2006 +++ xoops2jp/html/modules/base/service/LegacySearchService.class.php Tue Nov 7 17:04:33 2006 @@ -1,252 +0,0 @@ -<?php - -if (!defined('XOOPS_ROOT_PATH')) exit(); - -class Legacy_SearchModule extends XCube_Object -{ - function getPropertyDefinition() - { - $ret = array( - S_PUBLIC_VAR("int mid"), - S_PUBLIC_VAR("string name") - ); - - return $ret; - } -} - -class Legacy_SearchModuleArray extends XCube_ObjectArray -{ - function getClassName() - { - return "Legacy_SearchModule"; - } -} - - -class Legacy_SearchItem extends XCube_Object -{ - function getPropertyDefinition() - { - $ret = array( - S_PUBLIC_VAR("string image"), - S_PUBLIC_VAR("string link"), - S_PUBLIC_VAR("string title"), - S_PUBLIC_VAR("int uid"), - S_PUBLIC_VAR("int time") - ); - - return $ret; - } -} - -class Legacy_SearchItemArray extends XCube_ObjectArray -{ - function getClassName() - { - return "Legacy_SearchItem"; - } -} - -class Legacy_SearchModuleResult extends XCube_Object -{ - function getPropertyDefinition() - { - $ret = array( - S_PUBLIC_VAR("int mid"), - S_PUBLIC_VAR("string name"), - S_PUBLIC_VAR("int has_more"), - S_PUBLIC_VAR("Legacy_SearchItemArray results"), - S_PUBLIC_VAR("string showall_link") - ); - - return $ret; - } -} - -class Legacy_SearchModuleResultArray extends XCube_ObjectArray -{ - function getClassName() - { - return "Legacy_SearchModuleResult"; - } -} - -class Legacy_ArrayOfInt extends XCube_ObjectArray -{ - function getClassName() - { - return "int"; - } -} - -class Legacy_ArrayOfString extends XCube_ObjectArray -{ - function getClassName() - { - return "string"; - } -} - -/** - * Sample class - */ -class Legacy_SearchService extends XCube_Service -{ - var $mServiceName = "Legacy_SearchService"; - var $mNameSpace = "Legacy"; - var $mClassName = "Legacy_SearchService"; - - function prepare() - { - $this->addType('Legacy_SearchModule'); - $this->addType('Legacy_SearchModuleArray'); - $this->addType('Legacy_SearchItem'); - $this->addType('Legacy_SearchItemArray'); - $this->addType('Legacy_SearchModuleResult'); - $this->addType('Legacy_SearchModuleResultArray'); - $this->addType('Legacy_ArrayOfInt'); - $this->addType('Legacy_ArrayOfString'); - - $this->addFunction(S_PUBLIC_FUNC('Legacy_SearchItemArray searchItems(int mid, Legacy_ArrayOfString queries, string andor, int maxhit, int start)')); - $this->addFunction(S_PUBLIC_FUNC('Legacy_SearchItemArray searchItemsOfUser(int mid, int uid, int maxhit, int start)')); - $this->addFunction(S_PUBLIC_FUNC('Legacy_SearchModuleArray getActiveModules()')); - } - - function getActiveModules() - { - // - // At first, get active module IDs. - // - $handler =& xoops_gethandler('module'); - - $criteria =& new CriteriaCompo(); - $criteria->add(new Criteria('isactive', 1)); - $criteria->add(new Criteria('hassearch', 1)); - $moduleArr =& $handler->getObjects($criteria); - - - $handler =& xoops_gethandler('groupperm'); - $groupArr = Legacy_SearchUtils::getUserGroups(); - - $ret = array(); - foreach ($moduleArr as $module) { - if ($handler->checkRight('module_read', $module->get('mid'), $groupArr)) { - $ret[] = array( - 'mid' => $module->get('mid'), - 'name' => $module->get('name') - ); - } - } - - return $ret; - } - - function searchItems() - { - // - // TODO Need validation - // - $root =& XCube_Root::getSingleton(); - $request =& $root->mContext->mRequest; - - $mid = intval($request->getRequest('mid')); - $queries = $request->getRequest('queries'); - $andor = $request->getRequest('andor'); - $maxhit = intval($request->getRequest('maxhit')); - $start = intval($request->getRequest('start')); - - $ret = $this->_searchItems($mid, $queries, $andor, $maxhit, $start, 0); - - return $ret; - } - - function searchItemsOfUser() - { - // - // TODO Need validation - // - $root =& XCube_Root::getSingleton(); - $request =& $root->mContext->mRequest; - - $mid = intval($request->getRequest('mid')); - $maxhit = intval($request->getRequest('maxhit')); - $start = intval($request->getRequest('start')); - $uid = intval($request->getRequest('uid')); - - $ret = $this->_searchItems($mid, null, 'and', $maxhit, $start, $uid); - - return $ret; - } - - /** - * @access private - */ - function _searchItems($mid, $queries, $andor, $max_hit, $start, $uid) - { - $modleArr = $this->getActiveModules(); - - $flag = false; - foreach ($modleArr as $module) { - if ($mid == $module['mid']) { - $flag = true; - break; - } - } - - if (!$flag) { - return $ret; - } - - $root =& XCube_Root::getSingleton(); - $timezone = $root->mContext->getXoopsConfig('server_TZ') * 3600; - - $handler =& xoops_gethandler('module'); - $xoopsModule =& $handler->get($mid); - if (!is_object($xoopsModule)) { - return $ret; - } - - if (!$xoopsModule->get('isactive') || !$xoopsModule->get('hassearch')) { - return $ret; - } - - $module =& Legacy_Utils::createModule($xoopsModule); - $results = $module->doLegacyGlobalSearch($queries, $andor, $max_hit, $start, $uid); - - if (is_array($results) && count($results) > 0) { - foreach (array_keys($results) as $key) { - // - // TODO If this service will come to web service, we should - // change format from unixtime to string by timeoffset. - // - if ($results[$key]['time'] != 0) { - $results[$key]['time'] = $results[$key]['time'] - $timezone; - } - } - } - - return $results; - } -} - -class Legacy_SearchUtils -{ - function getUserGroups() - { - $root =& XCube_Root::getSingleton(); - $user =& $root->mController->mRoot->mContext->mXoopsUser; - $groups = array(); - - if (!is_object($user)) { - $groups = XOOPS_GROUP_ANONYMOUS; - } - else { - $groups = $user->getGroups(); - } - - return $groups; - } -} - -?> \ No newline at end of file Index: xoops2jp/html/modules/base/service/index.html diff -u xoops2jp/html/modules/base/service/index.html:1.1.2.1 xoops2jp/html/modules/base/service/index.html:removed --- xoops2jp/html/modules/base/service/index.html:1.1.2.1 Mon Mar 27 11:41:48 2006 +++ xoops2jp/html/modules/base/service/index.html Tue Nov 7 17:04:33 2006 @@ -1 +0,0 @@ - <script>history.go(-1);</script> \ No newline at end of file