Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[发布] 版主已阅 for DZ6.0正式完美修订版

[复制链接]
fucenyuan 发表于 2008-4-13 17:10:50 | 显示全部楼层 |阅读模式
原版权归“幽谷激泉”所有

这里是“幽谷激泉”的原贴:https://discuz.dismall.com/thread-701900-1-1.html,然后看到“teacher”朋友对此做了修改“https://discuz.dismall.com/viewthread ... %26amp%3Btypeid%3D2”,
但本人经过测试,对新手跟DZ6正式版而言,有些地方说的不是很明白,而且代码有点不大对,因此,特对此进行修订!

如原作者有建议或议异,请赐教!

使用效果的演示地址:
http://www.ycsmvod.cn/bbs/forum-32-1.html

好!具体修订后的教程如下:

第一步:全新安装方法:

第一步:以管理员身份登入系统管理,进入数据库 > 数据库升级

  粘贴以下语法到空框内并提交,若数据表前缀不是默认的,请修改 cdb_threads前而的"cdb_"为你的数据库前缀
  1. ALTER TABLE `cdb_threads` ADD `markread` VARCHAR( 255 ) NOT NULL;
  2. ALTER TABLE `cdb_threads` ADD `markuser` VARCHAR( 255 ) NOT NULL;
复制代码
第二步:用文字编辑器打开 [ 论坛根目录/topicadmin.php ] 进行修改

  原作者说:“找到以下语法,应该找到三个的,最接近最底下的就是了”,个人经过测试,只有一个,因此,直接打到以下代码即可:
查找
  1. }elseif($action == 'delpost') {
复制代码
在其上面加入
  1. //---版主已阅 start ------------------------------------------------------------------------
  2. } elseif($action == 'modmarkread' && $post) {

  3.                 $db->query("UPDATE  {$tablepre}threads SET markread='$post\t$discuz_user\t$timestamp' WHERE tid='$tid'");
  4.                 showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage");
  5. //---版主已阅 end -------------------------------------------------------------------------
复制代码
第三步:用文字编辑器打开 [ 论坛根目录/forumdisplay.php ] 进行修改

  找到以下语法
  1. $thread['moved'] = 0;
复制代码
在上面加入:
  1. //---版主已阅 start ------------------------------------------------------------------------
  2.         if($thread['markread']){
  3.                 $thread['markread'] = explode("\t", $thread['markread']);
  4.                 $thread['markread'][2] = gmdate("$dateformat $timeformat", $thread['markread'][2] + $timeoffset * 3600);
  5.                 $thread['markreadpage'] = ceil($thread['markread'][0] / $ppp);
  6.                 $thread['markreadpage'] = $thread['markreadpage'] != 1 ? $thread['markreadpage'].' 页 ' : '' ;
  7.         }
  8. //---版主已阅 end -------------------------------------------------------------------------
复制代码
第四步:用文字编辑器打开 [ 论坛根目录/viewthread.php ] 进行修改
  找到以下语法
  1. $thisgid = 0;
复制代码
在下面加入:
  1. //---版主已阅 start------------------------------------------
  2. $thread['markread'] = explode("\t", $thread['markread']);
  3. $thread['markuser'] = explode("\t", $thread['markuser']);
  4. //---版主已阅 end ------------------------------------------
复制代码
第五步:编辑  [ templates/default/forumdisplay.htm ]
原作者讲
找到以下语法
<a href="viewthread.php?tid=$thread[tid]&extra=$extra"$thread[highlight]>$thread[date_sort] $thread[subject]</a></span>
注意:因为我装过发贴时自动在主题前标明发贴日期的,所以多了个$thread[date_sort]

原代码为 <a href="viewthread.php?tid=$thread[tid]&extra=$extra"$thread[highlight]>$thread[subject]</a>


本人经过查找,用以上代码找不到,结果经过字段方式查找一一对照后才看到类似的,这样对于新手来讲,就增加了难度,经过本人的测试,直接查找以下代码可以一次性立马找到:
  1. thread[highlight]>$thread[subject]</a>
复制代码
在下面加入
  1. <!--{if $thread['markread']}-->
  2.   <span alt='{lang moderator}: $thread['markread'][1]{LF}{lang time}: $thread['markread'][2]'>
  3.   [$thread['markread'][1]
  4.   <!--{if ($thread['markread'][0] - 1) <> $thread['replies']}-->
  5.   阅至: $thread['markreadpage'] $thread['markread'][0] 楼]
  6.   <!--{else}-->
  7.   已阅]
  8.   <!--{/if}-->
  9.   </span>
  10.   <!--{/if}-->
复制代码
第六步:编辑 [templates/你所用的风格目录/viewthread.htm](默认风格为templates/default/viewthread.htm)

      找到以下语法
原作者认为:
      找到以下语法
<a href="post.php?action=reply&fid=$fid&tid=$tid&repquote=$post[pid]&extra=$extra&page=$page">{lang reply_quote}</a>
                                                <!--{/if}-->
在后面加入:

