123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- <?php
- defined('IN_PHPCMS') or exit('No permission resources.');
- pc_base::load_app_class('admin', 'admin', 0);
- class comment_admin extends admin {
- private $comment_setting_db,$comment_data_db,$comment_db,$siteid;
- function __construct() {
- parent::__construct();
- $this->comment_setting_db = pc_base::load_model('comment_setting_model');
- $this->comment_data_db = pc_base::load_model('comment_data_model');
- $this->comment_db = pc_base::load_model('comment_model');
- $this->siteid = $this->get_siteid();
- }
-
- public function init() {
- $data = $this->comment_setting_db->get_one(array('siteid'=>$this->siteid));
- if (isset($_POST['dosubmit'])) {
- $guest = isset($_POST['guest']) && intval($_POST['guest']) ? intval($_POST['guest']) : 0;
- $check = isset($_POST['check']) && intval($_POST['check']) ? intval($_POST['check']) : 0;
- $code = isset($_POST['code']) && intval($_POST['code']) ? intval($_POST['code']) : 0;
- $add_point = isset($_POST['add_point']) && abs(intval($_POST['add_point'])) ? intval($_POST['add_point']) : 0;
- $del_point = isset($_POST['del_point']) && abs(intval($_POST['del_point'])) ? intval($_POST['del_point']) : 0;
- $sql = array('guest'=>$guest, 'check'=>$check, 'code'=>$code, 'add_point'=>$add_point, 'del_point'=>$del_point);
- if ($data) {
- $this->comment_setting_db->update($sql, array('siteid'=>$this->siteid));
- } else {
- $sql['siteid'] = $this->siteid;
- $this->comment_setting_db->insert($sql);
- }
- showmessage(L('operation_success'), HTTP_REFERER);
- } else {
- $show_header = true;
- include $this->admin_tpl('comment_setting');
- }
- }
-
- public function lists() {
- $show_header = true;
- $commentid = isset($_GET['commentid']) && trim($_GET['commentid']) ? trim($_GET['commentid']) : showmessage(L('illegal_parameters'), HTTP_REFERER);
- $hot = isset($_GET['hot']) && intval($_GET['hot']) ? intval($_GET['hot']) : 0;
- $comment = $this->comment_db->get_one(array('commentid'=>$commentid, 'siteid'=>$this->siteid));
- if (empty($comment)) {
- $forward = isset($_GET['show_center_id']) ? 'blank' : HTTP_REFERER;
- showmessage(L('no_comment'), $forward);
- }
- pc_base::load_app_func('global');
- pc_base::load_sys_class('format','', 0);
- $page = isset($_GET['page']) && intval($_GET['page']) ? intval($_GET['page']) : 1;
- $pagesize = 20;
- $offset = ($page-1)*$pagesize;
- $this->comment_data_db->table_name($comment['tableid']);
- $desc = 'id desc';
- if (!empty($hot)) {
- $desc = 'support desc, id desc';
- }
- $list = $this->comment_data_db->select(array('commentid'=>$commentid, 'siteid'=>$this->siteid, 'status'=>1), '*', $offset.','.$pagesize, $desc);
- $pages = pages($comment['total'], $page, $pagesize);
- include $this->admin_tpl('comment_data_list');
- }
- public function listinfo() {
-
- $r = $max_table = '';
- $max_table = isset($_GET['max_table']) ? intval($_GET['max_table']) : 0;
- if (!$max_table) {
- $r = $this->comment_db->get_one(array(), 'MAX(tableid) AS tableid');
- if (!$r['tableid']) {
- showmessage(L('no_comment'));
- }
- $max_table = $r['tableid'];
- }
- $page = max(intval($_GET['page']), 1);
- $tableid = isset($_GET['tableid']) ? intval($_GET['tableid']) : $max_table;
- if ($tableid > $max_table) {
- $tableid = $max_table;
- }
- if (isset($_GET['search'])) {
- $where = $sql = $t = $comment_id = $order = '';
- $keywords = safe_replace($_GET['keyword']);
- $searchtype = intval($_GET['searchtype']);
- switch ($searchtype) {
- case '0':
- $sql = "SELECT `commentid` FROM `phpcms_comment` WHERE `siteid` = '$this->siteid' AND `title` LIKE '%$keywords%' AND `tableid` = '$tableid' ";
-
- $this->comment_db->query($sql);
- $data = $this->comment_db->fetch_array();
- if (!empty($data)) {
- foreach ($data as $d) {
- $comment_id .= $t.'\''.$d['commentid'].'\'';
- $t = ',';
- }
- $where = "`commentid` IN ($comment_id)";
- }
- break;
- case '1':
- $keywords = intval($keywords);
- $sql = "SELECT `commentid` FROM `phpcms_comment` WHERE `commentid` LIKE 'content_%-$keywords-%' ";
- $this->comment_db->query($sql);
- $data = $this->comment_db->fetch_array();
- if (!empty($data)) {
- foreach ($data as $d) {
- $comment_id .= $t.'\''.$d['commentid'].'\'';
- $t = ',';
- }
- $where = "`commentid` IN ($comment_id)";
- }
- break;
- case '2':
- $where = "`username` = '$keywords'";
- break;
- }
- }
- $data = array();
-
-
-
- if (isset($_GET['search'])) {
- if(!empty($where)){
- $where .= ' AND siteid='.$this->siteid;
- }else{
- pc_base::load_sys_class('format','', 0);
- $data= '';
- include $this->admin_tpl('comment_listinfo');
- exit;
- }
- }else{
- $where = 'siteid='.$this->siteid;
- }
-
- $order = '`id` DESC';
- pc_base::load_sys_class('format','', 0);
- $this->comment_data_db->table_name($tableid);
- $data = $this->comment_data_db->listinfo($where, $order, $page, 10);
- $pages = $this->comment_data_db->pages;
- include $this->admin_tpl('comment_listinfo');
- }
- public function del() {
- if (isset($_GET['dosubmit']) && $_GET['dosubmit']) {
- $ids = $_GET['ids'];
- $tableid = isset($_GET['tableid']) ? intval($_GET['tableid']) : 0;
- $r = $this->comment_db->get_one(array(), 'MAX(tableid) AS tableid');
- $max_table = $r['tableid'];
- if (!$tableid || $max_table<$tableid) showmessage(L('illegal_operation'));
- $this->comment_data_db->table_name($tableid);
- $site = $this->comment_setting_db->site($this->siteid);
- if (is_array($ids)) {
- foreach ($ids as $id) {
- $comment_info = $this->comment_data_db->get_one(array('id'=>$id), 'commentid, userid, username');
- //判断总数是否为0
- $comment_allinfo = $this->comment_db->get_one(array('commentid'=>$comment_info['commentid']),'*');
- if($comment_allinfo['total']<=0){
- showmessage('评论统计不正常,请返回检查!', HTTP_REFERER);
- }
- $this->comment_db->update(array('total'=>'-=1'), array('commentid'=>$comment_info['commentid']));
- $this->comment_data_db->delete(array('id'=>$id));
- //当评论ID不为空,站点配置了删除的点数,支付模块存在的时候,删除用户的点数。
- if (!empty($comment_info['userid']) && !empty($site['del_point']) && module_exists('pay')) {
- pc_base::load_app_class('spend', 'pay', 0);
- $op_userid = param::get_cookie('userid');
- $op_username = param::get_cookie('admin_username');
- spend::point($site['del_point'], L('comment_point_del', '', 'comment'), $comment_info['userid'], $comment_info['username'], $op_userid, $op_username);
- }
- }
- $ids = implode(',', $ids);
- } elseif (is_numeric($ids)) {
- $id = intval($ids);
- $comment_info = $this->comment_data_db->get_one(array('id'=>$id), 'commentid, userid, username');
- //判断总数是否为0
- $comment_allinfo = $this->comment_db->get_one(array('commentid'=>$comment_info['commentid']),'*');
- if($comment_allinfo['total']<=0){
- showmessage('评论统计不正常,请返回检查!', HTTP_REFERER);
- }
- $this->comment_db->update(array('total'=>'-=1'), array('commentid'=>$comment_info['commentid']));
- $this->comment_data_db->delete(array('id'=>$id));
- //当评论ID不为空,站点配置了删除的点数,支付模块存在的时候,删除用户的点数。
- if (!empty($comment_info['userid']) && !empty($site['del_point']) && module_exists('pay')) {
- pc_base::load_app_class('spend', 'pay', 0);
- $op_userid = param::get_cookie('userid');
- $op_username = param::get_cookie('admin_username');
- spend::point($site['del_point'], L('comment_point_del', '', 'comment'), $comment_info['userid'], $comment_info['username'], $op_userid, $op_username);
- }
- } else {
- showmessage(L('illegal_operation'));
- }
- showmessage(L('operation_success'), HTTP_REFERER);
- }
- }
- }
|