[外掛] 裝了要記得捐血的外掛,血型mod

MODs Released by Other phpbb Sites
非官方認證通過之 MOD ,或許有安全性之疑慮,所有問題由原發表者回覆!

版主: 版主管理群

主題已鎖定
design
竹貓忠實會員
竹貓忠實會員
文章: 330
註冊時間: 2003-10-31 00:36
聯繫:

[外掛] 裝了要記得捐血的外掛,血型mod

文章 design »

代碼: 選擇全部

############################################################## 
## 外掛名稱:          血型外掛
## 外掛作者:          some < some@starbeck.net > 
##                        ( design < http://phpbb-tw.net > )
## 示範網站:          http://holy.be
## 外掛描述:          這個外掛可以在您的個人資料表內多一個血型欄位
##                    可以在檢閱個人資料或文章發表區顯示作者的血型
##                    顯示方式為 "血型: (mini icon)"配合星座外掛可以從文章內容
##                    去驗證星座血型對人的影響,小女生都喜歡這套 ^^y
##
## 外掛版本:        1.0
## 適用版本:        2.0.6
## 下載地點:        http://download.some.idv.tw/blood1.0.zip
##
## 難易度: 簡單\r
## 安裝時間:  10 ~ 15 分鐘
## 需要編輯的檔案:      11
##
##      viewtopic.php 
##      admin/admin_users.php
##      includes/usercp_avatar.php 
##      includes/usercp_register.php 
##      includes/usercp_viewprofile.php 
##      language/lang_english/lang_main.php 
##      templates/subSilver/profile_add_body.tpl
##      templates/subSilver/profile_view_body.tpl
##      templates/subSliver/viewtopic_body.tpl 
##      templates/subSilver/admin/user_edit_body.tpl
##      templates/subSliver/subSilver.cfg 
##
## 附加的圖示:     4 ( 流血的圖 ^^" )
##
##      templates/subSliver/images/icon_blood_a.gif
##      templates/subSliver/images/icon_blood_b.gif
##      templates/subSliver/images/icon_blood_o.gif
##      templates/subSliver/images/icon_blood_ab.gif 
##
################################################################# 
## 由於安全上的考量,請檢查: 
## http://www.phpbb.com/mods/downloads/ 是否有此外掛的最新版本 
## 從其他地方下載此檔可能會造成你在你的 phpBB 討論版上寫入有誤的程式碼 
## 基於這個理由,phpBB 將不會為沒有收藏在我們的外掛資料庫的外掛提供支援 
## 我們的外掛資料庫在 http://www.phpbb.com/mods/downloads/ 
################################################################# 
## 版權聲明: 這一個外掛不可以刊登在或加入到非官方的 phpBB 網站 
################################################################# 
## 外掛記錄: 
##
##   2003-12-19 - Version 1.0
##       - 基本的使用,在個人資料處出現血型圖示.
##
##
##
############################################################## 
## 在增加此外掛前, 請務必備份所有需要修改的檔案
############################################################## 
# 
#-----[ SQL ]------------------------------------------------- 
#
# 在您的 phpMyAdmin中直接執行此段.

ALTER TABLE phpbb2_users ADD user_blood TINYINT not null DEFAULT "0"
#           ^^^^^^
# phpbb2_users 是預設的使用者資料表,如果您的資料表有自定前輟非預設.請自行修改成正確的.

# 
#-----[ 打開 ]------------------------------------------------ 
# 
admin/admin_users.php

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$interests = ( !empty($HTTP_POST_VARS['interests']) )

# 
#-----[ 之後加上 ]------------------------------------------ 
#

$blood = ( isset($HTTP_POST_VARS['blood']) ) ? intval ($HTTP_POST_VARS['blood']) : 0; // Blood MOD 1.0

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$sql = "UPDATE " . USERS_TABLE . "
SET " . $username_sql . $passwd_sql . "user_email

