📄 logs.inc.php
字号:
$log[8],
$log[9]
));
}
} elseif($operation == 'cp') {
showtablerow('', array('class="td23"','class="td23"','class="td23"','class="td24"','class="td24"', ''), array(
lang('operator'),
lang('usergroup'),
lang('ip'),
lang('time'),
lang('action'),
lang('other')
));
foreach($logs as $logrow) {
$log = explode("\t", $logrow);
if(empty($log[1])) {
continue;
}
$log[1] = gmdate('y-n-j H:i', $log[1] + $timeoffset * 3600);
$log[2] = stripslashes($log[2]);
$log[2] = "<a href=\"space.php?username=".rawurlencode($log[2])."\" target=\"_blank\">".($log[2] != $discuz_userss ? "<b>$log[2]</b>" : $log[2])."</a>";
$log[3] = $usergroup[$log[3]];
$log[4] = $allowviewip ? $log[4] : '-';
$log[5] = $lang['cplog_'.rtrim($log[5])];
$log[6] = cutstr($log[6], 200);
showtablerow('', array('class="bold"'), array($log[2], $log[3], $log[4], $log[1], $log[5], $log[6]));
}
} elseif($operation == 'error') {
showtablerow('', array('class="td23"', 'class="td24"', 'class="td24"'), array(
lang('type'),
lang('username'),
lang('time'),
lang('message'),
));
foreach($logs as $logrow) {
$log = explode("\t", $logrow);
if(empty($log[1])) {
continue;
}
$log[1] = gmdate('y-n-j H:i', $log[1] + $timeoffset * 3600);
$tmp = explode('<br />', $log[3]);
$username = $tmp[1] ? "<a href=\"space.php?username=".rawurlencode($tmp[0])."\" target=\"_blank\">$tmp[0]</a>" : '';
$ip = $tmp[1] ? $tmp[1] : $tmp[0];
showtablerow('', array('class="bold"'), array(
$log[2],
($username ? $username."<br />" : '').$ip,
$log[1],
$log[4]
));
}
} elseif($operation == 'invite') {
if(!submitcheck('invitesubmit')) {
showtablerow('', array('width="35"','class="td23"','class="td24"','class="td24"','class="td23"','class="td24"','class="td24"'), array(
'',
lang('logs_invite_buyer'),
lang('logs_invite_buydate'),
lang('logs_invite_expiration'),
lang('logs_invite_ip'),
lang('logs_invite_code'),
lang('logs_invite_status'),
));
$tpp = $lpp ? intval($lpp) : $tpp;
$page = max(1, intval($page));
$start_limit = ($page - 1) * $tpp;
$addstatus = '';
if(in_array($status, array(1,2,3,4))) {
$statusurl .= '&status='.$status;
$addstatus = "AND status='$status'";
}
$invitecount = $db->result_first("SELECT COUNT(*) FROM {$tablepre}invites WHERE 1 $addstatus");
$multipage = multi($invitecount, $tpp, $page, "admincp.php?action=logs&operation=invite&lpp=$lpp$statusurl", 0, 3);
$filters .= '<select onchange="window.location=(\'admincp.php?action=logs&operation=invite&status=\'+this.options[this.selectedIndex].value)"><option value="">'.$lang['action'].'</option><option value="">'.$lang['all'].'</option>';
foreach(array(1,2,3,4) as $s) {
$filters .= '<option value="'.$s.'" '.(!empty($status) && $s == $status ? 'selected="selected"' : '').'>'.lang('logs_invite_status_'.$s).'</option>';
}
$filters .= '</select>';
$query = $db->query("SELECT i.*, m.username FROM {$tablepre}invites i, {$tablepre}members m
WHERE i.uid=m.uid $addstatus
ORDER BY i.dateline LIMIT $start_limit,$tpp");
while($invite = $db->fetch_array($query)) {
$invite['status'] = $lang['invite_status_'.$invite['status']];
$username = "<a href=\"space.php?uid=$invite[uid]\">$invite[username]</a>";
$invite['dateline'] = gmdate('Y-n-j H:i', $invite['dateline'] + $timeoffset * 3600);
$invite['expiration'] = gmdate('Y-n-j H:i', $invite['expiration'] + $timeoffset * 3600);
$stats = $invite[status].($invite['status'] == 2 ? ' [<a href="space.php?uid='.$invite['reguid'].'">'.$lang['logs_invite_target'].'</a>]' : '');
showtablerow('', array('', 'class="bold"'), array(
'<input type="checkbox" class="checkbox" name="delete[]" value="'.$invite[invitecode].'" />',
$username,
$invite['dateline'],
$invite['expiration'],
$invite['inviteip'],
$invite['invitecode'],
$stats
));
}
} else {
if($deletelist = implodeids($delete)) {
$db->query("DELETE FROM {$tablepre}invites WHERE invitecode IN ($deletelist)");
}
header("Location: {$boardurl}admincp.php?action=logs&operation=invite");
}
} elseif($operation == 'magic') {
require_once DISCUZ_ROOT.'./forumdata/cache/cache_magics.php';
$lpp = empty($lpp) ? 50 : $lpp;
$page = max(1, intval($page));
$start_limit = ($page - 1) * $lpp;
$mpurl = "admincp.php?action=logs&operation=magic&lpp=$lpp";
if(in_array($opt, array('1', '2', '3', '4', '5'))) {
$optadd = "AND ma.action='$opt'";
$mpurl .= '&opt='.$opt;
} else {
$optadd = '';
}
if(!empty($magicid)) {
$magicidadd = "AND ma.magicid='$magicid'";
} else {
$magicidadd = '';
}
$num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}magiclog ma WHERE 1 $magicidadd $optadd");
$multipage = multi($num, $lpp, $page, $mpurl, 0, 3);
$check1 = $check2 = array();
$check1[$magicid] = 'selected="selected"';
$check2[$opt] = 'selected="selected"';
$filters .= '<select onchange="window.location=(\'admincp.php?action=logs&operation=magic&magicid=\'+this.options[this.selectedIndex].value)"><option value="">'.$lang['magics_type'].'</option><option value="">'.$lang['magics_type_all'].'</option>';
foreach($_DCACHE['magics'] as $id => $magic) {
$filters .= '<option value="'.$id.'" '.$check1[$id].'>'.$magic['name'].'</option>';
}
$filters .= '</select>';
$filters .= '<select onchange="window.location=(\'admincp.php?action=logs&operation=magic&opt=\'+this.options[this.selectedIndex].value)"><option value="">'.$lang['action'].'</option><option value="">'.$lang['all'].'</option>';
foreach(array('1', '2', '3', '4', '5') as $o) {
$filters .= '<option value="'.$o.'" '.$check2[$o].'>'.$lang['logs_magic_operation_'.$o].'</option>';
}
$filters .= '</select>';
showtablerow('', array('class="td23"', 'class="td23"', 'class="td24"', 'class="td23"', 'class="td23"', 'class="td24"'), array(
lang('username'),
lang('name'),
lang('time'),
lang('num'),
lang('price'),
lang('action')
));
$query = $db->query("SELECT ma.*, m.username FROM {$tablepre}magiclog ma
LEFT JOIN {$tablepre}members m USING (uid)
WHERE 1 $magicidadd $optadd ORDER BY dateline DESC LIMIT $start_limit, $lpp");
while($log = $db->fetch_array($query)) {
$log['name'] = $_DCACHE['magics'][$log['magicid']]['name'];
$log['dateline'] = gmdate('Y-n-j H:i', $log['dateline'] + $timeoffset * 3600);
$log['action'] = $lang['logs_magic_operation_'.$log['action']];
showtablerow('', array('class="bold"'), array(
"<a href=\"space.php?username=".rawurlencode($log['username'])."\" target=\"_blank\">$log[username]",
$log[name],
$log[dateline],
$log[amount],
$log[price],
$log[action]
));
}
} elseif($operation == 'medals') {
require_once DISCUZ_ROOT.'./forumdata/cache/cache_medals.php';
$lpp = empty($lpp) ? 50 : $lpp;
$page = max(1, intval($page));
$start_limit = ($page - 1) * $lpp;
$mpurl = "admincp.php?action=logs&operation=medals&lpp=$lpp";
if(in_array($opt, array('0', '1', '2', '3'))) {
$optadd = "AND me.type='$opt'";
$mpurl .= '&opt='.$opt;
} else {
$optadd = '';
}
if(!empty($medalid)) {
$medalidadd = "AND me.medalid='$medalid'";
} else {
$medalidadd = '';
}
$num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}medallog me WHERE 1 $medalidadd $optadd");
$multipage = multi($num, $lpp, $page, $mpurl, 0, 3);
$check1 = $check2 = array();
$check1[$medalid] = 'selected="selected"';
$check2[$opt] = 'selected="selected"';
$filters .= '<select onchange="window.location=(\'admincp.php?action=logs&operation=medals&medalid=\'+this.options[this.selectedIndex].value)"><option value="">'.$lang['medals'].'</option><option value="">'.$lang['all'].'</option>';
foreach($_DCACHE['medals'] as $id => $medal) {
$filters .= '<option value="'.$id.'" '.$check1[$id].'>'.$medal['name'].'</option>';
}
$filters .= '</select>';
$filters .= '<select onchange="window.location=(\'admincp.php?action=logs&operation=medals&opt=\'+this.options[this.selectedIndex].value)"><option value="">'.$lang['action'].'</option><option value="">'.$lang['all'].'</option>';
foreach(array('0', '1', '2', '3') as $o) {
$filters .= '<option value="'.$o.'" '.$check2[$o].'>'.$lang['logs_medal_operation_'.$o].'</option>';
}
$filters .= '</select>';
showtablerow('', array('class="td23"', 'class="td24"', 'class="td23"', 'class="td23"'), array(
lang('username'),
lang('logs_medal_name'),
lang('type'),
lang('time'),
lang('logs_medal_expiration')
));
$query = $db->query("SELECT me.*, m.username FROM {$tablepre}medallog me
LEFT JOIN {$tablepre}members m USING (uid)
WHERE 1 $medalidadd $optadd ORDER BY dateline DESC LIMIT $start_limit, $lpp");
while($log = $db->fetch_array($query)) {
$log['name'] = $_DCACHE['medals'][$log['medalid']]['name'];
$log['dateline'] = gmdate('Y-n-j H:i', $log['dateline'] + $timeoffset * 3600);
$log['expiration'] = empty($log['expiration']) ? lang('logs_noexpire') : gmdate('Y-n-j H:i', $log['expiration'] + $timeoffset * 3600);
showtablerow('', array('class="td23"', 'class="td24"', 'class="td23"', 'class="td24"'), array(
"<a href=\"space.php?username=".rawurlencode($log['username'])."\" target=\"_blank\">$log[username]",
$log['name'],
$lang['logs_medal_operation_'.$log['type']],
$log['dateline'],
$log['expiration']
));
}
}
function get_log_files($logdir='', $action='action') {
$dir = opendir($logdir);
$files = array();
while($entry = readdir($dir)) {
$files[] = $entry;
}
closedir($dir);
sort($files);
$logfile = $action;
$logfiles = array();
foreach($files as $file) {
if(strpos($file, $logfile) !== FALSE) {
$logfiles[] = $file;
}
}
$logfiles = array_slice($logfiles, -2, 2);
return $logfiles;
}
showsubmit($operation == 'invite' ? 'invitesubmit' : '', 'submit', 'del', $filters, $multipage.lang('logs_lpp').':<select onchange="if(this.options[this.selectedIndex].value != \'\') {window.location=(\'admincp.php?action=logs&operation='.$operation.'&lpp=\'+this.options[this.selectedIndex].value+\'&sid='.$sid.'\') }"><option value="20" '.$checklpp[20].'> 20 </option><option value="40" '.$checklpp[40].'> 40 </option><option value="80" '.$checklpp[80].'> 80 </option></select> <input type="text" class="txt" name="keyword" value="'.$keyword.'" /><input type="submit" class="btn" value="'.$lang['search'].'" />');
showtablefooter();
showformfooter();
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -