mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Updated insert_text and removed some code duplication. git-svn-id: file:///svn/phpbb/trunk@6504 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
c7f9d94b75
commit
1d1e6d4603
3 changed files with 27 additions and 95 deletions
|
@ -64,32 +64,6 @@ function arraypop(thearray)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
* Apply bbcodes
|
||||||
*/
|
*/
|
||||||
|
@ -145,25 +119,36 @@ function bbfontstyle(bbopen, bbclose)
|
||||||
/**
|
/**
|
||||||
* Insert text at position
|
* 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;
|
||||||
{
|
|
||||||
var caretPos = document.forms[form_name].elements[text_name].caretPos;
|
if (!popup) {
|
||||||
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
|
textarea = document.forms[form_name].elements[text_name];
|
||||||
|
} else {
|
||||||
|
textarea = opener.document.forms[form_name].elements[text_name];
|
||||||
}
|
}
|
||||||
else if (!isNaN(document.forms[form_name].elements[text_name].selectionStart))
|
if (spaces)
|
||||||
{
|
{
|
||||||
var selStart = document.forms[form_name].elements[text_name].selectionStart;
|
text = ' ' + text + ' ';
|
||||||
var selEnd = document.forms[form_name].elements[text_name].selectionEnd;
|
}
|
||||||
|
if (textarea.createTextRange && !isNaN(textarea.caretPos))
|
||||||
|
{
|
||||||
|
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(textarea.selectionStart))
|
||||||
|
{
|
||||||
|
var sel_start = textarea.selectionStart;
|
||||||
|
var sel_end = textarea.selectionEnd;
|
||||||
|
|
||||||
mozWrap(document.forms[form_name].elements[text_name], text, '')
|
mozWrap(textarea, text, '')
|
||||||
document.forms[form_name].elements[text_name].selectionStart = selStart + text.length;
|
textarea.selectionStart = sel_start + text.length;
|
||||||
document.forms[form_name].elements[text_name].selectionEnd = selEnd + text.length;
|
textarea.selectionEnd = sel_end + text.length;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
document.forms[form_name].elements[text_name].value = document.forms[form_name].elements[text_name].value + text;
|
textarea.value = textarea.value + text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -228,7 +228,7 @@ function checkForm()
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<!-- BEGIN smiley -->
|
<!-- 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 -->
|
<!-- END smiley -->
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -4,63 +4,10 @@
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
var form_name = 'post';
|
var form_name = 'post';
|
||||||
|
var text_name = 'message';
|
||||||
/**
|
|
||||||
* 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
//-->
|
//-->
|
||||||
</script>
|
</script>
|
||||||
|
<script language="javascript" type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>
|
||||||
|
|
||||||
<table width="100%" cellspacing="1" cellpadding="4" border="0">
|
<table width="100%" cellspacing="1" cellpadding="4" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -70,7 +17,7 @@ function mozWrap(txtarea, open, close)
|
||||||
<th>{L_SMILIES}</th>
|
<th>{L_SMILIES}</th>
|
||||||
</tr>
|
</tr>
|
||||||
<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>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
|
|
Loading…
Add table
Reference in a new issue