列印

社區銀行 1.03CP For Discuz 4.0 & 4.1

本主題由 Linux0911 於 2006-2-27 11:44 PM 移動

社區銀行 1.03CP For Discuz 4.0 & 4.1

from: AL8 Forum http://www.alan888.com/Discuz/viewthread.php?tid=58861

作者: cnteacher
Discuz 4.0 修改: alan888
技術支援: http://www.alan888.com/Discuz/index.php
演示: 只限會員 http://www.alan888.com/Discuz/pl ... ank&module=bank
修改檔案: include/cache.func.php
增加檔案: plugins/bank.inc.php, bank 模板, bank_submit 模板

插件因是按 AL8 Forum 的條件編寫, 在其他 Discuz Forum 使用可能出現一些問題, 加上功能相當簡單, 只提供一般銀行存款服務, 故原本不打算發放, 但收到不少會員的查詢, 所以將部份較易出問題的部份修改後發放

按本站網存 i-servces 的意見, 在所有現有的銀行插件, 在查看 "財富資訊" 會大量數據庫的查詢, 在查詢時系統資源消耗達 100% (按 AL8 Forum 的伺服器標準), 經查証原 php 碼, 確實可能會出現此問題, 故此版本在一些統計上的數據改用定時更新快取檔形式進行, 因在原基礎上查詢數據庫後直接寫入快取檔, 故不會在原基礎上增加額外的數據庫查詢, 而由於使用快取檔, 除 "銀行資產" 及 "客戶總數" 即時更新外, 其餘統計數據要在更新後才準確

另一般錯誤理解積分可以直接對換金錢或其他積分政策, 現再說明一下, Discuz 的積分 (credits) 是用公式計算出的總積分, 是不可直接對換金錢或其他積分政策的分數, 而大家在本站可以直接對換積分的原因是因為本站使用了其中一個積分政策 (extcredits) 作為積分, 而原來 Discuz  的積分 (credits) 本站是隱藏處理

重點注意: 如果對 Discuz 的結構不熟識, 強烈建議使用 Discuz 4 預設的 extcredits2 作為 "現金", 新增 extcredits3 作為存款, 不建議使用選擇其他積分策略, 如果不明白下列的修改辦法, 請勿強行安裝此插件


安裝辦法
1. 後台 -> 數據庫升級 (如果從 社區銀行 1.03CP for Discuz 2.x 升級則不用執行此步驟)
複製內容到剪貼簿
代碼:
ALTER TABLE `cdb_members` ADD `savemt` INT(10) DEFAULT '0' NOT NULL;
2. 下載附件解壓後, 除 "discuz_plugin_bank.txt" 外, 其實按插件包內的目錄上載此相關的目錄

3. 進入後台 -> Discuz! 選項 -> 積分設置 -> 擴展積分設置
在 "積分代號" 下選取其中兩個代號分別作為現金及存款的數據, 下例使用原 Discuz 4 預設的 extcredits2 作為 "現金",新增 extcredits3 作為存款, 如果選擇其他積分策略, 可參考自行修改
extcredits2 的填寫辦法
積分名稱: 現金 (可填其他)
積分單位: 元 (可填其他)
兌換比率: 1 (按其他積分策略的 1 分 換 1 現金計)
註冊初始積分: 100 (例如希望設定註冊後便有 100 現金)
啟用此積分: 是
在帖子中顯示 : 是

extcredits3 的填寫辦法
積分名稱: 存款 (可填其他)
積分單位: 元 (可填其他)
兌換比率: 0 (必須設定為 "0", 否則會員可在 "積分兌換" 中直接換成存款, 影響到正常利息的計算)
註冊初始積分: 100 (例如希望設定註冊後便有 100 存款)
啟用此積分: 是
在帖子中顯示 : 是

4. 修改 include/cache.func.php
修改完成此文件後請即時到後台→更新緩存

複製內容到剪貼簿
代碼:
array('bbcodes', 'smilies'),
在下面加上
複製內容到剪貼簿
代碼:
                'allbank'        => array('allbankpeople', 'allbankmoney'),
                'bank'                => array('totalmoney', 'totalbank', 'totalall'),
再找
複製內容到剪貼簿
代碼:
                case 'smilies':
                        $table = 'smilies';
                        $cols = 'code, url';
                        $conditions = "WHERE type='smiley' ORDER BY LENGTH(code) DESC";
                        break;
