[討論] 在 2.0. 16 上安裝 Smilie Creator 的方法

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

[討論] 在 2.0. 16 上安裝 Smilie Creator 的方法

文章 momoC »

昨天熬到清晨兩點才把 Smilie Creator 裝上 PHPBB。發現這裡最後一次的相關討論好像還卡在無法出現圖形,回來分享一下自己的做法。希望會有些幫助,不是最好的示範,用了些不得已的方式補足程式無法支援的地方。請大家多多指導和討論~

下載點:
[建議]Smilie Creator Mod 這個不錯!
http://phpbb-tw.net/phpbb/viewtopic.php ... ght=schild

安裝前注意事項:
1. 詢問網路公司有沒有安裝 GD 的 extensions
2. 考慮本身伺服機的運作能力和空間資料(光是中文檔就要快 9MB)
3. 決定放手一搏後要將所有相關程式作備份\r
4. 建議:如果沒有中文檔,可以下載一份 PHPBB Plus 1.3。

安裝開始:

1. Unzipped PHPBB Plus 1.3,將 includes/big5_func 整個資料夾複製到自己論壇對應處。
2. 先照上述連結安裝一份乾淨的 Smilie Creator。如果安裝成功,舉的牌子會是亂碼。
3. 中文翻譯部分,可參考 PHPBB Plus 1.3 裡的 lang_main.php,為方便起見直接貼在這裡:

代碼: 選擇全部

#
#-----[ OPEN ]-----
#
language/lang_[您使用的]/lang_main.php

#
#-----[ FIND ]-----
#

$lang['bbcode_f_help'] = '語法: [size=x-small]Kleiner Text[/size]';

#
#-----[ AFTER ADD ]-----
#

$lang['bbcode_sc_help'] = '笑臉創造器: [schild=1]Text[/schild] ';

#
#-----[ FIND ]-----
#

$lang['Emoticons'] = '表情符號';

#
#-----[ AFTER ADD ]-----
#

$lang['Smilie_creator'] = '笑臉創造器';

#
#-----[ FIND ]-----
#

//
//
// That's all Folks!
// -------------------------------------------------

#
#-----[ BEFORE ADD ]-----
#

// Smilie Creator Mod
$lang['Smilie_creator'] = '笑臉創造器';
$lang['SC_shieldtext'] = '笑臉文字';
$lang['SC_fontcolor'] = '文字顏色';
$lang['SC_shadowcolor'] = '陰影顏色';
$lang['SC_shieldshadow'] = '舉牌陰影';
$lang['SC_shieldshadow_on'] = '啟動';
$lang['SC_shieldshadow_off'] = '不啟動';
$lang['SC_smiliechooser'] = '選擇笑臉';
$lang['SC_random_smilie'] = '隨機選擇';
$lang['SC_default_smilie'] = '標準笑臉';
$lang['SC_create_smilie'] = '創造';
$lang['SC_stop_creating'] = '取消';
$lang['SC_error'] = '你忘了在牌子上寫字了...';
// End Smilie Creator Mod

#
#-----[ OPEN ]-----
4. 將轉換成中文的功能加入 /text2schild.php

代碼: 選擇全部

#
#-----[ FIND ]-----
#

imagecolortransparent($img, $bgcolor);  // Dummybg als transparenz setzen

#
#-----[ AFTER ADD ]-----
#

// Unicode Support by Ethan, http://maji.myftp.org 
require("includes/big5_func/big5_func.inc"); 
// 若 big5_utf8_encode() 無效,請試換以 big5_unicode() 或 big5_utf16_encode﹐ 詳細說明請看 big5_func/readme.html 
$output2 = big5_utf8_encode($text); 
// 指定字型位置\r
$fontpath = "includes/big5_func/mingliu.ttf"; 
if($schattenfarbe) 
{ 
    // shadow 
    ImageTTFText($img, 9, 0, 4, 17, $txt2color, $fontpath, $output2); 
} 
ImageTTFText($img, 9, 0, 3, 16, $txtcolor, $fontpath, $output2); 

#-----[ FIND ]-----
#

