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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] 版主已阅插件 for dz7.0&7.1&7.2 [09.12.31]

  [复制链接]
可爱糖酱 发表于 2008-11-14 01:44:08 | 显示全部楼层 |阅读模式
插件发布
插件名称: 版主已阅插件
插件来源:
适用版本: Discuz! 7.2
语言编码: GBK简体 
最后更新时间:
插件作者: 糖姬
插件简介: 版主已阅插件。。正式版测试也成功啦~~XD
本帖最后由 可爱糖酱 于 2010-3-3 20:46 编辑

-----------------------最新答疑-------------------------

1.如果以前装过版主已阅就不用再升级数据库了~不然会出错哦。。(其实不是真的出错了。。就是提示你已经有了不要再升级了)
2.关于已阅什么的。。
比如一个楼有10张贴
点9楼的回复时,会显示[XXX 阅至 9楼]
点10楼会显示[XXX 已阅]
这是正常的,比如你一开始点了10楼的已阅,然后后来又有一个人回复了产生了11楼
回去刷新会发现已经自动变成了[XXX 阅至 10楼]的字样
意思就是告诉你你之前只看到第10楼,看完了的话就显示已阅了这样。。(不晓得大家明白否~)
这样是有利于查贴的哦
3.还有如果在文件里找不到要修改的东西,请抓其中的几个词进行模糊搜索,一般都能搜到的~
4.修正部分内容,如第三页的帖子点了已阅后仍返回第三页
5.升级至7.1版本,新内核无能请手动修改,原7.0装了的不用再升级数据库,改文件即可
6.发现7.1贴内回复2.0似乎与本插件有冲突,请关闭贴内回复后台的 全局设置 显示帖内回复数量 选择否 即可暂时解决问题

-----------------------最新答疑-------------------------


修改时注意红字
这东西难度系数为0,只要你好好找准了代码
注意模糊查询

除特别标注,其他修改的地方两版本一致

第一步:升级数据库:
  1. ALTER TABLE `cdb_threads` ADD `markread` VARCHAR( 255 ) NOT NULL;
  2. ALTER TABLE `cdb_threads` ADD `markuser` VARCHAR( 255 ) NOT NULL;
复制代码
有人不知道这怎么弄捏
后台 - 工具 - 数据库 - 升级     
黏贴上面的SQL代码内容到框框框里提交~~OK

第二步:修改topicadmin.php

7.0&7.1版本查找
  1. } elseif($action == 'delpost') {
复制代码
7.2版本查找
  1. } elseif($action == 'delpost' && $allowdelpost) {
复制代码
在其上面加上:
  1. //---os版主已阅 开始 -------------------

  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. //---os版主已阅 结束---------------------
复制代码
*注:这样点“已阅”后,会自动返回到列表的第一页中;
New!如需点“已阅”后返回主题所在列表页确切的页数,则将上面的代码改成:
  1. //---os版主已阅 开始 -------------------

  2. } elseif($action == 'modmarkread' && $post) {
  3.                 $upnavlink = 'forumdisplay.php?fid='.$fid.($extra ? '&'.preg_replace("/^(&)*/", '', $extra) : '');
  4.                 $db->query("UPDATE  {$tablepre}threads SET markread='$post\t$discuz_user\t$timestamp' WHERE tid='$tid'");
  5.                 showmessage('admin_succeed', "$upnavlink");
  6. //---os版主已阅 结束---------------------
复制代码
如需点“已阅”后返回所在内容页中,则将上面的代码改成:
  1. //---os版主已阅 开始 ---------------------
  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', "viewthread.php?tid=$thread[tid]&extra=$extra
  5. ");
  6. //---os版主已阅 结束----------------------
复制代码
*以上三种形式选一即可

第三步:修改forumdisplay.php

7.0版本查找:
  1. $thread['moved'] = 0;
复制代码
7.1&7.2版本的查找:
  1. $thread['moved'] = $thread['heatlevel'] = 0;
复制代码
其上面加上:
  1. //---os版主已阅 开始------------------
  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. //---os版主已阅 结束 ------------------
复制代码
第四步:修改viewthread.php


查找:
  1. $thisgid = 0;
复制代码
在其后面加上:

  1. //---os版主已阅 开始--------------------
  2. $thread['markread'] = explode("\t", $thread['markread']);
  3. $thread['markuser'] = explode("\t", $thread['markuser']);
  4. //---os版主已阅 结束--------------------
复制代码
第五步:修改你所使用风格模板中的forumdisplay.htm,如果没有,就修改默认模板里面的

查找:
  1. <span id="thread_$thread[tid]"><a href="viewthread.php?tid=$thread[tid]&amp;extra=$extra"$thread[highlight]>$thread[subject]</a></span>
复制代码
在</span>后面加上:
  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}-->
复制代码
如果想换成版主查水至XX楼这样的,可以改成:
  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}-->
复制代码
第六步:修改你所使用风格模板中的viewthread_node.htm,如果没有,就修改默认模板里面的

7.0版本查找:
  1. <a href="javascript:;" onclick="scrollTo(0,0);">TOP</a>
复制代码
7.1&7.2版本的查找:
  1. <!--{if $discuz_uid && $magicstatus}-->
复制代码
在上面加入:
  1.                                         <!--{if in_array($adminid, array(1,2,3))}--><!--{if $forum['ismoderator'] || ($thread[markread][0] < $post[number])}-->
  2.                                         <a href="topicadmin.php?action=modmarkread&tid=$tid&post=$post[number]&extra=$extra">已阅</a>
  3.                                         <!--{/if}-->
  4.                                         <!--{/if}-->
复制代码
好了安装结束,去测试一下吧~

本人测试成功

欢迎大家测试提交BUG。。

演示这里:http://www.osacg.cn

评分

5

查看全部评分

SPO 发表于 2008-11-14 01:47:55 | 显示全部楼层
SF
回复

使用道具 举报

SPO 发表于 2008-11-14 01:48:39 | 显示全部楼层
沙发  
回复

使用道具 举报

ookami 发表于 2008-11-14 01:53:52 | 显示全部楼层
支持!
回复

使用道具 举报

°o° 发表于 2008-11-14 02:07:07 | 显示全部楼层
支持!
回复

使用道具 举报

feego 发表于 2008-11-14 03:46:34 | 显示全部楼层
支持,速度真快啊!
回复

使用道具 举报

beien 发表于 2008-11-14 05:54:52 | 显示全部楼层
www.dishack.cn收录,感谢发布!
回复

使用道具 举报

ug8 发表于 2008-11-14 05:56:34 | 显示全部楼层
好东西
回复

使用道具 举报

 楼主| 可爱糖酱 发表于 2008-11-14 12:03:57 | 显示全部楼层
咩~~谢谢大家支持~~

于是我不厚道的来个人工置顶。。。。
回复

使用道具 举报

 楼主| 可爱糖酱 发表于 2008-11-14 12:47:10 | 显示全部楼层
其实这个很简单的。。。要改的地方都差不多了。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 23:10 , Processed in 0.141764 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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