插件名稱: 版主標示主題已閱+管理人員發帖回帖自動加[已閱]
適用版本: Discuz 5.5
插件作者: Polo!
更新作者: vaiovr
插件功能: 版主只需點按每個文章旁的按鈕就自動標示已閱或已閱至那一頁那一樓層,方便管理
修改作者:貓仔(阿狗狗)
修改內容:提供修改為管理人員發帖 回帖 自動加[已閱] 及已閱樓層 不需要再去按按鍵
例如:
版主已閱主題的最新帖
標題標題標題標題 [已閱]
版主已閱但未閱最新帖
標題標題標題標題 [查至: x 頁 x 樓]
數據升級: 一句
修改文件: ./topicadmin.php, ./forumdisplay.php, ./viewthread.php
修改模版: forumdisplay, viewthread
附反安裝的升級語法,看本帖最底
數據庫升級:
ALTER TABLE `cdb_threads` ADD `markread` VARCHAR( 255 ) NOT NULL;
修改topicadmin.php(根目錄):
} elseif($action == 'delpost') {
在上面加入:
//---版主已閱-----------------------
} 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");
//---版主已閱--------------------------
修改forumdisplay.php(根目錄):
查找:
上面加入:
//---版主已閱---------------------------------
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'].' 頁 ' : '' ;
}
//---版主已閱----------------------------------
修改viewthread.php(根目錄):
查找:
下面加入:
//---版主已閱------------------------------------------
$thread['markread'] = explode("\t", $thread['markread']);
//---版主已閱------------------------------------------
修改模板 forumdisplay.htm
查找:
<!--{if $thread['readperm']}--> - [{lang readperm} <span class="bold">$thread[readperm]</span>]<!--{/if}-->
在下面加入:
<!--已閱-->
<!--{if $thread['markread']}--><!--{if ($thread['markread'][0] - 1) <> $thread['replies']}--><font color='silver' title='{lang moderator}: $thread['markread'][1]{LF}{lang time}: $thread['markread'][2]'>[查至: $thread['markreadpage'] $thread['markread'][0] 樓]</font><!--{else}--><font color='silver' title='{lang moderator}: $thread['markread'][1]{LF}{lang time}: $thread['markread'][2]'>[已閱]</font><!--{/if}--><!--{/if}-->
<!--已閱-->
修改
模板 viewthread.htm
查找:
{lang reportpost}</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]" title='帖子已閱'>已閱</a><!--{/if}--><!--{/if}-->
<!--版主已閱-->
==========================
以下提供修改為管理人員發帖 回帖 自動加[已閱] 及已閱樓層
==========================
修改作者:貓仔(阿狗狗)
管理員發帖加已閱
newthread.inc.php
找
$db->query("UPDATE {$tablepre}forums SET lastpost='$lastpost' WHERE fid='$forum[fup]'", 'UNBUFFERED');
}
下面加
if($adminid==1){
$db->query("UPDATE {$tablepre}threads SET markread='1\t$discuz_user\t$timestamp' WHERE tid='$tid'");
}
管理員,版主 ,總版主發帖加已閱
則改為加
if($adminid==1 || $adminid==2 || $adminid==3) {
$db->query("UPDATE {$tablepre}threads SET markread='1\t$discuz_user\t$timestamp' WHERE tid='$tid'");
}
[hr]red[/hr]
管理員回帖自動加已閱
newreply.inc.php
找
$db->query("UPDATE {$tablepre}forums SET lastpost='$lastpost' WHERE fid='$forum[fup]'", 'UNBUFFERED');
}
下面加
if($adminid==1) {
$numpost = $thread['replies']+2;
$db->query("UPDATE {$tablepre}threads SET markread='$numpost\t$discuz_user\t$timestamp' WHERE tid='$tid'");
}
版主,總版主,管理員回帖自動加已閱
則改為下面加
if($adminid==1 || $adminid==2 || $adminid==3) {
$numpost = $thread['replies']+2;
$db->query("UPDATE {$tablepre}threads SET markread='$numpost\t$discuz_user\t$timestamp' WHERE tid='$tid'");
}
=======完畢======