$schriftfarbe = $raute.$HTTP_GET_VARS['fontcolor']; 

#
#-----[ AFTER ADD ]-----
#

$smilie = $HTTP_GET_VARS['smilie'];
5. 到此為止如果都對的話,舉牌子的笑臉已經可以做出來(已經被創造出來的圖文),但您可能會發現在新增或回覆文章時按「笑臉創造器] 並不會出現笑臉選擇。如果您會看到三排笑臉選擇,恭禧您~您採用的風格剛好和 Smilie Creator 相同,就不必再往下一個步驟走。我用的風格使用自己的 jumpbox 功能,偏偏 Smilie Creator 在 PHPBB Plus 1.3 裡也有自己使用的 jumpbox。因為我不會 PHP,不知道怎麼改程式,就只好不擇手段--這裡是很遺憾的地方,歡迎各位提出更好的方法。

Open /templates/風格/smilie_creator.tpl

***********************************************************
* 這麼做是將樣版內容直接取代機動內容(如果你聽得懂我在說什麼)
* 往後若有新增笑臉圖片到 images 檔案夾中,系統將無法自動讀出!
***********************************************************

作法,將下列程式完全覆蓋掉 smilie_creator.tpl 原有的程式

代碼: 選擇全部

<a name="top" id="top"></a>
<script language="JavaScript">
//<!--
function makeschild(){
	var text = document.schilderstellung.schildtext.value;
         var color = document.schilderstellung.color.value;
         var shadowcolor = document.schilderstellung.shadowcolor.value;
         var shieldshadow = document.schilderstellung.shieldshadow.value;

		if(document.schilderstellung.smilie[0].checked) var smilie = document.schilderstellung.smilie[0].value;
	if(document.schilderstellung.smilie[1].checked) var smilie = document.schilderstellung.smilie[1].value;
	if(document.schilderstellung.smilie[2].checked) var smilie = document.schilderstellung.smilie[2].value;
	if(document.schilderstellung.smilie[3].checked) var smilie = document.schilderstellung.smilie[3].value;
	if(document.schilderstellung.smilie[4].checked) var smilie = document.schilderstellung.smilie[4].value;
	if(document.schilderstellung.smilie[5].checked) var smilie = document.schilderstellung.smilie[5].value;
	if(document.schilderstellung.smilie[6].checked) var smilie = document.schilderstellung.smilie[6].value;
	if(document.schilderstellung.smilie[7].checked) var smilie = document.schilderstellung.smilie[7].value;
	if(document.schilderstellung.smilie[8].checked) var smilie = document.schilderstellung.smilie[8].value;
	if(document.schilderstellung.smilie[9].checked) var smilie = document.schilderstellung.smilie[9].value;
	if(document.schilderstellung.smilie[10].checked) var smilie = document.schilderstellung.smilie[10].value;
	if(document.schilderstellung.smilie[11].checked) var smilie = document.schilderstellung.smilie[11].value;
	if(document.schilderstellung.smilie[12].checked) var smilie = document.schilderstellung.smilie[12].value;
	if(document.schilderstellung.smilie[13].checked) var smilie = document.schilderstellung.smilie[13].value;
	if(document.schilderstellung.smilie[14].checked) var smilie = document.schilderstellung.smilie[14].value;
	if(document.schilderstellung.smilie[15].checked) var smilie = document.schilderstellung.smilie[15].value;
	if(document.schilderstellung.smilie[16].checked) var smilie = document.schilderstellung.smilie[16].value;
	if(document.schilderstellung.smilie[17].checked) var smilie = document.schilderstellung.smilie[17].value;
	if(document.schilderstellung.smilie[18].checked) var smilie = document.schilderstellung.smilie[18].value;
	if(document.schilderstellung.smilie[19].checked) var smilie = document.schilderstellung.smilie[19].value;
	if(document.schilderstellung.smilie[20].checked) var smilie = document.schilderstellung.smilie[20].value;


	if(text){
		if(smilie == "standard") var text2form = "[schild=standard fontcolor="+color+" shadowcolor="+shadowcolor+" shieldshadow="+shieldshadow+"]"+text+"[/schild]";
		else var text2form = "[schild="+smilie+" fontcolor="+color+" shadowcolor="+shadowcolor+" shieldshadow="+shieldshadow+"]"+text+"[/schild]";

		opener.document.forms['post'].message.value += text2form;
		if(!confirm("你要再創造另一個笑臉嗎?")){
			window.close();
			 opener.document.forms['post'].message.focus();
		}else{
                         document.schilderstellung.reset();
		}
	}else{
		alert("你不能忘了你牌子裡面的字啊!");
	}
}
//-->
</script>
<table cellpadding=4 cellspacing=1 border=0 width="100%" class="forumline">
<tr>
        <th colspan=2 height="28" align="center" valign="middle"><span class="cattitle"><font color=FFFFFF>笑臉創造器</font></span></td>
  </tr>
	<form name="schilderstellung">
	<tr bgcolor="" id="tablec">
		<td class="row1"><span class="gen"><b>笑臉文字:</b></span></td>
		<td class="row2"><input type="text" name="schildtext" class="post" size="30" maxlength="396"></td>
	</tr>
	<tr>
		<td class="row1"><span class="gen"><b>文字顏色:</b></span></td>
		<td class="row2"><table>
			<tr><select name="color">
                                                                                    <option style="color:black; background-color: #" value="000000" class="genmed">預?#93;值</option>
                                          <option style="color:darkred; background-color: #" value="8B0000" class="genmed">深紅色</option>
                                          <option style="color:red; background-color: #" value="FF0000" class="genmed">紅色</option>
                                          <option style="color:orange; background-color: #" value="FFA500" class="genmed">橘色</option>
                                          <option style="color:brown; background-color: #" value="A52A2A" class="genmed">棕色</option>
                                          <option style="color:yellow; background-color: #" value="FFFF00" class="genmed">黃色</option>
                                          <option style="color:green; background-color: #" value="008000" class="genmed">綠色</option>
                                          <option style="color:olive; background-color: #" value="808000" class="genmed">橄欖色</option>
                                          <option style="color:cyan; background-color: #" value="00FFFF" class="genmed">青綠色</option>
                                          <option style="color:blue; background-color: #" value="0000FF" class="genmed">藍色</option>
                                          <option style="color:darkblue; background-color: #" value="00008B" class="genmed">深藍色</option>
                                          <option style="color:indigo; background-color: #" value="4B0082" class="genmed">靛色</option>
                                          <option style="color:violet; background-color: #" value="EE82EE" class="genmed">紫色</option>
                                          <option style="color:white; background-color: #" value="FFFFFF" class="genmed">白色</option>
                                          <option style="color:black; background-color: #" value="000000" class="genmed">黑色</option>
                                        </select></tr>
		</table></td>
	</tr>
