/**
 +----------------------------------------------------------
 * 默认操作
 +----------------------------------------------------------
 */
 public function index()
 {
     import("ORG.Util.Page");
     $AdminU = M('ausers');
     $page_size = $page_szie == 0 ? C('ADMIN_PAGE_SIZE') : $page_szie;
     $count = $AdminU->count();
     // 查询满足要求的总记录数
     $Page = new Page($count, $page_size);
     // 实例化分页类传入总记录数和每页显示的记录数
     $show = $Page->show();
     // 分页显示输出
     $fields = "id,user_name,u_group_id,real_name,is_ban,area_name,is_kf,qq,phone,land_line";
     $order = "id DESC,u_group_id DESC";
     $list = $AdminU->field($fields)->order($order)->limit($Page->firstRow . ',' . $Page->listRows)->select();
     $AdminUserList = $list;
     $GroupArr = get_group_data();
     foreach ($AdminUserList as $key => $v) {
         $AdminUserList[$key]['groupname'] = $GroupArr[$v['u_group_id']]['groupname'];
     }
     $this->assign('position', '管理员管理');
     $this->assign('pagebar', $show);
     $this->assign('admin_list', $AdminUserList);
     $this->assign('arealist', M("area")->field("id,name")->where("is_open=1")->select());
     $this->assign('group_list', $GroupArr);
     $this->display();
 }
Example #2
0
    } else {
        $www = '';
    }
    return;
}
$user->session_start(array('req_login' => true));
set_die_append_msg();
$group_id = isset($_REQUEST[POST_GROUPS_URL]) ? intval($_REQUEST[POST_GROUPS_URL]) : null;
$start = isset($_REQUEST['start']) ? abs(intval($_REQUEST['start'])) : 0;
$per_page = $bb_cfg['group_members_per_page'];
$view_mode = isset($_REQUEST['view']) ? (string) $_REQUEST['view'] : null;
$rel_limit = 50;
$group_info = array();
$is_moderator = false;
if ($group_id) {
    if (!($group_info = get_group_data($group_id))) {
        bb_die($lang['GROUP_NOT_EXIST']);
    }
    if (!$group_info['group_id'] || !$group_info['group_moderator'] || !$group_info['moderator_name']) {
        bb_die("Invalid group data [group_id: {$group_id}]");
    }
    $is_moderator = $userdata['user_id'] == $group_info['group_moderator'] || IS_ADMIN;
}
if (!$group_id) {
    // Show the main screen where the user can select a group.
    $groups = array();
    $pending = 10;
    $member = 20;
    $sql = "\n\t\tSELECT\n\t\t\tg.group_name, g.group_description, g.group_id, g.group_type, g.release_group,\n\t\t\tIF(ug.user_id IS NOT NULL, IF(ug.user_pending = 1, {$pending}, {$member}), 0) AS membership,\n\t\t\tg.group_moderator, u.username AS moderator_name,\n\t\t\tIF(g.group_moderator = ug.user_id, 1, 0) AS is_group_mod,\n\t\t\tCOUNT(ug2.user_id) AS members, SUM(ug2.user_pending) AS candidates\n\t\tFROM\n\t\t\t" . BB_GROUPS . " g\n\t\tLEFT JOIN\n\t\t\t" . BB_USER_GROUP . " ug ON\n\t\t\t    ug.group_id = g.group_id\n\t\t\tAND ug.user_id = " . $userdata['user_id'] . "\n\t\tLEFT JOIN\n\t\t\t" . BB_USER_GROUP . " ug2 ON\n\t\t\t    ug2.group_id = g.group_id\n\t\tLEFT JOIN\n\t\t\t" . BB_USERS . " u ON g.group_moderator = u.user_id\n\t\tWHERE\n\t\t\tg.group_single_user = 0\n\t\tGROUP BY g.group_id\n\t\tORDER BY\n\t\t\tis_group_mod DESC,\n\t\t\tmembership   DESC,\n\t\t\tg.group_type ASC,\n\t\t\tg.group_name ASC\n\t";
    foreach (DB()->fetch_rowset($sql) as $row) {
        if ($row['is_group_mod']) {
Example #3
0
function get_user_acl($uid = "")
{
    $model = strtolower(MODULE_NAME);
    if (empty($uid)) {
        return false;
    }
    $gid = M('ausers')->field('u_group_id')->find($uid);
    $al = get_group_data($gid['u_group_id']);
    $acl = $al['controller'];
    $acl_key = acl_get_key();
    if (array_keys($acl[$model], $acl_key)) {
        return true;
    } else {
        return false;
    }
}
<?php

if (!defined('IN_AJAX')) {
    die(basename(__FILE__));
}
global $bb_cfg, $userdata, $lang;
if (!($group_id = intval($this->request['group_id'])) or !($group_info = get_group_data($group_id))) {
    $this->ajax_die($lang['NO_GROUP_ID_SPECIFIED']);
}
if (!($mode = (string) $this->request['mode'])) {
    $this->ajax_die('No mode specified');
}
$value = $this->request['value'] = (string) isset($this->request['value']) ? $this->request['value'] : 0;
if (!IS_ADMIN && $userdata['user_id'] != $group_info['group_moderator']) {
    $this->ajax_die($lang['ONLY_FOR_MOD']);
}
switch ($mode) {
    case 'group_name':
    case 'group_signature':
    case 'group_description':
        $value = htmlCHR($value, false, ENT_NOQUOTES);
        $this->response['new_value'] = $value;
        break;
    case 'group_type':
        $this->response['new_value'] = $value;
        break;
    case 'release_group':
        $this->response['new_value'] = $value;
        break;
    case 'delete_avatar':
        delete_avatar(GROUP_AVATAR_MASK . $group_id, $group_info['avatar_ext_id']);
Example #5
0
			<option value="admin" selected="selected">' . $lang['AUTH_ADMIN'] . '</option>
			<option value="user">' . $lang['AUTH_USER'] . '</option>
		</select>
	' : '
		<select name="userlevel">
			<option value="admin">' . $lang['AUTH_ADMIN'] . '</option>
			<option value="user" selected="selected">' . $lang['AUTH_USER'] . '</option>
		</select>
	';
    $template->assign_block_vars('switch_user_auth', array());
    $template->assign_vars(array('TPL_AUTH_UG_MAIN' => true, 'USER_OR_GROUPNAME' => $this_userdata['username'], 'USER_LEVEL' => $lang['USER_LEVEL'] . ' : ' . $s_user_type, 'USER_GROUP_MEMBERSHIPS' => $lang['GROUP_MEMBERSHIPS']));
    $template->assign_vars(array('T_USER_OR_GROUPNAME' => $lang['USERNAME'], 'T_AUTH_TITLE' => $lang['AUTH_CONTROL_USER'], 'T_AUTH_EXPLAIN' => $lang['USER_AUTH_EXPLAIN'], 'S_COLUMN_SPAN' => $s_column_span, 'S_HIDDEN_FIELDS' => $s_hidden_fields));
} else {
    if ($mode == 'group' && $group_id) {
        $page_cfg['quirks_mode'] = true;
        if (!($group_data = get_group_data($group_id))) {
            bb_die($lang['GROUP_NOT_EXIST']);
        }
        if (!($forums = $datastore->get('cat_forums'))) {
            $datastore->update('cat_forums');
            $forums = $datastore->get('cat_forums');
        }
        $base_url = basename(__FILE__) . "?mode=group&amp;g={$group_id}";
        $ug_data = array('group_id' => $group_id);
        $u_access = auth(AUTH_ALL, AUTH_LIST_ALL, $ug_data);
        foreach ($forums['c'] as $c_id => $c_data) {
            $template->assign_block_vars('c', array('CAT_ID' => $c_id, 'CAT_TITLE' => $forums['cat_title_html'][$c_id], 'CAT_HREF' => "{$base_url}&amp;c={$c_id}"));
            if (!($c =& $_REQUEST['c']) or !in_array($c, array('all', $c_id)) or empty($c_data['forums'])) {
                continue;
            }
            foreach ($c_data['forums'] as $f_id) {
Example #6
0
}
// Sort direction
$sort_opt = array($sort_asc => array('lang' => $lang['ASC'], 'sql' => 'ASC'), $sort_desc => array('lang' => $lang['DESC'], 'sql' => 'DESC'));
// Previous days
$time_opt = array($search_all => array('lang' => $lang['BT_ALL_DAYS_FOR'], 'sql' => 0), 1 => array('lang' => $lang['BT_1_DAY_FOR'], 'sql' => TIMENOW - 86400), 3 => array('lang' => $lang['BT_3_DAY_FOR'], 'sql' => TIMENOW - 86400 * 3), 7 => array('lang' => $lang['BT_7_DAYS_FOR'], 'sql' => TIMENOW - 86400 * 7), 14 => array('lang' => $lang['BT_2_WEEKS_FOR'], 'sql' => TIMENOW - 86400 * 14), 30 => array('lang' => $lang['BT_1_MONTH_FOR'], 'sql' => TIMENOW - 86400 * 30));
$time_select = array();
foreach ($time_opt as $val => $opt) {
    $time_select[$opt['lang']] = $val;
}
// Seeder not seen
$s_not_seen_opt = array($search_all => array('lang' => $lang['BT_DISREGARD'], 'sql' => 0), 1 => array('lang' => $lang['BT_1_DAY'], 'sql' => TIMENOW - 86400), 3 => array('lang' => $lang['BT_3_DAYS'], 'sql' => TIMENOW - 86400 * 3), 7 => array('lang' => $lang['BT_7_DAYS'], 'sql' => TIMENOW - 86400 * 7), 14 => array('lang' => $lang['BT_2_WEEKS'], 'sql' => TIMENOW - 86400 * 14), 30 => array('lang' => $lang['BT_1_MONTH'], 'sql' => TIMENOW - 86400 * 30), $never => array('lang' => $lang['BT_NEVER'], 'sql' => 0));
$s_not_seen_select = array();
foreach ($s_not_seen_opt as $val => $opt) {
    $s_not_seen_select[$opt['lang']] = $val;
}
if ($release_groups = get_group_data('all')) {
    $s_rg_opt = array($search_all => array('lang' => $lang['CHOOSE_RELEASE_GROUP'], 'sql' => 0));
    foreach ($release_groups as $rg) {
        if ($rg['release_group']) {
            $s_rg_opt[$rg['group_id']] = array('lang' => $rg['group_name'], 'sql' => $rg['group_id']);
        }
    }
    foreach ($s_rg_opt as $val => $opt) {
        $s_release_group_select[$opt['lang']] = $val;
    }
} else {
    $s_rg_opt = '';
    $s_release_group_select = array($lang['CHOOSE_RELEASE_GROUP'] => 0);
}
$GPC = array('all_words' => array('allw', 1, CHBOX), 'active' => array('a', 0, CHBOX), 'cat' => array('c', null, REQUEST), 'dl_cancel' => array('dla', 0, CHBOX), 'dl_compl' => array('dlc', 0, CHBOX), 'dl_down' => array('dld', 0, CHBOX), 'dl_will' => array('dlw', 0, CHBOX), 'forum' => array('f', $search_all, REQUEST), 'my' => array('my', 0, CHBOX), 'new' => array('new', 0, CHBOX), 'title_match' => array('nm', null, REQUEST), 'order' => array('o', $ord_posted, SELECT), 'poster_id' => array('pid', null, GET), 'poster_name' => array('pn', null, REQUEST), 'user_releases' => array('rid', null, GET), 'sort' => array('s', $sort_desc, SELECT), 'seed_exist' => array('sd', 0, CHBOX), 'show_author' => array('da', 1, CHBOX), 'show_cat' => array('dc', 0, CHBOX), 'show_forum' => array('df', 1, CHBOX), 'show_speed' => array('ds', 0, CHBOX), 's_rg' => array('srg', $search_all, SELECT), 's_not_seen' => array('sns', $search_all, SELECT), 'time' => array('tm', $search_all, SELECT), 'tor_type' => array('tor_type', 0, CHBOX), 'hash' => array('hash', null, REQUEST));
// Define all GPC vars with default values