AL8 Forum
   登錄註冊幫助


標題: [D5.5] 勳章中心 For Discuz!5.5 {Big5} (02/05)
 qazxcdews88
 0095018
Rank: 3Rank: 3Rank: 3

頭銜: Conqueror

帖子: 109

精華: 0

積分: 1370 點

現金: 95 元

存款: 0 元

閱讀權限: 20

註冊: 2008-1-21

狀態: 離線
 
發表於 2008-2-5 06:00  資料  個人空間  短消息  加為好友 
勳章中心 For Discuz!5.5 {Big5} (02/05)

#############################################
插件名稱:勳章中心
適用版本:discuz 5.5
原         作:【Discuz! Support Team】— 獨自流浪
作  者:Ro(qazxcdews88)
數據升級:需要添加一個字段
最後更新:2008-02-05 05:54
繁  化:Eric03
台灣繁化:Ro(qazxcdews88)
演  示:http://www.h532.idv.tw/bbs/plugi ... module=medals_index                 (帳密皆為test)
功能說明:允許用戶前台瀏覽勳章信息 版主和超級版主可以前台頒發/收回勛章
備  注:本人將插件改得更人性化!
注意事項:1.有什麼問題請在本帖發表,pm者一律不接受
     2.與本(AL8討論區)討論區所發的http://www.alan888.com/Discuz/viewthread.php?tid=83648完全不同
#############################################

全新安裝開始:

一、升級數據庫cdb_medals,添加一個字段,用來做勳章介紹信息。

ALTER TABLE `cdb_medals` ADD `info` VARCHAR( 255 ) NOT NULL AFTER `name` ;


卸載的時候(安裝不用執行)
ALTER TABLE `cdb_medals` DROP `info`


二、打開include/cache.func.php文件,
查找:

$cols = 'medalid, name, image';


修改為:

$cols = 'medalid, name, info, image';


繼續查找:

$data[$medal['medalid']] = array('name' => $medal['name'], 'image' => $medal['image']);


修改為:

$data[$medal['medalid']] = array('name' => $medal['name'], 'info' => $medal['info'], 'image' => $medal['image']);


接著打開admin/misc.inc.php,查找:

if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
        exit('Access Denied');
}



在下面添加函數:

function ifcheck($value, $name) {
        if($value) {
                global ${$name.'_Y'};
                ${$name.'_Y'} = 'checked';
        } else {
                global ${$name.'_N'};
                ${$name.'_N'} = 'checked';
        }
}


繼續查找:

                                "<td class=\"altbg1\" width=\"48\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$medal[medalid]\"></td>\n".
                                "<td class=\"altbg2\"><input type=\"text\" size=\"30\" name=\"name[$medal[medalid]]\" value=\"$medal[name]\"></td>\n".
                                "<td class=\"altbg1\"><input class=\"checkbox\" type=\"checkbox\" name=\"available[$medal[medalid]]\" value=\"1\" $checkavailable></td>\n".
                                "<td class=\"altbg2\"><input type=\"text\" size=\"25\" name=\"image[$medal[medalid]]\" value=\"$medal[image]\">\n".         
                 
     
修改為:

                                "<td class=\"altbg1\" width=\"48\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$medal[medalid]\"></td>\n".
                                "<td class=\"altbg2\"><input type=\"text\" size=\"15\" name=\"name[$medal[medalid]]\" value=\"$medal[name]\"></td>\n".
                                "<td class=\"altbg1\"><input type=\"text\" size=\"30\" name=\"info[$medal[medalid]]\" value=\"$medal[info]\" maxlength=\"255\"></td>\n".
                                "<td class=\"altbg2\" width=\"48\"><input class=\"checkbox\" type=\"checkbox\" name=\"available[$medal[medalid]]\" value=\"1\" $checkavailable></td>\n".
                                "<td class=\"altbg1\"><input type=\"text\" size=\"15\" name=\"image[$medal[medalid]]\" value=\"$medal[image]\">\n".     
                           

繼續查找:

                shownav('menu_misc_medals');
                showtips('medals_tips');


下面添加:

                //medal start
                require_once(DISCUZ_ROOT.'./plugins/medals_center/md_config.php');
               
                ifcheck($md_ifopen,'ifopen');
                ifcheck($md_ifmsg,'ifmsg');
               
                $medal_admins = array(1 => '管理員', 2 => '超級版主', 3 => '版主');        //管理組id 1:管理員 2:超級版主 3:版主
                foreach($medal_admins as $key => $admin) {
                        
                        $checked .= "<input type='checkbox' name='groups[]' value='$key' ".(strpos($md_groups,",$key,")!==false ? 'checked' : '').">$admin&nbsp";        
               
                }        //medal end      


