Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] [D4.1 & D.5.X]BBS2ME感謝卡V3.1(感謝作者,心心,THANK U功能)(簡繁體)

[复制链接]
阿狗狗 发表于 2006-8-14 23:34:12 | 显示全部楼层 |阅读模式
本帖最后由 752719295 于 2009-12-29 00:16 编辑

3.1 修正檔請下載附件 覆蓋
=============



請你尊重我的辛勞 再亂改版權  抱歉 我不會再提供任何修改方式以及升級了

1.12 版 下載處
http://www.alan888.com/Discuz/viewthread.php?tid=75852

2.0  版 下載處
http://www.alan888.com/Discuz/viewthread.php?tid=76746


BBS2ME 感謝卡 V3.0

作者:貓仔(阿狗狗)
功能說明:

v 1.12 功能
1.會員可使用感謝卡 感謝發表主題的作者(回覆無法使用)
2.啟用[扣卡制]時  對方會加感謝卡張數  而你手中的感謝卡也會減少
   當你手中的感謝卡用完時 就無法再使用該功能  必須發帖賺取他人給你的感謝卡
3.使用[購買制]時 對方會增加感謝卡張數 而你手中的感謝卡也不會減少 但是 會扣除購買的總金額
使用感謝卡你可以不用回覆 直接觀看文章  避免為了看文章 而隨意回覆一些沒意義的內容(使用後 該主題 連回覆會一起解開隱藏內容)
4.後台可設置 會員註冊時的初始張數 以及對應的積分擴展值  可把積分加至總積分內  如要使用張數換取積分 則後台可以參考下面範例方式 計算
digestposts*1+extcredits1*1+extcredits2*1+extcredits4*0.02
紅色的地方也就是 50 張換取積分一點 由此累堆(範例中extcredits4為 感謝卡使用的積分擴展值)
5.後台可控制 每篇主題可以使用感謝卡的總數  ,該篇主題如超過設定的總卡數, 後面的人 將無法在該文章中繼續使用感謝卡 避免洗太多積分
6.後台可設置 每一次 每篇主題可以送感謝卡的數量
7.後台短訊通知開關
8.前台管理功能  管理員刪除感謝卡紀錄時 自動退回贈與者送出的感謝卡數及熱心值   扣回接受者的感謝卡數及魅力值 該主題贈送感謝卡者 也取消該主題的免隱藏權限

9.可選擇只能用感謝卡解開隱藏帖

v2.0 功能
後台用戶組使用限制
後台版面使用限制
退卡短訊息通知
愛心排序
感謝卡功能開關
刪帖刪除紀錄
刪除紀錄時可選是否退回卡片或金錢
後台開關使用感謝卡免付費

DNF外挂

;)
3.0 功能
1.前台搜尋功能
2.魅力值兌換積分交易功能
3.熱心值兌換功能
4. .........




====================

V 3.0 全新安裝步驟
(2.0 升級 3.0 者直接下載附件 覆蓋  重新導入插件數據)

=====================
升級數據庫

  1. CREATE TABLE `cdb_thanklog` (
  2. `id` mediumint( 20 ) unsigned NOT NULL AUTO_INCREMENT ,
  3. `fromuser` varchar( 15 ) NOT NULL default '',
  4. `fromuseruid` mediumint( 8 ) NOT NULL ,
  5. `touser` varchar( 15 ) NOT NULL default '',
  6. `asfe` varchar( 8 ) NOT NULL default '',
  7. `score` int( 10 ) NOT NULL default '0',
  8. `tid` varchar( 15 ) NOT NULL default '',
  9. `aswhat` varchar( 100 ) NOT NULL default '',
  10. `logdate` date NOT NULL ,
  11. `touseruid` MEDIUMINT( 8 ) NOT NULL,
  12. PRIMARY KEY ( `id` )
  13. ) ENGINE = MYISAM ;



  14. mysql版本不同 如果出錯無法建立則將
  15. ENGINE=MyISAM
  16. 替換成
  17. TYPE=MyISAM


  18. ALTER TABLE `cdb_threads` ADD `thank` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0',ADD `thankuser` mediumtext NOT NULL DEFAULT '';
  19. ALTER TABLE `cdb_posts` ADD `thank` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0';
  20. ALTER TABLE `cdb_members` ADD `thankannex` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0',ADD `thankgive` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0';

  21. ALTER TABLE `cdb_usergroups` ADD `allowthank` TINYINT( 1 ) NOT NULL DEFAULT '1';
  22. ALTER TABLE `cdb_forums` ADD `allowthank` TINYINT( 1 ) NOT NULL DEFAULT '1';

