fetch_one_array("SELECT state,feedid FROM {$tablepre}xna_comment WHERE commid='$cid'");
if ($comment['state']) {
$state = '0';
$query = '-';
$visible = '隐藏';
} else {
$state = '1';
$query = '+';
$visible = '显示';
}
$db->query("UPDATE {$tablepre}xna_feed SET comments=comments".$query."1 WHERE feedid='".$comment['feedid']."'");
$db->query("UPDATE {$tablepre}xna_comment SET state='$state' WHERE commid='$cid'");
echo ("UPDATE {$tablepre}xna_comment SET state='$state' WHERE commid='$cid'");
$db->query("UPDATE {$tablepre}xna_statistics SET comment_count=comment_count".$query."1");
newcomments_recache();
statistics_recache();
redirect('已经成功把该评论设置为 '.$visible.' 状态', 'index.php?job=comment&action=cmlist&id='.$feedid);
} else {
redirect('缺少参数', 'index.php?job=comment&action=cmlist&feedid='.$feedid);
}
}
// 修改评论
if($action == 'domodcm') {
$author = trim($_POST['author']);
$url = trim($_POST['url']);
if(!$author || strlen($author) > 30) {
redirect('用户名为空或用户名太长');
}
$name_key = array("\\",'&',' ',"'",'"','/','*',',','<','>',"\r","\t","\n",'#','$','(',')','%','@','+','?',';','^');
foreach($name_key as $value){
if (strpos($author,$value) !== false){
redirect('此用户名包含不可接受字符或被管理员屏蔽,请选择其它用户名');
}
}
$author = char_cv($author);
if ($url) {
if (!isemail($url)) {
if (!preg_match("#^(http|news|https|ftp|ed2k|rtsp|mms)://#", $url)) {
redirect('网站URL错误');
}
$key = array("\\",' ',"'",'"','*',',','<','>',"\r","\t","\n",'(',')','+',';');
foreach($key as $value){
if (strpos($url,$value) !== false){
redirect('网站URL错误');
}
}
}
$url = char_cv($url);
}
$db->query("UPDATE {$tablepre}xna_comment SET author='$author', url='$url', content='".addslashes($_POST['content'])."' WHERE commid='$commid'");
newcomments_recache();
redirect('修改评论成功', 'index.php?job=comment&action=cmlist&feedid='.$feedid);
}
// 显示全部评论
if($action == 'displayall') {
$db->query("UPDATE {$tablepre}xna_comment SET state='1'");
$comment_count = $db->num($db->query("SELECT c.commid FROM {$tablepre}xna_comment c LEFT JOIN {$tablepre}xna_feed a ON (a.feedid=c.feedid) WHERE a.state='1' AND c.state='1'"));
$db->query("UPDATE {$tablepre}xna_statistics SET comment_count='$comment_count'");
$result = $db->query("SELECT feedid FROM {$tablepre}xna_feed");
while ($feed = $db->row($result)) {
// 更新所有文章的评论数
$query = "SELECT commid FROM {$tablepre}xna_comment WHERE feedid='".$feed['feedid']."'";
$tatol = $db->num($db->query($query));
$db->query("UPDATE {$tablepre}xna_feed SET comments='$tatol' WHERE feedid='".$feed['feedid']."'");
}
newcomments_recache();
statistics_recache();
redirect('已显示全部评论', 'index.php?job=comment&action=cmlist');
}
// 隐藏全部评论
if($action == 'hiddenall') {
$db->query("UPDATE {$tablepre}xna_comment SET state='0'");
$db->query("UPDATE {$tablepre}xna_statistics SET comment_count='0'");
$db->query("UPDATE {$tablepre}xna_feed SET comments='0'");
newcomments_recache();
statistics_recache();
redirect('已隐藏全部评论', 'index.php?job=comment&action=cmlist');
}
// 删除全部评论
if($action == 'dodelallcm') {
$db->query("TRUNCATE TABLE {$tablepre}xna_comment");
$db->query("UPDATE {$tablepre}xna_feed SET comments='0'");
$db->query("UPDATE {$tablepre}xna_statistics SET comment_count='0'");
newcomments_recache();
statistics_recache();
redirect('已删除所有评论', 'index.php?job=comment&action=cmlist');
}
//批量处理评论状态
if($action == 'domorecmlist') {
if ($do == 'display') {
$state = '1';
$msg = '所选评论已显示';
$del = false;
} elseif ($do == 'hidden') {
$state = '0';
$msg = '所选评论已隐藏';
$del = false;
} elseif ($do == 'del') {
$msg = '所选评论已删除';
$del = true;
} else {
redirect('未选择任何操作');
}
if ($cids = implode_ids($_POST['comment'])) {
if ($del) {
$db->query("DELETE FROM {$tablepre}xna_comment WHERE cid IN ($cids)");
} else {
$db->query("UPDATE {$tablepre}xna_comment SET state='$state' WHERE commid IN ($cids)");
}
$comment_count = $db->num($db->query("SELECT c.cid FROM {$tablepre}xna_comment c LEFT JOIN {$tablepre}xna_feed a ON (a.feedid=c.feedid) WHERE a.state='1' AND c.state='1'"));
$db->query("UPDATE {$tablepre}xna_statistics SET comment_count='$comment_count'");
$query = $db->query("SELECT feedid FROM {$tablepre}xna_feed");
while ($feed = $db->row($query)) {
// 更新所有文章的评论数
$tatol = $db->num($db->query("SELECT cid FROM {$tablepre}xna_comment WHERE feedid='".$feed['feedid']."' AND state='1'"));
$db->query("UPDATE {$tablepre}xna_feed SET comments='$tatol' WHERE feedid='".$feed['feedid']."'");
}
newcomments_recache();
statistics_recache();
redirect($msg, 'index.php?job=comment&action=cmlist&id='.$feedid);
} else {
redirect('未选择任何评论');
}
}
if ($action == 'cmlist') {
$sql_query = ' WHERE 1=1 ';
$subnav = '全部评论';
$kind = in_array($_GET['kind'],array('display','hidden')) ? $_GET['kind'] : '';
if ($kind == 'display') {
$sql_query .= " AND state='1'";
$pagelink = '&kind=display';
$subnav = '全部显示的评论';
}
if ($kind == 'hidden') {
$sql_query .= " AND state='0'";
$pagelink = '&kind=hidden';
$subnav = '全部隐藏的评论';
}
if ($feedid) {
$article = $db->fetch_one_array("SELECT feed_title FROM {$tablepre}xna_feed WHERE feedid='$feedid'");
$sql_query .= " AND feedid='$feedid'";
$pagelink = '&id='.$feedid;
$subnav = '文章:'.$article['title'];
}
$ip = char_cv($_GET['ip']);
if ($ip) {
$frontlen = strrpos($ip, '.');
$ipc = substr($ip, 0, $frontlen);
$sql_query .= " AND (ipaddress LIKE '%".$ipc."%')";
$pagelink = '&ip='.$ip;
$subnav = '与 '.$ip.' 同一C段提交的评论';
}
if($page) {
$start_limit = ($page - 1) * 30;
} else {
$start_limit = 0;
$page = 1;
}
$tatol = $db->num($db->query("SELECT commid FROM {$tablepre}xna_comment $sql_query"));
$multipage = multi($tatol, 30, $page, 'index.php?job=comment&action=cmlist'.$pagelink);
$query = $db->query("SELECT * FROM {$tablepre}xna_comment $sql_query ORDER BY commid DESC LIMIT $start_limit, 30");
$commentdb = array();
while ($comment = $db->row($query)) {
$comment['state'] = $comment['state'] ? '显示' : '隐藏';
$comment['url'] = $comment['url'] ? (isemail($comment['url']) ? '发送邮件' : '访问主页') : 'Null';
$comment['addtime'] = sadate('Y-m-d H:i',$comment['addtime']);
$comment['content'] = htmlspecialchars($comment['content']);
$commentdb[] = $comment;
}
unset($comment);
$db->free($query);
}//end list
if ($action == 'modcm') {
$comment = $db->fetch_one_array("SELECT c.feedid,c.commid,c.author,c.url,c.addtime,c.content, a.feed_title FROM {$tablepre}xna_comment c LEFT JOIN {$tablepre}xna_feed a ON (a.feedid=c.feedid) WHERE c.commid='$cid'");
$comment['content'] = htmlspecialchars($comment['content']);
$subnav = '修改评论';
}//end mod
//删除全部评论页面
if ($action == 'delallcm') {
$subnav = '删除所有评论';
}//end delall
if (strstr($action, 'cm')) {
$catenav = '评论管理';
$cateurl = 'cmlist';
}
$navlink_L = ' » '.$catenav.''.($subnav ? ' » '.$subnav : '');
cpheader();
include template("comment", _ROOT . "/template/admin/");
?>