exit;
} elseif ($operation == 'edit') {
    $return = isset($return) && $return ? 'admin' : '';
    if (empty($id)) {
        $grouplist = "<select name=\"id\" style=\"width: 150px\">\n";
        $conditions = !empty($anchor) && $anchor == 'system' ? "WHERE type='special'" : '';
        $query = $db->query("SELECT groupid, grouptitle FROM {$tablepre}usergroups {$conditions}");
        while ($group = $db->fetch_array($query)) {
            $grouplist .= "<option value=\"{$group['groupid']}\">{$group['grouptitle']}</option>\n";
        }
        $grouplist .= '</select>';
        cpmsg('usergroups_edit_nonexistence', $BASESCRIPT . '?action=usergroups&operation=edit' . (!empty($highlight) ? "&highlight={$highlight}" : '') . (!empty($highlight) ? "&anchor={$anchor}" : ''), 'form', $grouplist);
    }
    $group = $db->fetch_first("SELECT * FROM {$tablepre}usergroups WHERE groupid='{$id}'");
    if ($group['radminid'] > 0 && !isfounder()) {
        if (!checkacpaction('admingroups', '', false)) {
            cpmsg('usergroups_edit_fail', '', 'error');
        }
    }
    if (!submitcheck('detailsubmit') && !submitcheck('saveconfigsubmit')) {
        $projectselect = "<select name=\"projectid\" onchange=\"window.location='{$BASESCRIPT}?action=usergroups&operation=edit&id={$id}&projectid='+this.options[this.options.selectedIndex].value\"><option value=\"0\" selected=\"selected\">" . $lang['none'] . "</option>";
        $query = $db->query("SELECT id, name FROM {$tablepre}projects WHERE type='group'");
        while ($project = $db->fetch_array($query)) {
            $projectselect .= "<option value=\"{$project['id']}\" " . ($project['id'] == $projectid ? 'selected="selected"' : NULL) . ">{$project['name']}</option>";
        }
        $projectselect .= '</select>';
        if (!empty($projectid)) {
            $group = @array_merge($group, unserialize($db->result_first("SELECT value FROM {$tablepre}projects WHERE id='{$projectid}'")));
        }
        $group['exempt'] = strrev(sprintf('%0' . strlen($group['exempt']) . 'b', $group['exempt']));
        $anchor = in_array($anchor, array('basic', 'system', 'special', 'post', 'attach', 'magic', 'invite', 'credit')) ? $anchor : 'basic';
Example #2
0
            default:
                $extralog = '';
        }
        $extralog = trim(str_replace(array('GET={};', 'POST={};'), '', $extralog));
        $extralog = $action == 'home' && isset($securyservice) || $action == 'insenz' && in_array($operation, array('register', 'binding')) ? '' : $extralog;
        writelog('cplog', implode("\t", clearlogstring(array($timestamp, $discuz_userss, $adminid, $onlineip, $action, $extralog))));
        unset($extralog);
    }
    $isfounder = $adminsession->isfounder = isfounder();
    if (empty($action) || isset($frames)) {
        $extra = cpurl('url');
        $extra = $extra && $action ? $extra : (!empty($runwizard) ? 'action=runwizard' : 'action=home');
        require_once DISCUZ_ROOT . './admin/main.inc.php';
    } elseif ($action == 'logout') {
        $adminsession->destroy();
        dheader("Location: {$indexname}");
    } else {
        checkacpaction($action, $operation);
        if (in_array($action, array('home', 'settings', 'members', 'profilefields', 'admingroups', 'usergroups', 'ranks', 'forums', 'threadtypes', 'threads', 'moderate', 'attach', 'smilies', 'recyclebin', 'prune', 'styles', 'plugins', 'tasks', 'magics', 'medals', 'google', 'qihoo', 'video', 'announce', 'faq', 'ec', 'tradelog', 'creditwizard', 'jswizard', 'project', 'counter', 'misc', 'adv', 'insenz', 'logs', 'tools', 'checktools', 'search', 'upgrade')) || $isfounder && in_array($action, array('runwizard', 'templates', 'db'))) {
            require_once DISCUZ_ROOT . './admin/' . $action . '.inc.php';
            $title = 'cplog_' . $action . ($operation ? '_' . $operation : '');
            if (!in_array($action, array('home', 'custommenu')) && lang($title, false)) {
                strtolower($_SERVER['REQUEST_METHOD']) == 'get' && admincustom($title, cpurl('url'));
            }
        } else {
            cpheader();
            cpmsg('noaccess');
        }
        cpfooter();
    }
}