<!--{if in_array($adminid, array(1,2,3))}--><!--{if $forum['ismoderator'] || ($thread[markread][0] < $post[number])}--> <a href="topicadmin.php?action=modmarkread&tid=$tid&post=$post[number] ">已阅</a><!--{/if}--><!--{/if}-->


但本人经过测试
第一:以上的语法完全复制的话没法找到,同样增加了新手的难度;
第二,如果不是在默认风格,比如用其他风格,且已经经过了一些插件的安装或修改的话,“在后面加入”那一段所放的位置就有问题了,可能有些用户就不知道放在哪里了!

因此,我重新修订了这一步(很关键)
查找以下代码:
  1. ">{lang reply_quote}</a>
复制代码
如果用的是默认风格,直接在上面代码接下来会找到“<!--{/if}-->”语句,但如果你使用的不是默认风格,而是其他风格且加入了其他插件或修改过的,比如我的,就加入了“醒目高亮”:
  1. href="post.php?action=reply&fid=$fid&tid=$tid&repquote=$post[pid]&extra=$extra&page=$page">{lang reply_quote}</a>
  2. <!--{if $thread['digest']}--><div id="digest"  onmouseOut="this.style.display='';" style="position:absolute;width:0px; height:0px; top: 165px; right:250px ;">
  3. <!--{if $thread['digest'] ==1}--><img border="0" src="images/common/digest_t_1.gif" border="0">
  4. <!--{elseif $thread['digest'] ==2}--><img border="0" src="images/common/digest_t_2.gif" border="0">
  5. <!--{elseif $thread['digest'] ==3}--><img border="0" src="images/common/digest_t_3.gif" border="0">
  6. <!--{/if}--></div><!--{/if}-->
复制代码
大家会发现,“">{lang reply_quote}</a>”代码后面不是直接的“<!--{/if}-->”语句,而“<!--{/if}-->”语句是在跟着的代码后面!

所以在此,就告诉大家一个技巧,就是,你按我的方法找到“">{lang reply_quote}</a>”后,检查接下来的语句,找到接下来的第一个完整的“<!--{/if}-->”,然后再在这个语句下面增加第六步的代码:

在“<!--{/if}-->”后面插入
  1. <!--{if in_array($adminid, array(1,2,3))}--><!--{if $forum['ismoderator'] || ($thread[markread][0] < $post[number])}--> <a href="topicadmin.php?action=modmarkread&tid=$tid&post=$post[number] ">已阅</a><!--{/if}--><!--{/if}-->
复制代码
至此,整个安装才完美结束!!!
反安装方法:

  以管理员身份登入系统管理,进入数据库 > 数据库升级

粘贴以下语法到空框内并提交,若数据表前缀不是默认的,请修改 cdb_threads


ALTER TABLE `cdb_threads` DROP `markread`;
ALTER TABLE `cdb_threads` DROP `markuser`;

然后按安装方法把添加的语法删除!

在此,感谢“teacher”和“幽谷激泉”提供方法!

如果大家在安装过程中遇到问题,请跟贴回复,谢谢!

最后有一个问题,就是:很多朋友说安装好后,不知道在哪里,或者说找不到“已阅”,下面请看我的演示及说明:

附上演示地址:
http://www.ycsmvod.cn/bbs/forum-32-1.html

演示图片:
“已阅”两个字是在文章内容页的右下角那里:

1.jpg

这个是使用后的图片:
2.gif

好了,这下就直正结束了!

感谢28楼lqsjj521朋友的建议
第二步代码已修改


[ 本帖最后由 fucenyuan 于 2008-4-17 03:02 编辑 ]

评分

1

查看全部评分

回复

使用道具 举报

 楼主| fucenyuan 发表于 2008-4-13 17:30:51 | 显示全部楼层
自己顶起来!没有人要吗
回复

使用道具 举报

jojo86 发表于 2008-4-13 17:53:22 | 显示全部楼层
不錯,支持
回复

使用道具 举报

2576474 发表于 2008-4-13 18:08:02 | 显示全部楼层
用要动数据库啊,不敢用哦
回复

使用道具 举报

zhenyusen 发表于 2008-4-13 18:11:57 | 显示全部楼层
不错啊--顶了
回复

使用道具 举报

 楼主| fucenyuan 发表于 2008-4-13 18:17:14 | 显示全部楼层
原帖由 2576474 于 2008-4-13 18:08 发表
用要动数据库啊,不敢用哦

这位朋友,你如果担心
可以先备份数据库啊

这个不是动数据库,而是为数据库增加数据表!
回复

使用道具 举报

munyoo 发表于 2008-4-13 18:35:29 | 显示全部楼层
谢谢哈 留着用
回复

使用道具 举报

游子心声 发表于 2008-4-13 20:07:21 | 显示全部楼层
这个要收藏的,装了几次都没成功过
回复

使用道具 举报

 楼主| fucenyuan 发表于 2008-4-13 21:03:36 | 显示全部楼层
朋友!一开始我也是!
后来经过多次尝试后
才成功的!
回复

使用道具 举报

奔腾杨老四 发表于 2008-4-13 21:24:00 | 显示全部楼层
点已阅,就显示找不到网页了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-11-22 12:34 , Processed in 0.152173 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表