X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/cc7b1505cd9fafd87c3672f669e13e98b0c544f7..9b5673a7aae863ab45c3b73460060352c5b3810b:/wp-includes/js/quicktags.js diff --git a/wp-includes/js/quicktags.js b/wp-includes/js/quicktags.js index be628e07..da51f4e9 100644 --- a/wp-includes/js/quicktags.js +++ b/wp-includes/js/quicktags.js @@ -1,389 +1 @@ -// new edit toolbar used with permission -// by Alex King -// http://www.alexking.org/ - -var edButtons = new Array(); -var edLinks = new Array(); -var edOpenTags = new Array(); - -function edButton(id, display, tagStart, tagEnd, access, open) { - this.id = id; // used to name the toolbar button - this.display = display; // label on button - this.tagStart = tagStart; // open tag - this.tagEnd = tagEnd; // close tag - this.access = access; // access key - this.open = open; // set to -1 if tag does not need to be closed -} - -function zeroise(number, threshold) { - // FIXME: or we could use an implementation of printf in js here - var str = number.toString(); - if (number < 0) { str = str.substr(1, str.length) } - while (str.length < threshold) { str = "0" + str } - if (number < 0) { str = '-' + str } - return str; -} - -var now = new Date(); -var datetime = now.getUTCFullYear() + '-' + -zeroise(now.getUTCMonth() + 1, 2) + '-' + -zeroise(now.getUTCDate(), 2) + 'T' + -zeroise(now.getUTCHours(), 2) + ':' + -zeroise(now.getUTCMinutes(), 2) + ':' + -zeroise(now.getUTCSeconds() ,2) + -'+00:00'; - -edButtons[edButtons.length] = -new edButton('ed_strong' -,'b' -,'' -,'' -,'b' -); - -edButtons[edButtons.length] = -new edButton('ed_em' -,'i' -,'' -,'' -,'i' -); - -edButtons[edButtons.length] = -new edButton('ed_link' -,'link' -,'' -,'' -,'a' -); // special case - -edButtons[edButtons.length] = -new edButton('ed_block' -,'b-quote' -,'\n\n
' -,'
\n\n' -,'q' -); - - -edButtons[edButtons.length] = -new edButton('ed_del' -,'del' -,'' -,'' -,'d' -); - -edButtons[edButtons.length] = -new edButton('ed_ins' -,'ins' -,'' -,'' -,'s' -); - -edButtons[edButtons.length] = -new edButton('ed_img' -,'img' -,'' -,'' -,'m' -,-1 -); // special case - -edButtons[edButtons.length] = -new edButton('ed_ul' -,'ul' -,'\n\n' -,'u' -); - -edButtons[edButtons.length] = -new edButton('ed_ol' -,'ol' -,'
    \n' -,'