复制代码
=========================
反安裝語法

  1. DROP TABLE `cdb_thanklog`;
  2. ALTER TABLE `cdb_threads` DROP `thank`,DROP `thankuser`;
  3. ALTER TABLE `cdb_posts` DROP `thank`;
  4. ALTER TABLE `cdb_members` DROP `thankannex`,DROP `thankgive`;
  5. ALTER TABLE `cdb_usergroups`DROP `allowthank`;
  6. ALTER TABLE `cdb_forums`DROP `allowthank`;
复制代码
移除相關修改

==========================
discuzcode.func.php


  1. $query = $db->query("SELECT pid FROM {$tablepre}posts WHERE tid='$tid' AND authorid='$discuz_uid' LIMIT 1");
复制代码
上面加

  1. $query2 = $db->query("SELECT fromuser,fromuseruid FROM {$tablepre}thanklog WHERE tid='$tid' and fromuseruid='$discuz_uid'");
复制代码
  1. || $db->result($query, 0)
复制代码
後面插入
  1. || $db->result($query2, 0)
复制代码
---如果限制只能用感謝卡解開隱藏帖---

  1. $query = $db->query("SELECT pid FROM {$tablepre}posts WHERE tid='$tid' AND authorid='$discuz_uid' LIMIT 1");
复制代码
改成
  1. $query = $db->query("SELECT * FROM {$tablepre}threads WHERE tid='$tid' AND authorid='$discuz_uid' LIMIT 1");
