##############################################################
## MOD Title: WYSIWYG - Rich Text Editor for posting HTML message
## MOD Author: eCardMAX.com < webmaster@ecardmax.com > (Jimbo Hong) http://ecardmax.com
## MOD Edited by: Mrtb
## MOD Description: It's time to turn <textarea> into a powerful Rich Text HTML Editor. Don't force your users to learn another set of markup tags. With this MOD you can format your posts or Private message just like you would in MS. FrontPage! Our Rich Text Editor will work on all popular browsers such as: IE - FireFox - Netscape - Opera 9x 
## MOD Version: 4.2 for phpBB3 GOLD
##
## Installation Level: (Easy)
## Installation Time:  5 ~ 10 Minutes
## Files To Edit: 
##	common.php
##	search.php
##	includes/bbcode.php
##	styles/prosilver/template/posting_buttons.html
##	styles/prosilver/template/posting_editor.html
##	styles/prosilver/template/posting_layout.html
##	styles/prosilver/template/posting_smilies.html
##	styles/prosilver/template/ucp_header.html
##	styles/prosilver/template/ucp_main_drafts.html
##	styles/prosilver/template/ucp_profile_signature.html
##	styles/prosilver/template/editor.js
##	styles/subsilver2/template/posting_body.html
##	styles/subsilver2/template/posting_smilies.html
##	styles/subsilver2/template/ucp_header.html
##	styles/subsilver2/template/ucp_profile_signature.html
##	styles/subsilver2/template/editor.js
##
## Included Files: 0
##	
## Included Folders: [richedit]
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
##############################################################
## For security purposes, please check: http://www.phpbb.com/mods/
## for the latest version of this MOD. Although MODs are checked
## before being allowed in the MODs Database there is no guarantee
## that there are no security problems within the MOD. No support
## will be given for MODs not found within the MODs Database which
## can be found at http://www.phpbb.com/mods/
##############################################################
## Author Notes:
##
## Upload folder [richedit] to phpbb main (root) folder (same location with file posting.php)
##
##############################################################
## MOD History:
##
##   2007-05-23 - Version 4.2
##   2007-12-13 - UnOfficial Update to PhpBB3 GOLD
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#
common.php

#
#-----[ FIND ]------------------------------------------
# ~ line number 23

error_reporting(E_ALL ^ E_NOTICE);

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

//HotEditor MOD
function BBCodeToHTML($text){
	$patterns[] = "#  #si";
	$replacements[] = '&nbsp;&nbsp;';

	$patterns[] = "#\t#si";
	$replacements[] = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';

	//Support Table here
	$patterns[] = "#\[table\]#si";
	$replacements[] = '<table style="border-collapse: collapse;border-spacing: 0px;border: 1px solid #6CAFF7;background-color: #F4F4F4;width:98%;font-family:Verdana,Arial,Sans-Serif,Tahoma;font-size:12px;color: black;">';
	$patterns[] = "#\[\/table\]#si";
	$replacements[] = '</table>';
	$patterns[] = "#\[td\]#si";
	$replacements[] = '<td style="height:25px; border: 1px solid #6CAFF7">';
	$patterns[] = "#\[\/td\]#si";
	$replacements[] = '</td>';
	$patterns[] = "#\[tr\]#si";
	$replacements[] = '<tr>';
	$patterns[] = "#\[\/tr\]#si";
	$replacements[] = '</tr>';

	$patterns[] = "#\[(sub|sup|strike)(.*?)\]#si";
	$replacements[] = '<$1>';

	$patterns[] = "#\[\/(sub|sup|strike)(.*?)\]#si";
	$replacements[] = '</$1>';

	$patterns[] = "#\[font=(.*?)\]#si";
	$replacements[] = '<span style="font-family:$1;">';

	$patterns[] = "#\[highlight=(.*?)\]#si";
	$replacements[] = '<span style="background-color:$1;">';

	$patterns[] = "#\[\/(font|highlight)(.*?)\]#si";
	$replacements[] = '</span>';

	$patterns[] = "#\[hr\]#si";
	$replacements[] = '<hr class=HR_Color>';

	$patterns[] = "#\[(left|center|right|justify)\]#si";
	$replacements[] = '<div align="$1">';

	$patterns[] = "#\[\/(left|center|right|justify)\]#si";
	$replacements[] = '</div>';

	$text = preg_replace($patterns, $replacements, $text);

	return $text;
}

#
#-----[ OPEN ]------------------------------------------
#
search.php

#
#-----[ FIND ]------------------------------------------
# ~ line number 825
					
	$row['post_text'] = get_context($row['post_text'], array_filter(explode('|', $hilit), 'strlen'), $return_chars);
	$row['post_text'] = bbcode_nl2br($row['post_text']);