\n\n' -,'o' -); - -edButtons[edButtons.length] = -new edButton('ed_li' -,'li' -,'\t
  • ' -,'
  • \n' -,'l' -); - -edButtons[edButtons.length] = -new edButton('ed_code' -,'code' -,'' -,'' -,'c' -); - -edButtons[edButtons.length] = -new edButton('ed_more' -,'more' -,'' -,'' -,'t' -,-1 -); -/* -edButtons[edButtons.length] = -new edButton('ed_next' -,'page' -,'' -,'' -,'p' -,-1 -); -*/ -function edLink() { - this.display = ''; - this.URL = ''; - this.newWin = 0; -} - -edLinks[edLinks.length] = new edLink('WordPress' - ,'http://wordpress.org/' - ); - -edLinks[edLinks.length] = new edLink('alexking.org' - ,'http://www.alexking.org/' - ); - -function edShowButton(button, i) { - if (button.id == 'ed_img') { - document.write(''); - } - else if (button.id == 'ed_link') { - document.write(''); - } - else { - document.write(''); - } -} - -function edShowLinks() { - var tempStr = ''; - document.write(tempStr); -} - -function edAddTag(button) { - if (edButtons[button].tagEnd != '') { - edOpenTags[edOpenTags.length] = button; - document.getElementById(edButtons[button].id).value = '/' + document.getElementById(edButtons[button].id).value; - } -} - -function edRemoveTag(button) { - for (i = 0; i < edOpenTags.length; i++) { - if (edOpenTags[i] == button) { - edOpenTags.splice(i, 1); - document.getElementById(edButtons[button].id).value = document.getElementById(edButtons[button].id).value.replace('/', ''); - } - } -} - -function edCheckOpenTags(button) { - var tag = 0; - for (i = 0; i < edOpenTags.length; i++) { - if (edOpenTags[i] == button) { - tag++; - } - } - if (tag > 0) { - return true; // tag found - } - else { - return false; // tag not found - } -} - -function edCloseAllTags() { - var count = edOpenTags.length; - for (o = 0; o < count; o++) { - edInsertTag(edCanvas, edOpenTags[edOpenTags.length - 1]); - } -} - -function edQuickLink(i, thisSelect) { - if (i > -1) { - var newWin = ''; - if (edLinks[i].newWin == 1) { - newWin = ' target="_blank"'; - } - var tempStr = '' - + edLinks[i].display - + ''; - thisSelect.selectedIndex = 0; - edInsertContent(edCanvas, tempStr); - } - else { - thisSelect.selectedIndex = 0; - } -} - -function edSpell(myField) { - var word = ''; - if (document.selection) { - myField.focus(); - var sel = document.selection.createRange(); - if (sel.text.length > 0) { - word = sel.text; - } - } - else if (myField.selectionStart || myField.selectionStart == '0') { - var startPos = myField.selectionStart; - var endPos = myField.selectionEnd; - if (startPos != endPos) { - word = myField.value.substring(startPos, endPos); - } - } - if (word == '') { - word = prompt('Enter a word to look up:', ''); - } - if (word !== null && /^\w[\w ]*$/.test(word)) { - window.open('http://www.answers.com/' + escape(word)); - } -} - -function edToolbar() { - document.write('
    '); - for (i = 0; i < edButtons.length; i++) { - edShowButton(edButtons[i], i); - } - document.write(''); - document.write(''); -// edShowLinks(); // disabled by default - document.write('
    '); -} - -// insertion code - -function edInsertTag(myField, i) { - //IE support - if (document.selection) { - myField.focus(); - sel = document.selection.createRange(); - if (sel.text.length > 0) { - sel.text = edButtons[i].tagStart + sel.text + edButtons[i].tagEnd; - } - else { - if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') { - sel.text = edButtons[i].tagStart; - edAddTag(i); - } - else { - sel.text = edButtons[i].tagEnd; - edRemoveTag(i); - } - } - myField.focus(); - } - //MOZILLA/NETSCAPE support - else if (myField.selectionStart || myField.selectionStart == '0') { - var startPos = myField.selectionStart; - var endPos = myField.selectionEnd; - var cursorPos = endPos; - var scrollTop = myField.scrollTop; - - if (startPos != endPos) { - myField.value = myField.value.substring(0, startPos) - + edButtons[i].tagStart - + myField.value.substring(startPos, endPos) - + edButtons[i].tagEnd - + myField.value.substring(endPos, myField.value.length); - cursorPos += edButtons[i].tagStart.length + edButtons[i].tagEnd.length; - } - else { - if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') { - myField.value = myField.value.substring(0, startPos) - + edButtons[i].tagStart - + myField.value.substring(endPos, myField.value.length); - edAddTag(i); - cursorPos = startPos + edButtons[i].tagStart.length; - } - else { - myField.value = myField.value.substring(0, startPos) - + edButtons[i].tagEnd - + myField.value.substring(endPos, myField.value.length); - edRemoveTag(i); - cursorPos = startPos + edButtons[i].tagEnd.length; - } - } - myField.focus(); - myField.selectionStart = cursorPos; - myField.selectionEnd = cursorPos; - myField.scrollTop = scrollTop; - } - else { - if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') { - myField.value += edButtons[i].tagStart; - edAddTag(i); - } - else { - myField.value += edButtons[i].tagEnd; - edRemoveTag(i); - } - myField.focus(); - } -} - -function edInsertContent(myField, myValue) { - //IE support - if (document.selection) { - myField.focus(); - sel = document.selection.createRange(); - sel.text = myValue; - myField.focus(); - } - //MOZILLA/NETSCAPE support - else if (myField.selectionStart || myField.selectionStart == '0') { - var startPos = myField.selectionStart; - var endPos = myField.selectionEnd; - myField.value = myField.value.substring(0, startPos) - + myValue - + myField.value.substring(endPos, myField.value.length); - myField.focus(); - myField.selectionStart = startPos + myValue.length; - myField.selectionEnd = startPos + myValue.length; - } else { - myField.value += myValue; - myField.focus(); - } -} - -function edInsertLink(myField, i, defaultValue) { - if (!defaultValue) { - defaultValue = 'http://'; - } - if (!edCheckOpenTags(i)) { - var URL = prompt('Enter the URL' ,defaultValue); - if (URL) { - edButtons[i].tagStart = ''; - edInsertTag(myField, i); - } - } - else { - edInsertTag(myField, i); - } -} - -function edInsertImage(myField) { - var myValue = prompt('Enter the URL of the image', 'http://'); - if (myValue) { - myValue = '' + prompt('Enter a description of the image', '') 
