Пример #1
0
}
$_G['mnid'] = 'mn_group';
if (!$_G['uid']) {
    showmessage('to_login', null, array(), array('showmsg' => true, 'login' => 1));
}
require_once libfile('function/group');
$view = $_GET['view'] && in_array($_GET['view'], array('manager', 'join', 'groupthread', 'mythread')) ? $_GET['view'] : 'groupthread';
$actives = array('manager' => '', 'join' => '', 'groupthread' => '', 'mythread' => '');
$actives[$view] = ' class="a"';
$perpage = 20;
$page = intval($_GET['page']) ? intval($_GET['page']) : 1;
$start = ($page - 1) * $perpage;
if ($view == 'groupthread' || $view == 'mythread') {
    $typeid = intval($_GET['typeid']);
    $attentiongroups = $usergroups = array();
    $usergroups = update_usergroups($_G['uid']);
    if ($view == 'groupthread' && empty($typeid) && !empty($usergroups['grouptype'])) {
        $attentiongroup = $_G['member']['attentiongroup'];
        if (empty($attentiongroup)) {
            $attentiongroups = array_slice(array_keys($usergroups['groups']), 0, 1);
        } else {
            $attentiongroups = explode(',', $attentiongroup);
        }
        $attentionthread = $attentiongroup_icon = array();
        $attentiongroupfid = '';
        $query = C::t('forum_forum')->fetch_all_info_by_fids($attentiongroups);
        foreach ($query as $row) {
            $attentiongroup_icon[$row[fid]] = get_groupimg($row['icon'], 'icon');
        }
        foreach ($attentiongroups as $groupid) {
            $attentiongroupfid .= $attentiongroupfid ? ',' . $groupid : $groupid;
Пример #2
0
     } else {
         $muser = getgpc('muid');
         $targetlevel = $_G['gp_targetlevel'];
         if ($muser && is_array($muser)) {
             foreach ($muser as $muid => $mlevel) {
                 if ($_G['adminid'] != 1 && $_G['forum']['founderuid'] != $_G['uid'] && $groupmanagers[$muid] && $groupmanagers[$muid]['level'] <= $groupuser['level']) {
                     showmessage('group_member_level_admin_noallowed.', $url);
                 }
                 if ($_G['adminid'] == 1 || $muid != $_G['uid'] && ($_G['forum']['founderuid'] == $_G['uid'] || !$groupmanagers[$muid] || $groupmanagers[$muid]['level'] > $groupuser['level'])) {
                     if ($targetlevel != 5) {
                         DB::query("UPDATE " . DB::table('forum_groupuser') . " SET level='{$targetlevel}' WHERE uid='{$muid}' AND fid='{$_G['fid']}'");
                     } else {
                         if (!$groupmanagers[$muid] || count($groupmanagers) > 1) {
                             DB::query("DELETE FROM " . DB::table('forum_groupuser') . " WHERE uid='{$muid}' AND fid='{$_G['fid']}'");
                             DB::query("UPDATE " . DB::table('forum_forumfield') . " SET membernum=membernum+'-1' WHERE fid='{$_G['fid']}'");
                             update_usergroups($muid);
                         } else {
                             showmessage('group_only_one_moderator', $url);
                         }
                     }
                 }
             }
             update_groupmoderators($_G['fid']);
             showmessage('group_setup_succeed', $url . '&page=' . $page);
         } else {
             showmessage('group_choose_member', $url);
         }
     }
 } elseif ($_G['gp_op'] == 'threadtype') {
     if (empty($specialswitch['allowthreadtype'])) {
         showmessage('group_level_cannot_do');