繼續查找:

<td><input type="text" size="30" name="newname"></td>
<td><input class="checkbox" type="checkbox" name="availablenew" value="1"></td>
<td><input type="text" size="25" name="newimage"></td>


修改為:

<td><input type="text" size="15" name="newname"></td>
<td><input type="text" size="30" name="newinfo" maxlength="255"></td>
<td><input class="checkbox" type="checkbox" name="availablenew" value="1"></td>
<td><input type="text" size="15" name="newimage"></td>


繼續查找:

<td><?=$lang['name']?></td><td><?=$lang['available']?></td><td><?=$lang['medals_image']?></td></tr>


修改為:

<td><?=$lang['medals_name']?></td><td><?=$lang['medals_acquaint']?></td><td><?=$lang['available']?></td><td><?=$lang['medals_image']?></td></tr>


繼續查找:

<center><input class="button" type="submit" name="medalsubmit" value="<?=$lang['submit']?>"></center></form>


下面添加:

<!--{medal start}-->
<form action="admincp.php?action=medals" method="post">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<input type=hidden name="step" value="config">
<table width="100%" align="center" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td colspan="2">勳章插件管理</td></tr>
<tr>
<td width="30%">是否開啟勳章功能</td>
<td>
<input type="radio" value="1" name="config[md_ifopen]" <?=$ifopen_Y?>> 是
<input type="radio" value="0" name="config[md_ifopen]" <?=$ifopen_N?>> 否
</td>
</tr>
<tr>
<td>(頒發or摘除)勳章是否短消息通知用戶</td>
<td>
<input type="radio" value="1" name="config[md_ifmsg]" <?=$ifmsg_Y?>> 是
<input type="radio" value="0" name="config[md_ifmsg]" <?=$ifmsg_N?>> 否
</td>
</tr>
<tr>
<td>(頒發or摘除)勳章管理組權限安</td>
<td>
<?=$checked?>               
</td>
</tr>
</table>
<br>
<center><input class="button" type="submit" name="medalsubmit" value="<?=$lang['submit']?>"></center>
</form>
<!--{medal end}-->


繼續查找:

$db->query("UPDATE {$tablepre}medals SET name=".($name[$id] ? '\''.dhtmlspecialchars($name[$id]).'\'' : 'name').", available='$available[$id]', image=".($image[$id] ? '\''.$image[$id].'\'' : 'image')." WHERE medalid='$id'");


修改為:

$db->query("UPDATE {$tablepre}medals SET name=".($name[$id] ? '\''.dhtmlspecialchars($name[$id]).'\'' : 'name').", info=".($info[$id] ? '\''.dhtmlspecialchars($info[$id]).'\'' : '\'\'').", available='$available[$id]', image=".($image[$id] ? '\''.$image[$id].'\'' : 'image')." WHERE medalid='$id'");


繼續查找:

$db->query("INSERT INTO        {$tablepre}medals (name, available, image) VALUES ('".dhtmlspecialchars($newname)."', '$newavailable', '$newimage')");


修改為:

$db->query("INSERT INTO        {$tablepre}medals (name, info, available, image) VALUES ('".dhtmlspecialchars($newname)."', '".dhtmlspecialchars($newinfo)."', '$newavailable', '$newimage')");


繼續查找:

if($newname != '' && $newimage != '') {
                        $db->query("INSERT INTO        {$tablepre}medals (name, info, available, image) VALUES ('".dhtmlspecialchars($newname)."', '".dhtmlspecialchars($newinfo)."', '$newavailable', '$newimage')");
                }


下面添加:

                if($step == 'config') {                //medal start
                        if(is_array($groups)){
                                $config['md_groups']=','.implode(',',$groups).',';
                        }else{
                                $config['md_groups']='';
                        }
                        
                        $md_config = "<?php\n";
                        foreach($config as $key=>$value){
                                $md_config .= "\$$key = '$value';\n";
                        }
                        $md_config .= "?>";
                        
                        $fp = @fopen(DISCUZ_ROOT.'./plugins/medals_center/md_config.php','w') or cpmsg('medal配置文件打開出錯,查看是否設置了0777權限', 'admincp.php?action=medals');
                        @fwrite($fp, $md_config) or cpmsg('medal配置文件寫入出錯,查看是否設置了0777權限', 'admincp.php?action=medals');
                }        //medal end


