123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316 |
- <?php
- require_once(dirname(__FILE__)."/../include/common.inc.php");
- require_once(DEDEINC."/filter.inc.php");
- require_once(DEDEINC."/channelunit.func.php");
- if(!isset($action))
- {
- $action = '';
- }
- if($action == 'good' || $action == 'bad')
- {
- if(!empty($aid)) $id = $aid;
- require_once(dirname(__FILE__).'/digg_ajax.php');
- exit();
- }
- function GetOnebook($aid)
- {
- global $dsql,$title;
- $aid = trim(preg_replace('#[^0-9]#i','',$aid));
- $reArr = array();
- $nquery = "Select * From `#@__story_books` where bid='$aid' ";
-
- $arcRow = $dsql->GetOne($nquery);
- if(!is_array($arcRow)) {
- return $reArr;
- }
- $reArr = $arcRow;
- $reArr['bid'] = $aid;
- $reArr['arctitle'] = $arcRow['bookname'];
- $title = $arcRow['bookname'];
-
-
- return $reArr;
- }
- $cfg_formmember = isset($cfg_formmember) ? true : false;
- $ischeck = $cfg_feedbackcheck=='Y' ? 0 : 1;
- $aid = (isset($aid) && is_numeric($aid)) ? $aid : 0;
- $fid = (isset($fid) && is_numeric($fid)) ? $fid : 0;
- if(empty($aid) && empty($fid))
- {
- ShowMsg('文档id不能为空!','-1');
- exit();
- }
- include_once(DEDEINC."/memberlogin.class.php");
- $cfg_ml = new MemberLogin();
- if($action=='goodfb')
- {
- AjaxHead();
- $fid = intval($fid);
- $dsql->ExecuteNoneQuery("Update `#@__bookfeedback` set good = good+1 where id='$fid' ");
- $row = $dsql->GetOne("Select good From `#@__bookfeedback` where id='$fid' ");
- echo "<a onclick=\"postBadGood('goodfb',{$aid})\">支持</a>[{$row['good']}]";
- exit();
- }
- else if($action=='badfb')
- {
- AjaxHead();
- $fid = intval($fid);
- $dsql->ExecuteNoneQuery("Update `#@__bookfeedback` set bad = bad+1 where id='$fid' ");
- $row = $dsql->GetOne("Select bad From `#@__bookfeedback` where id='$fid' ");
- echo "<a onclick=\"postBadGood('badfb',{$aid})\">反对</a>[{$row['bad']}]";
- exit();
- }
- else if($action=='' || $action=='show')
- {
-
- $arcRow = GetOnebook($aid);
- if(empty($arcRow['bid']))
- {
- ShowMsg('无法查看未知文档的评论!','-1');
- exit();
- }
- extract($arcRow, EXTR_SKIP);
- include_once(DEDEINC.'/datalistcp.class.php');
- $dlist = new DataListCP();
- $dlist->pageSize = 20;
- if(empty($ftype) || ($ftype!='good' && $ftype!='bad' && $ftype!='feedback'))
- {
- $ftype = '';
- }
- $wquery = $ftype!='' ? " And ftype like '$ftype' " : '';
-
- $querystring = "select fb.*,mb.userid,mb.face as mface,mb.spacesta,mb.scores from `#@__bookfeedback` fb
- left join `#@__member` mb on mb.mid = fb.mid
- where fb.aid='$aid' and fb.ischeck='1' $wquery order by fb.id desc";
- $dlist->SetParameter('aid',$aid);
- $dlist->SetParameter('action','show');
- $dlist->SetTemplate($cfg_basedir.$cfg_templets_dir.'/plus/bookfeedback_templet.htm');
- $dlist->SetSource($querystring);
- $dlist->Display();
- exit();
- }
- else if($action=='quote')
- {
- $row = $dsql->GetOne("Select * from `#@__bookfeedback` where id ='$fid'");
- require_once(DEDEINC.'/dedetemplate.class.php');
- $dtp = new DedeTemplate();
- $dtp->LoadTemplate($cfg_basedir.$cfg_templets_dir.'/plus/bookfeedback_quote.htm');
- $dtp->Display();
- exit();
- }
- else if($action=='send')
- {
-
- $arcRow = GetOnebook($aid);
- if((empty($arcRow['bid']) || $arcRow['notpost']=='1')&&empty($fid))
- {
- ShowMsg('无法对该文档发表评论!','-1');
- exit();
- }
-
- if(empty($isconfirm))
- {
- $isconfirm = '';
- }
- if($isconfirm!='yes' && $cfg_feedback_ck=='Y')
- {
- extract($arcRow, EXTR_SKIP);
- require_once(DEDEINC.'/dedetemplate.class.php');
- $dtp = new DedeTemplate();
- $dtp->LoadTemplate($cfg_basedir.$cfg_templets_dir.'/plus/bookfeedback_confirm.htm');
- $dtp->Display();
- exit();
- }
-
- if($cfg_feedback_ck=='Y')
- {
- $validate = isset($validate) ? strtolower(trim($validate)) : '';
- $svali = strtolower(trim(GetCkVdValue()));
- if($validate != $svali || $svali=='')
- {
- ResetVdValue();
- ShowMsg('验证码错误!','-1');
- exit();
- }
- }
-
- if(empty($notuser))
- {
- $notuser=0;
- }
-
- if($notuser==1)
- {
- $username = $cfg_ml->M_ID > 0 ? '匿名' : '游客';
- }
-
- else if($cfg_ml->M_ID > 0)
- {
- $username = $cfg_ml->M_UserName;
- }
-
- else
- {
- if($username!='' && $pwd!='')
- {
- $rs = $cfg_ml->CheckUser($username,$pwd);
- if($rs==1)
- {
- $dsql->ExecuteNoneQuery("Update `#@__member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; ");
- }
- else
- {
- $username = '游客';
- }
- }
- else
- {
- $username = '游客';
- }
- }
- $ip = GetIP();
- $dtime = time();
-
-
- if(!empty($cfg_feedback_time))
- {
-
- if($cfg_ml->M_ID > 0)
- {
- $where = "WHERE `mid` = '$cfg_ml->M_ID'";
- }
- else
- {
- $where = "WHERE `ip` = '$ip'";
- }
- $row = $dsql->GetOne("SELECT dtime FROM `#@__bookfeedback` $where ORDER BY `id` DESC ");
- if($dtime - $row['dtime'] < $cfg_feedback_time)
- {
- ResetVdValue();
- ShowMsg('管理员设置了评论间隔时间,请稍等休息一下!','-1');
- exit();
- }
- }
- if(empty($face))
- {
- $face = 0;
- }
- $face = intval($face);
- extract($arcRow, EXTR_SKIP);
- $msg = cn_substrR(TrimMsg($msg),1000);
- $username = cn_substrR(HtmlReplace($username,2),20);
- if($feedbacktype!='good' && $feedbacktype!='bad')
- {
- $feedbacktype = 'feedback';
- }
-
- if($comtype == 'comments')
- {
- $arctitle = addslashes($arcRow['arctitle']);
- $arctitle = $arcRow['arctitle'];
- if($msg!='')
- {
- $inquery = "INSERT INTO `#@__bookfeedback`(`aid`,`catid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`)
- VALUES ('$aid','$catid','$username','$bookname','$ip','$ischeck','$dtime', '{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg'); ";
- $rs = $dsql->ExecuteNoneQuery($inquery);
- if(!$rs)
- {
- echo $dsql->GetError();
- exit();
- }
- }
- }
-
- elseif ($comtype == 'reply')
- {
- $row = $dsql->GetOne("Select * from `#@__bookfeedback` where id ='$fid'");
- $arctitle = $row['arctitle'];
- $aid =$row['aid'];
- $msg = $quotemsg.$msg;
- $msg = HtmlReplace($msg,2);
- $inquery = "INSERT INTO `#@__bookfeedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`,`mid`,`bad`,`good`,`ftype`,`face`,`msg`)
- VALUES ('$aid','$typeid','$username','$arctitle','$ip','$ischeck','$dtime','{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg')";
- $dsql->ExecuteNoneQuery($inquery);
- }
- if($cfg_ml->M_ID > 0)
- {
-
- if(defined('UC_APPID'))
- {
- include_once DEDEROOT.'/api/uc.func.php';
- $row = $dsql->GetOne("SELECT `scores`,`userid` FROM `#@__member` WHERE `mid`='".$cfg_ml->M_ID."'");
- uc_credit_note($row['userid'],$cfg_sendfb_scores);
- }
-
- $dsql->ExecuteNoneQuery("Update `#@__member` set scores=scores+{$cfg_sendfb_scores} where mid='{$cfg_ml->M_ID}' ");
- }
-
- if($cfg_ml->M_ID > 0)
- {
-
- if(defined('UC_APPID'))
- {
- include_once DEDEROOT.'/api/uc.func.php';
-
- $arcRow = GetOnebook($aid);
- $feed['icon'] = 'thread';
- $feed['title_template'] = '<b>{username} 在网站发表了评论</b>';
- $feed['title_data'] = array('username' => $cfg_ml->M_UserName);
- $feed['body_template'] = '<b>{subject}</b><br>{message}';
- $url = !strstr($arcRow['arcurl'],'http://') ? ($cfg_basehost.$arcRow['arcurl']) : $arcRow['arcurl'];
- $feed['body_data'] = array('subject' => "<a href=\"".$url."\">$arcRow[arctitle]</a>", 'message' => cn_substr(strip_tags(preg_replace("/\[.+?\]/is", '', $msg)), 150));
- $feed['images'][] = array('url' => $cfg_basehost.'/images/scores.gif', 'link'=> $cfg_basehost);
- uc_feed_note($cfg_ml->M_LoginID,$feed); unset($arcRow);
- }
-
- $row = $dsql->GetOne("SELECT COUNT(*) AS nums FROM `#@__bookfeedback` WHERE `mid`='".$cfg_ml->M_ID."'");
- $dsql->ExecuteNoneQuery("UPDATE `#@__member_tj` SET `feedback`='$row[nums]' WHERE `mid`='".$cfg_ml->M_ID."'");
- }
- $_SESSION['sedtime'] = time();
- if(empty($uid) && isset($cmtuser)) $uid = $cmtuser;
- $backurl = $cfg_formmember ? "index.php?uid={$uid}&action=viewarchives&aid={$aid}" : "bookfeedback.php?aid=$aid";
- if($ischeck==0)
- {
- ShowMsg("成功发表评论,但需审核后才会显示你的评论!",$backurl);
- }elseif($ischeck==1)
- {
- ShowMsg("成功发表评论,现在转到评论页面!",$backurl);
- }
- exit();
- }
- ?>
|