#
#-----[ AFTER, ADD ]------------------------------------------
# 
	
	//HotEditor MOD
	$row['post_text']=BBCodeToHTML($row['post_text']);
#
#-----[ FIND ]------------------------------------------
# 
		// we only display inline attachments
		unset($attachments[$row['post_id']]);
	}

#
#-----[ AFTER, ADD ]------------------------------------------
# 
	
	//HotEditor MOD
	$row['post_text']=BBCodeToHTML($row['post_text']);

#
#-----[ OPEN ]------------------------------------------
#
includes/bbcode.php

#
#-----[ FIND ]------------------------------------------
# ~ line number 44

function bbcode_second_pass(&$message, $bbcode_uid = '', $bbcode_bitfield = false)
{

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

//HotEditor MOD
$message=BBCodeToHTML($message);

#
#-----[ OPEN ]------------------------------------------
#
styles/prosilver/template/posting_buttons.html

#
#-----[ FIND ]------------------------------------------
# ~ line number 90

<div id="format-buttons">
	<input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onclick="bbstyle(0)" title="{L_BBCODE_B_HELP}" />
	<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}" />
	<input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onclick="bbstyle(4)" title="{L_BBCODE_U_HELP}" />
	<!-- IF S_BBCODE_QUOTE -->
		<input type="button" class="button2" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" title="{L_BBCODE_Q_HELP}" />
	<!-- ENDIF -->
	<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" title="{L_BBCODE_C_HELP}" />
	<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" title="{L_BBCODE_L_HELP}" />
	<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" title="{L_BBCODE_O_HELP}" />
	<input type="button" class="button2" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" title="{L_BBCODE_LISTITEM_HELP}" />
	<!-- IF S_BBCODE_IMG -->
		<input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" title="{L_BBCODE_P_HELP}" />
	<!-- ENDIF -->
	<!-- IF S_LINKS_ALLOWED -->
		<input type="button" class="button2" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" title="{L_BBCODE_W_HELP}" />
	<!-- ENDIF -->
	<!-- IF S_BBCODE_FLASH -->
		<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{L_BBCODE_D_HELP}" />
	<!-- ENDIF -->
	<select name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" title="{L_BBCODE_F_HELP}">
		<option value="50">{L_FONT_TINY}</option>
		<option value="85">{L_FONT_SMALL}</option>
		<option value="100" selected="selected">{L_FONT_NORMAL}</option>
		<option value="150">{L_FONT_LARGE}</option>
		<option value="200">{L_FONT_HUGE}</option>
	</select>
	<input type="button" class="button2" name="bbpalette" id="bbpalette" value="{L_FONT_COLOR}" onclick="change_palette();" title="{L_BBCODE_S_HELP}" />
	<!-- BEGIN custom_tags -->
		<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{custom_tags.BBCODE_HELPLINE}" />
	<!-- END custom_tags -->
</div>

#
#-----[ REPLACE WITH ]------------------------------------------
#

<!--//HotEditor MOD Remove Original BBCode Buttons -->

#
#-----[ OPEN ]------------------------------------------
#
styles/prosilver/template/posting_editor.html

#
#-----[ FIND ]------------------------------------------
# ~ line number 109

	<div id="smiley-box">
		<!-- IF S_SMILIES_ALLOWED and .smiley -->
			<strong>{L_SMILIES}</strong><br />
			<!-- BEGIN smiley -->
				<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></a>
			<!-- END smiley -->
		<!-- ENDIF -->
		<!-- IF S_SHOW_SMILEY_LINK and S_SMILIES_ALLOWED-->
			<br /><a href="{U_MORE_SMILIES}" onclick="popup(this.href, 300, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a>
		<!-- ENDIF -->

		<!-- IF BBCODE_STATUS -->
		<!-- IF .smiley --><hr /><!-- ENDIF -->
		{BBCODE_STATUS}<br />
		<!-- IF S_BBCODE_ALLOWED -->
			{IMG_STATUS}<br />
			{FLASH_STATUS}<br />
			{URL_STATUS}<br />
			{SMILIES_STATUS}
		<!-- ENDIF -->
		<!-- ENDIF -->
		<!-- IF S_EDIT_DRAFT || S_DISPLAY_REVIEW -->
			<!-- IF S_DISPLAY_REVIEW --><hr /><!-- ENDIF -->
			<!-- IF S_EDIT_DRAFT --><strong><a href="{S_UCP_ACTION}">{L_BACK_TO_DRAFTS}</a></strong><!-- ENDIF -->
			<!-- IF S_DISPLAY_REVIEW --><strong><a href="#review">{L_TOPIC_REVIEW}</a></strong><!-- ENDIF -->
		<!-- ENDIF -->
	</div>

	<div id="message-box">
		<textarea <!-- IF S_UCP_ACTION and not S_PRIVMSGS and not S_EDIT_DRAFT -->name="signature" id="signature" style="height: 9em;"<!-- ELSE -->name="message" id="message"<!-- ENDIF --> rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" class="inputbox">{MESSAGE}{DRAFT_MESSAGE}{SIGNATURE}</textarea>
	</div>