-				+ ''; - edInsertContent(myField, myValue); - } -} +var edButtons=new Array(),edLinks=new Array(),edOpenTags=new Array(),now=new Date(),datetime;function edButton(f,e,c,b,a,d){this.id=f;this.display=e;this.tagStart=c;this.tagEnd=b;this.access=a;this.open=d}function zeroise(b,a){var c=b.toString();if(b<0){c=c.substr(1,c.length)}while(c.length","","b");edButtons[edButtons.length]=new edButton("ed_em","i","","","i");edButtons[edButtons.length]=new edButton("ed_link","link","","","a");edButtons[edButtons.length]=new edButton("ed_block","b-quote","\n\n
    ","
    \n\n","q");edButtons[edButtons.length]=new edButton("ed_del","del",'',"","d");edButtons[edButtons.length]=new edButton("ed_ins","ins",'',"","s");edButtons[edButtons.length]=new edButton("ed_img","img","","","m",-1);edButtons[edButtons.length]=new edButton("ed_ul","ul","\n\n","u");edButtons[edButtons.length]=new edButton("ed_ol","ol","
      \n","
    \n\n","o");edButtons[edButtons.length]=new edButton("ed_li","li","\t
  • ","
  • \n","l");edButtons[edButtons.length]=new edButton("ed_code","code","","","c");edButtons[edButtons.length]=new edButton("ed_more","more","","","t",-1);function edLink(){this.display="";this.URL="";this.newWin=0}edLinks[edLinks.length]=new edLink("WordPress","http://wordpress.org/");edLinks[edLinks.length]=new edLink("alexking.org","http://www.alexking.org/");function edShowButton(b,a){if(b.id=="ed_img"){document.write('')}else{if(b.id=="ed_link"){document.write('')}else{document.write('')}}}function edShowLinks(){var a='";document.write(a)}function edAddTag(a){if(edButtons[a].tagEnd!=""){edOpenTags[edOpenTags.length]=a;document.getElementById(edButtons[a].id).value="/"+document.getElementById(edButtons[a].id).value}}function edRemoveTag(b){for(var a=0;a0){return true}else{return false}}function edCloseAllTags(){var a=edOpenTags.length,b;for(b=0;b-1){var b="",a;if(edLinks[c].newWin==1){b=' target="_blank"'}a='"+edLinks[c].display+"";d.selectedIndex=0;edInsertContent(edCanvas,a)}else{d.selectedIndex=0}}function edSpell(c){var e="",d,b,a;if(document.selection){c.focus();d=document.selection.createRange();if(d.text.length>0){e=d.text}}else{if(c.selectionStart||c.selectionStart=="0"){b=c.selectionStart;a=c.selectionEnd;if(b!=a){e=c.value.substring(b,a)}}}if(e==""){e=prompt(quicktagsL10n.wordLookup,"")}if(e!==null&&/^\w[\w ]*$/.test(e)){window.open("http://www.answers.com/"+escape(e))}}function edToolbar(){document.write('
    ');for(var a=0;a');document.write('');document.write("
    ")}function edInsertTag(d,c){if(document.selection){d.focus();var e=document.selection.createRange();if(e.text.length>0){e.text=edButtons[c].tagStart+e.text+edButtons[c].tagEnd}else{if(!edCheckOpenTags(c)||edButtons[c].tagEnd==""){e.text=edButtons[c].tagStart;edAddTag(c)}else{e.text=edButtons[c].tagEnd;edRemoveTag(c)}}d.focus()}else{if(d.selectionStart||d.selectionStart=="0"){var b=d.selectionStart,a=d.selectionEnd,g=a,f=d.scrollTop;if(b!=a){d.value=d.value.substring(0,b)+edButtons[c].tagStart+d.value.substring(b,a)+edButtons[c].tagEnd+d.value.substring(a,d.value.length);g+=edButtons[c].tagStart.length+edButtons[c].tagEnd.length}else{if(!edCheckOpenTags(c)||edButtons[c].tagEnd==""){d.value=d.value.substring(0,b)+edButtons[c].tagStart+d.value.substring(a,d.value.length);edAddTag(c);g=b+edButtons[c].tagStart.length}else{d.value=d.value.substring(0,b)+edButtons[c].tagEnd+d.value.substring(a,d.value.length);edRemoveTag(c);g=b+edButtons[c].tagEnd.length}}d.focus();d.selectionStart=g;d.selectionEnd=g;d.scrollTop=f}else{if(!edCheckOpenTags(c)||edButtons[c].tagEnd==""){d.value+=edButtons[c].tagStart;edAddTag(c)}else{d.value+=edButtons[c].tagEnd;edRemoveTag(c)}d.focus()}}}function edInsertContent(d,c){var e,b,a,f;if(document.selection){d.focus();e=document.selection.createRange();e.text=c;d.focus()}else{if(d.selectionStart||d.selectionStart=="0"){b=d.selectionStart;a=d.selectionEnd;f=d.scrollTop;d.value=d.value.substring(0,b)+c+d.value.substring(a,d.value.length);d.focus();d.selectionStart=b+c.length;d.selectionEnd=b+c.length;d.scrollTop=f}else{d.value+=c;d.focus()}}}function edInsertLink(d,c,b){if(!b){b="http://"}if(!edCheckOpenTags(c)){var a=prompt(quicktagsL10n.enterURL,b);if(a){edButtons[c].tagStart='';edInsertTag(d,c)}}else{edInsertTag(d,c)}}function edInsertImage(b){var a=prompt(quicktagsL10n.enterImageURL,"http://");if(a){a=''+prompt(quicktagsL10n.enterImageDescription,';edInsertContent(b,a)}}var QTags=function(a,c,b,f){var j=this,k=document.getElementById(b),g,l,e,h,d;j.Buttons=[];j.Links=[];j.OpenTags=[];j.Canvas=document.getElementById(c);if(!j.Canvas||!k){return}f=(typeof f!="undefined")?","+f+",":"";j.edShowButton=function(n,m){if(f&&(f.indexOf(","+n.display+",")!=-1)){return""}else{if(n.id==a+"_img"){return''}else{if(n.id==a+"_link"){return''}else{return''}}}};j.edAddTag=function(i){if(j.Buttons[i].tagEnd!=""){j.OpenTags[j.OpenTags.length]=i;document.getElementById(j.Buttons[i].id).value="/"+document.getElementById(j.Buttons[i].id).value}};j.edRemoveTag=function(i){for(g=0;g0){return true}else{return false}};this.edCloseAllTags=function(){var i=j.OpenTags.length;for(var m=0;m-1){var n="",m;if(Links[o].newWin==1){n=' target="_blank"'}m='"+Links[o].display+"";p.selectedIndex=0;edInsertContent(j.Canvas,m)}else{p.selectedIndex=0}};j.edInsertTag=function(o){if(document.selection){j.Canvas.focus();d=document.selection.createRange();if(d.text.length>0){d.text=j.Buttons[o].tagStart+d.text+j.Buttons[o].tagEnd}else{if(!j.edCheckOpenTags(o)||j.Buttons[o].tagEnd==""){d.text=j.Buttons[o].tagStart;j.edAddTag(o)}else{d.text=j.Buttons[o].tagEnd;j.edRemoveTag(o)}}j.Canvas.focus()}else{if(j.Canvas.selectionStart||j.Canvas.selectionStart=="0"){var n=j.Canvas.selectionStart,m=j.Canvas.selectionEnd,q=m,p=j.Canvas.scrollTop;if(n!=m){j.Canvas.value=j.Canvas.value.substring(0,n)+j.Buttons[o].tagStart+j.Canvas.value.substring(n,m)+j.Buttons[o].tagEnd+j.Canvas.value.substring(m,j.Canvas.value.length);q+=j.Buttons[o].tagStart.length+j.Buttons[o].tagEnd.length}else{if(!j.edCheckOpenTags(o)||j.Buttons[o].tagEnd==""){j.Canvas.value=j.Canvas.value.substring(0,n)+j.Buttons[o].tagStart+j.Canvas.value.substring(m,j.Canvas.value.length);j.edAddTag(o);q=n+j.Buttons[o].tagStart.length}else{j.Canvas.value=j.Canvas.value.substring(0,n)+j.Buttons[o].tagEnd+j.Canvas.value.substring(m,j.Canvas.value.length);j.edRemoveTag(o);q=n+j.Buttons[o].tagEnd.length}}j.Canvas.focus();j.Canvas.selectionStart=q;j.Canvas.selectionEnd=q;j.Canvas.scrollTop=p}else{if(!j.edCheckOpenTags(o)||j.Buttons[o].tagEnd==""){j.Canvas.value+=Buttons[o].tagStart;j.edAddTag(o)}else{j.Canvas.value+=Buttons[o].tagEnd;j.edRemoveTag(o)}j.Canvas.focus()}}};this.edInsertLink=function(o,n){if(!n){n="http://"}if(!j.edCheckOpenTags(o)){var m=prompt(quicktagsL10n.enterURL,n);if(m){j.Buttons[o].tagStart='';j.edInsertTag(o)}}else{j.edInsertTag(o)}};this.edInsertImage=function(){var i=prompt(quicktagsL10n.enterImageURL,"http://");if(i){i=''+prompt(quicktagsL10n.enterImageDescription,';edInsertContent(j.Canvas,i)}};j.Buttons[j.Buttons.length]=new edButton(a+"_strong","b","","","b");j.Buttons[j.Buttons.length]=new edButton(a+"_em","i","","","i");j.Buttons[j.Buttons.length]=new edButton(a+"_link","link","","","a");j.Buttons[j.Buttons.length]=new edButton(a+"_block","b-quote","\n\n
    ","
    \n\n","q");j.Buttons[j.Buttons.length]=new edButton(a+"_del","del",'',"","d");j.Buttons[j.Buttons.length]=new edButton(a+"_ins","ins",'',"","s");j.Buttons[j.Buttons.length]=new edButton(a+"_img","img","","","m",-1);j.Buttons[j.Buttons.length]=new edButton(a+"_ul","ul","\n\n","u");j.Buttons[j.Buttons.length]=new edButton(a+"_ol","ol","
      \n","
    \n\n","o");j.Buttons[j.Buttons.length]=new edButton(a+"_li","li","\t
  • ","
  • \n","l");j.Buttons[j.Buttons.length]=new edButton(a+"_code","code","","","c");j.Buttons[j.Buttons.length]=new edButton(a+"_more","more","","","t",-1);e=document.createElement("div");e.id=a+"_qtags";h='
    ';for(g=0;g';h+='
    ';e.innerHTML=h;k.parentNode.insertBefore(e,k)}; \ No newline at end of file