aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/styles/subSilver/template/editor.js59
-rw-r--r--phpBB/styles/subSilver/template/posting_body.html2
-rw-r--r--phpBB/styles/subSilver/template/posting_smilies.html59
3 files changed, 26 insertions, 94 deletions
diff --git a/phpBB/styles/subSilver/template/editor.js b/phpBB/styles/subSilver/template/editor.js
index e93ca0e51d..e64cf87067 100644
--- a/phpBB/styles/subSilver/template/editor.js
+++ b/phpBB/styles/subSilver/template/editor.js
@@ -65,32 +65,6 @@ function arraypop(thearray)
}
/**
-* Insert emoticon
-*/
-function smiley(text)
-{
- text = ' ' + text + ' ';
-
- if (document.forms[form_name].elements[text_name].createTextRange && document.forms[form_name].elements[text_name].caretPos)
- {
- var caretPos = document.forms[form_name].elements[text_name].caretPos;
-
- caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
- document.forms[form_name].elements[text_name].focus();
- }
- else
- {
- var selStart = document.forms[form_name].elements[text_name].selectionStart;
- var selEnd = document.forms[form_name].elements[text_name].selectionEnd;
-
- mozWrap(document.forms[form_name].elements[text_name], text, '')
- document.forms[form_name].elements[text_name].focus();
- document.forms[form_name].elements[text_name].selectionStart = selStart + text.length;
- document.forms[form_name].elements[text_name].selectionEnd = selEnd + text.length;
- }
-}
-
-/**
* Apply bbcodes
*/
function bbfontstyle(bbopen, bbclose)
@@ -145,25 +119,36 @@ function bbfontstyle(bbopen, bbclose)
/**
* Insert text at position
*/
-function insert_text(text)
+function insert_text(text, spaces, popup)
{
- if (document.forms[form_name].elements[text_name].createTextRange && !isNaN(document.forms[form_name].elements[text_name].caretPos))
+ 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 (textarea.createTextRange && !isNaN(textarea.caretPos))
{
- var caretPos = document.forms[form_name].elements[text_name].caretPos;
- caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
+ 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 if (!isNaN(document.forms[form_name].elements[text_name].selectionStart))
+ else if (!isNaN(textarea.selectionStart))
{
- var selStart = document.forms[form_name].elements[text_name].selectionStart;
- var selEnd = document.forms[form_name].elements[text_name].selectionEnd;
+ var sel_start = textarea.selectionStart;
+ var sel_end = textarea.selectionEnd;
- mozWrap(document.forms[form_name].elements[text_name], text, '')
- document.forms[form_name].elements[text_name].selectionStart = selStart + text.length;
- document.forms[form_name].elements[text_name].selectionEnd = selEnd + text.length;
+ mozWrap(textarea, text, '')
+ textarea.selectionStart = sel_start + text.length;
+ textarea.selectionEnd = sel_end + text.length;
}
else
{
- document.forms[form_name].elements[text_name].value = document.forms[form_name].elements[text_name].value + text;
+ textarea.value = textarea.value + text;
}
}
diff --git a/phpBB/styles/subSilver/template/posting_body.html b/phpBB/styles/subSilver/template/posting_body.html
index 0457303248..5acc3ef18b 100644
--- a/phpBB/styles/subSilver/template/posting_body.html
+++ b/phpBB/styles/subSilver/template/posting_body.html
@@ -228,7 +228,7 @@ function checkForm()
<tr>
<td align="center">
<!-- BEGIN smiley -->
- <a href="#" onclick="smiley('{smiley.A_SMILEY_CODE}'); return false;" style="line-height: 20px;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_DESC}" title="{smiley.SMILEY_DESC}" hspace="2" vspace="2" /></a>
+ <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_DESC}" title="{smiley.SMILEY_DESC}" hspace="2" vspace="2" /></a>
<!-- END smiley -->
</td>
</tr>
diff --git a/phpBB/styles/subSilver/template/posting_smilies.html b/phpBB/styles/subSilver/template/posting_smilies.html
index 5536513229..42a58d1153 100644
--- a/phpBB/styles/subSilver/template/posting_smilies.html
+++ b/phpBB/styles/subSilver/template/posting_smilies.html
@@ -4,63 +4,10 @@
<!--
var form_name = 'post';
-
-/**
-* Apply clicked smiley to message body
-*/
-function smiley(text)
-{
- text = ' ' + text + ' ';
-
- if (opener.document.forms[form_name].message.createTextRange && opener.document.forms[form_name].message.caretPos)
- {
- var caretPos = opener.document.forms[form_name].message.caretPos;
-
- caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
- opener.document.forms[form_name].message.focus();
- }
- else
- {
- var selStart = opener.document.forms[form_name].message.selectionStart;
- var selEnd = opener.document.forms[form_name].message.selectionEnd;
-
- mozWrap(opener.document.forms[form_name].message, text, '')
- opener.document.forms[form_name].message.focus();
- opener.document.forms[form_name].message.selectionStart = selStart + text.length;
- opener.document.forms[form_name].message.selectionEnd = selEnd + text.length;
- }
-}
-
-/**
-* From http://www.massless.org/mozedit/
-*/
-function mozWrap(txtarea, open, close)
-{
- var selLength = txtarea.textLength;
- var selStart = txtarea.selectionStart;
- var selEnd = txtarea.selectionEnd;
- var scrollTop = txtarea.scrollTop;
-
- if (selEnd == 1 || selEnd == 2)
- {
- selEnd = selLength;
- }
-
- var s1 = (txtarea.value).substring(0,selStart);
- var s2 = (txtarea.value).substring(selStart, selEnd)
- var s3 = (txtarea.value).substring(selEnd, selLength);
-
- txtarea.value = s1 + open + s2 + close + s3;
- txtarea.selectionStart = selEnd + open.length + close.length;
- txtarea.selectionEnd = txtarea.selectionStart;
- txtarea.focus();
- txtarea.scrollTop = scrollTop;
-
- return;
-}
-
+var text_name = 'message';
//-->
</script>
+<script language="javascript" type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>
<table width="100%" cellspacing="1" cellpadding="4" border="0">
<tr>
@@ -70,7 +17,7 @@ function mozWrap(txtarea, open, close)
<th>{L_SMILIES}</th>
</tr>
<tr>
- <td class="row1" align="center" valign="middle"><!-- BEGIN smiley --> <a href="#" onclick="smiley('{smiley.A_SMILEY_CODE}'); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_DESC}" title="{smiley.SMILEY_DESC}" hspace="2" vspace="2" /></a> <!-- END smiley --><br /><a class="nav" href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a></td>
+ <td class="row1" align="center" valign="middle"><!-- BEGIN smiley --> <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_DESC}" title="{smiley.SMILEY_DESC}" hspace="2" vspace="2" /></a> <!-- END smiley --><br /><a class="nav" href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a></td>
</tr>
</table>
</td>