#
#-----[ REPLACE WITH ]------------------------------------------
#

	<!-- //HotEditor MOD START -->
	<textarea style="visibility:hidden;position:absolute;top:-20;left:-20;width:1px;height:1px" <!-- IF S_UCP_ACTION and not S_PRIVMSGS and not S_EDIT_DRAFT -->name="signature" id="signature" style="height: 9em;"<!-- ELSE -->name="message" id="message"<!-- ENDIF --> rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" class="inputbox">{MESSAGE}{DRAFT_MESSAGE}{SIGNATURE}</textarea>		
	<style type='text/css'>@import url(richedit/styles/office2007/style.css);</style>			
	<script language="JavaScript" type="text/javascript" src="richedit/editor.js?version=4.2"></script>				
	<script language="JavaScript" type="text/javascript">
		if(document.getElementById("message")){
			var mydoc=document.getElementById("message");
		}
		else if(document.getElementById("signature")){
			var mydoc=document.getElementById("signature");
			
		}
		var getdata = mydoc.value;
		getdata = convertSize(getdata,"1");
		
		Instantiate("max","editor", getdata , "100%", "300px");
		//For Vietnamese User. Edit file editor.js to enable vietnamese keyboard
		if(enable_vietnamese_keyboard==1){
			document.write("<script language=\"JavaScript\" type=\"text/javascript\" src=\"richedit/avim.js\"><\/script>");
			var hoteditor_avim_method = hot_readCookie("hoteditor_avim_method");var him_auto_checked="";var him_telex_checked="";var him_vni_checked="";var him_viqr_checked="";var him_viqr2_checked="";var him_off_checked="";if(hoteditor_avim_method=="0"){him_auto_checked="checked";}else if(hoteditor_avim_method=="1"){him_telex_checked="checked";}else if(hoteditor_avim_method=="2"){him_vni_checked="checked";}else if(hoteditor_avim_method=="3"){him_viqr_checked="checked";}else if(hoteditor_avim_method=="4"){him_viqr2_checked="checked";}else if(hoteditor_avim_method=="-1"){him_off_checked="checked";}
			document.write("<div style='width:100%;text-align:center;font-family:Verdana;font-size:11px;'><input "+him_auto_checked+" id=him_auto onclick=setMethod(0); type=radio name=viet_method> Auto :: <input "+him_telex_checked+" id=him_telex onclick=setMethod(1); type=radio name=viet_method> Telex :: <input "+him_vni_checked+" id=him_vni onclick=setMethod(2); type=radio name=viet_method> VNI :: <input "+him_viqr_checked+" id=him_viqr onclick=setMethod(3); type=radio name=viet_method> VIQR :: <input "+him_viqr2_checked+" id=him_viqr2 onclick=setMethod(4); type=radio name=viet_method> VIQR* :: <input "+him_off_checked+" id=him_off onclick=setMethod(-1); type=radio name=viet_method> Off<br><img src="+styles_folder_path+"/vietnamese_symbol.gif></div>");
		}
		function get_hoteditor_data(){
			if (HTML_ON == "no"){
				alert ("Please uncheck the HTML checkbox");
				return false;
			}
			setCodeOutput();
			var bbcode_output=document.getElementById("hoteditor_bbcode_ouput_editor").value;//Output to BBCode
			//Make BBCode ouput compatible with phpbb
			var currentDomain=document.URL;
			currentDomain=currentDomain.replace("http://","");
			var infoDomain=currentDomain.split("/");
			var correctDomain="http://";
			for(var d=0;d < infoDomain.length; d++){
				if(d<infoDomain.length-1) correctDomain+=infoDomain[d]+"/";
			}
			bbcode_output=bbcode_output.replace(/\[IMG\]\.\//gi,"[IMG]"+correctDomain);
			bbcode_output=bbcode_output.replace(/\[(\/)quote\]/gi,"[$1quote]");
			bbcode_output = convertSize(bbcode_output,"0");
			mydoc.value = bbcode_output;
		}

		function convertSize(text,what){
			if(what=="1"){//phpBB size to Hoteditor size
				text=text.replace(/\[size=85\]/gi,"[SIZE=1]");
				text=text.replace(/\[size=100\]/gi,"[SIZE=2]");
				text=text.replace(/\[size=120\]/gi,"[SIZE=3]");
				text=text.replace(/\[size=130\]/gi,"[SIZE=4]");
				text=text.replace(/\[size=150\]/gi,"[SIZE=5]");
				text=text.replace(/\[size=170\]/gi,"[SIZE=6]");
				text=text.replace(/\[size=200\]/gi,"[SIZE=7]");
			}
			else{//Hoteditor size to phpBB size 
				text=text.replace(/\[size=1\]/gi,"[SIZE=85]");
				text=text.replace(/\[size=2\]/gi,"[SIZE=100]");
				text=text.replace(/\[size=3\]/gi,"[SIZE=120]");
				text=text.replace(/\[size=4\]/gi,"[SIZE=130]");
				text=text.replace(/\[size=5\]/gi,"[SIZE=150]");
				text=text.replace(/\[size=6\]/gi,"[SIZE=170]");
				text=text.replace(/\[size=7\]/gi,"[SIZE=200]");					
			}				
			return text;
		}						
	</script>	
	
	<!-- IF S_SMILIES_ALLOWED and .smiley -->
		<br /><strong>{L_SMILIES}</strong><br />
		<!--//HotEditor MOD -->
		<!-- BEGIN smiley -->
			<span style="CURSOR:hand;CURSOR:Pointer;" onmousedown="if(editor_type=='1'){WriteHTML('<img src={smiley.SMILEY_IMG}>','editor');}else{WriteTEXT('[IMG]{smiley.SMILEY_IMG}[/IMG]','editor');}"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></span>
		<!-- END smiley -->
	<!-- ENDIF -->
	<!-- IF S_SHOW_SMILEY_LINK -->
		<br /><a href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_phpbbsmilies', 'HEIGHT=350,resizable=yes,scrollbars=yes,WIDTH=300'); return false;">{L_MORE_SMILIES}</a>
	<!-- ENDIF -->

	<!-- IF BBCODE_STATUS -->
	<!-- IF .smiley --><hr /><!-- ENDIF -->
	{BBCODE_STATUS}<br />
	<!-- IF S_BBCODE_ALLOWED -->
		{IMG_STATUS}<br />
		{FLASH_STATUS}<br />
		{URL_STATUS}<br />
		{SMILIES_STATUS}
	<!-- ENDIF -->
	<!-- ENDIF -->
	<!-- IF S_EDIT_DRAFT || S_DISPLAY_REVIEW -->
		<!-- IF S_DISPLAY_REVIEW --><hr /><!-- ENDIF -->
		<!-- IF S_EDIT_DRAFT --><strong><a href="{S_UCP_ACTION}">{L_BACK_TO_DRAFTS}</a></strong><!-- ENDIF -->
		<!-- IF S_DISPLAY_REVIEW --><strong><a href="#review">{L_TOPIC_REVIEW}</a></strong><!-- ENDIF -->
	<!-- ENDIF -->
	
	<!-- //HotEditor MOD END -->
	
#
#-----[ OPEN ]------------------------------------------
#
styles/prosilver/template/posting_layout.html

#
#-----[ FIND ]------------------------------------------
# ~ line number 24

<form id="postform" method="post" action="{S_POST_ACTION}"{S_FORM_ENCTYPE}>  

#
#-----[ REPLACE WITH ]------------------------------------------
#

<!--//HotEditor MOD add onSubmit="return get_hoteditor_data();" -->
<form id="postform" onSubmit="return get_hoteditor_data();" method="post" action="{S_POST_ACTION}"{S_FORM_ENCTYPE}>

#
#-----[ OPEN ]------------------------------------------
#
styles/prosilver/template/posting_smilies.html

#
#-----[ FIND ]------------------------------------------
# ~ line number 15

<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true, true); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></a>  

