function onSearchGetUserGroupPermissions($userGroupIds) { if (!$userGroupIds) { return array(); } $result = SearchHelper::getUserGroupPermissions($userGroupIds); return $result; }
foreach ($_extgroupids as $v) { if ($v) { $my_extgroupids[] = $v; } } $my_extgroupids_str = implode(',', $my_extgroupids); $params = array('sId' => $_G['setting']['my_siteid'], 'ts' => time(), 'cuId' => $_G['uid'], 'cuName' => $_G['username'], 'gId' => $_G['groupid'], 'agId' => $_G['adminid'], 'egIds' => $my_extgroupids_str, 'fmSign' => substr($my_forums['sign'], -4)); $groupIds = explode(',', $_G['groupid']); if ($_G['adminid']) { $groupIds[] = $_G['adminid']; } if ($my_extgroupids) { $groupIds = array_merge($groupIds, $my_extgroupids); } $groupIds = array_unique($groupIds); $userGroups = SearchHelper::getUserGroupPermissions($groupIds); foreach ($groupIds as $k => $v) { $value = substr($userGroups[$v]['sign'], -4); if ($value) { $params['ugSign' . $v] = $value; } } $params['sign'] = md5(implode('|', $params) . '|' . $_G['setting']['my_sitekey']); $extra = array('q', 'fId', 'author', 'scope', 'source', 'module', 'isAdv'); foreach ($extra as $v) { if ($_GET[$v]) { $params[$v] = $_GET[$v]; } } $params['charset'] = $_G['charset']; if ($_G['setting']['my_search_domain']) {
function getGuestPerm($gfIds = array()) { $perm = SearchHelper::getUserGroupPermissions(array(7)); $guestPerm = $perm[7]; if ($gfIds) { $sql = 'SELECT fid, gviewperm FROM ' . DB::table('forum_forumfield') . ' WHERE fid IN (' . implode(',', $gfIds) . ')'; $query = DB::query($sql); while ($row = DB::fetch($query)) { if ($row['gviewperm'] == 1) { $guestPerm['allowForumIds'][] = $row['fid']; } else { $guestPerm['forbidForumIds'][] = $row['fid']; } } } return $guestPerm; }
function search_get_usergroups($groupIds) { global $_G; require_once DISCUZ_ROOT . './api/manyou/Manyou.php'; $missGroupIds = array(); $res = array(); foreach ($groupIds as $groupId) { $kname = 'search_group_hash_' . $groupId; loadcache($kname); if (TIMESTAMP - $_G['cache'][$kname]['ts'] > 21600) { $missGroupIds[] = $groupId; } else { $res[$groupId]['sign'] = $_G['cache'][$kname]['sign']; } } if ($missGroupIds) { $userGroups = SearchHelper::getUserGroupPermissions($missGroupIds); foreach ($userGroups as $groupId => $userGroup) { $kname = $kname = 'search_group_hash_' . $groupId; $data = array('ts' => TIMESTAMP, 'sign' => $userGroup['sign']); save_syscache($kname, $data); $res[$groupId]['sign'] = $userGroup['sign']; } } return $res; }