本帖最后由 习明 于 2012-9-21 21:40 编辑
插件名称:帖子书签(BFP)
插件版本:1.1.0
插件作者:IFS-Simon(习明)
插件功能:为单个回复插入书签,便于下次阅读时跳过已读的楼层。适合文章连载类论坛或用于论坛管理人员定期审查某些主题。管理员可自由设定用户可用书签数量;提供个人书签库便于浏览和追踪关注的主题。
适用范围:Discuz! 6.X GBK
插件类型:功能扩展
安装难度:易
数据库升级:有
说明:该插件中页面链接位置可自省调整,这需要您具有一些HTML的基本知识和对Discuz!代码的认知,如果您不熟悉Discuz!模板代码可参阅如下主题:https://discuz.dismall.com/thread-643729-1-1.html,希望对您有所帮助。
许可协议:
1. 版权:
本插件为免费公开发布插件,转载、修改、更新、升级无需获得原作者授权,但需保留原作者信息和本许可协议全文。
2. 禁止:
本插件禁止用于一切与中华人民共和国法律、法规以及社会道德相悖的网站(包括但不仅限于涉及色情、反动内容的网站)。
3. 免责:
安装和使用插件有风险,作者不对因安装、使用此插件所造成的任何不良影响负责,不提供直接技术支持。技术问题和BUG请通过Discuz!官方网站发布贴跟帖提出。
安装本插件视同同意本协议。 安装向导:
0. 请将以下语句中“cdb_”改为论坛数据表前缀
数据库升级:- DROP TABLE IF EXISTS `cdb_bookmarks`;
- CREATE TABLE `cdb_bookmarks` (
- `uid` mediumint(8) unsigned NOT NULL default '0',
- `tid` mediumint(8) unsigned NOT NULL default '0',
- `pid` int(10) unsigned NOT NULL default '0',
- PRIMARY KEY (`uid`,`tid`)
- ) ENGINE=MyISAM;
复制代码 卸载:- DROP TABLE IF EXISTS `cdb_bookmarks`;
复制代码 1. 将upload文件夹下内容按路径上传至服务器;
2. For 6.1.0:
以管理员身份进入系统设置-扩展-论坛插件-导入,在“导入插件数据”处将discuz_plugin_bookmark.txt文件导入。
For 6.0.0
以管理员身份进入系统设置-扩展设置-插件管理,在“导入插件数据 - 请将导出的文件内容粘贴如下”处将discuz_plugin_bookmark.txt文件全部内容填入文本区,勾选“允许导入不同版本 Discuz! 的插件(易产生错误!!)”,并提交。
3. 修改文件./forumdisplay.php
找到:(共四处,均需修改)- $db->query("SELECT t.* FROM {$tablepre}threads t
复制代码 替换为:- $db->query("SELECT t.*, b.pid AS bookmark FROM {$tablepre}threads t
- LEFT JOIN {$tablepre}bookmarks b ON t.tid=b.tid AND b.uid='$discuz_uid'
复制代码 4. 修改文件./viewthread.php
找到:- "SELECT * FROM {$tablepre}threads t WHERE tid='$tid' AND displayorder>='0'"
复制代码 替换为:- "SELECT t.*, b.pid AS bookmark FROM {$tablepre}threads t
- LEFT JOIN {$tablepre}bookmarks b ON t.tid=b.tid AND b.uid='$discuz_uid'
- WHERE t.tid='$tid' AND displayorder>='0'"
复制代码 5. 修改文件./my.php
找到:- if($item == 'favorites') {
复制代码 在其下加入:- eval($hooks['bookmark_bookmark']);
复制代码 6. 修改文件./templates/default/forumdisplay.htm
找到:- <span id="thread_$thread[tid]">
复制代码 在其前加入:- <!--{if $thread['bookmark']}--><a href="redirect.php?goto=findpost&pid=$thread['bookmark']&ptid=$thread['tid']#pid$thread['bookmark']"><span style="color:red">$bookmarklang['bookmark']</span></a> <!--{/if}-->
复制代码 7. 修改文件./templates/default/viewthread.htm
找到:- <script type="text/javascript" src="include/javascript/viewthread.js"></script>
复制代码 在其前加入:找到:- <a href="viewthread.php?tid=$post[tid]&page=$page">{lang thread_show_all}</a>
- <!--{/if}-->
- <!--{/if}-->
复制代码 在其下加入:- <!--{if $discuz_uid && !$post['first']}--><a href="my.php?item=favorites&type=bookmark&tid=$tid&pid={$post[pid]}<!--{if $thread['bookmark'] == $post['pid']}-->&do=remove<!--{/if}-->" id="ajax_bm_$post['pid']" onclick="ajaxmenu(event, this.id, 3000, 0, 0);newbookmark($post['pid']);"><!--{if $thread['bookmark'] == $post['pid']}-->$bookmarklang['remove_bookmark']<!--{else}-->$bookmarklang['add_bookmark']<!--{/if}--></a><!--{/if}-->
复制代码 8. 修改文件
./templates/default/viewthread_special_post.htm
./templates/default/viewthread_trade_post.htm
./templates/default/viewthread_debate_posts.htm
找到:在其下加入:找到:在其后加入:- <!--{if $discuz_uid}--><a href="my.php?item=favorites&type=bookmark&tid=$tid&pid={$post[pid]}<!--{if $thread['bookmark'] == $post['pid']}-->&do=remove<!--{/if}-->" id="ajax_bm_$post['pid']" onclick="ajaxmenu(event, this.id, 3000, 0, 0);newbookmark($post['pid']);"><!--{if $thread['bookmark'] == $post['pid']}-->$bookmarklang['remove_bookmark']<!--{else}-->$bookmarklang['add_bookmark']<!--{/if}--></a><!--{/if}-->
复制代码 9. 修改文件./templates/default/my.htm
找到:- <!--{elseif $item == 'favorites' && $type == 'forum'}-->{lang my_favorite_forums}
复制代码 在其后加入:- <!--{elseif $item == 'favorites' && $type == 'bookmark'}-->$bookmarklang['my_bookmark']
复制代码 找到:- <li <!--{if $type == 'forum'}--> class="current"<!--{/if}-->><a href="my.php?item=favorites&type=forum$extrafid">{lang my_favorite_forums}</a></li>
复制代码 在其下加入:- <li <!--{if $type == 'bookmark'}--> class="current"<!--{/if}-->><a href="my.php?item=favorites&type=bookmark">$bookmarklang['my_bookmark']</a></li>
复制代码 10. 修改文件./templates/default/my_favorites.htm
找到最后一处:在其上加入:- <!--{elseif $type == 'bookmark'}-->
- <form method="post" action="my.php?item=favorites&type=bookmark">
- <input type="hidden" name="formhash" value="{FORMHASH}" />
- <table cellspacing="0" cellpadding="0" width="100%" align="center" summary="{lang my_favorite_threads}">
- <thead class="separation">
- <tr>
- <td align="center" width="48"><input class="checkbox" type="checkbox" name="chkall" onclick="checkall(this.form)">{lang delete_check}</td>
- <td>{lang subject}</td>
- <td>{lang forum}</td>
- <td>{lang replies}</td>
- <td>{lang lastpost}</td>
- </tr>
- </thead>
- <tbody>
- <!--{if $favlist}-->
- <!--{loop $favlist $fav}-->
- <tr>
- <td><input class="checkbox" type="checkbox" name="delete[]" value="$fav[tid]"></td>
- <td><a href="redirect.php?goto=findpost&pid=$fav['pid']&ptid=$fav['tid']" target="_blank">$fav[subject]</a></td>
- <td><a href="forumdisplay.php?fid=$fav[fid]" target="_blank">$fav[name]</a></td>
- <td>$fav[replies]</td>
- <td><cite><a href="redirect.php?tid=$fav[tid]&goto=lastpost#lastpost">$fav[lastpost]</a> by <!--{if $fav['lastposter']}--><a href="space.php?username=$fav[lastposterenc]" target="_blank">$fav[lastposter]</a><!--{else}-->{lang anonymous}<!--{/if}--></cite></td>
- </tr>
- <!--{/loop}-->
- <!--{else}-->
- <tr><td colspan="5">$bookmarklang['nobookmarks']</td></tr>
- <!--{/if}-->
- </tbody>
- </table>
复制代码 11. For 6.1.0:
以管理员身份进入系统设置-扩展-论坛插件-设置-帖子书签-插件参数设置,根据需要设置最大书签数。
For 6.0.0
以管理员身份进入系统设置-扩展设置-插件设置-帖子书签-插件参数设置,根据需要设置最大书签数。 changelog:
Ver. 1.1.0 (Build 20081126)
1. 修改数据库索引结构,1.0.0版本用户可通过以下语句升级数据库(请将以下语句中“cdb_”改为论坛数据表前缀):- ALTER TABLE `cdb_bookmarks` DROP INDEX `uid` , ADD PRIMARY KEY ( `uid` , `tid` );
复制代码 2. 在1.0.0版本(For Discuz!5.5.0)基础上调整调整前台页面;
3. 改写核心代码,修正一些小BUG,并将其写入插件钩子以简化安装。
4. 将语言包独立为一个文件(./plugins/ifsbookmark/lang.inc.php),可通过修改此文件自定义插件中用到的文本,并为转换编码提供方便。
5. 增加浏览帖子时移除书签功能。
5. 增加Ajax加入/移除书签后的页面书签链接进行修正功能,增强实时性。
6. 取消原Mini版,只保留完全版。
7. 将个人书签库集成到“我的收藏”中
Ver. 1.0.0 (Build 20070418)
1. 基础版本,分为Mini版(不支持用户书签库和书签数量限制)和完全版(全部功能)
Ver. 1.1.7https://discuz.dismall.com/thread-1125032-1-1.html
Ver. 1.1.0https://discuz.dismall.com/thread-1124601-1-1.html
Ver. 1.0.0https://discuz.dismall.com/thread-599375-1-1.html |