#
#-----[ REPLACE WITH ]------------------------------------------
#

<span style="CURSOR:hand;CURSOR:Pointer;" onmousedown="if(window.opener.editor_type=='1'){window.opener.WriteHTML('<img src={smiley.SMILEY_IMG}>','editor');}else{window.opener.WriteTEXT('[IMG]{smiley.SMILEY_IMG}[/IMG]','editor');}"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></span>

#
#-----[ OPEN ]------------------------------------------
#
styles/prosilver/template/ucp_header.html

#
#-----[ FIND ]------------------------------------------
# ~ line number 14

<form id="postform" method="post" action="{S_POST_ACTION}"{S_FORM_ENCTYPE}>

#
#-----[ REPLACE WITH ]------------------------------------------
#

<!--//HotEditor MOD add onSubmit="return get_hoteditor_data();" -->
<form id="postform" onSubmit="return get_hoteditor_data();" method="post" action="{S_POST_ACTION}"{S_FORM_ENCTYPE}>

#
#-----[ OPEN ]------------------------------------------
#
styles/prosilver/template/ucp_main_drafts.html

#
#-----[ FIND ]------------------------------------------
# ~ line number 3

<form id="postform" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>

#
#-----[ REPLACE WITH ]------------------------------------------
#

<!--//HotEditor MOD add onSubmit="return get_hoteditor_data();" -->
<form id="postform" onSubmit="return get_hoteditor_data();" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>