复制代码
newreply.inc.php

  1. if($subject == '' && $message == '') {
复制代码
上面加
  1.   if(preg_match("/\[hide\].+?\[\/hide\]/is", preg_replace("/(\[code\].*\[\/code\])/is", '', $message))) {
  2.                 showmessage('抱歉!回覆不可使用隱藏代碼,請返回修改。');
  3.         }
复制代码
以上主題作者可以看到自己的隱藏帖 也強制使用感謝卡才能解除
但是必須強制回覆不能使用隱藏標籤 否則回覆作者自己的隱藏內容自己一樣無法看到


-----------------------------------------------------------



misc.lang.php
  1. 'post_hide_reply' =>
  2. 'post_hide_reply_hidden' =>
复制代码
後面內容改為(參考 自行更改)
  1. 'post_hide_reply' => '以下內容跟帖回復才能看到(贊助會員以上以及使用感謝卡者除外)',
  2. 'post_hide_reply_hidden' => '**** 本內容跟帖回復才可瀏覽 (贊助會員以上以及使用感謝卡者除外)*****',
复制代码
==============

forumdisplay.php

  1. $thread['lastpost'] = gmdate("$dateformat $timeformat", $thread['lastpost'] + $timeoffset * 3600);
复制代码
下面加

  1. @require DISCUZ_ROOT.'./forumdata/cache/plugin_thank.php';
  2. $th=$_DPLUGIN['thank']['vars'];
  3. $thfull=$thread['thank'];
  4. if(strlen($thread['thankuser'])>150){
  5.         $thread['thankuser']=substr($thread['thankuser'], 0, 150)."....";
  6. }
  7. if($thfull<$th['full'] || $th['full']=='0'){
  8. $thread['thank']=$thread['thank']>0?$thread['thank']="<a href=plugin.php?identifier=thank&module=thank&tid=$thread[tid]><img src='images/common/thanks.gif' title='$thread[thankuser]' align='absmiddle' border='0'></a><font color=red><b> x </b>{$thread['thank']}</font>":'';
  9. }else{
  10. $thread['thank']=$thread['thank']>0?$thread['thank']="<a href=plugin.php?identifier=thank&module=thank&tid=$thread[tid]><img src='images/common/thanks.gif' title='$thread[thankuser]' align='absmiddle' border='0'></a><font color=red><b> x </b></font><font color=blue>full</font>":'';
  11. }
复制代码
  1. isset($orderby) && in_array($orderby, array('dateline', 'replies', 'views')) ? $forumdisplayadd .=
复制代码
改為
  1. isset($orderby) && in_array($orderby, array('thank', 'dateline', 'replies', 'views')) ? $forumdisplayadd .=
复制代码
=======================
forumdisplay.htm

  1. $thread[replies]
复制代码
後面插入

  1. <br>{$thread['thank']}
复制代码
  1. <option value="lastpost" $check[lastpost]>{lang order_lastpost}</option>
复制代码
上面加
  1. <option value="thank" $check[thank]>感謝卡數</option>
复制代码
  1. {lang replies}
复制代码
後面插入

  1. <img src='./images/common/thanks.gif'><br>
  2. [<a href='forumdisplay.php?fid=$fid&filter=$filter&orderby=thank&ascdesc=DESC'>
  3. <img src='./images/common/s_desc.gif' border='0' title='依感謝卡數降序排列'></a>&nbsp<b>/</b>&nbsp
  4. <a href='forumdisplay.php?fid=$fid&filter=$filter&orderby=thank&ascdesc=ASC'>
  5. <img src='./images/common/s_asc.gif' border='0' title='依感謝卡數升序排列'></a>]
复制代码
=========================
viewthread.htm

找(2處)

  1. <!--{if $allowpostreply || !$discuz_uid}--> <a href="post.php?action=reply&fid=$fid&tid=$tid&extra=$extra"><img src="{IMGDIR}/reply.gif" border="0"></a><!--{/if}-->
复制代码
5.0找
  1. <!--{if $allowpostreply || !$discuz_uid}--> <a href="post.php?action=reply&fid=$fid&tid=$tid&extra=$extra"><img src="{IMGDIR}/reply.gif" border="0" alt="" /></a><!--{/if}-->
复制代码
後面加

  1. <!--{if $discuz_user && $allowpostreply}--> <a href="plugin.php?identifier=thank&module=thank&action=thank&tid=$tid&page=$page"><img src="{IMGDIR}/Thank.gif" border="0" alt="使用感謝卡 免回覆隱藏帖<!--{if $thanknopay==true}-->以及免付費直接查看文章<!--{/if}-->"></a><!--{/if}-->
复制代码

  1. {lang subject}: $thread[subject]</td><td width="35%" align="right" nowrap>
复制代码
5.0找
  1. <input name="allsearchsubmit" type="submit" style="height: 1.8em" value="{lang qihoo_search}">
  2. <!--{/if}-->
复制代码
後面插入

  1. <!--{if $thread['thank']}-->
  2. $thread['thank']<a href="###" onclick="thanku_collapse('thanku');">&nbsp&nbsp查看 [感謝] 名單 &nbsp&nbsp<img id="thanku_img" src="{IMGDIR}/$thanku[collapseimg]" border="0"></a>
  3. <!--{/if}-->
复制代码
帖子下面加入小按鍵

  1. <span style="font-size: {MSGFONTSIZE}">$post[message]</span>
复制代码
5.0找
  1. <div style="font-size: {MSGFONTSIZE}">$post[message]</div>
复制代码
加入

  1.         <!--{if $discuz_user && $post['authorid'] && $post[number]== 1 && $allowpostreply}--><br><a href="plugin.php?identifier=thank&module=thank&action=thank&tid=$tid&page=$page"><img src="{IMGDIR}/thanks.gif" border="0" align="absmiddle" alt="給這篇貼子作者送感謝卡!使用感謝卡 免回覆隱藏帖<!--{if $thanknopay==true}-->以及免付費直接查看文章<!--{/if}-->"></a><!--{/if}-->
复制代码

  1. type').value+'&searchsubmit=yes');" value="{lang qihoo_search}">
  2. <!--{/if}-->
  3. </td></tr>
  4. </table>
复制代码
5.0找
  1. $thread[subject]
  2. </div>
  3. </td></tr>
复制代码
下面加

  1. <tbody id="thanku" style="$collapse[thanku]">
  2. <tr><td class="altbg1">
  3. <fieldset><legend><img src='images/common/thanks.gif' title='感謝卡' align=absmiddle border=0>[感謝名單]</legend>
  4. <!--{if $thread['thankuser']==''}-->暫無感謝者!!<!--{else}-->$thread['thankuser']<!--{/if}--></fieldset>
  5. </td></tr>
  6. </tbody>
复制代码
==========================
有安裝作者美化框者找
  1. $credit[title]: $post[$key] $credit[unit]<br><!--{/loop}-->
复制代码
改為
  1. $credit[title]: $post[$key] $credit[unit]<!--{if $key==$ext}-->&nbsp<img src='images/common/thanks.gif' title='手中擁有感謝卡張數'><!--{/if}--><br>
  2. <!--{/loop}-->
复制代码
然後

下面加

  1. <img src="images/cardframe/biao-18.gif" width="90%" height="1"><br>
  2. <img src="images/cardframe/little.gif" width="12" height="12">
  3. 魅力:$post[thankannex]點 &nbsp<img src='images/common/hot.gif' border='0' title='得到感謝卡張數'><br>

  4. <img src="images/cardframe/biao-18.gif" width="90%" height="1"><br>
  5. <img src="images/cardframe/little.gif" width="12" height="12">
  6. 熱心:$post[thankgive]點 &nbsp<img src='images/common/ardency.gif' border='0' title='送出感謝卡張數'><br>
复制代码
=========================
沒有安裝作者美化框者
  1. $credit[unit]
复制代码
後面插入

  1. <!--{if $key==$ext}-->&nbsp<img src='images/common/thanks.gif' title='手中擁有感謝卡張數'><!--{/if}-->
复制代码
沒有安裝作者美化框者找

  1. $credit[title] $post[$key] $credit[unit]<br><!--{/loop}-->
复制代码
下面加

  1. 魅力:$post[thankannex]點 &nbsp<img src='images/common/hot.gif' border='0' title='得到感謝卡張數'><br>
  2. 熱心:$post[thankgive]點 &nbsp<img src='images/common/ardency.gif' border='0' title='送出感謝卡張數'><br>
复制代码
5.0找
  1. {lang readperm} $post[readaccess]<br>
复制代码
上面加

  1. 魅力:$post[thankannex]點 &nbsp<img src='images/common/hot.gif' border='0' title='得到感謝卡張數'><br>
  2. 熱心:$post[thankgive]點 &nbsp<img src='images/common/ardency.gif' border='0' title='送出感謝卡張數'><br>
复制代码
=============================

viewthread.php

  1. $db->query("UPDATE {$tablepre}threads SET moderated='0' WHERE tid='$tid'", 'UNBUFFERED');
  2.         }
  3. }