# 
#-----[ 在這段中尋找 ]---------------------------------------- 
# 
$user_rank

# 
#-----[ IN-LINE 之後加上 ]---------------------------------- 
# 
, user_blood = '$blood'

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$interests = htmlspecialchars($this_userdata['user_interests']);

# 
#-----[ 之後加上 ]------------------------------------------ 
#

$blood = $this_userdata['user_blood']; // Blood MOD 1.0


# 
#-----[ 尋找 ]------------------------------------------------ 
# 

$s_hidden_fields .= '<input type="hidden" name="notifypm" value="' . $notifypm . '" />';

# 
#-----[ 之後加上 ]------------------------------------------ 
#

$s_hidden_fields .= '<input type="hidden" name="blood" value="' . $blood . '" />'; // Blood MOD 1.0


# 
#-----[ 尋找 ]------------------------------------------------ 
# 
//
// Let's do an overall check

# 
#-----[ 之前,加入 ]----------------------------------------- 
#

// Start add - Blood MOD
switch ($blood) 
{ 
   case 1: $blood_a_checked="checked=\"checked\"";break; 
   case 2: $blood_b_checked="checked=\"checked\"";break;
   case 3: $blood_o_checked="checked=\"checked\"";break;
   case 4: $blood_ab_checked="checked=\"checked\"";break;
   default:$blood_no_specify_checked="checked=\"checked\""; 
}
// End add - Blood MOD

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
'INTERESTS' =>

# 
#-----[ 之後加上 ]------------------------------------------ 
#

// Start add - Blood MOD

'BLOOD' => $blood, 
'BLOOD_NO_SPECIFY_CHECKED' => $blood_no_specify_checked, 
'BLOOD_A_CHECKED' => $blood_a_checked,
'BLOOD_B_CHECKED' => $blood_b_checked,
'BLOOD_O_CHECKED' => $blood_o_checked,
'BLOOD_AB_CHECKED' => $blood_ab_checked, 

// End add - Blood MOD

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
'L_INTERESTS' =>

# 
#-----[ 之後加上 ]------------------------------------------ 
#

// Start add - Blood MOD
'L_BLOOD' =>$lang['Blood'], 
'L_BLOOD_A' =>$lang['Blood_A'], 
'L_BLOOD_B' =>$lang['Blood_B'],
'L_BLOOD_O' =>$lang['Blood_O'],
'L_BLOOD_AB' =>$lang['Blood_AB'], 
'L_BLOOD_NOT_SPECIFY' =>$lang['No_blood_specify'],
// End add - Blood MOD

# 
#-----[ 打開 ]------------------------------------------------ 
# 
includes/usercp_avatar.php

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
function display_avatar_gallery(

# 
#-----[ 在這段中尋找 ]---------------------------------------- 
# 
)

# 
#-----[ 在這之前加入 ]--------------------------------- 
# 
, &$blood

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$params = array(

# 
#-----[ 在這段中尋找 ]---------------------------------------- 
# 
);

# 
#-----[ 在這之前加入 ]--------------------------------- 
# 
, 'blood'