在下面加上
注意下修改是按 extcrdeits2 為現金, extcredits3 作為存款, 如果選擇其他積分策略, 可參考自行修改紅字部份
引用:
                case allbankpeople:
                        $table = 'members';
                        $cols = "COUNT(extcredits3)";
                        $conditions = "WHERE extcredits3 >0";
                        break;
                case allbankmoney:
                        $table = 'members';
                        $cols = "SUM(extcredits3)";
                        $conditions = "WHERE extcredits3 >0";
                        break;
                case totalmoney:
                        $table = 'members';
                        $cols = 'uid, username,extcredits2';
                        $conditions = "WHERE extcredits2 !=0 ORDER BY extcredits2 DESC Limit 22";
                        break;
                case totalbank:
                        $table = 'members';
                        $cols = 'uid, username, extcredits3';
                        $conditions = "WHERE extcredits3 !=0 ORDER BY extcredits3 DESC Limit 22";
                        break;
                case totalall:
                        $table = 'members';
                        $cols = 'uid, username,(extcredits2+extcredits3) AS allmoney';
                        $conditions = "WHERE (extcredits2+extcredits3!=0) ORDER BY (extcredits2+extcredits3) DESC Limit 22";
                        break;
5. 打開附件的 discuz_plugin_bank.txt 將內容剪帖至:
後台 -> 插件設置 -> 插件管理 -> 貼入 "導入插件數據" 下的空格內→提交

6. 後台 -> 插件設置 -> 插件設置 -> 在 "社區銀行 1.03CP" 點擊 "[插件參數設置] " 及設定好各項細節
注意:
按第三步已設定好的積分策略代碼在,
"現金代碼設置" 內請填上 extcredits 後的編號, 例如 "2" = 現金 (注意: 只需填上編號, 預設為 "2")
"存款代碼設置" 內請填上 extcredits 後的編號, 例如 "3" = 存款 (注意: 只需填上編號, 預設為 "3")

7. 修改 templates/default/actions.lang.php
複製內容到剪貼簿
代碼:
211 => '修改系統設置',
在下面加上
複製內容到剪貼簿
代碼:
        220 => '正在辦理銀行業務',
~完成~

如果是從 "社區銀行 1.03CP for Discuz 2.x" 升級, 可按下列辦法將原銀行數據保留
取回現金數據
如果新系統不是使用 extcrdeits2 為現金, 請修改紅字為設定的代碼
數據庫升級
引用:
UPDATE cdb_members SET extcredits2= money;
取回存款數據
如果新系統不是使用 extcrdeits3 為存款, 請修改紅字為設定的代碼
數據庫升級
引用:
UPDATE cdb_members SET extcredits3= bank;
完成已上步驟核對現金及存款無誤後, 可將原現金及存款數據刪除
數據庫升級
複製內容到剪貼簿
代碼:
ALTER TABLE cdb_members DROP money;
ALTER TABLE cdb_members DROP bank;
~升級完成~

附件一:Big5 版
附件二:utf-8 版
附件: 您所在的用戶組無法下載或查看附件
Hack 安裝錯誤, 80% 來自粗心, 請專心安裝
Linux0911 打造您的個性論壇

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

TOP

引用:
原帖由 Linux0911 於 2006-2-25 09:47 PM 發表
取回現金數據
數據庫升級
UPDATE cdb_members SET extcrdeits2= money;
取回存款數據
數據庫升級
UPDATE cdb_members SET extcrdeits3= bank;
小小勘誤 --
UPDATE cdb_members SET extcredits2= money;
UPDATE cdb_members SET extcredits3= bank;
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

sorry..我個財富資訊開唔到, 無法開啟網頁!!
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

我要從4.0升到4.1

我該怎辦..

重新安裝嗎?

數據還會在嗎...
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

include/cache.func.php 要修改d咩牙

[ 本帖最後由 35641 於 2006-8-4 03:50 PM 編輯 ]
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

回覆 #1 Linux0911 的帖子

引用:
安裝辦法
1. 後台 -> 數據庫升級 (如果從 社區銀行 1.03CP for Discuz 2.x 升級則不用執行此步驟)


[Copy to clipboard]ALTER TABLE `cdb_members` ADD `savemt` INT(10) DEFAULT '0' NOT NULL;
這個步驟顯示
資料已損壞
怎麼會這樣呢?


已解決!!!

[ 本帖最後由 title 於 2006-8-16 02:16 AM 編輯 ]
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)