#
#-----[ OPEN ]------------------------------------------
#
styles/prosilver/template/ucp_profile_signature.html

#
#-----[ FIND ]------------------------------------------
# ~ line number 3

<form id="postform" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>

#
#-----[ REPLACE WITH ]------------------------------------------
#

<!--//HotEditor MOD add onSubmit="return get_hoteditor_data();" -->
<form id="postform" onSubmit="return get_hoteditor_data();" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>

#
#-----[ OPEN ]------------------------------------------
#
styles/prosilver/template/editor.js

#
#-----[ FIND ]------------------------------------------
# ~ line number 134

function insert_text(text, spaces, popup)
{
	var textarea;
	
	if (!popup) 
	{
		textarea = document.forms[form_name].elements[text_name];
	} 
	else 
	{
		textarea = opener.document.forms[form_name].elements[text_name];
	}
	if (spaces) 
	{
		text = ' ' + text + ' ';
	}
	
	if (!isNaN(textarea.selectionStart))
	{
		var sel_start = textarea.selectionStart;
		var sel_end = textarea.selectionEnd;

		mozWrap(textarea, text, '')
		textarea.selectionStart = sel_start + text.length;
		textarea.selectionEnd = sel_end + text.length;
	}
	else if (textarea.createTextRange && textarea.caretPos)
	{
		if (baseHeight != textarea.caretPos.boundingHeight) 
		{
			textarea.focus();
			storeCaret(textarea);
		}

		var caret_pos = textarea.caretPos;
		caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
	}
	else
	{
		textarea.value = textarea.value + text;
	}
	if (!popup) 
	{
		textarea.focus();
	}
}

#
#-----[ REPLACE WITH ]------------------------------------------
#

//HotEditor MOD
function insert_text(text, spaces, popup)
{
	text = convertSize(text,"1");
	if(editor_type=="0"){//BBCode Editor
		WriteTEXT(text,"editor");
	}
	else{//WYSIWYG Editor
		text=BBCodeToHTML(text);
		WriteHTML(text,"editor");
	}
}

#
#-----[ OPEN ]------------------------------------------
#
styles/subsilver2/template/posting_body.html
#
#-----[ FIND ]------------------------------------------
#
	<form action="{S_POST_ACTION}" method="post" name="postform"{S_FORM_ENCTYPE}>
#
#-----[ REPLACE WITH ]------------------------------------------
#
	<!--//HotEditor MOD -->
	<form onSubmit="return get_hoteditor_data();" action="{S_POST_ACTION}" method="post" name="postform"{S_FORM_ENCTYPE}>

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

	<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true); return false;" style="line-height: 20px;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" hspace="2" vspace="2" /></a>

#
#-----[ REPLACE WITH ]------------------------------------------
#
	<!--//HotEditor MOD -->					
	<span style="CURSOR:hand;CURSOR:Pointer;" onmousedown="if(editor_type=='1'){WriteHTML('<img src={smiley.SMILEY_IMG}>','editor');}else{WriteTEXT('[IMG]{smiley.SMILEY_IMG}[/IMG]','editor');}"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></span>

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

		<!-- INCLUDE posting_buttons.html -->
		<tr>
			<td valign="top" style="width: 100%;"><textarea name="message" rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" style="width: 98%;">{MESSAGE}</textarea></td>
			<!-- IF S_BBCODE_ALLOWED -->
			<td width="80" align="center" valign="top">
				<script type="text/javascript">
				<!--
					colorPalette('v', 7, 6)
				//-->
				</script>
			</td>
			<!-- ENDIF -->