# 
#-----[ 打開 ]------------------------------------------------ 
#  
includes/usercp_register.php

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$signature = str_replace('<br />', "
", $signature);

# 
#-----[ 之後加上 ]------------------------------------------ 
# 

$blood = ( isset($HTTP_POST_VARS['blood']) ) ? intval ($HTTP_POST_VARS['blood']) : 0; // Blood MOD 1.0


# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$sql = "UPDATE " . USERS_TABLE . "
SET " . $username_sql . $passwd_sql

# 
#-----[ 在這段中尋找 ]---------------------------------------- 
# 
$avatar_sql . "

# 
#-----[ IN-LINE 之後加上 ]---------------------------------- 
# 
, user_blood = '$blood'

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$sql = "INSERT INTO " . USERS_TABLE . "
VALUES ($user_id, '" . str_replace("\'", "''", $username)

# 
#-----[ 在這段中尋找 ]---------------------------------------- 
# 
, user_style

# 
#-----[ IN-LINE 之後加上 ]---------------------------------- 
# 
, user_blood

# 
#-----[ 在這段中尋找 ]---------------------------------------- 
# 
, $user_style

# 
#-----[ IN-LINE 之後加上 ]---------------------------------- 
# 
, '$blood'

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$interests = $userdata['user_interests'];

# 
#-----[ 之後加上 ]------------------------------------------ 
# 

$blood=$userdata['user_blood']; // Blood MOD 1.0


# 
#-----[ 尋找 ]------------------------------------------------ 
# 
display_avatar_gallery(

# 
#-----[ 在這段中尋找 ]---------------------------------------- 
# 
);

# 
#-----[ 在這之前加入 ]--------------------------------- 
# 
, $blood

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$smilies_status = (

# 
#-----[ 之後加上 ]------------------------------------------ 
# 

// Start add - Blood MOD
switch ($blood) 
{ 
   case 1: $blood_a_checked="checked=\"checked\"";break; 
   case 2: $blood_b_checked="checked=\"checked\"";break;
   case 3: $blood_o_checked="checked=\"checked\"";break;
   case 4: $blood_ab_checked="checked=\"checked\"";break;
   default:$blood_no_specify_checked="checked=\"checked\""; 
}
// End add - Blood MOD

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
'VIEW_EMAIL_YES' =>

# 
#-----[ 之前,加入 ]------------------------------------------ 
# 

// Start add - Blood MOD
'LOCK_BLOOD' =>($mode!='register') ? 'DISABLED':'', 
'BLOOD' => $blood, 
'BLOOD_NO_SPECIFY_CHECKED' => $blood_no_specify_checked, 
'BLOOD_A_CHECKED' => $blood_a_checked, 
'BLOOD_B_CHECKED' => $blood_b_checked,
'BLOOD_O_CHECKED' => $blood_o_checked,
'BLOOD_AB_CHECKED' => $blood_ab_checked,
// End add - Blood MOD

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
'L_INTERESTS' =>

# 
#-----[ 之後加上 ]------------------------------------------ 
# 

// Start add - Blood MOD
'L_BLOOD' =>$lang['Blood'], 
'L_BLOOD_A' =>$lang['Blood_A'], 
'L_BLOOD_B' =>$lang['Blood_B'],
'L_BLOOD_O' =>$lang['Blood_O'],
'L_BLOOD_AB' =>$lang['Blood_AB'],
'L_BLOOD_NOT_SPECIFY' =>$lang['No_blood_specify'], 
// End add - Blood MOD



# 
#-----[ 打開 ]------------------------------------------------ 
# 
includes/usercp_viewprofile.php

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
// 
// Generate page 

# 
#-----[ 之前,加入 ]----------------------------------------- 
#

// Start add - Blood MOD
if ( !empty($profiledata['user_blood'])) 
{ 
           switch ($profiledata['user_blood']) 
           { 
                      case 1: $blood=$lang['Blood_A'];break; 
                      case 2: $blood=$lang['Blood_B'];break;
                      case 3: $blood=$lang['Blood_O'];break;
                      case 4: $blood=$lang['Blood_AB'];break;
                      default:$blood=$lang['No_blood_specify']; 
           } 
} else $blood=$lang['No_blood_specify']; 
// End add - Blood MOD

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
'INTERESTS' =>

# 
#-----[ 之後加上 ]------------------------------------------ 
# 


'BLOOD' => $blood, // Blood MOD 1.0

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
'L_INTERESTS' =>

# 
#-----[ 之後加上 ]------------------------------------------ 
# 
'L_BLOOD' => $lang['Blood'], // Blood MOD 1.0

# 
#-----[ 打開 ]------------------------------------------------ 
# 
language/lang_english/lang_main.php

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
?>

# 
#-----[ 之前,加入 ]----------------------------------------- 
#

// Start add - Blood MOD
$lang['Blood'] = 'Blood';
$lang['Blood_A'] = 'A'; 
$lang['Blood_B']='B';
$lang['Blood_O']='O'; 
$lang['Blood_AB']='AB'; 
$lang['No_blood_specify'] = 'Secret'; 
// End add - Blood MOD

# 
#-----[ 打開 ]------------------------------------------------ 
# 
templates/subSilver/profile_add_body.tpl

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
{INTERESTS}
</td>
</tr>

# 
#-----[ 之後加上 ]------------------------------------------ 
#

<!-- Start add - Blood MOD -->
<tr> 
      <td class="row1"><span class="gen">{L_BLOOD}:</span></td> 
      <td class="row2"> 
      <input type="radio" {LOCK_BLOOD} name="blood" value="0" {BLOOD_NO_SPECIFY_CHECKED}/> 
      <span class="gen">{L_BLOOD_NOT_SPECIFY}</span>   
      <input type="radio" name="blood" value="1" {BLOOD_A_CHECKED}/> 
      <span class="gen">{L_BLOOD_A}</span>   
      <input type="radio" name="blood" value="2" {BLOOD_B_CHECKED}/> 
      <span class="gen">{L_BLOOD_B}</span>
      <input type="radio" name="blood" value="3" {BLOOD_O_CHECKED}/> 
      <span class="gen">{L_BLOOD_O}</span>
      <input type="radio" name="blood" value="4" {BLOOD_AB_CHECKED}/> 
      <span class="gen">{L_BLOOD_AB}</span>
      </td> 
</tr>
<!-- End add - Blood MOD -->

# 
#-----[ 打開 ]------------------------------------------------ 
# 
templates/subSilver/profile_view_body.tpl

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
{INTERESTS}</span></b></td>
</tr>

# 
#-----[ 之後加上 ]------------------------------------------ 
#

<!-- Start add - Blood MOD --> 
<tr> 
	<td valign="top" align="right" nowrap="nowrap"><span class="gen">{L_BLOOD}:</span></td>
	<td> <b><span class="gen">{BLOOD}</span></b></td>
</tr>
<!-- End add - Blood MOD -->

# 
#-----[ 打開 ]------------------------------------------------ 
# 
templates/subSilver/admin/user_edit_body.tpl

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
value="{INTERESTS}" />
</td>
</tr>

# 
#-----[ 之後加上 ]------------------------------------------ 
#

<!-- Start add - Blood MOD -->
<tr> 
      <td class="row1"><span class="gen">{L_Blood}:</span></td> 
      <td class="row2"> 
      <input type="radio" name="blood" value="0" {BLOOD_NO_SPECIFY_CHECKED}/> 
      <span class="gen">{L_BLOOD_NOT_SPECIFY}</span>   
      <input type="radio" name="blood" value="1" {BLOOD_A_CHECKED}/> 
      <span class="gen">{L_BLOOD_A}</span>   
      <input type="radio" name="blood" value="2" {BLOOD_B_CHECKED}/> 
      <span class="gen">{L_BLOOD_B}</span></td>
      <input type="radio" name="blood" value="3" {BLOOD_O_CHECKED}/> 
      <span class="gen">{L_BLOOD_O}</span></td>
      <input type="radio" name="blood" value="4" {BLOOD_AB_CHECKED}/> 
      <span class="gen">{L_BLOOD_AB}</span></td>
</tr>
<!-- End add - Blood MOD -->

############################################################## 
## Start - Optional blood image display in posts
############################################################## 
# 
#-----[ 複製檔案 ]------------------------------------------------ 
# 
copy templates/subSilver/images/icon_blood_a.gif to templates/subSilver/images/
copy templates/subSilver/images/icon_blood_b.gif to templates/subSilver/images/
copy templates/subSilver/images/icon_blood_o.gif to templates/subSilver/images/
copy templates/subSilver/images/icon_blood_ab.gif to templates/subSilver/images/

# 
#-----[ 打開 ]------------------------------------------------ 
# 
viewtopic.php

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$sql = "SELECT u.username

# 
#-----[ 在這段中尋找 ]---------------------------------------- 
# 
, p.*

# 
#-----[ 在這之前加入 ]--------------------------------- 
# 
, u.user_blood

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$rank_image = ''; 

# 
#-----[ 之後加上 ]------------------------------------------ 
# 


$blood_image = ''; // Blood MOD

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
$pm_img = '<a href=
    
# 
#-----[ 之後加上 ]------------------------------------------ 
#

// Start add - Blood MOD
switch ($postrow[$i]['user_blood']) 
{ 
	case 1 : $blood_image = $lang['Blood'].": <img src=\"" . $images['icon_blood_a'] . "\" alt=\"" . $lang['Blood'].  ":".$lang['Blood_A']."\" title=\"" . $lang['Blood'] . ":".$lang['Blood_A']. "\" border=\"0\" />"; break; 
	case 2 : $blood_image = $lang['Blood'].": <img src=\"" . $images['icon_blood_b'] . "\" alt=\"" . $lang['Blood']. ":".$lang['Blood_B']. "\" title=\"" . $lang['Blood'] . ":".$lang['Blood_B']. "\" border=\"0\" />"; break;
        case 3 : $blood_image = $lang['Blood'].": <img src=\"" . $images['icon_blood_o'] . "\" alt=\"" . $lang['Blood']. ":".$lang['Blood_O']. "\" title=\"" . $lang['Blood'] . ":".$lang['Blood_O']. "\" border=\"0\" />"; break; 
        case 4 : $blood_image = $lang['Blood'].": <img src=\"" . $images['icon_blood_ab'] . "\" alt=\"" . $lang['Blood']. ":".$lang['Blood_AB']. "\" title=\"" . $lang['Blood'] . ":".$lang['Blood_AB']. "\" border=\"0\" />"; break; 
	default : $blood_image=""; 
}
// End add - Blood MOD
    
# 
#-----[ 尋找 ]------------------------------------------------ 
# 
'POSTER_RANK' =>

# 
#-----[ 之後加上 ]------------------------------------------ 
#


'POSTER_BLOOD' => $blood_image, // Blood MOD 1.0

# 
#-----[ 尋找 ]------------------------------------------------ 
#
'DELETE' =>

# 
#-----[ 之後加上 ]------------------------------------------ 
#


'L_BLOOD' => $lang['Blood'], // Blood MOD 1.0

# 
#-----[ 打開 ]------------------------------------------------ 
# 
templates/subSilver/subSilver.cfg

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
?>

# 
#-----[ 之前,加入 ]----------------------------------------- 
#


$images['icon_blood_a'] = "$current_template_images/icon_blood_a.gif"; // Blood Mod 1.0 A type
$images['icon_blood_b'] = "$current_template_images/icon_blood_b.gif"; // Blood Mod 1.0 B type
$images['icon_blood_o'] = "$current_template_images/icon_blood_o.gif"; // Blood Mod 1.0 O type
$images['icon_blood_ab'] = "$current_template_images/icon_blood_ab.gif"; // Blood Mod 1.0 AB type


# 
#-----[ 打開 ]------------------------------------------------ 
# 
templates/subSilver/viewtopic_body.tpl

# 
#-----[ 尋找 ]------------------------------------------------ 
# 
{postrow.POSTER_AVATAR}<br /><br /> 

# 
#-----[ 在這段中尋找 ]---------------------------------------- 
# 
{postrow.POSTER_AVATAR}<br /><br /> 

# 
#-----[ 之後加上 ]---------------------------------- 
# 
{postrow.POSTER_BLOOD}<br /> 

#
# 
#-----[ 全部存檔後上傳 ]-------------------------------- 
# 
# 結束
主題已鎖定

回到「非官方認證外掛」