aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/templates
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2003-06-25 19:49:59 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2003-06-25 19:49:59 +0000
commit59573cce8b69bf48ffc81da3ffb14e2b403f6583 (patch)
tree227fc9ee81abad85f867c40f88b02e2c8f09258e /phpBB/templates
parent20aacd94170150ec206e529a8f18ad3e82b397c2 (diff)
downloadforums-59573cce8b69bf48ffc81da3ffb14e2b403f6583.tar
forums-59573cce8b69bf48ffc81da3ffb14e2b403f6583.tar.gz
forums-59573cce8b69bf48ffc81da3ffb14e2b403f6583.tar.bz2
forums-59573cce8b69bf48ffc81da3ffb14e2b403f6583.tar.xz
forums-59573cce8b69bf48ffc81da3ffb14e2b403f6583.zip
some updates...
git-svn-id: file:///svn/phpbb/trunk@4175 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/templates')
-rw-r--r--phpBB/templates/subSilver/editor.js30
1 files changed, 20 insertions, 10 deletions
diff --git a/phpBB/templates/subSilver/editor.js b/phpBB/templates/subSilver/editor.js
index 3bcd035346..dfe9e4c9d5 100644
--- a/phpBB/templates/subSilver/editor.js
+++ b/phpBB/templates/subSilver/editor.js
@@ -54,8 +54,8 @@ function emoticon(text) {
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
document.forms[form_name].elements[text_name].focus();
} else {
- document.forms[form_name].elements[text_name].value += text;
- document.forms[form_name].elements[text_name].focus();
+ document.forms[form_name].elements[text_name].value += text;
+ document.forms[form_name].elements[text_name].focus();
}
}
@@ -63,7 +63,7 @@ function bbfontstyle(bbopen, bbclose) {
if ((clientVer >= 4) && is_ie && is_win) {
theSelection = document.selection.createRange().text;
if (!theSelection) {
- document.forms[form_name].elements[text_name].value += bbopen + bbclose;
+ insert_text(bbopen + bbclose);
document.forms[form_name].elements[text_name].focus();
return;
}
@@ -71,13 +71,21 @@ function bbfontstyle(bbopen, bbclose) {
document.forms[form_name].elements[text_name].focus();
return;
} else {
- document.forms[form_name].elements[text_name].value += bbopen + bbclose;
+ insert_text(bbopen + bbclose);
document.forms[form_name].elements[text_name].focus();
return;
}
- storeCaret(document.forms[form_name].message);
+ storeCaret(document.forms[form_name].elements[text_name]);
}
+function insert_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) == '' ? text : text;
+ } else {
+ document.forms[form_name].elements[text_name].value += text;
+ }
+}
function bbstyle(bbnumber) {
@@ -169,11 +177,11 @@ function bbstyle(bbnumber) {
butnumber = arraypop(bbcode) - 1;
if (bbtags[butnumber] != "[*]")
{
- document.forms[form_name].elements[text_name].value += bbtags[butnumber + 1];
+ insert_text(bbtags[butnumber + 1]);
}
else
{
- document.forms[form_name].elements[text_name].value += bbtags[butnumber];
+ insert_text(bbtags[butnumber]);
}
buttext = eval('document.forms[form_name].addbbcode' + butnumber + '.value');
if (bbtags[butnumber] != "[*]")
@@ -187,14 +195,16 @@ function bbstyle(bbnumber) {
} else { // Open tags
if (imageTag && (bbnumber != 14)) { // Close image tag before adding another
- document.forms[form_name].elements[text_name].value += bbtags[15];
+ insert_text(bbtags[15]);
+
lastValue = arraypop(bbcode) - 1; // Remove the close image tag from the list
document.forms[form_name].addbbcode14.value = "Img"; // Return button back to normal state
imageTag = false;
}
// Open tag
- document.forms[form_name].elements[text_name].value += bbtags[bbnumber];
+ insert_text(bbtags[bbnumber]);
+
if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag
if (bbtags[bbnumber] != "[*]")
{
@@ -205,7 +215,7 @@ function bbstyle(bbnumber) {
return;
}
- storeCaret(document.forms[form_name].message);
+ storeCaret(document.forms[form_name].elements[text_name]);
}
// Insert at Claret position. Code from