Ejemplo n.º 1
0
}
cpheader();
if (!$operation) {
    if (submitcheck('groupsubmit') && ($ids = dimplode($_GET['delete']))) {
        $gids = array();
        $query = C::t('common_usergroup')->fetch_all_by_groupid($_GET['delete']);
        foreach ($query as $g) {
            $gids[] = $g['groupid'];
        }
        if ($gids) {
            C::t('common_usergroup')->delete($gids);
            C::t('common_usergroup_field')->delete($gids);
            C::t('common_admingroup')->delete($gids);
            $newgroupid = C::t('common_usergroup')->fetch_new_groupid();
            C::t('common_member')->update_by_groupid($gids, array('groupid' => $newgroupid, 'adminid' => '0'), 'UNBUFFERED');
            deletegroupcache($gids);
        }
    }
    $grouplist = C::t('common_admingroup')->fetch_all_merge_usergroup();
    if (!submitcheck('groupsubmit')) {
        shownav('user', 'nav_admingroups');
        showsubmenu('nav_admingroups');
        showtips('admingroup_tips');
        showformheader('admingroup');
        showtableheader('', 'fixpadding');
        showsubtitle(array('', 'usergroups_title', '', 'type', 'admingroup_level', 'usergroups_stars', 'usergroups_color', '<input class="checkbox" type="checkbox" name="gbcmember" onclick="checkAll(\'value\', this.form, \'gbmember\', \'gbcmember\', 1)" /> <a href="javascript:;" onclick="if(getmultiids()) location.href=\'' . ADMINSCRIPT . '?action=usergroups&operation=edit&multi=\' + getmultiids();return false;">' . $lang['multiedit'] . '</a>', '<input class="checkbox" type="checkbox" name="gpcmember" onclick="checkAll(\'value\', this.form, \'gpmember\', \'gpcmember\', 1)" /> <a href="javascript:;" onclick="if(getmultiids()) location.href=\'' . ADMINSCRIPT . '?action=admingroup&operation=edit&multi=\' + getmultiids();return false;">' . $lang['multiedit'] . '</a>'));
        foreach ($grouplist as $gid => $group) {
            $adminidselect = '<select name="newradminid[' . $group['groupid'] . ']">';
            for ($i = 1; $i <= 3; $i++) {
                $adminidselect .= '<option value="' . $i . '"' . ($i == $group['radminid'] ? ' selected="selected"' : '') . '>' . $lang['usergroups_system_' . $i] . '</option>';
            }
            }
            if (is_array($_G['gp_group_title'])) {
                foreach ($_G['gp_group_title'] as $id => $title) {
                    if (!$_G['gp_delete'][$id]) {
                        DB::query("UPDATE " . DB::table('common_usergroup') . " SET grouptitle='{$_G['gp_group_title'][$id]}', stars='{$_G['gp_group_stars'][$id]}', color='{$_G['gp_group_color'][$id]}' WHERE groupid='{$id}'");
                        DB::update('forum_onlinelist', array('title' => $_G['gp_group_title'][$id]), "groupid='{$id}'");
                    }
                }
            }
            if ($ids = dimplode($_G['gp_delete'])) {
                DB::query("DELETE FROM " . DB::table('common_usergroup') . " WHERE groupid IN ({$ids}) AND type='special'");
                DB::delete('forum_onlinelist', "groupid IN ({$ids})");
                DB::query("DELETE FROM " . DB::table('common_admingroup') . " WHERE admingid IN ({$ids})");
                $newgroupid = DB::result_first("SELECT groupid FROM " . DB::table('common_usergroup') . " WHERE type='member' AND creditslower>'0' ORDER BY creditslower LIMIT 1");
                DB::query("UPDATE " . DB::table('common_member') . " SET groupid='{$newgroupid}', adminid='0' WHERE groupid IN ({$ids})", 'UNBUFFERED');
                deletegroupcache($_G['gp_delete']);
            }
        } elseif ($_G['gp_type'] == 'system') {
            if (is_array($_G['gp_group_title'])) {
                foreach ($_G['gp_group_title'] as $id => $title) {
                    DB::query("UPDATE " . DB::table('common_usergroup') . " SET grouptitle='{$_G['gp_group_title'][$id]}', stars='{$_G['gp_group_stars'][$id]}', color='{$_G['gp_group_color'][$id]}', icon='{$_G['gp_group_icon'][$id]}' WHERE groupid='{$id}'");
                    DB::update('forum_onlinelist', array('title' => $_G['gp_group_title'][$id]), "groupid='{$id}'");
                }
            }
        }
        updatecache(array('usergroups', 'onlinelist', 'groupreadaccess'));
        cpmsg('usergroups_update_succeed', 'action=usergroups&type=' . $_G['gp_type'], 'succeed');
    }
} elseif ($operation == 'viewsgroup') {
    $sgroupid = $_G['gp_sgroupid'];
    $num = DB::result_first("SELECT COUNT(*) FROM " . DB::table('common_member') . " WHERE groupid='{$sgroupid}'");
            }
            if (is_array($_GET['group_title'])) {
                foreach ($_GET['group_title'] as $id => $title) {
                    if (!$_GET['delete'][$id]) {
                        C::t('common_usergroup')->update($id, array('grouptitle' => $_GET['group_title'][$id], 'stars' => $_GET['group_stars'][$id], 'color' => $_GET['group_color'][$id]));
                        C::t('forum_onlinelist')->update_by_groupid($id, array('title' => $_GET['group_title'][$id]));
                    }
                }
            }
            if ($ids = $_GET['delete']) {
                C::t('common_usergroup')->delete($ids, 'special');
                C::t('forum_onlinelist')->delete_by_groupid($ids);
                C::t('common_admingroup')->delete($ids);
                $newgroupid = C::t('common_usergroup')->fetch_new_groupid();
                C::t('common_member')->update_by_groupid($ids, array('groupid' => $newgroupid, 'adminid' => '0'));
                deletegroupcache($ids);
            }
        } elseif ($_GET['type'] == 'system') {
            if (is_array($_GET['group_title'])) {
                foreach ($_GET['group_title'] as $id => $title) {
                    C::t('common_usergroup')->update($id, array('grouptitle' => $_GET['group_title'][$id], 'stars' => $_GET['group_stars'][$id], 'color' => $_GET['group_color'][$id]));
                    C::t('forum_onlinelist')->update_by_groupid($id, array('title' => $_GET['group_title'][$id]));
                }
            }
        }
        updatecache(array('usergroups', 'onlinelist', 'groupreadaccess'));
        cpmsg('usergroups_update_succeed', 'action=usergroups&type=' . $_GET['type'], 'succeed');
    }
} elseif ($operation == 'viewsgroup') {
    $sgroupid = $_GET['sgroupid'];
    $num = C::t('common_member')->count_by_groupid($sgroupid);
Ejemplo n.º 4
0
                }
            }
            if (is_array($group_title)) {
                foreach ($group_title as $id => $title) {
                    if (!$delete[$id]) {
                        $db->query("UPDATE {$tablepre}usergroups SET grouptitle='{$group_title[$id]}', stars='{$group_stars[$id]}', color='{$group_color[$id]}', groupavatar='{$group_avatar[$id]}' WHERE groupid='{$id}'");
                    }
                }
            }
            if ($ids = implodeids($delete)) {
                $db->query("DELETE FROM {$tablepre}usergroups WHERE groupid IN ({$ids}) AND type='special'");
                $db->query("DELETE FROM {$tablepre}admingroups WHERE admingid IN ({$ids})");
                $db->query("DELETE FROM {$tablepre}adminactions WHERE admingid IN ({$ids})");
                $newgroupid = $db->result_first("SELECT groupid FROM {$tablepre}usergroups WHERE type='member' AND creditslower>'0' ORDER BY creditslower LIMIT 1");
                $db->query("UPDATE {$tablepre}members SET groupid='{$newgroupid}', adminid='0' WHERE groupid IN ({$ids})", 'UNBUFFERED');
                deletegroupcache($delete);
            }
        } elseif ($type == 'system') {
            if (is_array($group_title)) {
                foreach ($group_title as $id => $title) {
                    $db->query("UPDATE {$tablepre}usergroups SET grouptitle='{$group_title[$id]}', stars='{$group_stars[$id]}', color='{$group_color[$id]}', groupavatar='{$group_avatar[$id]}' WHERE groupid='{$id}'");
                }
            }
        }
        updatecache('usergroups');
        cpmsg('usergroups_update_succeed', $BASESCRIPT . '?action=usergroups&type=' . $type, 'succeed');
    }
} elseif ($operation == 'viewsgroup') {
    $num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}members WHERE groupid='{$sgroupid}'");
    $query = $db->query("SELECT uid, username FROM {$tablepre}members WHERE groupid='{$sgroupid}' LIMIT 80");
    $sgroups = '';