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]&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]"> [<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&fid=$fid&tid=$tid&repquote=$post[pid]&extra=$extra&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 編輯 ]