#
#-----[ REPLACE WITH ]------------------------------------------
#
		<tr>
			<td valign="top" style="width: 100%;">
				<!--//HotEditor MOD START - Remove BBcode buttons & font color panel -->
				<textarea style="visibility:hidden;position:absolute;top:-20;left:-20;width:1px;height:1px" id="message" name="message" rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" style="width: 98%;">{MESSAGE}</textarea>
				<style type='text/css'>@import url(richedit/styles/office2007/style.css);</style>
				<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>
				<script language="JavaScript" type="text/javascript" src="richedit/editor.js?version=4.2"></script>				
				<script language="JavaScript" type="text/javascript">
					var getdata = document.getElementById("message").value;
					getdata = convertSize(getdata,"1");
					
					Instantiate("max","editor", getdata , "100%", "300px");	
					//For Vietnamese User. Edit file editor.js to enable vietnamese keyboard
					if(enable_vietnamese_keyboard==1){
						document.write("<script language=\"JavaScript\" type=\"text/javascript\" src=\"richedit/avim.js\"><\/script>");
						var hoteditor_avim_method = hot_readCookie("hoteditor_avim_method");var him_auto_checked="";var him_telex_checked="";var him_vni_checked="";var him_viqr_checked="";var him_viqr2_checked="";var him_off_checked="";if(hoteditor_avim_method=="0"){him_auto_checked="checked";}else if(hoteditor_avim_method=="1"){him_telex_checked="checked";}else if(hoteditor_avim_method=="2"){him_vni_checked="checked";}else if(hoteditor_avim_method=="3"){him_viqr_checked="checked";}else if(hoteditor_avim_method=="4"){him_viqr2_checked="checked";}else if(hoteditor_avim_method=="-1"){him_off_checked="checked";}
						document.write("<div style='width:100%;text-align:center;font-family:Verdana;font-size:11px;'><input "+him_auto_checked+" id=him_auto onclick=setMethod(0); type=radio name=viet_method> Auto :: <input "+him_telex_checked+" id=him_telex onclick=setMethod(1); type=radio name=viet_method> Telex :: <input "+him_vni_checked+" id=him_vni onclick=setMethod(2); type=radio name=viet_method> VNI :: <input "+him_viqr_checked+" id=him_viqr onclick=setMethod(3); type=radio name=viet_method> VIQR :: <input "+him_viqr2_checked+" id=him_viqr2 onclick=setMethod(4); type=radio name=viet_method> VIQR* :: <input "+him_off_checked+" id=him_off onclick=setMethod(-1); type=radio name=viet_method> Off<br><img src="+styles_folder_path+"/vietnamese_symbol.gif></div>");
					}
					function get_hoteditor_data(){
						if (HTML_ON == "no"){
							alert ("Please uncheck the HTML checkbox");
							return false;
						}
						setCodeOutput();
						var bbcode_output=document.getElementById("hoteditor_bbcode_ouput_editor").value;//Output to BBCode
						//Make BBCode ouput compatible with phpbb
						var currentDomain=document.URL;
						currentDomain=currentDomain.replace("http://","");
						var infoDomain=currentDomain.split("/");
						var correctDomain="http://";
						for(var d=0;d < infoDomain.length; d++){
							if(d<infoDomain.length-1) correctDomain+=infoDomain[d]+"/";
						}
						bbcode_output=bbcode_output.replace(/\[IMG\]\.\//gi,"[IMG]"+correctDomain);
						bbcode_output=bbcode_output.replace(/\[(\/)quote\]/gi,"[$1quote]");
						bbcode_output = convertSize(bbcode_output,"0");
						document.getElementById("message").value = bbcode_output;
					}

					function convertSize(text,what){
						if(what=="1"){//phpBB size to Hoteditor size
							text=text.replace(/\[size=85\]/gi,"[SIZE=1]");
							text=text.replace(/\[size=100\]/gi,"[SIZE=2]");
							text=text.replace(/\[size=120\]/gi,"[SIZE=3]");
							text=text.replace(/\[size=130\]/gi,"[SIZE=4]");
							text=text.replace(/\[size=150\]/gi,"[SIZE=5]");
							text=text.replace(/\[size=170\]/gi,"[SIZE=6]");
							text=text.replace(/\[size=200\]/gi,"[SIZE=7]");
						}
						else{//Hoteditor size to phpBB size 
							text=text.replace(/\[size=1\]/gi,"[SIZE=85]");
							text=text.replace(/\[size=2\]/gi,"[SIZE=100]");
							text=text.replace(/\[size=3\]/gi,"[SIZE=120]");
							text=text.replace(/\[size=4\]/gi,"[SIZE=130]");
							text=text.replace(/\[size=5\]/gi,"[SIZE=150]");
							text=text.replace(/\[size=6\]/gi,"[SIZE=170]");
							text=text.replace(/\[size=7\]/gi,"[SIZE=200]");					
						}				
						return text;
					}						
				</script>	
				<!--//HotEditor MOD END -->
			</td>

#
#-----[ OPEN ]------------------------------------------
#
styles/subsilver2/template/posting_smilies.html

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

<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true, true); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" hspace="2" vspace="2" /></a>

#
#-----[ REPLACE WITH ]------------------------------------------
#

		<!--//HotEditor MOD -->
		<span style="CURSOR:hand;CURSOR:Pointer;" onmousedown="if(window.opener.editor_type=='1'){window.opener.WriteHTML('<img src={smiley.SMILEY_IMG}>','editor');}else{window.opener.WriteTEXT('[IMG]{smiley.SMILEY_IMG}[/IMG]','editor');}"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></span>

#
#-----[ OPEN ]------------------------------------------
#
styles/subsilver2/template/ucp_header.html

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

  <form action="{S_POST_ACTION}" method="post" name="postform"{S_FORM_ENCTYPE}>