<tr>
		<td class="row1"><span class="gen"><b>陰影顏色:</b></span></td>
		<td class="row2"><table>
			<tr><select name="shadowcolor">
                                                                                    <option style="color:black; background-color: #" value="C0C0C0" class="genmed">預?#93;值</option>
                                          <option style="color:darkred; background-color: #" value="8B0000" class="genmed">深紅色</option>
                                          <option style="color:red; background-color: #" value="FF0000" class="genmed">紅色</option>
                                          <option style="color:orange; background-color: #" value="FFA500" class="genmed">橘色</option>
                                          <option style="color:brown; background-color: #" value="A52A2A" class="genmed">棕色</option>
                                          <option style="color:yellow; background-color: #" value="FFFF00" class="genmed">黃色</option>
                                          <option style="color:green; background-color: #" value="008000" class="genmed">綠色</option>
                                          <option style="color:olive; background-color: #" value="808000" class="genmed">橄欖色</option>
                                          <option style="color:cyan; background-color: #" value="00FFFF" class="genmed">青綠色</option>
                                          <option style="color:blue; background-color: #" value="0000FF" class="genmed">藍色</option>
                                          <option style="color:darkblue; background-color: #" value="00008B" class="genmed">深藍色</option>
                                          <option style="color:indigo; background-color: #" value="4B0082" class="genmed">靛色</option>
                                          <option style="color:violet; background-color: #" value="EE82EE" class="genmed">紫色</option>
                                          <option style="color:white; background-color: #" value="FFFFFF" class="genmed">白色</option>
                                          <option style="color:black; background-color: #" value="000000" class="genmed">黑色</option>
                                        </select></tr>
		</table></td>
	</tr>
