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';
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(); } }