#
#-----[ REPLACE WITH ]------------------------------------------
#

	<!--//HotEditor MOD -->
	<form onSubmit="return get_hoteditor_data();" action="{S_POST_ACTION}" method="post" name="postform"{S_FORM_ENCTYPE}>

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

  <form name="ucp" id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>

#
#-----[ REPLACE WITH ]------------------------------------------
#
	<!--//HotEditor MOD -->
	<form onSubmit="return get_hoteditor_data();" name="ucp" id="ucp" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>

#
#-----[ OPEN ]------------------------------------------
#
styles/subsilver2/template/ucp_profile_signature.html

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

    <!-- INCLUDE posting_buttons.html -->
		<tr>
			<td colspan="2"><textarea class="post" name="signature" rows="10" cols="76" style="width: 90%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);">{SIGNATURE}</textarea></td>
		</tr>
		<!-- IF S_BBCODE_ALLOWED -->
		<tr>
			<td colspan="2">
				<table cellspacing="0" cellpadding="0" border="0" width="100%">
				<tr>
					<td align="{S_CONTENT_FLOW_BEGIN}">
						<script type="text/javascript">
						// <![CDATA[
							colorPalette('h', 6, 5)
						// ]]>
						</script>
					</td>
				</tr>
				</table>
			</td>
		</tr>
		<!-- ENDIF -->