<tr>
		<td class="row1"><span class="gen"><b>舉牌陰影:</b></span></td>
		<td class="row2"><table>
			<tr><select name="shieldshadow">
                         <option value="1" class="genmed">啟動</option>
                         <option value="0" class="genmed">不啟動</option>
                         </select></tr>
		</table></td>
	</tr>
<tr>
		<td valign="top" class="row1"><span class="gen"><b>選擇笑臉:</b></span></td>
		<td class="row2"><table>
		<tr><td><input type="radio" name="smilie" value="1"><img src="smilie_creator/images/smilies/schild/smilie1.png"></td><td><input type="radio" name="smilie" value="2"><img src="smilie_creator/images/smilies/schild/smilie2.png"></td><td><input type="radio" name="smilie" value="3"><img src="smilie_creator/images/smilies/schild/smilie3.png"></td><td><input type="radio" name="smilie" value="4"><img src="smilie_creator/images/smilies/schild/smilie4.png"></td><td><input type="radio" name="smilie" value="5"><img src="smilie_creator/images/smilies/schild/smilie5.png"></td></tr><tr><td><input type="radio" name="smilie" value="6"><img src="smilie_creator/images/smilies/schild/smilie6.png"></td><td><input type="radio" name="smilie" value="7"><img src="smilie_creator/images/smilies/schild/smilie7.png"></td><td><input type="radio" name="smilie" value="8"><img src="smilie_creator/images/smilies/schild/smilie8.png"></td><td><input type="radio" name="smilie" value="9"><img src="smilie_creator/images/smilies/schild/smilie9.png"></td><td><input type="radio" name="smilie" value="10"><img src="smilie_creator/images/smilies/schild/smilie10.png"></td></tr><tr><td><input type="radio" name="smilie" value="11"><img src="smilie_creator/images/smilies/schild/smilie11.png"></td><td><input type="radio" name="smilie" value="12"><img src="smilie_creator/images/smilies/schild/smilie12.png"></td><td><input type="radio" name="smilie" value="13"><img src="smilie_creator/images/smilies/schild/smilie13.png"></td><td><input type="radio" name="smilie" value="14"><img src="smilie_creator/images/smilies/schild/smilie14.png"></td><td><input type="radio" name="smilie" value="15"><img src="smilie_creator/images/smilies/schild/smilie15.png"></td></tr><tr><td><input type="radio" name="smilie" value="16"><img src="smilie_creator/images/smilies/schild/smilie16.png"></td><td><input type="radio" name="smilie" value="17"><img src="smilie_creator/images/smilies/schild/smilie17.png"></td><td><input type="radio" name="smilie" value="18"><img src="smilie_creator/images/smilies/schild/smilie18.png"></td><td><input type="radio" name="smilie" value="19"><img src="smilie_creator/images/smilies/schild/smilie19.png"></td></tr>
                 <tr><td colspan="5"><input type="radio" name="smilie" value="random" checked><span class="gen">隨機選擇</span></td></tr>
			<tr><td colspan="5"><input type="radio" name="smilie" value="standard"><span class="gen">標準笑臉</span></td></tr>
		</table></td>
	</tr>
<tr>
  <td class="spaceRow" colspan="6" height="1"><img src="templates/fisubsilversh/images/spacer.gif" alt="" width="1" height="1" /></td>
  </tr>
  <tr>
    <td class="cat" align="center" colspan="5" valign="middle">
   <span class="cattitle"><input type="button" class="mainoption" value="創造" onClick="makeschild()" class="input"> <input type="button" class="liteoption" value="取消" onClick="window.close()" class="input"></span>
    </td>
  </tr>
	</form>
</table>
Smilie Creator 功能示範:
http://phpbb.genderwars.org/viewtopic.php?t=56
主題已鎖定

回到「外掛問題討論」