本帖最后由 可爱糖酱 于 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,只要你好好找准了代码
注意模糊查询
除特别标注,其他修改的地方两版本一致
第一步:升级数据库:- ALTER TABLE `cdb_threads` ADD `markread` VARCHAR( 255 ) NOT NULL;
- ALTER TABLE `cdb_threads` ADD `markuser` VARCHAR( 255 ) NOT NULL;
复制代码 有人不知道这怎么弄捏
后台 - 工具 - 数据库 - 升级
黏贴上面的SQL代码内容到框框框里提交~~OK
第二步:修改topicadmin.php
7.0&7.1版本查找:- } elseif($action == 'delpost') {
复制代码 7.2版本查找:- } elseif($action == 'delpost' && $allowdelpost) {
复制代码 在其上面加上:- //---os版主已阅 开始 -------------------
- } elseif($action == 'modmarkread' && $post) {
- $db->query("UPDATE {$tablepre}threads SET markread='$post\t$discuz_user\t$timestamp' WHERE tid='$tid'");
- showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage");
- //---os版主已阅 结束---------------------
复制代码 *注:这样点“已阅”后,会自动返回到列表的第一页中;
New!如需点“已阅”后返回主题所在列表页确切的页数,则将上面的代码改成:- //---os版主已阅 开始 -------------------
- } elseif($action == 'modmarkread' && $post) {
- $upnavlink = 'forumdisplay.php?fid='.$fid.($extra ? '&'.preg_replace("/^(&)*/", '', $extra) : '');
- $db->query("UPDATE {$tablepre}threads SET markread='$post\t$discuz_user\t$timestamp' WHERE tid='$tid'");
- showmessage('admin_succeed', "$upnavlink");
- //---os版主已阅 结束---------------------
复制代码 如需点“已阅”后返回所在内容页中,则将上面的代码改成:- //---os版主已阅 开始 ---------------------
- } elseif($action == 'modmarkread' && $post) {
- $db->query("UPDATE {$tablepre}threads SET markread='$post\t$discuz_user\t$timestamp' WHERE tid='$tid'");
- showmessage('admin_succeed', "viewthread.php?tid=$thread[tid]&extra=$extra
- ");
- //---os版主已阅 结束----------------------
复制代码 *以上三种形式选一即可
第三步:修改forumdisplay.php
7.0版本查找:7.1&7.2版本的查找:- $thread['moved'] = $thread['heatlevel'] = 0;
复制代码 其上面加上:- //---os版主已阅 开始------------------
- if($thread['markread']){
- $thread['markread'] = explode("\t", $thread['markread']);
- $thread['markread'][2] = gmdate("$dateformat $timeformat", $thread['markread'][2] + $timeoffset * 3600);
- $thread['markreadpage'] = ceil($thread['markread'][0] / $ppp);
- $thread['markreadpage'] = $thread['markreadpage'] != 1 ? $thread['markreadpage'].' 页 ' : '' ;
- }
- //---os版主已阅 结束 ------------------
复制代码 第四步:修改viewthread.php
查找:在其后面加上:
- //---os版主已阅 开始--------------------
- $thread['markread'] = explode("\t", $thread['markread']);
- $thread['markuser'] = explode("\t", $thread['markuser']);
- //---os版主已阅 结束--------------------
复制代码 第五步:修改你所使用风格模板中的forumdisplay.htm,如果没有,就修改默认模板里面的
查找:- <span id="thread_$thread[tid]"><a href="viewthread.php?tid=$thread[tid]&extra=$extra"$thread[highlight]>$thread[subject]</a></span>
复制代码 在</span>后面加上:- <!--{if $thread['markread']}-->
- <span alt='{lang moderator}: $thread['markread'][1]{LF}{lang time}: $thread['markread'][2]'>
- [$thread['markread'][1]
- <!--{if ($thread['markread'][0] - 1) <> $thread['replies']}-->
- 阅至: $thread['markreadpage'] $thread['markread'][0] 楼]
- <!--{else}-->
- 已阅]
- <!--{/if}-->
- </span>
- <!--{/if}-->
复制代码 如果想换成版主查水至XX楼这样的,可以改成:- <!--{if $thread['markread']}-->
- <span alt='{lang moderator}: $thread['markread'][1]{LF}{lang time}: $thread['markread'][2]'>
- [$thread['markread'][1]
- <!--{if ($thread['markread'][0] - 1) <> $thread['replies']}-->
- 查水至: $thread['markreadpage'] $thread['markread'][0] 楼]
- <!--{else}-->
- 已阅]
- <!--{/if}-->
- </span>
- <!--{/if}-->
复制代码 第六步:修改你所使用风格模板中的viewthread_node.htm,如果没有,就修改默认模板里面的
7.0版本查找:- <a href="javascript:;" onclick="scrollTo(0,0);">TOP</a>
复制代码 7.1&7.2版本的查找:- <!--{if $discuz_uid && $magicstatus}-->
复制代码 在上面加入:- <!--{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]&extra=$extra">已阅</a>
- <!--{/if}-->
- <!--{/if}-->
复制代码 好了安装结束,去测试一下吧~
本人测试成功
欢迎大家测试提交BUG。。
演示这里:http://www.osacg.cn |