#
#-----[ REPLACE WITH ]------------------------------------------
#


		<tr>
			<td colspan="2">				
				<!--//HotEditor MOD START - Remove BBcode buttons & font color panel -->
				<textarea class="post" style="visibility:hidden;position:absolute;top:-20;left:-20;width:1px;height:1px" id="signature" name="signature" rows="10" cols="76" style="width: 90%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);">{SIGNATURE}</textarea>
				<style type='text/css'>@import url(richedit/styles/office2007/style.css);</style>			
				<script language="JavaScript" type="text/javascript" src="richedit/editor.js?version=4.2"></script>
				<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>
				<script language="JavaScript" type="text/javascript">
					var getdata = document.getElementById("signature").value;
					getdata = convertSize(getdata,"1");
					
					Instantiate("min","editor", getdata , "100%", "150px");
					//For Vietnamese User. Edit file editor.js to enable vietnamese keyboard
					if(enable_vietnamese_keyboard==1){
						document.write("<script language=\"JavaScript\" type=\"text/javascript\" src=\"richedit/avim.js\"><\/script>");
						var hoteditor_avim_method = hot_readCookie("hoteditor_avim_method");var him_auto_checked="";var him_telex_checked="";var him_vni_checked="";var him_viqr_checked="";var him_viqr2_checked="";var him_off_checked="";if(hoteditor_avim_method=="0"){him_auto_checked="checked";}else if(hoteditor_avim_method=="1"){him_telex_checked="checked";}else if(hoteditor_avim_method=="2"){him_vni_checked="checked";}else if(hoteditor_avim_method=="3"){him_viqr_checked="checked";}else if(hoteditor_avim_method=="4"){him_viqr2_checked="checked";}else if(hoteditor_avim_method=="-1"){him_off_checked="checked";}
						document.write("<div style='width:100%;text-align:center;font-family:Verdana;font-size:11px;'><input "+him_auto_checked+" id=him_auto onclick=setMethod(0); type=radio name=viet_method> Auto :: <input "+him_telex_checked+" id=him_telex onclick=setMethod(1); type=radio name=viet_method> Telex :: <input "+him_vni_checked+" id=him_vni onclick=setMethod(2); type=radio name=viet_method> VNI :: <input "+him_viqr_checked+" id=him_viqr onclick=setMethod(3); type=radio name=viet_method> VIQR :: <input "+him_viqr2_checked+" id=him_viqr2 onclick=setMethod(4); type=radio name=viet_method> VIQR* :: <input "+him_off_checked+" id=him_off onclick=setMethod(-1); type=radio name=viet_method> Off<br><img src="+styles_folder_path+"/vietnamese_symbol.gif></div>");
					}
					function get_hoteditor_data(){
						if (HTML_ON == "no"){
							alert ("Please uncheck the HTML checkbox");
							return false;
						}
						setCodeOutput();
						var bbcode_output=document.getElementById("hoteditor_bbcode_ouput_editor").value;//Output to BBCode
						//Make BBCode ouput compatible with phpbb
						var currentDomain=document.URL;
						currentDomain=currentDomain.replace("http://","");
						var infoDomain=currentDomain.split("/");
						var correctDomain="http://";
						for(var d=0;d < infoDomain.length; d++){
							if(d<infoDomain.length-1) correctDomain+=infoDomain[d]+"/";
						}
						bbcode_output=bbcode_output.replace(/\[IMG\]\.\//gi,"[IMG]"+correctDomain);
						bbcode_output=bbcode_output.replace(/\[(\/)quote\]/gi,"[$1quote]");
						bbcode_output = convertSize(bbcode_output,"0");
						document.getElementById("signature").value = bbcode_output;
					}

					function convertSize(text,what){
						if(what=="1"){//phpBB size to Hoteditor size
							text=text.replace(/\[size=85\]/gi,"[SIZE=1]");
							text=text.replace(/\[size=100\]/gi,"[SIZE=2]");
							text=text.replace(/\[size=120\]/gi,"[SIZE=3]");
							text=text.replace(/\[size=130\]/gi,"[SIZE=4]");
							text=text.replace(/\[size=150\]/gi,"[SIZE=5]");
							text=text.replace(/\[size=170\]/gi,"[SIZE=6]");
							text=text.replace(/\[size=200\]/gi,"[SIZE=7]");
						}
						else{//Hoteditor size to phpBB size 
							text=text.replace(/\[size=1\]/gi,"[SIZE=85]");
							text=text.replace(/\[size=2\]/gi,"[SIZE=100]");
							text=text.replace(/\[size=3\]/gi,"[SIZE=120]");
							text=text.replace(/\[size=4\]/gi,"[SIZE=130]");
							text=text.replace(/\[size=5\]/gi,"[SIZE=150]");
							text=text.replace(/\[size=6\]/gi,"[SIZE=170]");
							text=text.replace(/\[size=7\]/gi,"[SIZE=200]");					
						}				
						return text;
					}						
				</script>	
				<!--//HotEditor MOD END -->
			</td>
		</tr>	



#
#-----[ OPEN ]------------------------------------------
#
styles/subsilver2/template/editor.js

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

function insert_text(text, spaces, popup)
{
	var textarea;
	
	if (!popup) 
	{
		textarea = document.forms[form_name].elements[text_name];
	} 
	else 
	{
		textarea = opener.document.forms[form_name].elements[text_name];
	}
	if (spaces) 
	{
		text = ' ' + text + ' ';
	}
	
	if (!isNaN(textarea.selectionStart))
	{
		var sel_start = textarea.selectionStart;
		var sel_end = textarea.selectionEnd;

		mozWrap(textarea, text, '')
		textarea.selectionStart = sel_start + text.length;
		textarea.selectionEnd = sel_end + text.length;
	}	
	
	else if (textarea.createTextRange && textarea.caretPos)
	{
		if (baseHeight != textarea.caretPos.boundingHeight) 
		{
			textarea.focus();
			storeCaret(textarea);
		}		
		var caret_pos = textarea.caretPos;
		caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
		
	}
	else
	{
		textarea.value = textarea.value + text;
	}
	if (!popup) 
	{
		textarea.focus();
	} 	

#
#-----[ REPLACE WITH ]------------------------------------------
#

//HotEditor MOD
function insert_text(text, spaces, popup)
{
	text = convertSize(text,"1");
	if(editor_type=="0"){//BBCode Editor
		WriteTEXT(text,"editor");
	}
	else{//WYSIWYG Editor
		text=BBCodeToHTML(text);
		WriteHTML(text,"editor");
	}

###########################################################################
#
#-----[ FIX ]------------------------------------------
#
# And finally we will need to fix the Flash (Youtube and Google) BBCode. As it seems it wil never load.
# This fix was provided by Akansu and can be found at Link:
# http://www.phpbb.com/community/viewtopic.php?f=70&t=546265&st=0&sk=t&sd=a&start=120#p3136243
#
#
#-----[ OPEN ]------------------------------------------
#
styles/{template}/template/bbcode.html

#
#-----[ FIND ]------------------------------------------
#
# This is only a partial search as it seems a litle different at each template.
<!-- BEGIN flash --> (everything in between) <!-- END flash -->

#
#-----[ REPLACE WITH ]------------------------------------------
#
<!-- BEGIN flash -->
   <object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=5,0,0,0" width="{WIDTH}" height="{HEIGHT}">
      <param name="movie" value="{URL}" />
      <param name="play" value="true" />
      <param name="loop" value="true" />
      <param name="quality" value="high" />
      <param name="allowScriptAccess" value="never" />
      <embed src="{URL}" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="{WIDTH}" height="{HEIGHT}" play="true" loop="true" quality="high" allowscriptaccess="never"></embed>
   </object>
<!-- END flash -->
#
#-----[ END FIX ]------------------------------------------
#
###########################################################################
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM

ATTENTION : Before testing this MOD, You MUST :

- Login to phpBB Admin Control Panel 
- Click TAB [STYLES] - Next screen, under [Style components] click link "Templates"
- Make sure you select template name "prosilver", click link [Cache], then Mark All checkbox and click button [Delete marked] to clear template cache
- Go back to Forum Index to create new Post, you will see HotEditor.
- GOOD LUCK
