列印

Discuz!6.0.0 版主閱帖插件【版主標示主題已閱】

Discuz!6.0.0 版主閱帖插件【版主標示主題已閱】

from: http://www.discuz.net/thread-701900-1-1.html

Discuz!6.0.0 版主閱帖插件【版主標示主題已閱】
插件名稱: 版主標示主題已閱
適用版本: Discuz 6.0
插件作者: Polo!
更新作者: 幽谷激泉
更新日期: 2007 年 9 月 7 日
插件功能: 版主只需點按每個文章旁的按鈕就自動標示已閱或已閱至那一頁那一樓層,方便管理




例如:
版主已閱主題的最新帖
標題標題標題標題 [某某版主 已閱]

版主已閱但未閱最新帖
標題標題標題標題 [某某版主 查至: x 頁 x 樓]

資料庫升級: 二句

修改檔案: ./topicadmin.php, ./forumdisplay.php, ./viewthread.php
修改模版: forumdisplay, viewthread

注意事項:一定要仔細,注意備份,以免出錯! 附反安裝的升級語法,看本帖最底

本插件是「版主標示主題已閱最終版<某某閱>For Discuz 5.0」的 5.5 升級版

全新安裝方法:

第一步

以管理員身份登錄系統管理,進入資料庫 > 資料庫升級

貼以下語法到框框內並提交,若資料表前綴不是預設的,請修改 cdb_threads
複製內容到剪貼簿
代碼:
ALTER TABLE `cdb_threads` ADD `markread` VARCHAR( 255 ) NOT NULL;
ALTER TABLE `cdb_threads` ADD `markuser` VARCHAR( 255 ) NOT NULL;
第二步 修改 topicadmin.php

找到以下語法,應該找到三個的,最接近最底下的就是了

查找
複製內容到剪貼簿
代碼:
} elseif($action == 'delpost') {
上面添加
複製內容到剪貼簿
代碼:
// 版主標示主題已閱 - START
} 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");
// 版主標示主題已閱 - END
-------------------------------------------------------------------------第三步

用文字編輯器打開 [ 論壇根目錄/forumdisplay.php ] 進行修改

找到以下語
複製內容到剪貼簿
代碼:
$thread['moved'] = 0;
在上面加入
複製內容到剪貼簿
代碼:
// 版主標示主題已閱 - START
        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'].' 頁 ' : '' ;
        }
// 版主標示主題已閱 - END
第四步

用文字編輯器打開 [ 論壇根目錄/viewthread.php ] 進行修改

找到以下語法
複製內容到剪貼簿
代碼:
        $newpostanchor = $postcount = $ratelogpids = 0;
在下面加入:
複製內容到剪貼簿
代碼:
// 版主標示主題已閱 - START
$thread['markread'] = explode("\t", $thread['markread']);
$thread['markuser'] = explode("\t", $thread['markuser']);
// 版主標示主題已閱 - END
第五步

編輯 forumdisplay.htm

找到以下語法
複製內容到剪貼簿
代碼:
                                        <span id="thread_$thread[tid]"><a href="viewthread.php?tid=$thread[tid]&amp;extra=$extra"$thread[highlight]>$thread[subject]</a></span>
在下面加入
複製內容到剪貼簿
代碼:
<!--// 版主標示主題已閱 - START-->
                                        <!--{if $thread['markread']}-->
                                                <span title="{lang moderator}: $thread['markread'][1]{LF}{lang time}: $thread['markread'][2]">&nbsp;&nbsp;[<span style="color: blue">$thread['markread'][1]</span>
                                                <!--{if ($thread['markread'][0] - 1) <> $thread['replies']}-->
                                                        <span style="color: #ff00cc">閱至: $thread['markreadpage'] $thread['markread'][0] 樓</span> ]
                                                <!--{else}-->
                                                        <span style="color: #ff0000">已閱</span>]
                                                <!--{/if}-->
                                                </span>
                                        <!--{/if}-->
<!--// 版主標示主題已閱 - END-->
第六步

編輯 viewthread.htm

找到以下語法
複製內容到剪貼簿
代碼:
                                                <!--{if $allowpostreply}-->
                                                        <a href="post.php?action=reply&amp;fid=$fid&amp;tid=$tid&amp;repquote=$post[pid]&amp;extra=$extra&amp;page=$page">{lang reply_quote}</a>
                                                <!--{/if}-->