接著打開templates/default/admincp.lang.php,查找:  (建議使用WordPad開啟,因為檔案太大開啟容易當機!)

查找:

        'medals_edit' => '勳章編輯',


下面添加:

        'medals_name' => '勳章名稱',
        'medals_acquaint' => '勳章介紹',


接著打開templates/default/actions.lang.php,查找:  (在現動作,若已經有了再換其他號碼)

查找:

        161 => '懸賞',


下面添加:

        166 => '勳章中心',


以上文件就是後台和緩存文件需要的修改了,到此代碼修改完畢,如果直接copy我的文件的話,那麼就動手了!

三、將附件解壓縮出來,按照路徑分別粘貼到相應的文件夾!

這裡介紹一下每個文件的用處

QUOTE:
-- plugins
      -- medals_center
            -- md_config.php    勳章中心 配置文件,修改的配置全部在這裡面,不要修改,因為是動態變化的!
            -- medalcache.inc.php  用戶勛章信息緩存文件,用來生成用戶勛章的緩存信息,一般不需要動!
            -- medals_index.inc.php  用戶前台調用文件,可以按照自己的頁面修改顯示的記錄數,我有漢字的注釋!
-- templates
      -- default
            -- medals_index.htm  模版文件,隨你修改,別修改的不能調用(一句老話,修改之前備份)
-- include
      -- cache.func.php  discuz的緩存文件,除非你很清醒的知道你在做什麼,負責請不要亂修改!
-- admin
      -- misc.inc.php  discuz後台文件,很多雜項都是在這個文件下修改的,除非你很清醒的知道你在做什麼,負責請不要亂修改!
-- discuz_plugin_medals_center.txt  裝過插件的人都知道,discuz的插件安裝需要導入這個文件,假如你動了它,出現問題概不負責!
四、後台導入插件discuz_plugin_medals_center.txt文檔。

五、更新緩存。這時候可以享受自己的勞動成果了!

六、 附件和圖片展示!

[ 本帖最後由 qazxcdews88 於 2008-2-5 09:27 編輯 ]



 附件: 您所在的用戶組無法下載或查看附件



 AL8 Forum © All rights reserved.
頂部
 Fiona
 0045153
Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

頭銜: King

帖子: 865

精華: 0

積分: 11360 點

現金: 884 元

存款: 0 元

閱讀權限: 30

註冊: 2006-5-17

狀態: 離線
 
發表於 2008-2-5 10:46  資料  個人空間  短消息  加為好友 
勳章怎樣得到的?是設置會員積分去取得還是開放每人也取得?




 AL8 Forum © All rights reserved.
頂部
 qazxcdews88
 0095018
Rank: 3Rank: 3Rank: 3

頭銜: Conqueror

帖子: 109

精華: 0

積分: 1370 點

現金: 95 元

存款: 0 元

閱讀權限: 20

註冊: 2008-1-21

狀態: 離線
 
發表於 2008-2-5 18:10  資料  個人空間  短消息  加為好友 
QUOTE:
原帖由 Fiona 於 2008-2-5 10:46 發表
勳章怎樣得到的?是設置會員積分去取得還是開放每人也取得?


要管理員去設定勳章給會員喔!

如果要會員領取的話可以安裝另一種勳章插件,

我是覺得這種的比較好用,

畢竟勳章是要鼓勵會員的東西,

讓會員自己領取讓不就失去意義了??




 AL8 Forum © All rights reserved.
頂部
 翼少爺
 0035193
Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5
點擊查看 翼少爺 的詳細資料

頭銜: King

帖子: 842

精華: 0

積分: 1210 點

現金: 0 元

存款: 8633 元

閱讀權限: 30

註冊: 2005-11-18

來自: 台灣

狀態: 離線
 
發表於 2008-2-5 20:10  資料  個人空間  短消息  加為好友 
純支持~
因為已經裝了~




 AL8 Forum © All rights reserved.
頂部
 rorikonos
 0053873
Rank: 1

頭銜: Newbie

帖子: 2

精華: 0

積分: 20 點

現金: 100 元

存款: 0 元

閱讀權限: 10

註冊: 2006-9-30

狀態: 離線
 
發表於 2008-2-8 13:56  資料  個人空間  短消息  加為好友 
這個插件是你設計的嗎? 我也覺得勳章由管理人員來頒發會比較好~

