友情链接点击次数无刷新统计FORDZ7.0

  本插件可分为3个部分安装,分别是1.功能实现部分,此部分为必须;2.前台显示部分,此部分主要是在前台显示点击次数,为可选安装;3.后台管理部分,此部分主要是能在后台友情链接管理每项的点击次数,也为可选安装,不过本人推荐安装此部分。

  功能实现部分
  数据库升级ALTER TABLE `cdb_forumlinks` ADD `hits` SMALLINT( 6 ) UNSIGNED NOT NULL DEFAULT ’0′;
  本插件的功能得于实现,必须对友情链接表增加一个字段,以存储点击次数,对论坛的后续升级没有影响。
  打开文件/include/cache.func.php ,查找

if($flink['logo']) {
$tightlink_content .= '
	<li>
<div class="forumlogo"><img src="'.$flink['logo'].'" border="0" alt="'.$flink['name'].'" /></div>
<div class="forumcontent">
<h5><a href="'.$flink['url'].'" target="_blank">'.$flink['name'].'</a></h5>
'.$flink['description'].'</div>
';
} else {
$tightlink_content .= '</li>
	<li>
<div class="forumcontent">
<h5><a href="'.$flink['url'].'" target="_blank">'.$flink['name'].'</a></h5>
'.$flink['description'].'</div>
';
}
} else {
if($flink['logo']) {
$tightlink_logo .= '<a href="'.$flink['url'].'" target="_blank"><img src="'.$flink['logo'].'" border="0" alt="'.$flink['name'].'" /></a> ';
} else {
$tightlink_text .= '</li>
	<li><a title="'.$flink['name'].'" href="'.$flink['url'].'" target="_blank">'.$flink['name'].'</a>
 
';
}</li>

  替换成以下代码:

if($flink['logo']) {
$tightlink_content .= '
	<li>
<div class="forumlogo"><img src="'.$flink['logo'].'" border="0" alt="'.$flink['name'].'" /></div>
<div class="forumcontent">
<h5><a onclick="ajaxget(\'ajax.php?action=uplinkhit&amp;linkid='.$flink['id'].'\', \'returnhits\')" href="'.$flink['url'].'" target="_blank">'.$flink['name'].'</a></h5>
'.$flink['description'].'</div>
';
} else {
$tightlink_content .= '</li>
	<li>
<div class="forumcontent">
<h5><a onclick="ajaxget(\'ajax.php?action=uplinkhit&amp;linkid='.$flink['id'].'\', \'returnhits\')" href="'.$flink['url'].'" target="_blank">'.$flink['name'].'</a></h5>
'.$flink['description'].'</div>
';
}
} else {
if($flink['logo']) {
$tightlink_logo .= '<a onclick="ajaxget(\'ajax.php?action=uplinkhit&amp;linkid='.$flink['id'].'\', \'returnhits\')" href="'.$flink['url'].'" target="_blank"><img src="'.$flink['logo'].'" border="0" alt="'.$flink['name'].'" /></a> ';
} else {
$tightlink_text .= '</li>
	<li><a title="'.$flink['name'].'" onclick="ajaxget(\'ajax.php?action=uplinkhit&amp;linkid='.$flink['id'].'\', \'returnhits\')" href="'.$flink['url'].'" target="_blank">'.$flink['name'].'</a>
 
';
}</li>

  打开文件/ajax.php ,查找:include template(‘footer_ajax’);  在下面添加

//-----友情链接点击统计hack by yglu.cn ----begin----
} elseif($action == 'uplinkhit') {
 
$id = $linkid;
//防止重复点击请从下行开始,不需要的可以删除
if (!empty($_DCOOKIE['hits'])) {
 
$rs = $db-&gt;query("SELECT * FROM {$tablepre}forumlinks WHERE id='$id'");
$row = $db-&gt;fetch_array($rs);
showmessage(''.$row['name'].' 被点击了'.$row['hits'].'次', '', 1);
 
} else {
//防止重复点击到这里结束
$rs = $db-&gt;query("UPDATE {$tablepre}forumlinks SET hits = hits + 1 WHERE id = '$id'");
$rs = $db-&gt;query("SELECT * FROM {$tablepre}forumlinks WHERE id='$id'");
$row = $db-&gt;fetch_array($rs);
dsetcookie('hits', $id, 86400);
showmessage(''.$row['name'].' 被点击了'.$row['hits'].'次', '', 1);
 
}
//-----友情链接点击统计hack by yglu.cn ----end----  

前台显示部分
  打开文件/templates/default/discuz.htm(如果有多个风格,就要修改每个风格文件下的discuz.htm),查找

<h3>{lang board_links}</h3>

  替换成:

<h3>{lang board_links} <span id="returnhits"> </span></h3>

 
后台管理部分
打开文件/admin/misc.inc.php ,查找

if(!submitcheck('linksubmit')) {
?&gt;
<script type="text/JavaScript">// <![CDATA[
var rowtypedata = &#91;
&#91;
  &#91;1,&#039;&#039;, &#039;td25&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newdisplayorder&#91;&#93;" size="3">&#039;, &#039;td28&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newname&#91;&#93;" size="15">&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newurl&#91;&#93;" size="20">&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newdescription&#91;&#93;" size="30">&#039;, &#039;td26&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newlogo&#91;&#93;" size="20">&#039;&#93;
&#93;
&#93;
// ]]></script>
<!--r-->shownav('adv', 'misc_link');
showsubmenu('nav_misc_links');
showtips('misc_link_tips');
showformheader('misc&amp;operation=link');
showtableheader();
showsubtitle(array('', 'display_order', 'misc_link_edit_name', 'misc_link_edit_url', 'misc_link_edit_description', 'misc_link_edit_logo'));
$query = $db-&gt;query("SELECT * FROM {$tablepre}forumlinks ORDER BY displayorder");
while($forumlink = $db-&gt;fetch_array($query)) {
showtablerow('', array('class="td25"', 'class="td28"', '', '', 'class="td26"'), array(
'
<input class="checkbox" name="delete[]" type="checkbox" value="'.$forumlink['id'].'" />',
'
<input class="txt" name="displayorder['.$forumlink[id].']" size="3" type="text" value="'.$forumlink['displayorder'].'" />',
'
<input class="txt" name="name['.$forumlink[id].']" size="15" type="text" value="'.$forumlink['name'].'" />',
'
<input class="txt" name="url['.$forumlink[id].']" type="text" value="'.$forumlink['url'].'" />',
'
<input class="txt" name="description['.$forumlink[id].']" size="30" type="text" value="'.$forumlink['description'].'" />',
'
<input class="txt" name="logo['.$forumlink[id].']" type="text" value="'.$forumlink['logo'].'" />'
));
}
echo '
<td> </td>
  
<td colspan="3"> </td>
  
<div><a class="addtr" onclick="addrow(this, 0)" href="###">'.$lang['misc_link_add'].'</a></div>
 
 
';
showsubmit('linksubmit', 'submit', 'del');
showtablefooter();
showformfooter();
} else {
if(is_array($delete)) {
$ids = $comma = '';
foreach($delete as $id) {
$ids .= "$comma'$id'";
$comma = ',';
}
$db-&gt;query("DELETE FROM {$tablepre}forumlinks WHERE id IN ($ids)");
}
if(is_array($name)) {
foreach($name as $id =&gt; $val) {
$db-&gt;query("UPDATE {$tablepre}forumlinks SET displayorder='$displayorder[$id]', name='$name[$id]', url='$url[$id]',description='$description[$id]',logo='$logo[$id]' WHERE id='$id'");
}
}
if(is_array($newname)) {
foreach($newname as $key =&gt; $value) {
if($value) {
$db-&gt;query("INSERT INTO {$tablepre}forumlinks (displayorder, name, url, description, logo) VALUES ('$newdisplayorder[$key]', '$value', '$newurl[$key]', '$newdescription[$key]', '$newlogo[$key]')");
}
}
}
updatecache('forumlinks');
cpmsg('forumlinks_succeed', $BASESCRIPT.'?action=misc&amp;operation=link', 'succeed');
}

  替换成:

if(!submitcheck('linksubmit')) {
?&gt;
<script type="text/JavaScript">// <![CDATA[
var rowtypedata = &#91;
&#91;
  &#91;1,&#039;&#039;, &#039;td25&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newdisplayorder&#91;&#93;" size="3">&#039;, &#039;td28&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newname&#91;&#93;" size="15">&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newurl&#91;&#93;" size="20">&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newdescription&#91;&#93;" size="30">&#039;, &#039;td26&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newlogo&#91;&#93;" size="20">&#039;&#93;,
  &#91;1,&#039;
<input type="text" class="txt" name="newhits&#91;&#93;" size="7">&#039;&#93;
&#93;
&#93;
// ]]></script>
<!--r-->shownav('adv', 'misc_link');
showsubmenu('nav_misc_links');
showtips('misc_link_tips');
showformheader('misc&amp;operation=link');
showtableheader();
showsubtitle(array('', 'display_order', 'misc_link_edit_name', 'misc_link_edit_url', 'misc_link_edit_description', 'misc_link_edit_logo', '点击次数'));
$query = $db-&gt;query("SELECT * FROM {$tablepre}forumlinks ORDER BY displayorder");
while($forumlink = $db-&gt;fetch_array($query)) {
showtablerow('', array('class="td25"', 'class="td28"', '', '', 'class="td26"'), array(
'
<input class="checkbox" name="delete[]" type="checkbox" value="'.$forumlink['id'].'" />',
'
<input class="txt" name="displayorder['.$forumlink[id].']" size="3" type="text" value="'.$forumlink['displayorder'].'" />',
'
<input class="txt" name="name['.$forumlink[id].']" size="15" type="text" value="'.$forumlink['name'].'" />',
'
<input class="txt" name="url['.$forumlink[id].']" type="text" value="'.$forumlink['url'].'" />',
'
<input class="txt" name="description['.$forumlink[id].']" size="30" type="text" value="'.$forumlink['description'].'" />',
'
<input class="txt" name="logo['.$forumlink[id].']" type="text" value="'.$forumlink['logo'].'" />',
'
<input class="txt" name="hits['.$forumlink[id].']" size="7" type="text" value="'.$forumlink['hits'].'" />'
));
}
echo '
<td> </td>
  
<td colspan="3"> </td>
  
<div><a class="addtr" onclick="addrow(this, 0)" href="###">'.$lang['misc_link_add'].'</a></div>
 
 
';
showsubmit('linksubmit', 'submit', 'del');
showtablefooter();
showformfooter();
} else {
if(is_array($delete)) {
$ids = $comma = '';
foreach($delete as $id) {
$ids .= "$comma'$id'";
$comma = ',';
}
$db-&gt;query("DELETE FROM {$tablepre}forumlinks WHERE id IN ($ids)");
}
if(is_array($name)) {
foreach($name as $id =&gt; $val) {
$db-&gt;query("UPDATE {$tablepre}forumlinks SET displayorder='$displayorder[$id]', name='$name[$id]', url='$url[$id]',description='$description[$id]',logo='$logo[$id]',hits='$hits[$id]' WHERE id='$id'");
}
}
if(is_array($newname)) {
foreach($newname as $key =&gt; $value) {
if($value) {
$db-&gt;query("INSERT INTO {$tablepre}forumlinks (displayorder, name, url, description, logo, hits) VALUES ('$newdisplayorder[$key]', '$value', '$newurl[$key]', '$newdescription[$key]', '$newlogo[$key]', '$newhits[$key]')");
}
}
}
updatecache('forumlinks');
cpmsg('forumlinks_succeed', $BASESCRIPT.'?action=misc&amp;operation=link', 'succeed');
}

  到此全部完成,更新缓存,OK!附件里有修改好的文件。
友情链接点击统计FOR7.0.rar

此条目发表在 Discuz! 分类目录,贴了 , , 标签。将固定链接加入收藏夹。

友情链接点击次数无刷新统计FORDZ7.0》有 1 条评论

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">