复制代码
下面加

  1. $thread['thank']=$thread['thank']>0?$thread['thank']="<img src='images/common/thanks.gif' title='感謝卡' align=absmiddle border=0><font color=red><b> x$thread[thank]</font>":'';
  2. if(strpos($_COOKIE['discuz_collapse'], 'thanku ') === FALSE) {
  3. $thanku['collapseimg'] = 'collapsed_yes.gif';
  4. $collapse['thanku'] = 'display: none';
  5. } else {
  6. $thanku['collapseimg'] = 'collapsed_no.gif';
  7. $collapse['thanku'] = '';
  8. }
复制代码
  1. m.showemail,
复制代码
後面插入
  1. m.thankannex,m.thankgive,
复制代码
  1. $postlist[$post['pid']] = $post;
复制代码
上面加

  1. $ext="extcredits".$th['thext'];
复制代码
  1. require_once DISCUZ_ROOT.'./include/discuzcode.func.php';
复制代码
下面加

  1. @require DISCUZ_ROOT.'./forumdata/cache/plugin_thank.php';
  2. $th=$_DPLUGIN['thank']['vars'];
复制代码
  1.         showmessage('thread_nopermission', NULL, 'NOPERM');
  2. }
复制代码
下面加

  1. $thanknopay=$th['thanknopay'];
  2. if($thanknopay==true){
  3. $query2 = $db->query("SELECT fromuser,fromuseruid FROM {$tablepre}thanklog WHERE tid='$tid' and fromuseruid='$discuz_uid'");
  4. }