決定要裝看看了~ 多謝提供~




 AL8 Forum © All rights reserved.
頂部
 qazxcdews88
 0095018
Rank: 3Rank: 3Rank: 3

頭銜: Conqueror

帖子: 109

精華: 0

積分: 1370 點

現金: 95 元

存款: 0 元

閱讀權限: 20

註冊: 2008-1-21

狀態: 離線
 
發表於 2008-2-9 22:26  資料  個人空間  短消息  加為好友 
QUOTE:
原帖由 rorikonos 於 2008-2-8 13:56 發表
這個插件是你設計的嗎? 我也覺得勳章由管理人員來頒發會比較好~
決定要裝看看了~ 多謝提供~



原         作:【Discuz! Support Team】— 獨自流浪

並非我設計的.....

我只是再做一些的修改而已.......

改的可能比原先的好.....但是也有可能是改的比原先差.......(每個人有每個的想法)

如果不好的地方.....

還要請各位大大的指點!




 AL8 Forum © All rights reserved.
頂部
 unyleung
 0000316
Rank: 4Rank: 4Rank: 4Rank: 4

頭銜: Lord

帖子: 595

精華: 0

積分: 9720 點

現金: 200 元

存款: 142605 元

閱讀權限: 25

註冊: 2004-2-4

狀態: 離線
 
發表於 2008-2-26 13:36  資料  個人空間  短消息  加為好友 
可唔可以好似以前咁可以, 一個會員同時擁有同一個章?? 以前是後台可以用
3,2,2,1,1,1
即係6個之間有d係相同章.....好像4.1還是5.0開始預設的就不可以了




 AL8 Forum © All rights reserved.
頂部
 chunchun520
 0098208
Rank: 1

頭銜: Newbie

帖子: 1

精華: 0

積分: 10 點

現金: 100 元

存款: 0 元

閱讀權限: 10

註冊: 2008-3-19

狀態: 離線
 
發表於 2008-3-19 01:24  資料  個人空間  短消息  加為好友 
唔明    係邊到裝




 AL8 Forum © All rights reserved.
頂部
 896285
 0077094
Rank: 1

頭銜: Newbie

帖子: 31

精華: 0

積分: 98 點

現金: -212 元

存款: 100 元

閱讀權限: 10

註冊: 2007-5-21

狀態: 離線
 
發表於 2008-3-28 23:00  資料  個人空間  短消息  加為好友 
GBK版
YToyOntzOjY6InBsdWdpbiI7YTo5OntzOjk6ImF2YWlsYWJsZSI7aToxO3M6
NzoiYWRtaW5pZCI7aToxO3M6NDoibmFtZSI7czo4OiKE7NXC1tDQxCI7czox
MDoiaWRlbnRpZmllciI7czoxMzoibWVkYWxzX2NlbnRlciI7czoxMToiZGVz
Y3JpcHRpb24iO3M6NTk6ItGr1cLW0NDEIGZvciBkaXNjdXo1LjANCqG+RGlz
Y3V6ISBTdXBwb3J0IFRlYW2hv6GqILbA19TB98DLIjtzOjEwOiJkYXRhdGFi
bGVzIjtzOjA6IiI7czo5OiJkaXJlY3RvcnkiO3M6MTQ6Im1lZGFsc19jZW50
ZXIvIjtzOjk6ImNvcHlyaWdodCI7czo4OiK2wNfUwffAyyI7czo3OiJtb2R1
bGVzIjtzOjEzODoiYToxOntpOjA7YTo1OntzOjQ6Im5hbWUiO3M6MTI6Im1l
ZGFsc19pbmRleCI7czo0OiJtZW51IjtzOjg6IoTs1cLW0NDEIjtzOjQ6InR5
cGUiO2k6NjtzOjc6ImFkbWluaWQiO3M6MToiMCI7czoxMjoiZGlzcGxheW9y
ZGVyIjtzOjE6IjAiO319Ijt9czo3OiJ2ZXJzaW9uIjtzOjU6IjUuNS4wIjt9



utf8版

