@@ -31,6 +31,13 @@ if($dopost=='edit') | |||||
$dsql->ExecuteNoneQuery($query); | $dsql->ExecuteNoneQuery($query); | ||||
ShowMsg("成功回复一则留言!",$ENV_GOBACK_URL); | ShowMsg("成功回复一则留言!",$ENV_GOBACK_URL); | ||||
exit(); | exit(); | ||||
} elseif ($dopost === 'makehtml') { | |||||
require_once(DEDEADMIN.'/inc/inc_archives_functions.php'); | |||||
$query = "SELECT * FROM `#@__feedback` WHERE id=$id"; | |||||
$row = $dsql->GetOne($query); | |||||
MakeArt($row['aid']); | |||||
ShowMsg("成功更新评论所在的文档内容",$ENV_GOBACK_URL); | |||||
exit(); | |||||
} | } | ||||
$query = "SELECT * FROM `#@__feedback` WHERE id=$id"; | $query = "SELECT * FROM `#@__feedback` WHERE id=$id"; | ||||
$row = $dsql->GetOne($query); | $row = $dsql->GetOne($query); |
@@ -127,7 +127,7 @@ $adminMenu1 | |||||
<m:item name='文档关键词维护' link='article_keywords_main.php' rank='sys_Keyword' target='main' /> | <m:item name='文档关键词维护' link='article_keywords_main.php' rank='sys_Keyword' target='main' /> | ||||
<m:item name='重复文档检测' link='article_test_same.php' rank='sys_ArcBatch' target='main' /> | <m:item name='重复文档检测' link='article_test_same.php' rank='sys_ArcBatch' target='main' /> | ||||
<m:item name='自动摘要|分页' link='article_description_main.php' rank='sys_Keyword' target='main' /> | <m:item name='自动摘要|分页' link='article_description_main.php' rank='sys_Keyword' target='main' /> | ||||
<m:item name='TAG标签管理' link='tags_main.php' rank='sys_Keyword' target='main' /> | |||||
<m:item name='Tag标签管理' link='tags_main.php' rank='sys_Keyword' target='main' /> | |||||
<m:item name='数据库内容替换' link='sys_data_replace.php' rank='sys_ArcBatch' target='main' /> | <m:item name='数据库内容替换' link='sys_data_replace.php' rank='sys_ArcBatch' target='main' /> | ||||
</m:top> | </m:top> | ||||
@@ -78,7 +78,7 @@ $menusMain = " | |||||
<m:item name='搜索关键词维护' link='search_keywords_main.php' rank='sys_Keyword' target='main' /> | <m:item name='搜索关键词维护' link='search_keywords_main.php' rank='sys_Keyword' target='main' /> | ||||
<m:item name='文档关键词维护' link='article_keywords_main.php' rank='sys_Keyword' target='main' /> | <m:item name='文档关键词维护' link='article_keywords_main.php' rank='sys_Keyword' target='main' /> | ||||
<m:item name='自动摘要|分页' link='article_description_main.php' rank='sys_Keyword' target='main' /> | <m:item name='自动摘要|分页' link='article_description_main.php' rank='sys_Keyword' target='main' /> | ||||
<m:item name='TAG标签管理' link='tags_main.php' rank='sys_Keyword' target='main' /> | |||||
<m:item name='Tag标签管理' link='tags_main.php' rank='sys_Keyword' target='main' /> | |||||
<m:item name='数据库内容替换' link='sys_data_replace.php' rank='sys_ArcBatch' target='main' /> | <m:item name='数据库内容替换' link='sys_data_replace.php' rank='sys_ArcBatch' target='main' /> | ||||
</m:top> | </m:top> | ||||
@@ -154,7 +154,7 @@ function _getRightSide() { } | |||||
$chArr[] = $row; | $chArr[] = $row; | ||||
} | } | ||||
?> | ?> | ||||
<table width="100%" class="dboxtable"> | |||||
<table width="100%" class="table table-borderless"> | |||||
<tr> | <tr> | ||||
<td width='50%' class='nline' style="text-align:left"> 会员数: </td> | <td width='50%' class='nline' style="text-align:left"> 会员数: </td> | ||||
<td class='nline' style="text-align:left"> <?php echo $row1['dd']; ?> </td> | <td class='nline' style="text-align:left"> <?php echo $row1['dd']; ?> </td> | ||||
@@ -191,7 +191,7 @@ function _getRightSide() { } | |||||
} | } | ||||
AjaxHead(); | AjaxHead(); | ||||
?> | ?> | ||||
<table width="100%" class="dboxtable"> | |||||
<table width="100%" class="table table-borderless"> | |||||
<?php | <?php | ||||
foreach ($arcArr as $row) { | foreach ($arcArr as $row) { | ||||
if (trim($row['editcon']) == '') { | if (trim($row['editcon']) == '') { | ||||
@@ -223,196 +223,7 @@ function _getRightSide() { } | |||||
$skinconfig = DEDEDATA . '/admin/skin.txt'; | $skinconfig = DEDEDATA . '/admin/skin.txt'; | ||||
PutFile($skinconfig, $skin); | PutFile($skinconfig, $skin); | ||||
} elseif ($dopost == 'get_seo') { | } elseif ($dopost == 'get_seo') { | ||||
if (!function_exists('fsocketopen') && !function_exists('curl_init')) { | |||||
echo '没有支持的curl或fsocketopen组件'; | |||||
exit; | |||||
} | |||||
function dedeseo_http_send($url, $limit = 0, $post = '', $cookie = '', $timeout = 5) | |||||
{ | |||||
$return = ''; | |||||
$matches = parse_url($url); | |||||
$scheme = $matches['scheme']; | |||||
$host = $matches['host']; | |||||
$path = $matches['path'] ? $matches['path'] . (@$matches['query'] ? '?' . $matches['query'] : '') : '/'; | |||||
$port = !empty($matches['port']) ? $matches['port'] : 80; | |||||
if (function_exists('curl_init') && function_exists('curl_exec')) { | |||||
$ch = curl_init(); | |||||
curl_setopt($ch, CURLOPT_URL, $scheme . '://' . $host . ':' . $port . $path); | |||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); | |||||
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); | |||||
curl_setopt($ch, CURLOPT_USERAGENT, @$_SERVER['HTTP_USER_AGENT']); | |||||
if ($post) { | |||||
curl_setopt($ch, CURLOPT_POST, 1); | |||||
$content = is_array($port) ? http_build_query($post) : $post; | |||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $content); | |||||
} | |||||
if ($cookie) { | |||||
curl_setopt($ch, CURLOPT_COOKIE, $cookie); | |||||
} | |||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); | |||||
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); | |||||
$data = curl_exec($ch); | |||||
$status = curl_getinfo($ch); | |||||
$errno = curl_errno($ch); | |||||
curl_close($ch); | |||||
if ($errno || $status['http_code'] != 200) { | |||||
return; | |||||
} else { | |||||
return !$limit ? $data : substr($data, 0, $limit); | |||||
} | |||||
} | |||||
if ($post) { | |||||
$content = is_array($port) ? http_build_query($post) : $post; | |||||
$out = "POST $path HTTP/1.0\r\n"; | |||||
$header = "Accept: */*\r\n"; | |||||
$header .= "Accept-Language: zh-cn\r\n"; | |||||
$header .= "Content-Type: application/x-www-form-urlencoded\r\n"; | |||||
$header .= "User-Agent: " . @$_SERVER['HTTP_USER_AGENT'] . "\r\n"; | |||||
$header .= "Host: $host:$port\r\n"; | |||||
$header .= 'Content-Length: ' . strlen($content) . "\r\n"; | |||||
$header .= "Connection: Close\r\n"; | |||||
$header .= "Cache-Control: no-cache\r\n"; | |||||
$header .= "Cookie: $cookie\r\n\r\n"; | |||||
$out .= $header . $content; | |||||
} else { | |||||
$out = "GET $path HTTP/1.0\r\n"; | |||||
$header = "Accept: */*\r\n"; | |||||
$header .= "Accept-Language: zh-cn\r\n"; | |||||
$header .= "User-Agent: " . @$_SERVER['HTTP_USER_AGENT'] . "\r\n"; | |||||
$header .= "Host: $host:$port\r\n"; | |||||
$header .= "Connection: Close\r\n"; | |||||
$header .= "Cookie: $cookie\r\n\r\n"; | |||||
$out .= $header; | |||||
} | |||||
$fpflag = 0; | |||||
$fp = false; | |||||
if (function_exists('fsocketopen')) { | |||||
$fp = fsocketopen($host, $port, $errno, $errstr, $timeout); | |||||
} | |||||
if (!$fp) { | |||||
$context = stream_context_create(array( | |||||
'http' => array( | |||||
'method' => $post ? 'POST' : 'GET', | |||||
'header' => $header, | |||||
'content' => $content, | |||||
'timeout' => $timeout, | |||||
), | |||||
)); | |||||
$fp = @fopen($scheme . '://' . $host . ':' . $port . $path, 'b', false, $context); | |||||
$fpflag = 1; | |||||
} | |||||
if (!$fp) { | |||||
return ''; | |||||
} else { | |||||
stream_set_blocking($fp, true); | |||||
stream_set_timeout($fp, $timeout); | |||||
@fwrite($fp, $out); | |||||
$status = stream_get_meta_data($fp); | |||||
if (!$status['timed_out']) { | |||||
while (!feof($fp) && !$fpflag) { | |||||
if (($header = @fgets($fp)) && ($header == "\r\n" || $header == "\n")) { | |||||
break; | |||||
} | |||||
} | |||||
if ($limit) { | |||||
$return = stream_get_contents($fp, $limit); | |||||
} else { | |||||
$return = stream_get_contents($fp); | |||||
} | |||||
} | |||||
@fclose($fp); | |||||
return $return; | |||||
} | |||||
} | |||||
$seo_info = array(); | |||||
$seo_info = $dsql->GetOne("SELECT * FROM `#@__plus_seoinfo` ORDER BY id DESC"); | |||||
$now = time(); | |||||
if (empty($seo_info) or $now - $seo_info['create_time'] > 60 * 60 * 6) { | |||||
$site = str_replace(array("http://", '/'), '', $cfg_basehost); | |||||
$url = "http://www.alexa.com/siteinfo/{$site}"; | |||||
$html = dedeseo_http_send($url); | |||||
//var_dump($html);exit; | |||||
if (preg_match("#API at http://aws.amazon.com/awis -->(.*)</strong>#isU", $html, $matches)) { | |||||
$seo_info['alexa_num'] = isset($matches[1]) ? trim($matches[1]) : 0; | |||||
} | |||||
$seo_info['alexa_num'] = empty($seo_info['alexa_num']) ? 0 : $seo_info['alexa_num']; | |||||
if (preg_match("#Flag'><strong class=\"metrics-data align-vmiddle\">(.*)</strong>#isU", $html, $matches)) { | |||||
$seo_info['alexa_area_num'] = isset($matches[1]) ? trim($matches[1]) : 0; | |||||
} | |||||
$seo_info['alexa_area_num'] = empty($seo_info['alexa_area_num']) ? 0 : $seo_info['alexa_area_num']; | |||||
$url = "http://www.baidu.com/s?wd=site:{$site}"; | |||||
$html = Html2Text(dedeseo_http_send($url)); | |||||
if (preg_match("#结果数约([\d]+)个#", $html, $matches)) { | |||||
$seo_info['baidu_count'] = isset($matches[1]) ? $matches[1] : 0; | |||||
} | |||||
if (empty($seo_info['baidu_count']) and preg_match("#网站共有([\d, ]+)个#", $html, $matches)) { | |||||
$seo_info['baidu_count'] = isset($matches[1]) ? trim($matches[1]) : 0; | |||||
} | |||||
$seo_info['baidu_count'] = empty($seo_info['baidu_count']) ? 0 : $seo_info['baidu_count']; | |||||
$url = "http://www.sogou.com/web?query=site:{$site}"; | |||||
$html = Html2Text(dedeseo_http_send($url)); | |||||
if (preg_match("#结果数约([\d]+)个#", $html, $matches)) { | |||||
$seo_info['sogou_count'] = isset($matches[1]) ? $matches[1] : 0; | |||||
} | |||||
if (empty($seo_info['sogou_count']) and preg_match("#找到约([\d, ]+)条结果#", $html, $matches)) { | |||||
$seo_info['sogou_count'] = isset($matches[1]) ? trim($matches[1]) : 0; | |||||
} | |||||
$seo_info['sogou_count'] = empty($seo_info['sogou_count']) ? 0 : $seo_info['sogou_count']; | |||||
$url = "http://www.haosou.com/s?q=site%3A{$site}"; | |||||
$html = Html2Text(dedeseo_http_send($url)); | |||||
if (preg_match("#结果数约([\d]+)个#", $html, $matches)) { | |||||
$seo_info['haosou360_count'] = isset($matches[1]) ? $matches[1] : 0; | |||||
} | |||||
if (empty($seo_info['haosou360_count']) and preg_match("#结果约([\d, ]+)个#", $html, $matches)) { | |||||
$seo_info['haosou360_count'] = isset($matches[1]) ? trim($matches[1]) : 0; | |||||
} | |||||
$seo_info['haosou360_count'] = empty($seo_info['haosou360_count']) ? 0 : $seo_info['haosou360_count']; | |||||
$in_query = "INSERT INTO `#@__plus_seoinfo` (`create_time`, `alexa_num`, `alexa_area_num`, `baidu_count`, `sogou_count`, `haosou360_count`) VALUES ({$now}, '{$seo_info['alexa_num']}', '{$seo_info['alexa_area_num']}', '{$seo_info['baidu_count']}', '{$seo_info['sogou_count']}', '{$seo_info['haosou360_count']}');"; | |||||
$dsql->ExecuteNoneQuery($in_query); | |||||
} | |||||
$inff = array( | |||||
'alexa_num' => 'Alexa全球排名', | |||||
'alexa_area_num' => 'Alexa地区排名', | |||||
'baidu_count' => '百度收录', | |||||
'sogou_count' => '搜狗收录', | |||||
'haosou360_count' => '360收录', | |||||
); | |||||
?> | |||||
<table width="100%" class="dboxtable"> | |||||
<tbody> | |||||
<?php | |||||
foreach ($seo_info as $key => $value) { | |||||
if ($key == 'id' or $key == 'create_time') continue; | |||||
?> | |||||
<tr> | |||||
<td width="50%" class="nline" style="text-align:left"> <?php | |||||
echo $inff[$key]; | |||||
?> | |||||
: </td> | |||||
<td class="nline" style="text-align:left"> <?php | |||||
echo $value; | |||||
?> | |||||
</td> | |||||
</tr> | |||||
<?php | |||||
} | |||||
?> | |||||
</tbody> | |||||
</table> | |||||
<?php | |||||
// 直接采用DedeBIZ重写方法 | |||||
exit; | exit; | ||||
} | } | ||||
?> | ?> |
@@ -13,7 +13,7 @@ require_once(DEDEINC.'/datalistcp.class.php'); | |||||
CheckPurview('sys_Data'); | CheckPurview('sys_Data'); | ||||
$dopost = (empty($dopost))? '' : $dopost; | $dopost = (empty($dopost))? '' : $dopost; | ||||
$pid = (empty($pid))? 0 : preg_replace('/[^0-9]/','',$pid); | |||||
$pid = (empty($pid))? 0 : intval($pid); | |||||
/* | /* | ||||
下面数数组格式的例子: | 下面数数组格式的例子: | ||||
*/ | */ | ||||
@@ -5,6 +5,7 @@ | |||||
<head> | <head> | ||||
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>"> | <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>"> | ||||
<title>栏目管理</title> | <title>栏目管理</title> | ||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | |||||
<link rel="stylesheet" href="../static/css/bootstrap.min.css"> | <link rel="stylesheet" href="../static/css/bootstrap.min.css"> | ||||
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet"> | <link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet"> | ||||
<link href="css/base.css" rel="stylesheet" type="text/css"> | <link href="css/base.css" rel="stylesheet" type="text/css"> | ||||
@@ -328,7 +329,7 @@ $i = 0; | |||||
<tr id='smclass' style='<?php echo ($channelid<0 ? '' : 'display:none'); ?>'> | <tr id='smclass' style='<?php echo ($channelid<0 ? '' : 'display:none'); ?>'> | ||||
<td class='bline' style="padding-left:10px;">绑定小分类: <br />仅适用[分类信息模型]</td> | <td class='bline' style="padding-left:10px;">绑定小分类: <br />仅适用[分类信息模型]</td> | ||||
<td class='bline' style="padding:3px 0px 3px 0px"> | <td class='bline' style="padding:3px 0px 3px 0px"> | ||||
<select name='smalltype[]' size='5' style='width:120px' multiple='yes'> | |||||
<select name='smalltype[]' size='5' style='width:120px;height: auto;' multiple='yes'> | |||||
<?php | <?php | ||||
$smtypes = explode(',',trim($myrow['smalltypes'])); | $smtypes = explode(',',trim($myrow['smalltypes'])); | ||||
$sql = "Select * From `#@__sys_enum` where egroup like 'infotype' order by disorder asc, id desc "; | $sql = "Select * From `#@__sys_enum` where egroup like 'infotype' order by disorder asc, id desc "; | ||||
@@ -106,10 +106,10 @@ | |||||
<td width="12%"> | <td width="12%"> | ||||
用户:{dede:field.username/} | 用户:{dede:field.username/} | ||||
</td> | </td> | ||||
<td width="30%"> | |||||
<td width="20%"> | |||||
文档:<a href='feedback_main.php?aid={dede:field.aid/}'><u>{dede:field.arctitle | 文档:<a href='feedback_main.php?aid={dede:field.aid/}'><u>{dede:field.arctitle | ||||
function="RemoveXSS(@me)"/}</u></a> (<a | function="RemoveXSS(@me)"/}</u></a> (<a | ||||
href="{dede:global.cfg_phpurl /}/view.php?aid={dede:field.aid/}" | |||||
href="archives_do.php?aid={dede:field.aid/}&dopost=viewArchives" | |||||
target="_blank"><u>浏览</u></a>) | target="_blank"><u>浏览</u></a>) | ||||
<?php if($fields['replycount'] > 0) { ?><a | <?php if($fields['replycount'] > 0) { ?><a | ||||
href='feedback_main.php?fid={dede:field.id/}'>({dede:field.replycount/}条回复)</a> | href='feedback_main.php?fid={dede:field.id/}'>({dede:field.replycount/}条回复)</a> | ||||
@@ -119,13 +119,15 @@ | |||||
IP地址:<a | IP地址:<a | ||||
href='feedback_main.php?ip={dede:field.ip/}'><u>{dede:field.ip/}</u></a> | href='feedback_main.php?ip={dede:field.ip/}'><u>{dede:field.ip/}</u></a> | ||||
</td> | </td> | ||||
<td width="21%"> | |||||
<td width="15%"> | |||||
时间:{dede:field.dtime function="GetDateTimeMK(@me)" /} | 时间:{dede:field.dtime function="GetDateTimeMK(@me)" /} | ||||
</td> | </td> | ||||
<td width="10%" align="center"> | |||||
<td width="20%" align="center"> | |||||
<a class="btn btn-secondary btn-sm" | <a class="btn btn-secondary btn-sm" | ||||
href='feedback_edit.php?id={dede:field.id/}'><i | href='feedback_edit.php?id={dede:field.id/}'><i | ||||
class="fa fa-pencil-square-o" aria-hidden="true"></i> 编辑</a> | class="fa fa-pencil-square-o" aria-hidden="true"></i> 编辑</a> | ||||
<a class="btn btn-secondary btn-sm" | |||||
href='feedback_edit.php?id={dede:field.id/}&dopost=makehtml'>更新文档</a> | |||||
</td> | </td> | ||||
</tr> | </tr> | ||||
<tr align="center" bgcolor="#FFFFFF"> | <tr align="center" bgcolor="#FFFFFF"> | ||||
@@ -5,6 +5,7 @@ | |||||
<head> | <head> | ||||
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>"> | <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>"> | ||||
<title>DedeCMS Home</title> | <title>DedeCMS Home</title> | ||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | |||||
<base target="_self"> | <base target="_self"> | ||||
<link rel="stylesheet" href="../static/css/bootstrap.min.css"> | <link rel="stylesheet" href="../static/css/bootstrap.min.css"> | ||||
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet"> | <link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet"> | ||||
@@ -43,12 +44,15 @@ | |||||
display: flex; | display: flex; | ||||
flex-direction: column; | flex-direction: column; | ||||
} | } | ||||
.footer { | |||||
padding: 10px; | |||||
} | |||||
</style> | </style> | ||||
</head> | </head> | ||||
<body> | <body> | ||||
<div class="container-fluid"> | <div class="container-fluid"> | ||||
<div class="mt-3"> | |||||
<div class="mt-3 mb-3"> | |||||
欢迎使用专业的PHP网站管理系统,轻松建站的首选利器 -- <?php echo $cfg_softname; ?> | 欢迎使用专业的PHP网站管理系统,轻松建站的首选利器 -- <?php echo $cfg_softname; ?> | ||||
</div> | </div> | ||||
<div class="row"> | <div class="row"> | ||||
@@ -222,7 +226,7 @@ | |||||
</div> | </div> | ||||
<!--/.card-header--> | <!--/.card-header--> | ||||
<div class="card-body"> | <div class="card-body"> | ||||
<table width="98%" class="dboxtable"> | |||||
<table width="98%" class="table table-borderless"> | |||||
<tr> | <tr> | ||||
<td width='25%' height='36' class='nline' style="text-align:right"> 主程序研发: </td> | <td width='25%' height='36' class='nline' style="text-align:right"> 主程序研发: </td> | ||||
<td class='nline' style="text-align:left"><a href="https://github.com/dedetech" | <td class='nline' style="text-align:left"><a href="https://github.com/dedetech" | ||||
@@ -291,7 +295,7 @@ | |||||
$arcArr[] = $row; | $arcArr[] = $row; | ||||
} | } | ||||
?> | ?> | ||||
<table width="100%" class="dboxtable"> | |||||
<table width="100%" class="table table-borderless"> | |||||
<?php | <?php | ||||
if(count($arcArr) > 1) | if(count($arcArr) > 1) | ||||
{ | { | ||||
@@ -51,9 +51,9 @@ | |||||
<td height="20" valign="top" bgcolor="#FFFFFF">说明:</td> | <td height="20" valign="top" bgcolor="#FFFFFF">说明:</td> | ||||
<td height="20" valign="top" bgcolor="#FFFFFF"> | <td height="20" valign="top" bgcolor="#FFFFFF"> | ||||
仅更新文档数多于<?php echo $dd['tt'];?>的关键词<br> | 仅更新文档数多于<?php echo $dd['tt'];?>的关键词<br> | ||||
更新所有TAG将会智能更新在[TAG标签管理]中重新获取更新的内容<br> | |||||
TAG首页模板文件:<?php echo $cfg_templets_dir;?>/<?php echo $cfg_df_style?>/tag.htm<br> | |||||
TAG列表页模板文件:<?php echo $cfg_templets_dir;?>/<?php echo $cfg_df_style?>/taglist.htm<br> | |||||
更新所有Tag将会智能更新在[Tag标签管理]中重新获取更新的内容<br> | |||||
Tag首页模板文件:<?php echo $cfg_templets_dir;?>/<?php echo $cfg_df_style?>/tag.htm<br> | |||||
Tag列表页模板文件:<?php echo $cfg_templets_dir;?>/<?php echo $cfg_df_style?>/taglist.htm<br> | |||||
生成静态文件后,访问动态文件则直接跳转到静态文件,如果需要动态访问,删除对应文件即可。 | 生成静态文件后,访问动态文件则直接跳转到静态文件,如果需要动态访问,删除对应文件即可。 | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
@@ -3,6 +3,7 @@ | |||||
* @version $Id: index.php 1 9:23 2010-11-11 tianya $ | * @version $Id: index.php 1 9:23 2010-11-11 tianya $ | ||||
* @package DedeCMS.Site | * @package DedeCMS.Site | ||||
* @copyright Copyright (c) 2007 - 2020, DesDev, Inc. | * @copyright Copyright (c) 2007 - 2020, DesDev, Inc. | ||||
* @copyright Copyright (c) 2020, DedeBIZ.COM | |||||
* @license http://help.dedecms.com/usersguide/license.html | * @license http://help.dedecms.com/usersguide/license.html | ||||
* @link http://www.dedecms.com | * @link http://www.dedecms.com | ||||
*/ | */ | ||||
@@ -27,6 +27,7 @@ if (!isset($action)) { | |||||
} | } | ||||
$msg = isset($msg) ? $msg : ""; | $msg = isset($msg) ? $msg : ""; | ||||
$feedbacktype = isset($feedbacktype) ? $feedbacktype : ""; | |||||
$validate = isset($validate) ? $validate : ""; | $validate = isset($validate) ? $validate : ""; | ||||
$pwd = isset($pwd) ? $pwd : ""; | $pwd = isset($pwd) ? $pwd : ""; | ||||
$comtype = isset($comtype) ? $comtype : ""; | $comtype = isset($comtype) ? $comtype : ""; | ||||
@@ -34,8 +35,8 @@ $good = isset($good) ? intval($good) : 0; | |||||
$cfg_formmember = isset($cfg_formmember) ? true : false; | $cfg_formmember = isset($cfg_formmember) ? true : false; | ||||
$ischeck = $cfg_feedbackcheck == 'Y' ? 0 : 1; | $ischeck = $cfg_feedbackcheck == 'Y' ? 0 : 1; | ||||
$aid = (isset($aid) && is_numeric($aid)) ? $aid : 0; | |||||
$fid = (isset($fid) && is_numeric($fid)) ? $fid : 0; // 用来标记回复评论的变量 | |||||
$aid = isset($aid) ? intval($aid) : 0; | |||||
$fid = isset($fid) ? intval($fid) : 0; // 用来标记回复评论的变量 | |||||
if (empty($aid) && empty($fid)) { | if (empty($aid) && empty($fid)) { | ||||
echo json_encode(array( | echo json_encode(array( | ||||
@@ -97,23 +98,6 @@ if ($action == '' || $action == 'show') { | |||||
)); | )); | ||||
exit; | exit; | ||||
} | } | ||||
//引用评论 | |||||
//------------------------------------ | |||||
/* | |||||
function __Quote(){ } | |||||
*/ else if ($action == 'quote') { | |||||
AjaxHead(); | |||||
$row = $dsql->GetOne("SELECT * FROM `#@__feedback` WHERE id ='$fid'"); | |||||
require_once(DEDEINC . '/dedetemplate.class.php'); | |||||
$dtp = new DedeTemplate(); | |||||
$tplfile = $type == '' ? DEDETEMPLATE . '/plus/feedback_quote.htm' : DEDETEMPLATE . '/plus/feedback_quote_ajax.htm'; | |||||
$dtp->LoadTemplate($tplfile); | |||||
$dtp->Display(); | |||||
exit(); | |||||
} | |||||
//发表评论 | //发表评论 | ||||
//------------------------------------ | //------------------------------------ | ||||
/* | /* | ||||
@@ -223,18 +207,20 @@ function __SendFeedback(){ } | |||||
extract($arcRow, EXTR_SKIP); | extract($arcRow, EXTR_SKIP); | ||||
$msg = cn_substrR(TrimMsg($msg), $cfg_feedback_msglen); | $msg = cn_substrR(TrimMsg($msg), $cfg_feedback_msglen); | ||||
$username = cn_substrR(HtmlReplace($username, 2), 20); | $username = cn_substrR(HtmlReplace($username, 2), 20); | ||||
if (empty($feedbacktype) || ($feedbacktype != 'good' && $feedbacktype != 'bad')) { | |||||
if (empty($feedbacktype) || !in_array($feedbacktype, array('good', 'bad'))) { | |||||
$feedbacktype = 'feedback'; | $feedbacktype = 'feedback'; | ||||
} | } | ||||
//保存评论内容 | //保存评论内容 | ||||
if ($comtype == 'comments') { | |||||
$arctitle = addslashes($title); | |||||
if ($comtype == 'comments' || $comtype == 'reply') { | |||||
$arctitle = empty($title)? "" : addslashes($title); | |||||
$typeid = intval($typeid); | $typeid = intval($typeid); | ||||
$ischeck = intval($ischeck); | $ischeck = intval($ischeck); | ||||
$feedbacktype = preg_replace("#[^0-9a-z]#i", "", $feedbacktype); | $feedbacktype = preg_replace("#[^0-9a-z]#i", "", $feedbacktype); | ||||
if ($msg != '') { | if ($msg != '') { | ||||
$inquery = "INSERT INTO `#@__feedback`(`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'); "; | |||||
$inquery = "INSERT INTO `#@__feedback`(`aid`,`typeid`,`fid`, `username`,`arctitle`,`ip`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`) | |||||
VALUES ('$aid','$typeid','$fid','$username','$arctitle','$ip','$ischeck','$dtime', '{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg'); "; | |||||
$rs = $dsql->ExecuteNoneQuery($inquery); | $rs = $dsql->ExecuteNoneQuery($inquery); | ||||
if (!$rs) { | if (!$rs) { | ||||
echo json_encode(array( | echo json_encode(array( | ||||
@@ -1,352 +0,0 @@ | |||||
<?php | |||||
/** | |||||
* | |||||
* Ajax评论 | |||||
* | |||||
* @version $Id: feedback_ajax.php 1 15:38 2010年7月8日Z tianya $ | |||||
* @package DedeCMS.Site | |||||
* @copyright Copyright (c) 2007 - 2020, DesDev, Inc. | |||||
* @license http://help.dedecms.com/usersguide/license.html | |||||
* @link http://www.dedecms.com | |||||
*/ | |||||
require_once(dirname(__FILE__).'/../include/common.inc.php'); | |||||
require_once(DEDEINC.'/channelunit.func.php'); | |||||
AjaxHead(); | |||||
if($cfg_feedback_forbid=='Y') exit('系统已经禁止评论功能!'); | |||||
$aid = intval($aid); | |||||
if(empty($aid)) exit('没指定评论文档的ID,不能进行操作!'); | |||||
include_once(DEDEINC.'/memberlogin.class.php'); | |||||
$cfg_ml = new MemberLogin(); | |||||
if(empty($dopost)) $dopost = ''; | |||||
$page = empty($page) || $page<1 ? 1 : intval($page); | |||||
$pagesize = 10; | |||||
/*---------------------- | |||||
获得指定页的评论内容 | |||||
function getlist(){ } | |||||
----------------------*/ | |||||
if($dopost=='getlist') | |||||
{ | |||||
$totalcount = GetList($page); | |||||
GetPageList($pagesize, $totalcount); | |||||
exit(); | |||||
} | |||||
/*---------------------- | |||||
发送评论 | |||||
function send(){ } | |||||
----------------------*/ | |||||
else if($dopost=='send') | |||||
{ | |||||
require_once(DEDEINC.'/charset.func.php'); | |||||
//检查验证码 | |||||
if($cfg_feedback_ck=='Y') | |||||
{ | |||||
$svali = strtolower(trim(GetCkVdValue())); | |||||
if(strtolower($validate) != $svali || $svali=='') | |||||
{ | |||||
ResetVdValue(); | |||||
echo '<font color="red">验证码错误,请点击验证码图片更新验证码!</font>'; | |||||
exit(); | |||||
} | |||||
} | |||||
$arcRow = GetOneArchive($aid); | |||||
if(empty($arcRow['aid'])) | |||||
{ | |||||
echo '<font color="red">无法查看未知文档的评论!</font>'; | |||||
exit(); | |||||
} | |||||
if(isset($arcRow['notpost']) && $arcRow['notpost']==1) | |||||
{ | |||||
echo '<font color="red">这篇文档禁止评论!</font>'; | |||||
exit(); | |||||
} | |||||
if( $cfg_soft_lang != 'utf8' ) | |||||
{ | |||||
$msg = UnicodeUrl2Gbk($msg); | |||||
if(!empty($username)) $username = UnicodeUrl2Gbk($username); | |||||
} | |||||
//词汇过滤检查 | |||||
if( $cfg_notallowstr != '' ) | |||||
{ | |||||
if(preg_match("#".$cfg_notallowstr."#i", $msg)) | |||||
{ | |||||
echo "<font color='red'>评论内容含有禁用词汇!</font>"; | |||||
exit(); | |||||
} | |||||
} | |||||
if( $cfg_replacestr != '' ) | |||||
{ | |||||
$msg = preg_replace("#".$cfg_replacestr."#i", '***', $msg); | |||||
} | |||||
if( empty($msg) ) | |||||
{ | |||||
echo "<font color='red'>评论内容可能不合法或为空!</font>"; | |||||
exit(); | |||||
} | |||||
if($cfg_feedback_guest == 'N' && $cfg_ml->M_ID < 1) | |||||
{ | |||||
echo "<font color='red'>管理员禁用了游客评论!<a href='{$cfg_cmspath}/member/login.php'>点击登录</a></font>"; | |||||
exit(); | |||||
} | |||||
//检查用户 | |||||
$username = empty($username) ? '游客' : $username; | |||||
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}'; "); | |||||
} | |||||
$cfg_ml = new MemberLogin(); | |||||
} | |||||
//检查评论间隔时间 | |||||
$ip = GetIP(); | |||||
$dtime = time(); | |||||
if(!empty($cfg_feedback_time)) | |||||
{ | |||||
//检查最后发表评论时间,如果未登录判断当前IP最后评论时间 | |||||
$where = ($cfg_ml->M_ID > 0 ? "WHERE `mid` = '$cfg_ml->M_ID' " : "WHERE `ip` = '$ip' "); | |||||
$row = $dsql->GetOne("SELECT dtime FROM `#@__feedback` $where ORDER BY `id` DESC "); | |||||
if(is_array($row) && $dtime - $row['dtime'] < $cfg_feedback_time) | |||||
{ | |||||
ResetVdValue(); | |||||
echo '<font color="red">管理员设置了评论间隔时间,请稍等休息一下!</font>'; | |||||
exit(); | |||||
} | |||||
} | |||||
$face = 1; | |||||
extract($arcRow, EXTR_SKIP); | |||||
$msg = cn_substrR(TrimMsg($msg), 500); | |||||
$username = cn_substrR(HtmlReplace($username,2), 20); | |||||
if(empty($feedbacktype) || ($feedbacktype!='good' && $feedbacktype!='bad')) | |||||
{ | |||||
$feedbacktype = 'feedback'; | |||||
} | |||||
//保存评论内容 | |||||
if(!empty($fid)) | |||||
{ | |||||
$row = $dsql->GetOne("SELECT username,msg from `#@__feedback` WHERE id ='$fid' "); | |||||
$qmsg = '{quote}{content}'.$row['msg'].'{/content}{title}'.$row['username'].' 的原帖:{/title}{/quote}'; | |||||
$msg = addslashes($qmsg).$msg; | |||||
} | |||||
$ischeck = ($cfg_feedbackcheck=='Y' ? 0 : 1); | |||||
$arctitle = addslashes(RemoveXSS($title)); | |||||
$typeid = intval($typeid); | |||||
$feedbacktype = preg_replace("#[^0-9a-z]#i", "", $feedbacktype); | |||||
$inquery = "INSERT INTO `#@__feedback`(`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'); "; | |||||
$rs = $dsql->ExecuteNoneQuery($inquery); | |||||
if( !$rs ) | |||||
{ | |||||
echo "<font color='red'>发表评论出错了!</font>"; | |||||
//echo $dslq->GetError(); | |||||
exit(); | |||||
} | |||||
$newid = $dsql->GetLastID(); | |||||
//给文章评分 | |||||
if($feedbacktype=='bad') | |||||
{ | |||||
$dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET scores=scores-{cfg_feedback_sub},badpost=badpost+1,lastpost='$dtime' WHERE id='$aid' "); | |||||
} | |||||
else if($feedbacktype=='good') | |||||
{ | |||||
$dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET scores=scores+{$cfg_feedback_add},goodpost=goodpost+1,lastpost='$dtime' WHERE id='$aid' "); | |||||
} | |||||
else | |||||
{ | |||||
$dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET scores=scores+1,lastpost='$dtime' WHERE id='$aid' "); | |||||
} | |||||
//给用户增加积分 | |||||
if($cfg_ml->M_ID > 0) | |||||
{ | |||||
$dsql->ExecuteNoneQuery("UPDATE `#@__member` set scores=scores+{$cfg_sendfb_scores} WHERE mid='{$cfg_ml->M_ID}' "); | |||||
$row = $dsql->GetOne("SELECT COUNT(*) AS nums FROM `#@__feedback` 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($ischeck==0) | |||||
{ | |||||
echo '<font color="red">成功发表评论,但需审核后才会显示你的评论!</font>'; | |||||
exit(); | |||||
} | |||||
else | |||||
{ | |||||
$spaceurl = '#'; | |||||
if($cfg_ml->M_ID > 0) $spaceurl = "{$cfg_memberurl}/index.php?uid=".urlencode($cfg_ml->M_LoginID); | |||||
$id = $newid; | |||||
$msg = stripslashes($msg); | |||||
$msg = str_replace('<', '<', $msg); | |||||
$msg = str_replace('>', '>', $msg); | |||||
helper('smiley'); | |||||
$msg = RemoveXSS(Quote_replace(parseSmileys($msg, $cfg_cmspath.'/images/smiley'))); | |||||
//$msg = RemoveXSS(Quote_replace($msg)); | |||||
if($feedbacktype=='bad') $bgimg = 'cmt-bad.gif'; | |||||
else if($feedbacktype=='good') $bgimg = 'cmt-good.gif'; | |||||
else $bgimg = 'cmt-neu.gif'; | |||||
global $dsql, $aid, $pagesize, $cfg_templeturl; | |||||
if($cfg_ml->M_ID==""){ | |||||
$mface=$cfg_cmspath."/member/templets/images/dfboy.png"; | |||||
} else { | |||||
$row = $dsql->GetOne("SELECT face,sex FROM `#@__member` WHERE mid={$cfg_ml->M_ID} "); | |||||
if(empty($row['face'])) | |||||
{ | |||||
if($row['sex']=="女") $mface=$cfg_cmspath."/member/templets/images/dfgirl.png"; | |||||
else $mface=$cfg_cmspath."/member/templets/images/dfboy.png"; | |||||
} | |||||
} | |||||
?> | |||||
<div class='decmt-box2'> | |||||
<ul> | |||||
<li> <a href='<?php echo $spaceurl; ?>' class='plpic'><img src='<?php echo $mface;?>' height='40' width='40'/></a> <span class="title"><a href="<?php echo $spaceurl; ?>"><?php echo $username; ?></a></span> | |||||
<div class="comment_act"><span class="fl"><?php echo GetDateMk($dtime); ?>发表</span></div> | |||||
<div style="clear:both"><?php echo ubb($msg); ?></div> | |||||
<div class="newcomment_act"><span class="fr"><span id='goodfb<?php echo $id; ?>'> <a href='#goodfb<?php echo $id; ?>' onclick="postBadGood('goodfb',<?php echo $id; ?>);">支持</a>[0] </span> <span id='badfb<?php echo $id; ?>'> <a href='#badfb<?php echo $id; ?>' onclick="postBadGood('badfb',<?php echo $id; ?>);">反对</a>[0] </span> <span class='quote'> | |||||
<!--<a href='/plus/feedback.php?aid=<?php echo $id; ?>&fid=<?php echo $id; ?>&action=quote'>[引用]</a>--> | |||||
<a href='javascript:ajaxFeedback(<?php echo $id; ?>,<?php echo $id; ?>,"quote");'>[引用]</a> </span></span></div> | |||||
</li> | |||||
<div id="ajaxfeedback_<?php echo $id; ?>"></div> | |||||
</ul> | |||||
</div> | |||||
<br style='clear:both' /> | |||||
<?php | |||||
} | |||||
exit(); | |||||
} | |||||
/** | |||||
* 读取列表内容 | |||||
* | |||||
* @param int $page 页码 | |||||
* @return string | |||||
*/ | |||||
function GetList($page=1) | |||||
{ | |||||
global $dsql, $aid, $pagesize, $cfg_templeturl,$cfg_cmspath; | |||||
$querystring = "SELECT fb.*,mb.userid,mb.face as mface,mb.spacesta,mb.scores,mb.sex FROM `#@__feedback` fb | |||||
LEFT JOIN `#@__member` mb on mb.mid = fb.mid WHERE fb.aid='$aid' AND fb.ischeck='1' ORDER BY fb.id DESC"; | |||||
$row = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__feedback` WHERE aid='$aid' AND ischeck='1' "); | |||||
$totalcount = (empty($row['dd']) ? 0 : $row['dd']); | |||||
$startNum = $pagesize * ($page-1); | |||||
if($startNum > $totalcount) | |||||
{ | |||||
echo "参数错误!"; | |||||
return $totalcount; | |||||
} | |||||
$dsql->Execute('fb', $querystring." LIMIT $startNum, $pagesize "); | |||||
while($fields = $dsql->GetArray('fb')) | |||||
{ | |||||
if($fields['userid']!='') $spaceurl = $GLOBALS['cfg_memberurl'].'/index.php?uid='.$fields['userid']; | |||||
else $spaceurl = '#'; | |||||
if($fields['username']=='匿名') $spaceurl = '#'; | |||||
$fields['bgimg'] = 'cmt-neu.gif'; | |||||
$fields['ftypetitle'] = '该用户表示中立'; | |||||
if($fields['ftype']=='bad') | |||||
{ | |||||
$fields['bgimg'] = 'cmt-bad.gif'; | |||||
$fields['ftypetitle'] = '该用户表示差评'; | |||||
} | |||||
else if($fields['ftype']=='good') | |||||
{ | |||||
$fields['bgimg'] = 'cmt-good.gif'; | |||||
$fields['ftypetitle'] = '该用户表示好评'; | |||||
} | |||||
if(empty($fields['mface'])) | |||||
{ | |||||
if($fields['sex']=="女") $fields['mface']=$cfg_cmspath."/member/templets/images/dfgirl.png"; | |||||
else $fields['mface']=$cfg_cmspath."/member/templets/images/dfboy.png"; | |||||
} | |||||
$fields['face'] = empty($fields['face']) ? 6 : $fields['face']; | |||||
$fields['msg'] = str_replace('<', '<', $fields['msg']); | |||||
$fields['msg'] = str_replace('>', '>', $fields['msg']); | |||||
helper('smiley'); | |||||
$fields['msg'] = RemoveXSS(Quote_replace(parseSmileys($fields['msg'], $cfg_cmspath.'/images/smiley'))); | |||||
extract($fields, EXTR_OVERWRITE); | |||||
?> | |||||
<div class="decmt-box2"> | |||||
<ul> | |||||
<li> <a href='<?php echo $spaceurl; ?>' class='plpic'><img src='<?php echo $mface;?>' height='40' width='40'/></a> <span class="title"><a href="<?php echo $spaceurl; ?>"><?php echo $username; ?></a></span> | |||||
<div class="comment_act"><span class="fl"><?php echo GetDateMk($dtime); ?>发表</span></div> | |||||
<div style="clear:both"><?php echo ubb($msg); ?></div> | |||||
<div class="newcomment_act"><span class="fr"><span id='goodfb<?php echo $id; ?>'> <a href='#goodfb<?php echo $id; ?>' onclick="postBadGood('goodfb',<?php echo $id; ?>);">支持</a>[<?php echo $good; ?>] </span> <span id='badfb<?php echo $id; ?>'> <a href='#badfb<?php echo $id; ?>' onclick="postBadGood('badfb',<?php echo $id; ?>);">反对</a>[<?php echo $bad; ?>] </span> <span class='quote'> | |||||
<!--<a href='/plus/feedback.php?aid=<?php echo $id; ?>&fid=<?php echo $id; ?>&action=quote'>[引用]</a>--> | |||||
<a href='javascript:ajaxFeedback(<?php echo $id; ?>,<?php echo $id; ?>,"quote");'>[引用]</a> </span></span></div> | |||||
</li> | |||||
</ul> | |||||
<div id="ajaxfeedback_<?php echo $id; ?>"></div> | |||||
</div> | |||||
<?php | |||||
} | |||||
return $totalcount; | |||||
} | |||||
/** | |||||
* 获取分页列表 | |||||
* | |||||
* @param int $pagesize 显示条数 | |||||
* @param int $totalcount 总数 | |||||
* @return string | |||||
*/ | |||||
function GetPageList($pagesize, $totalcount) | |||||
{ | |||||
global $page; | |||||
$curpage = empty($page) ? 1 : intval($page); | |||||
$allpage = ceil($totalcount / $pagesize); | |||||
if($allpage < 2) | |||||
{ | |||||
echo ''; | |||||
return ; | |||||
} | |||||
echo " | |||||
<div id='commetpages'>"; | |||||
echo "<span>总: {$allpage} 页/{$totalcount} 条评论</span> "; | |||||
$listsize = 5; | |||||
$total_list = $listsize * 2 + 1; | |||||
$totalpage = $allpage; | |||||
$listdd = ''; | |||||
if($curpage-1 > 0 ) | |||||
{ | |||||
echo "<a href='#commettop' onclick='LoadCommets(".($curpage-1).");'>上一页</a> "; | |||||
} | |||||
if($curpage >= $total_list) | |||||
{ | |||||
$j = $curpage - $listsize; | |||||
$total_list = $curpage + $listsize; | |||||
if($total_list > $totalpage) | |||||
{ | |||||
$total_list = $totalpage; | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
$j = 1; | |||||
if($total_list > $totalpage) $total_list = $totalpage; | |||||
} | |||||
for($j; $j <= $total_list; $j++) | |||||
{ | |||||
echo ($j==$curpage ? "<strong>$j</strong> " : "<a href='#commettop' onclick='LoadCommets($j);'>{$j}</a> "); | |||||
} | |||||
if($curpage+1 <= $totalpage ) | |||||
{ | |||||
echo "<a href='#commettop' onclick='LoadCommets(".($curpage+1).");'>下一页</a> "; | |||||
} | |||||
echo "</div> | |||||
"; | |||||
} |
@@ -55,6 +55,7 @@ main.login-from { | |||||
.member .member-logo { | .member .member-logo { | ||||
border-radius: 50%; | border-radius: 50%; | ||||
max-width: 72px; | |||||
} | } | ||||
.member-actions a { | .member-actions a { | ||||
@@ -1,258 +0,0 @@ | |||||
<!-- //主模板必须要引入{dede:global.cfg_cmsurl/}/static/js/dedeajax2.js --> | |||||
<a name='postform'></a> | |||||
<div class="mt1"> | |||||
<dl class="tbox"> | |||||
<dt> <strong>发表评论</strong> <span class="more"></span> </dt> | |||||
<dd> | |||||
<div class="dede_comment_post"> | |||||
<form action="#" method="post" name="feedback" onsubmit="return false;"> | |||||
<input type="hidden" name="dopost" value="send" /> | |||||
<input type="hidden" name="comtype" value="comments"> | |||||
<input type="hidden" name="aid" value="{dede:field name="id"/}" /> | |||||
<input type="hidden" name="fid" id='feedbackfid' value="0" /> | |||||
<div class="dcmp-title"> <small>请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。</small> </div> | |||||
<!-- /dcmp-title --> | |||||
<div class="dcmp-stand"> <strong>评价:</strong> | |||||
<input type="radio" name="feedbacktype" checked="1" value="feedback" id="dcmp-stand-neu" /> | |||||
<label for="dcmp-stand-neu"><img src="{dede:global.cfg_templets_skin/}/images/cmt-neu.gif" />中立</label> | |||||
<input type="radio" name="feedbacktype" value="good" id="dcmp-stand-good" /> | |||||
<label for="dcmp-stand-good"><img src="{dede:global.cfg_templets_skin/}/images/cmt-good.gif" />好评</label> | |||||
<input type="radio" name="feedbacktype" value="bad" id="dcmp-stand-bad" /> | |||||
<label for="dcmp-stand-bad"><img src="{dede:global.cfg_templets_skin/}/images/cmt-bad.gif" />差评</label> | |||||
</div> | |||||
<!-- /dcmp-stand --> | |||||
<div class="clr"></div> | |||||
<div class="dcmp-content"> | |||||
<script type="text/javascript"> | |||||
//<![CDATA[ | |||||
window.CKEDITOR_BASEPATH='{dede:global.cfg_cmsurl/}/static/js/ckeditor/'; | |||||
//]]> | |||||
</script> | |||||
<script type="text/javascript" src="{dede:global.cfg_cmsurl/}/static/js/ckeditor/ckeditor.js?t=B8DJ5M3"></script> | |||||
{dede:php} | |||||
GetEditor('msg','',100,'Feedback','print','false',true); | |||||
{/dede:php} </div> | |||||
<!-- /dcmp-content --> | |||||
<div class="dcmp-post"> | |||||
<!--未登录--> | |||||
<div class="dcmp-userinfo" id="_ajax_feedback"> {dede:php} | |||||
if($cfg_mb_open=='Y') { | |||||
echo '用户名: | |||||
<input type="text" name="username" size="16" class="ipt-txt" style="text-transform: uppercase;"/> | |||||
'; | |||||
} | |||||
{/dede:php} | |||||
{dede:php} | |||||
if(preg_match("/4/",$safe_gdopen)){ | |||||
echo '验证码: | |||||
<input type="text" name="validate" size="4" class="ipt-txt" style="text-transform:uppercase;"/> | |||||
<img src= "'.$cfg_cmspath.'/plus/vdimgck.php" id="validateimg" style="cursor:pointer" onclick="this.src=this.src+\'?\'" title="点击我更换图片" alt="点击我更换图片" class="vdimg"/>'; | |||||
} | |||||
{/dede:php} | |||||
<input type="checkbox" name="notuser" id="dcmp-submit-guest" /> | |||||
<label for="dcmp-submit-guest" /> | |||||
匿名? | |||||
</label> | |||||
</div> | |||||
{dede:php} | |||||
if($cfg_mb_open=='Y') { | |||||
echo ' | |||||
<script language="javascript" type="text/javascript">CheckLogin();</script> | |||||
'; | |||||
} | |||||
{/dede:php} | |||||
<div class="dcmp-submit"> | |||||
<button type="button" onClick='PostComment()'>发表评论</button> | |||||
</div> | |||||
</div> | |||||
</form> | |||||
</div> | |||||
</dd> | |||||
</dl> | |||||
</div> | |||||
<!-- //评论表单区结束 --> | |||||
<!-- //评论内容区 --> | |||||
<a name='commettop'></a> | |||||
<div class="mt1"> | |||||
<dl class="tbox"> | |||||
<dt> <strong>最新评论</strong> <span class="more"><a href="{dede:field name='phpurl'/}/feedback.php?aid={dede:field.id/}">进入详细评论页>></a></span> </dt> | |||||
<!-- //这两个ID的区块必须存在,否则JS会出错 --> | |||||
<dd id='commetcontentNew'></dd> | |||||
<dd id='commetcontent'></dd> | |||||
</dl> | |||||
</div> | |||||
<!-- | |||||
//由于评论载入时使用异步传输,因此必须在最后一步加载(DIGG和评论框须放在评论内容前面) | |||||
//如果一定需要提前的把myajax.SendGet改为myajax.SendGet2,但可能会引起页面阻滞 | |||||
--> | |||||
<script language='javascript'> | |||||
function LoadCommets(page) | |||||
{ | |||||
var taget_obj = document.getElementById('commetcontent'); | |||||
var waithtml = "<div style='line-height:50px'><img src='{dede:global.cfg_cmsurl/}/images/loadinglit.gif' />评论加载中...</div>"; | |||||
var myajax = new DedeAjax(taget_obj, true, true, '', 'x', waithtml); | |||||
myajax.SendGet2("{dede:global.cfg_phpurl /}/feedback_ajax.php?dopost=getlist&aid={dede:field.id/}&page="+page); | |||||
DedeXHTTP = null; | |||||
} | |||||
function PostComment() | |||||
{ | |||||
var f = document.feedback; | |||||
var msg = CKEDITOR.instances.msg.getData(); | |||||
var nface = '6'; | |||||
var nfeedbacktype = 'feedback'; | |||||
var nvalidate = ''; | |||||
var nnotuser = ''; | |||||
var nusername = ''; | |||||
var npwd = ''; | |||||
var taget_obj = $DE('commetcontentNew'); | |||||
var waithtml = "<div style='line-height:30px'><img src='{dede:global.cfg_cmsurl/}/images/loadinglit.gif' />正在发送中...</div>"; | |||||
if(msg=='') | |||||
{ | |||||
alert("评论内容不能为空!"); | |||||
return; | |||||
} | |||||
if(f.validate) | |||||
{ | |||||
if(f.validate.value=='') { | |||||
alert("请填写验证码!"); | |||||
return; | |||||
} | |||||
else { | |||||
nvalidate = f.validate.value; | |||||
} | |||||
} | |||||
if(msg.length > 500) | |||||
{ | |||||
alert("你的评论是不是太长了?请填写500字以内的评论。"); | |||||
return; | |||||
} | |||||
if(f.feedbacktype) { | |||||
for(var i=0; i < f.feedbacktype.length; i++) | |||||
if(f.feedbacktype[i].checked) nfeedbacktype = f.feedbacktype[i].value; | |||||
} | |||||
/* | |||||
if(f.face) { | |||||
for(var j=0; j < f.face.length; j++) | |||||
if(f.face[j].checked) nface = f.face[j].value; | |||||
} | |||||
*/ | |||||
if(f.notuser.checked) nnotuser = '1'; | |||||
if(f.username) nusername = f.username.value; | |||||
if(f.pwd) npwd = f.pwd.value; | |||||
var myajax = new DedeAjax(taget_obj, false, true, '', '', waithtml); | |||||
myajax.sendlang = '{dede:global.cfg_soft_lang/}'; | |||||
myajax.AddKeyN('dopost', 'send'); | |||||
myajax.AddKeyN('aid', '{dede:field.id/}'); | |||||
myajax.AddKeyN('fid', f.fid.value); | |||||
myajax.AddKeyN('face', nface); | |||||
myajax.AddKeyN('feedbacktype', nfeedbacktype); | |||||
myajax.AddKeyN('validate', nvalidate); | |||||
myajax.AddKeyN('notuser', nnotuser); | |||||
myajax.AddKeyN('username', nusername); | |||||
myajax.AddKeyN('pwd', npwd); | |||||
myajax.AddKeyN('msg', msg); | |||||
myajax.SendPost2('{dede:global.cfg_phpurl/}/feedback_ajax.php'); | |||||
//msg = ''; | |||||
CKEDITOR.instances.msg.setData(''); | |||||
//taget_obj.removeAttribute('id'); | |||||
f.fid.value = 0; | |||||
if(f.validate) | |||||
{ | |||||
if($DE('validateimg')) $DE('validateimg').src = "{dede:global.cfg_cmsurl/}/plus/vdimgck.php?"+f.validate.value; | |||||
f.validate.value = ''; | |||||
} | |||||
} | |||||
function quoteCommet(fid) | |||||
{ | |||||
document.feedback.fid.value = fid; | |||||
} | |||||
function ajaxFeedback(aid, fid, type) | |||||
{ | |||||
var taget_obj = $DE('ajaxfeedback_'+fid); | |||||
if(taget_obj.innerHTML == '') | |||||
{ | |||||
var myajax = new DedeAjax(taget_obj, true, true, '', 'x'); | |||||
myajax.SendGet2("{dede:global.cfg_phpurl /}/feedback.php?aid="+aid+"&fid="+fid+"&action=quote&type=ajax"); | |||||
eval('var result = typeof CKEDITOR.instances.msg_'+fid); | |||||
if(result != 'undefined') | |||||
{ | |||||
// 删除实例 | |||||
eval('var edit = CKEDITOR.instances.msg_'+fid); | |||||
CKEDITOR.remove(edit); | |||||
} | |||||
CKEDITOR.replace(document.getElementById('msg_'+fid) , CKEDITOR.instances.msg.config); | |||||
scroll(0, taget_obj.offsetTop - 120); | |||||
var formname = 'f = document.ajaxfeedback_'+fid; | |||||
eval(formname); | |||||
if(f.validate) | |||||
{ | |||||
if($DE('vdimg_'+fid)) $DE('vdimg_'+fid).src = "{dede:global.cfg_cmsurl/}/plus/vdimgck.php?"+f.validate.value; | |||||
f.validate.value = ''; | |||||
} | |||||
DedeXHTTP = null; | |||||
} | |||||
} | |||||
function ajaxQuotePost(fid) | |||||
{ | |||||
var formname = 'f = document.ajaxfeedback_'+fid; | |||||
eval(formname); | |||||
//var f = document.formname; | |||||
//var f = f[0]; | |||||
var nvalidate = ''; | |||||
var nnotuser = ''; | |||||
var nusername = ''; | |||||
var npwd = ''; | |||||
var taget_obj = $DE('commetcontentNew'); | |||||
var waithtml = "<div style='line-height:30px'><img src='{dede:global.cfg_cmsurl/}/images/loadinglit.gif' />正在发送中...</div>"; | |||||
eval('var msg = CKEDITOR.instances.msg_'+fid+'.getData()'); | |||||
if(f.validate) | |||||
{ | |||||
if(f.validate.value=='') { | |||||
alert("请填写验证码!"); | |||||
return; | |||||
} | |||||
else { | |||||
nvalidate = f.validate.value; | |||||
} | |||||
} | |||||
var myajax = new DedeAjax(taget_obj, false, true, '', '', waithtml); | |||||
if(f.notuser.checked) nnotuser = '1'; | |||||
if(f.username) nusername = f.username.value; | |||||
if(f.pwd) npwd = f.pwd.value; | |||||
myajax.sendlang = '{dede:global.cfg_soft_lang/}'; | |||||
myajax.AddKeyN('dopost', 'send'); | |||||
myajax.AddKeyN('aid', '{dede:field.id/}'); | |||||
myajax.AddKeyN('fid', f.fid.value); | |||||
myajax.AddKeyN('type', 'ajax'); | |||||
myajax.AddKeyN('comtype', f.comtype.value); | |||||
myajax.AddKeyN('isconfirm','yes'); | |||||
myajax.AddKeyN('typeid', f.typeid.value); | |||||
myajax.AddKeyN('quotemsg', f.quotemsg.value); | |||||
myajax.AddKeyN('validate', nvalidate); | |||||
myajax.AddKeyN('notuser', nnotuser); | |||||
myajax.AddKeyN('username', nusername); | |||||
myajax.AddKeyN('pwd', npwd); | |||||
myajax.AddKeyN('msg', msg); | |||||
myajax.SendPost2('{dede:global.cfg_phpurl/}/feedback_ajax.php'); | |||||
//alert(f.quotemsg.value); | |||||
if($DE('ajaxfeedback_'+fid).innerHTML != null) | |||||
{ | |||||
$DE('ajaxfeedback_'+fid).innerHTML = ''; | |||||
} | |||||
scroll(0, taget_obj.offsetTop); | |||||
} | |||||
LoadCommets(1); | |||||
</script> | |||||
<!-- //评论内容区结束 --> |
@@ -54,7 +54,7 @@ | |||||
if (j == 19 && !hasid) break; | if (j == 19 && !hasid) break; | ||||
} | } | ||||
} | } | ||||
if (hasid) { alert("您已经顶过该帖,请不要重复顶帖 !"); return; } | |||||
if (hasid) { ShowMsg("您已经顶过该帖,请不要重复顶帖 !"); return; } | |||||
else saveid += ',' + aid; | else saveid += ',' + aid; | ||||
SetCookie('diggid', saveid, 1); | SetCookie('diggid', saveid, 1); | ||||
} | } | ||||
@@ -142,6 +142,7 @@ | |||||
action : "send", | action : "send", | ||||
comtype : "reply", | comtype : "reply", | ||||
fid : fid, | fid : fid, | ||||
aid : "{dede:field name='id'/}", | |||||
msg : content, | msg : content, | ||||
} | } | ||||
$.post("{dede:field name='phpurl'/}/feedback.php", reply, function (data) { | $.post("{dede:field name='phpurl'/}/feedback.php", reply, function (data) { | ||||