复制代码
  1. if(!$forum['ismoderator'] && $thread['authorid'] != $discuz_uid) {
复制代码
改為
  1. if(!$forum['ismoderator'] && $thread['authorid'] != $discuz_uid  && !$db->result($query2, 0)) {
复制代码
=========================

common.js

  1.         document.cookie = "discuz_collapse=" + escape(collapsed) + "; expires=" + expires.toGMTString() + "; path=/";
  2. }
复制代码
下面加
  1. function thanku_collapse(objname) {
  2.         obj = findobj(objname);
  3.         img = findobj(objname+"_img");
  4.         collapsed = getcookie("discuz_collapse");
  5.         cookie_start = collapsed ? collapsed.indexOf(objname) : -1;
  6.         cookie_end = cookie_start + objname.length + 1;

  7.         if(obj.style.display == "none") {
  8.                 obj.style.display = "";
  9.                 img_re = new RegExp("_yes\\.gif$");
  10.                 img.src = img.src.replace(img_re, '_no.gif');
  11. if(cookie_start == -1) collapsed = collapsed + objname + " ";

  12.         } else {
  13.                 obj.style.display = "none";
  14.                 img_re = new RegExp("_no\\.gif$");
  15.                 img.src = img.src.replace(img_re, '_yes.gif');
  16. if(cookie_start != -1) collapsed = collapsed.substring(0, cookie_start) + collapsed.substring(cookie_end, collapsed.length);
  17.         }
  18.         expires = new Date();
  19.         expires.setTime(expires.getTime() + (collapsed ? 0 : -(86400 * 30 * 1000)));
  20.         document.cookie = "discuz_collapse=" + escape(collapsed) + "; expires=" + expires.toGMTString() + "; path=/";
  21. }
复制代码
========================
viewpro.htm

  1. <tr><td width="45%" class="bold">$credit[title]:</td><td width="55%">{$member[extcredits.$id]} $credit[unit]</td></tr>
  2. <!--{/loop}-->
复制代码
改為

  1.         <tr><td width="45%" class="bold">$credit[title]:</td><td width="55%">{$member[extcredits.$id]} $credit[unit]<!--{if $id==$th['thext']}-->&nbsp<img src='images/common/thanks.gif' title='手中擁有感謝卡張數'><!--{/if}--></td></tr>
  2. <!--{/loop}-->
  3. <tr><td width="45%" class="bold">魅力:</td><td width="55%">$member[thankannex]點 &nbsp<img src='images/common/hot.gif' border='0' title='得到感謝卡張數'></td></tr>
  4. <tr><td width="45%" class="bold">熱心:</td><td width="55%">$member[thankgive]點 &nbsp<img src='images/common/ardency.gif' border='0' title='送出感謝卡張數'></td></tr>
复制代码
==============
viewpro.php
  1. $query = $db->query("SELECT COUNT(*) FROM {$tablepre}posts");
复制代码
下面加

  1. @require DISCUZ_ROOT.'./forumdata/cache/plugin_thank.php';
  2. $th=$_DPLUGIN['thank']['vars'];
  3. $ext="extcredits".$th['thext'];
复制代码
=====================
admin/database.inc.php
找(3處)
  1. 'threadtypes',
复制代码
後面插入
  1. 'thanklog',
复制代码
============================
admin/groups.inc.php
  1. showsetting('usergroups_edit_direct_post', '', '', "<input type="radio" name="allowdirectpostnew"
复制代码
上面加
  1. showsetting('是否允許使用感謝卡功能', 'allowsthank', $group['allowthank'], 'radio');
复制代码
  1. ,allowanonymous='$allowanonymousnew'
复制代码
前面插入
  1. ,allowthank='$allowsthank'
复制代码
========================
forums.inc.php
  1. , allowsmilies='$allowsmiliesnew'
复制代码
後面插入
  1. ,allowthank=$allowthanknew
复制代码
  1. showsetting('forums_edit_bbcode', 'allowbbcodenew', $forum['allowbbcode'], 'radio');
复制代码
上面加
  1. showsetting('是否允許在此版面使用感謝卡', 'allowthanknew', $forum['allowthank'], 'radio');
复制代码
=================
viewthread_pay.htm
  1. <a href="misc.php?action=pay&tid=$tid">[{lang pay}]</a>  
复制代码
上面加
  1. <a href="plugin.php?identifier=thank&module=thank&action=thank&tid=$tid&pay=nopay"><img src="{IMGDIR}/thanks.gif" border="0" align="absmiddle" alt="使用感謝卡免付費!"></a>
复制代码
=================
=================

8/20 更新

增加搜尋顯示

search_threads.htm
  1. <td class="altbg1" align="center">$thread[replies]
复制代码
後面插入
  1. <!--{if $thread['thank']>0}--><br>
  2.                 <img src='images/common/thanks.gif'><font color=red>x</font>$thread['thank']<!--{/if}-->
复制代码
search.htm
  1. <option value="replies">{lang order_replies}</option>
复制代码
下面加
  1. <option value="thank">感謝卡</option>
复制代码
search.php
  1. array('dateline', 'replies', 'views'))
复制代码
改為
  1. array('dateline', 'replies','thank','views'))