YToyOntzOjY6InBsdWdpbiI7YTo5OntzOjk6ImF2YWlsYWJsZSI7aToxO3M6
NzoiYWRtaW5pZCI7aToxO3M6NDoibmFtZSI7czoxMjoi5Yuz56ug5Lit5b+D
IjtzOjEwOiJpZGVudGlmaWVyIjtzOjEzOiJtZWRhbHNfY2VudGVyIjtzOjEx
OiJkZXNjcmlwdGlvbiI7czo3MDoi5Yub56ug5Lit5b+DIGZvciBkaXNjdXo1
LjANCuOAkERpc2N1eiEgU3VwcG9ydCBUZWFt44CR4oCUIOeNqOiHqua1gea1
qiI7czoxMDoiZGF0YXRhYmxlcyI7czowOiIiO3M6OToiZGlyZWN0b3J5Ijtz
OjE0OiJtZWRhbHNfY2VudGVyLyI7czo5OiJjb3B5cmlnaHQiO3M6MTI6IueN
qOiHqua1gea1qiI7czo3OiJtb2R1bGVzIjtzOjE0MzoiYToxOntpOjA7YTo1
OntzOjQ6Im5hbWUiO3M6MTI6Im1lZGFsc19pbmRleCI7czo0OiJtZW51Ijtz
OjEyOiLli7Pnq6DkuK3lv4MiO3M6NDoidHlwZSI7aTo2O3M6NzoiYWRtaW5p
ZCI7czoxOiIwIjtzOjEyOiJkaXNwbGF5b3JkZXIiO3M6MToiMCI7fX0iO31z
Ojc6InZlcnNpb24iO3M6NToiNS41LjAiO30=




 AL8 Forum © All rights reserved.
頂部
 阿楊
 0058532
Rank: 2Rank: 2

頭銜: Member

帖子: 69

精華: 0

積分: 900 點

現金: 29 元

存款: 0 元

閱讀權限: 15

註冊: 2006-11-21

狀態: 離線
 
發表於 2008-3-29 12:35  資料  個人空間  短消息  加為好友 
QUOTE:
原帖由 896285 於 2008-3-28 23:00 發表
GBK版
YToyOntzOjY6InBsdWdpbiI7YTo5OntzOjk6ImF2YWlsYWJsZSI7aToxO3M6
NzoiYWRtaW5pZCI7aToxO3M6NDoibmFtZSI7czo4OiKE7NXC1tDQxCI7czox
MDoiaWRlbnRpZmllciI7czoxMzoibWVkYWxzX2NlbnRlciI7czoxMToiZGVz
Y3 ...

你俾D數據都冇用
主程式都未變為gbk及utf8




 AL8 Forum © All rights reserved.
頂部
 LoverStation
 0096289
Rank: 1

頭銜: Newbie

帖子: 41

精華: 0

積分: 550 點

現金: 97 元

存款: 0 元

閱讀權限: 10

註冊: 2008-2-13

狀態: 離線
 
發表於 2008-4-2 00:47  資料  個人空間  短消息  加為好友 
Discuz! 提示



升級錯誤,MySQL 提示: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'YToyOntzOjY6InBsdWdpbiI7YTo5OntzOjk6ImF2YWlsYWJsZSI7czoxOiIxIjtzOjc6ImFkbWluaWQi' at line 1 ,請返回。




 AL8 Forum © All rights reserved.
頂部
 star0516
 0052661
Rank: 1

頭銜: Newbie

帖子: 49

精華: 0

積分: 690 點

現金: 100 元

存款: 0 元

閱讀權限: 10

註冊: 2006-9-16

狀態: 離線
 
發表於 2008-4-2 01:13  資料  個人空間  短消息  加為好友 
有沒有演示 -0-?
我想知道這個勳章中心是什麼樣子的`




 AL8 Forum © All rights reserved.
頂部
 caychil4321
 0104511
Rank: 1

頭銜: Newbie

帖子: 12

精華: 0

積分: 220 點

現金: 100 元

存款: 0 元

閱讀權限: 10

註冊: 2008-7-7

狀態: 離線
 
發表於 2008-7-7 15:47  資料  個人空間  短消息  加為好友 
更新媛存變左
Discuz! info: MySQL Query Error

User: admin
Time: 2008-7-7 3:45pm
Script: /admincp.php

SQL: SELECT medalid, name, info, image FROM [Table]medals WHERE available='1'
Error: Unknown column 'info' in 'field list'
Errno.: 1054

Similar error report has beed dispatched to administrator before.




 AL8 Forum © All rights reserved.
頂部

聯繫我們 - AL8 Forum - 網頁空間由 I-SERVICES 提供 - Archiver - WAP
清除 Cookies, 當前時區 GMT+8, 現在時間是 2008-12-3 08:12
Processed in 0.029670 second(s), 7 queries , Gzip enabled
Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.