diff options
Diffstat (limited to 'phpBB/styles/subsilver2/template/editor.js')
-rw-r--r-- | phpBB/styles/subsilver2/template/editor.js | 402 |
1 files changed, 0 insertions, 402 deletions
diff --git a/phpBB/styles/subsilver2/template/editor.js b/phpBB/styles/subsilver2/template/editor.js deleted file mode 100644 index 53b8b6222f..0000000000 --- a/phpBB/styles/subsilver2/template/editor.js +++ /dev/null @@ -1,402 +0,0 @@ -/** -* bbCode control by subBlue design [ www.subBlue.com ] -* Includes unixsafe colour palette selector by SHS` -*/ - -// Startup variables -var imageTag = false; -var theSelection = false; - -// Check for Browser & Platform for PC & IE specific bits -// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html -var clientPC = navigator.userAgent.toLowerCase(); // Get client info -var clientVer = parseInt(navigator.appVersion); // Get browser version - -var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1)); -var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1)); - -var baseHeight; -window.onload = initInsertions; - -/** -* Shows the help messages in the helpline window -*/ -function helpline(help) -{ - document.forms[form_name].helpbox.value = help_line[help]; -} - -/** -* Fix a bug involving the TextRange object. From -* http://www.frostjedi.com/terra/scripts/demo/caretBug.html -*/ -function initInsertions() -{ - var doc; - - if (document.forms[form_name]) - { - doc = document; - } - else - { - doc = opener.document; - } - - var textarea = doc.forms[form_name].elements[text_name]; - if (is_ie && typeof(baseHeight) != 'number') - { - textarea.focus(); - baseHeight = doc.selection.createRange().duplicate().boundingHeight; - - if (!document.forms[form_name]) - { - document.body.focus(); - } - } -} - -/** -* bbstyle -*/ -function bbstyle(bbnumber) -{ - if (bbnumber != -1) - { - bbfontstyle(bbtags[bbnumber], bbtags[bbnumber+1]); - } - else - { - insert_text('[*]'); - document.forms[form_name].elements[text_name].focus(); - } -} - -/** -* Apply bbcodes -*/ -function bbfontstyle(bbopen, bbclose) -{ - theSelection = false; - - var textarea = document.forms[form_name].elements[text_name]; - - textarea.focus(); - - if ((clientVer >= 4) && is_ie && is_win) - { - // Get text selection - theSelection = document.selection.createRange().text; - - if (theSelection) - { - // Add tags around selection - document.selection.createRange().text = bbopen + theSelection + bbclose; - document.forms[form_name].elements[text_name].focus(); - theSelection = ''; - return; - } - } - else if (document.forms[form_name].elements[text_name].selectionEnd && (document.forms[form_name].elements[text_name].selectionEnd - document.forms[form_name].elements[text_name].selectionStart > 0)) - { - mozWrap(document.forms[form_name].elements[text_name], bbopen, bbclose); - document.forms[form_name].elements[text_name].focus(); - theSelection = ''; - return; - } - - //The new position for the cursor after adding the bbcode - var caret_pos = getCaretPosition(textarea).start; - var new_pos = caret_pos + bbopen.length; - - // Open tag - insert_text(bbopen + bbclose); - - // Center the cursor when we don't have a selection - // Gecko and proper browsers - if (!isNaN(textarea.selectionStart)) - { - textarea.selectionStart = new_pos; - textarea.selectionEnd = new_pos; - } - // IE - else if (document.selection) - { - var range = textarea.createTextRange(); - range.move("character", new_pos); - range.select(); - storeCaret(textarea); - } - - textarea.focus(); - return; -} - -/** -* Insert text at position -*/ -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(); - } - -} - -/** -* Add inline attachment at position -*/ -function attach_inline(index, filename) -{ - insert_text('[attachment=' + index + ']' + filename + '[/attachment]'); - document.forms[form_name].elements[text_name].focus(); -} - -/** -* Add quote text to message -*/ -function addquote(post_id, username) -{ - var message_name = 'message_' + post_id; - var theSelection = ''; - var divarea = false; - - if (document.all) - { - divarea = document.all[message_name]; - } - else - { - divarea = document.getElementById(message_name); - } - - // Get text selection - not only the post content :( - if (window.getSelection) - { - theSelection = window.getSelection().toString(); - } - else if (document.getSelection) - { - theSelection = document.getSelection(); - } - else if (document.selection) - { - theSelection = document.selection.createRange().text; - } - - if (theSelection == '' || typeof theSelection == 'undefined' || theSelection == null) - { - if (divarea.innerHTML) - { - theSelection = divarea.innerHTML.replace(/<br>/ig, '\n'); - theSelection = theSelection.replace(/<br\/>/ig, '\n'); - theSelection = theSelection.replace(/<\;/ig, '<'); - theSelection = theSelection.replace(/>\;/ig, '>'); - theSelection = theSelection.replace(/&\;/ig, '&'); - } - else if (document.all) - { - theSelection = divarea.innerText; - } - else if (divarea.textContent) - { - theSelection = divarea.textContent; - } - else if (divarea.firstChild.nodeValue) - { - theSelection = divarea.firstChild.nodeValue; - } - } - - if (theSelection) - { - insert_text('[quote="' + username + '"]' + theSelection + '[/quote]'); - } - - return; -} - -/** -* 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; -} - -/** -* Insert at Caret position. Code from -* http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130 -*/ -function storeCaret(textEl) -{ - if (textEl.createTextRange) - { - textEl.caretPos = document.selection.createRange().duplicate(); - } -} - -/** -* Color pallette -*/ -function colorPalette(dir, width, height) -{ - var r = 0, g = 0, b = 0; - var numberList = new Array(6); - var color = ''; - - numberList[0] = '00'; - numberList[1] = '40'; - numberList[2] = '80'; - numberList[3] = 'BF'; - numberList[4] = 'FF'; - - document.writeln('<table cellspacing="1" cellpadding="0" border="0">'); - - for (r = 0; r < 5; r++) - { - if (dir == 'h') - { - document.writeln('<tr>'); - } - - for (g = 0; g < 5; g++) - { - if (dir == 'v') - { - document.writeln('<tr>'); - } - - for (b = 0; b < 5; b++) - { - color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]); - document.write('<td bgcolor="#' + color + '">'); - document.write('<a href="#" onclick="bbfontstyle(\'[color=#' + color + ']\', \'[/color]\'); return false;" onmouseover="helpline(\'s\');" onmouseout="helpline(\'tip\');"><img src="images/spacer.gif" width="' + width + '" height="' + height + '" alt="#' + color + '" title="#' + color + '" /></a>'); - document.writeln('</td>'); - } - - if (dir == 'v') - { - document.writeln('</tr>'); - } - } - - if (dir == 'h') - { - document.writeln('</tr>'); - } - } - document.writeln('</table>'); -} - - -/** -* Caret Position object -*/ -function caretPosition() -{ - var start = null; - var end = null; -} - - -/** -* Get the caret position in an textarea -*/ -function getCaretPosition(txtarea) -{ - var caretPos = new caretPosition(); - - // simple Gecko/Opera way - if(txtarea.selectionStart || txtarea.selectionStart == 0) - { - caretPos.start = txtarea.selectionStart; - caretPos.end = txtarea.selectionEnd; - } - // dirty and slow IE way - else if(document.selection) - { - // get current selection - var range = document.selection.createRange(); - - // a new selection of the whole textarea - var range_all = document.body.createTextRange(); - range_all.moveToElementText(txtarea); - - // calculate selection start point by moving beginning of range_all to beginning of range - var sel_start; - for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++) - { - range_all.moveStart('character', 1); - } - - txtarea.sel_start = sel_start; - - // we ignore the end value for IE, this is already dirty enough and we don't need it - caretPos.start = txtarea.sel_start; - caretPos.end = txtarea.sel_start; - } - - return caretPos; -}
\ No newline at end of file |