Exemple #1
0
 function onSearchGetUserGroupPermissions($userGroupIds)
 {
     if (!$userGroupIds) {
         return array();
     }
     $result = SearchHelper::getUserGroupPermissions($userGroupIds);
     return $result;
 }
Exemple #2
0
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']) {
Exemple #3
0
 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;
}