复制代码
-----------------------------------------------------------------------------------



後台導入插件數據  設置所有選項

積分設置選項增加積分名稱[感謝卡]
單位[張] 註冊初始值 建議[15]

使用扣卡制 必須先發送感謝卡積分給所有會員 沒有卡片將無法使用扣卡制


上傳所有文件

更新緩存


==================



上傳附件
重新導入數據
設置插件設定
更新緩存



如果你有安裝外部上傳插件 導致感謝名單無法正常縮放
請查看下面118樓回覆 修正
http://www.alan888.com/Discuz/vi ... page%3D1&page=6


[ 本帖最后由 阿狗狗 于 2006-8-28 23:31 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
eduyd 发表于 2006-8-14 23:44:06 | 显示全部楼层
呃...........没人顶你吗..不怕..我顶...
回复

使用道具 举报

默契网管 发表于 2006-8-14 23:44:50 | 显示全部楼层
SOFA 很好的插件
回复

使用道具 举报

bluesma 发表于 2006-8-15 00:08:10 | 显示全部楼层
很不错的插件,谢谢分享。
回复

使用道具 举报

☆阿满☆ 发表于 2006-8-15 00:23:35 | 显示全部楼层
看起来好复杂 对于新手来说
回复

使用道具 举报

haohao036 发表于 2006-8-15 01:08:25 | 显示全部楼层
放心。我是从来不改版权的。。。。。呵呵。。。。支持第一。
回复

使用道具 举报

默契网管 发表于 2006-8-15 07:40:15 | 显示全部楼层
别沉
回复

使用道具 举报

5872216 发表于 2006-8-15 07:42:25 | 显示全部楼层
支持!和卡片中心类似!
回复

使用道具 举报

Temoc 发表于 2006-8-15 07:42:46 | 显示全部楼层
回复

使用道具 举报

ahske008 发表于 2006-8-15 08:06:30 | 显示全部楼层
不明白什么功能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-4-28 23:32 , Processed in 0.108258 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表