在後面加入:
複製內容到剪貼簿
代碼:
<!--// 版主標示主題已閱 - START-->
                                                <!--{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]" title="">已閱</a>
                                                        <!--{/if}-->
                                                <!--{/if}-->
<!--// 版主標示主題已閱 - END-->
全新安裝結束。



反安裝方法:

以管理員身份登錄系統管理,進入資料庫 > 資料庫升級

貼以下語法到框框內並提交,若資料表前綴不是預設的,請修改 cdb_threads
複製內容到剪貼簿
代碼:
ALTER TABLE `cdb_threads` DROP `markread`;
ALTER TABLE `cdb_threads` DROP `markuser`;
然後按安裝方法把添加的語法刪除!


[ 本帖最後由 幽谷激泉 於 2007-8-7 20:32 編輯 ]
附件: 您所在的用戶組無法下載或查看附件
Hack 安裝錯誤, 80% 來自粗心, 請專心安裝
Linux0911 打造您的個性論壇

本人現在忙於研究所, 沒多的時間管論壇, 有問題別發 pm 給我, 謝謝~
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

為什麼不會說已閱第幾樓呢??
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

模板未改, 改了就會顯示出來了
Hack 安裝錯誤, 80% 來自粗心, 請專心安裝
Linux0911 打造您的個性論壇

本人現在忙於研究所, 沒多的時間管論壇, 有問題別發 pm 給我, 謝謝~
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

引用:
原帖由 Linux0911 於 2008-1-27 08:30 PM 發表
模板未改, 改了就會顯示出來了
那要改哪裡??
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

回覆 4# 絕情丹 的帖子

模板就是放網頁的資料夾

裡面有提到的 viewthread.htm 意思是在 ./templates/default/viewthread.htm 裡面的檔案

或是自己有風格, 就會有專屬風格資料夾, 但一樣在 ./template/專屬風格資料夾/ 裡面的檔案

若風格沒有, 通常都是改 default 資料夾裡面的
Hack 安裝錯誤, 80% 來自粗心, 請專心安裝
Linux0911 打造您的個性論壇

本人現在忙於研究所, 沒多的時間管論壇, 有問題別發 pm 給我, 謝謝~
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

版大請問一下

升級錯誤,MySQL 提示: Duplicate column name 'markread' ,請返回。

該如何解決
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

引用:
原帖由 fend631 於 2008-1-28 11:12 PM 發表
版大請問一下

升級錯誤,MySQL 提示: Duplicate column name 'markread' ,請返回。

該如何解決
已升級過, 不需再次升級
Hack 安裝錯誤, 80% 來自粗心, 請專心安裝
Linux0911 打造您的個性論壇

本人現在忙於研究所, 沒多的時間管論壇, 有問題別發 pm 給我, 謝謝~
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

先謝管員大大的分享
馬上來試安裝看看
希望不會有錯誤
再次感謝
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

管員大大
請問一下第六步驟
其中的語法裡有"||"
是不是要改成"&&"
須要改嗎??
對不起小弟不太了解php語法
還請管員教導
謝謝您
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

回覆 9# 天空星星 的帖子

應該不用吧

&& 就是 & 的意思, 且的意思 XXX 以及 YYY (條件同時成立)

|| 就是或的意思~ XXX 或 YYY (其中一個成立便可)

不放心的話, 用版主 (不是管理員) 登錄測試幾次~ 看看 && 跟 || 有沒有漏洞~

漏洞的意思就是說不是該版的版主卻可以使用這個功能, 跨版使用的意思~

或是說會員都可以用 (基本上不可能...因為上面以限制 adminid 123 只有管理組才有權限)
Hack 安裝錯誤, 80% 來自粗心, 請專心安裝
Linux0911 打造您的個性論壇

本人現在忙於研究所, 沒多的時間管論壇, 有問題別發 pm 給我, 謝謝~
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP



論壇聲明
  • 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
    如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
    請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!
最佳瀏覽解析度:不低於 1024 (最佳 1280 以上).(支援 IE 7, Mozilla Firefox, Safari, Chrome)
The Best Surfing Resolution: No Lower than 1024 (Best: above 1280).(IE 7, Mozilla Firefox, Safari, Chrome Supported)