')) != -1) {
- tinyMCE.execCommand("Delete");
-
- var node = tinyMCE.selectedInstance.getFocusElement();
-
- // Get list of elements to break
- var breakElms = new Array();
-
- do {
- if (node.nodeType == 1) {
- // Don't break tables and break at body
- if (node.nodeName == "TD" || node.nodeName == "BODY")
- break;
-
- breakElms[breakElms.length] = node;
- }
- } while(node = node.parentNode);
-
- var before = "", after = "
";
- before += content.substring(0, pos);
-
- for (var i=0; i";
- after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">";
- }
-
- before += "";
- content = before + content.substring(pos+7) + after;
- }
- }
-
- if (tinyMCE.getParam("paste_create_linebreaks", true)) {
- content = tinyMCE.regexpReplace(content, "\r\n", " ", "gi");
- content = tinyMCE.regexpReplace(content, "\r", " ", "gi");
- content = tinyMCE.regexpReplace(content, "\n", " ", "gi");
- }
- }
-
- tinyMCE.execCommand("mceInsertRawHTML", false, content);
- }
- },
-
- _insertWordContent : function(content) {
- if (content && content.length > 0) {
- // Cleanup Word content
- var bull = String.fromCharCode(8226);
- var middot = String.fromCharCode(183);
- var cb;
-
- if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
- content = eval(cb + "('before', content)");
-
- var rl = tinyMCE.getParam("paste_replace_list", '\u2122,TM ,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
- for (var i=0; i(.*?)<\/p>', 'gi'), '$1
');
- }
-
- content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
- content = content.replace(new RegExp(bull + "(.*?) ", "gi"), "" + middot + "$1
");
- content = content.replace(new RegExp('', 'gi'), "" + bull); // Covert to bull list
- content = content.replace(/<\/o:p>/gi, "");
- content = content.replace(new RegExp(' ]*>/gi, "");
-
- if (tinyMCE.getParam("paste_remove_styles", true))
- content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3");
-
- content = content.replace(/<\/?font[^>]*>/gi, "");
-
- // Strips class attributes.
- switch (tinyMCE.getParam("paste_strip_class_attributes", "all")) {
- case "all":
- content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
- break;
-
- case "mso":
- content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3");
- break;
- }
-
- content = content.replace(new RegExp('href="?' + TinyMCE_PastePlugin._reEscape("" + document.location) + '', 'gi'), 'href="' + tinyMCE.settings['document_base_url']);
- content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
- content = content.replace(/<\\?\?xml[^>]*>/gi, "");
- content = content.replace(/<\/?\w+:[^>]*>/gi, "");
- content = content.replace(/-- page break --\s* <\/p>/gi, ""); // Remove pagebreaks
- content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks
-
- // content = content.replace(/\/? */gi, "");
- // content = content.replace(/
<\/p>/gi, '');
-
- if (!tinyMCE.settings['force_p_newlines']) {
- content = content.replace('', '' ,'gi');
- content = content.replace('
', ' ' ,'gi');
- }
-
- if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) {
- content = content.replace(/<\/?p[^>]*>/gi, "");
- }
-
- content = content.replace(/<\/?div[^>]*>/gi, "");
-
- // Convert all middlot lists to UL lists
- if (tinyMCE.getParam("paste_convert_middot_lists", true)) {
- var div = document.createElement("div");
- div.innerHTML = content;
-
- // Convert all middot paragraphs to li elements
- var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList");
-
- while (TinyMCE_PastePlugin._convertMiddots(div, "--list--")) ; // bull
- while (TinyMCE_PastePlugin._convertMiddots(div, middot, className)) ; // Middot
- while (TinyMCE_PastePlugin._convertMiddots(div, bull)) ; // bull
-
- content = div.innerHTML;
- }
-
- // Replace all headers with strong and fix some other issues
- if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
- content = content.replace(/ <\/h[1-6]>/gi, '
');
- content = content.replace(//gi, '');
- content = content.replace(/<\/h[1-6]>/gi, '
');
- content = content.replace(/ <\/b>/gi, ' ');
- content = content.replace(/^( )*/gi, '');
- }
-
- content = content.replace(/--list--/gi, ""); // Remove --list--
-
- if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
- content = eval(cb + "('after', content)");
-
- // Insert cleaned content
- tinyMCE.execCommand("mceInsertContent", false, content);
-
- if (tinyMCE.getParam('paste_force_cleanup_wordpaste', true))
- window.setTimeout('tinyMCE.execCommand("mceCleanup");', 1); // Do normal cleanup detached from this thread
- }
- },
-
- _reEscape : function(s) {
- var l = "?.\\*[](){}+^$:";
- var o = "";
-
- for (var i=0; i 0)
+ tinyMCE.execCommand('delete');
+
+ if (html && html.length > 0)
+ tinyMCE.execCommand('mcePasteWord', false, html);
+
+ tinyMCE.cancelEvent(e);
+ return false;
+ }
+
+ return true;
+ },
+
+ _insertText : function(content, bLinebreaks) {
+ if (content && content.length > 0) {
+ if (bLinebreaks) {
+ // Special paragraph treatment
+ if (tinyMCE.getParam("paste_create_paragraphs", true)) {
+ var rl = tinyMCE.getParam("paste_replace_list", '\u2122,TM ,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
+ for (var i=0; i", "gi");
+ content = tinyMCE.regexpReplace(content, "\r\r", "
", "gi");
+ content = tinyMCE.regexpReplace(content, "\n\n", "
", "gi");
+
+ // Has paragraphs
+ if ((pos = content.indexOf('
')) != -1) {
+ tinyMCE.execCommand("Delete");
+
+ var node = tinyMCE.selectedInstance.getFocusElement();
+
+ // Get list of elements to break
+ var breakElms = new Array();
+
+ do {
+ if (node.nodeType == 1) {
+ // Don't break tables and break at body
+ if (node.nodeName == "TD" || node.nodeName == "BODY")
+ break;
+
+ breakElms[breakElms.length] = node;
+ }
+ } while(node = node.parentNode);
+
+ var before = "", after = "
";
+ before += content.substring(0, pos);
+
+ for (var i=0; i";
+ after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">";
+ }
+
+ before += "";
+ content = before + content.substring(pos+7) + after;
+ }
+ }
+
+ if (tinyMCE.getParam("paste_create_linebreaks", true)) {
+ content = tinyMCE.regexpReplace(content, "\r\n", " ", "gi");
+ content = tinyMCE.regexpReplace(content, "\r", " ", "gi");
+ content = tinyMCE.regexpReplace(content, "\n", " ", "gi");
+ }
+ }
+
+ tinyMCE.execCommand("mceInsertRawHTML", false, content);
+ }
+ },
+
+ _insertWordContent : function(content) {
+ if (content && content.length > 0) {
+ // Cleanup Word content
+ var bull = String.fromCharCode(8226);
+ var middot = String.fromCharCode(183);
+ var cb;
+
+ if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
+ content = eval(cb + "('before', content)");
+
+ var rl = tinyMCE.getParam("paste_replace_list", '\u2122,TM ,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
+ for (var i=0; i(.*?)<\/p>', 'gi'), '$1
');
+ }
+
+ content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
+ content = content.replace(new RegExp(bull + "(.*?) ", "gi"), "" + middot + "$1
");
+ content = content.replace(new RegExp('', 'gi'), "" + bull); // Covert to bull list
+ content = content.replace(/<\/o:p>/gi, "");
+ content = content.replace(new RegExp(' ]*>/gi, "");
+
+ if (tinyMCE.getParam("paste_remove_styles", true))
+ content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3");
+
+ content = content.replace(/<\/?font[^>]*>/gi, "");
+
+ // Strips class attributes.
+ switch (tinyMCE.getParam("paste_strip_class_attributes", "all")) {
+ case "all":
+ content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
+ break;
+
+ case "mso":
+ content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3");
+ break;
+ }
+
+ content = content.replace(new RegExp('href="?' + TinyMCE_PastePlugin._reEscape("" + document.location) + '', 'gi'), 'href="' + tinyMCE.settings['document_base_url']);
+ content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
+ content = content.replace(/<\\?\?xml[^>]*>/gi, "");
+ content = content.replace(/<\/?\w+:[^>]*>/gi, "");
+ content = content.replace(/-- page break --\s* <\/p>/gi, ""); // Remove pagebreaks
+ content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks
+
+ // content = content.replace(/\/? */gi, "");
+ // content = content.replace(/
<\/p>/gi, '');
+
+ if (!tinyMCE.settings['force_p_newlines']) {
+ content = content.replace('', '' ,'gi');
+ content = content.replace('
', ' ' ,'gi');
+ }
+
+ if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) {
+ content = content.replace(/<\/?p[^>]*>/gi, "");
+ }
+
+ content = content.replace(/<\/?div[^>]*>/gi, "");
+
+ // Convert all middlot lists to UL lists
+ if (tinyMCE.getParam("paste_convert_middot_lists", true)) {
+ var div = document.createElement("div");
+ div.innerHTML = content;
+
+ // Convert all middot paragraphs to li elements
+ var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList");
+
+ while (TinyMCE_PastePlugin._convertMiddots(div, "--list--")) ; // bull
+ while (TinyMCE_PastePlugin._convertMiddots(div, middot, className)) ; // Middot
+ while (TinyMCE_PastePlugin._convertMiddots(div, bull)) ; // bull
+
+ content = div.innerHTML;
+ }
+
+ // Replace all headers with strong and fix some other issues
+ if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+ content = content.replace(/ <\/h[1-6]>/gi, '
');
+ content = content.replace(//gi, '');
+ content = content.replace(/<\/h[1-6]>/gi, '
');
+ content = content.replace(/ <\/b>/gi, ' ');
+ content = content.replace(/^( )*/gi, '');
+ }
+
+ content = content.replace(/--list--/gi, ""); // Remove --list--
+
+ if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
+ content = eval(cb + "('after', content)");
+
+ // Insert cleaned content
+ tinyMCE.execCommand("mceInsertContent", false, content);
+
+ if (tinyMCE.getParam('paste_force_cleanup_wordpaste', true))
+ window.setTimeout('tinyMCE.execCommand("mceCleanup");', 1); // Do normal cleanup detached from this thread
+ }
+ },
+
+ _reEscape : function(s) {
+ var l = "?.\\*[](){}+^$:";
+ var o = "";
+
+ for (var i=0; i';
-}
-
-var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
-
-function initIframe(doc) {
- var dir = tinyMCE.selectedInstance.settings['directionality'];
-
- doc.body.dir = dir;
-
- // Remove Gecko spellchecking
- if (tinyMCE.isGecko)
- doc.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
-
- resizeInputs();
-}
-
-function resizeInputs() {
- if (!tinyMCE.isMSIE) {
- wHeight = self.innerHeight - 80;
- wWidth = self.innerWidth - 18;
- } else {
- wHeight = document.body.clientHeight - 80;
- wWidth = document.body.clientWidth - 18;
- }
-
- var elm = document.getElementById('frmData');
- if (elm) {
- elm.style.height = Math.abs(wHeight) + 'px';
- elm.style.width = Math.abs(wWidth) + 'px';
- }
-}
+function saveContent() {
+ var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
+
+ if (html == ''){
+ tinyMCEPopup.close();
+ return false;
+ }
+
+ tinyMCEPopup.execCommand('mcePasteWord', false, html);
+ tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+ tinyMCEPopup.resizeToInnerSize();
+
+ // Fix for endless reloading in FF
+ window.setTimeout('createIFrame();', 10);
+}
+
+function createIFrame() {
+ document.getElementById('iframecontainer').innerHTML = '';
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function initIframe(doc) {
+ var dir = tinyMCE.selectedInstance.settings['directionality'];
+
+ doc.body.dir = dir;
+
+ // Remove Gecko spellchecking
+ if (tinyMCE.isGecko)
+ doc.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+ resizeInputs();
+}
+
+function resizeInputs() {
+ if (!tinyMCE.isMSIE) {
+ wHeight = self.innerHeight - 80;
+ wWidth = self.innerWidth - 18;
+ } else {
+ wHeight = document.body.clientHeight - 80;
+ wWidth = document.body.clientWidth - 18;
+ }
+
+ var elm = document.getElementById('frmData');
+ if (elm) {
+ elm.style.height = Math.abs(wHeight) + 'px';
+ elm.style.width = Math.abs(wWidth) + 'px';
+ }
+}
diff --git a/wp-includes/js/tinymce/plugins/paste/langs/en.js b/wp-includes/js/tinymce/plugins/paste/langs/en.js
index b125d51195..76fce8f3a8 100644
--- a/wp-includes/js/tinymce/plugins/paste/langs/en.js
+++ b/wp-includes/js/tinymce/plugins/paste/langs/en.js
@@ -1,10 +1,10 @@
-// UK lang variables
-
-tinyMCE.addToLang('',{
-paste_text_desc : 'Paste as Plain Text',
-paste_text_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
-paste_text_linebreaks : 'Keep linebreaks',
-paste_word_desc : 'Paste from Word',
-paste_word_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
-selectall_desc : 'Select All'
-});
+// UK lang variables
+
+tinyMCE.addToLang('',{
+paste_text_desc : 'Paste as Plain Text',
+paste_text_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+paste_text_linebreaks : 'Keep linebreaks',
+paste_word_desc : 'Paste from Word',
+paste_word_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+selectall_desc : 'Select All'
+});
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php
index 971da10f91..8b96b04237 100755
--- a/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php
+++ b/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php
@@ -1,73 +1,73 @@
-lang = $lang;
- }
-
- // Returns array with bad words or false if failed.
- function checkWords($word_array) {
- $words = array();
- $wordstr = implode(' ', $word_array);
-
- $matches = $this->_getMatches($wordstr);
-
- for ($i=0; $i_getMatches($word);
-
- if (count($matches) > 0)
- $sug = explode("\t", $matches[0][4]);
-
- return $sug;
- }
-
- function _getMatches($word_list) {
- $xml = "";
-
- // Setup HTTP Client
- $client = new HttpClient('www.google.com');
- $client->setUserAgent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR');
- $client->setHandleRedirects(false);
- $client->setDebug(false);
-
- // Setup XML request
- $xml .= '';
- $xml .= '';
- $xml .= '' . htmlentities($word_list) . ' ';
-
- // Execute HTTP Post to Google
- if (!$client->post('/tbproxy/spell?lang=' . $this->lang, $xml)) {
- $this->errorMsg[] = 'An error occurred: ' . $client->getError();
- return array();
- }
-
- // Grab and parse content
- $xml = $client->getContent();
- preg_match_all('/([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER);
-
- return $matches;
- }
-}
-
-// Setup classname, should be the same as the name of the spellchecker class
-$spellCheckerConfig['class'] = "TinyGoogleSpell";
-
-?>
+lang = $lang;
+ }
+
+ // Returns array with bad words or false if failed.
+ function checkWords($word_array) {
+ $words = array();
+ $wordstr = implode(' ', $word_array);
+
+ $matches = $this->_getMatches($wordstr);
+
+ for ($i=0; $i_getMatches($word);
+
+ if (count($matches) > 0)
+ $sug = explode("\t", $matches[0][4]);
+
+ return $sug;
+ }
+
+ function _getMatches($word_list) {
+ $xml = "";
+
+ // Setup HTTP Client
+ $client = new HttpClient('www.google.com');
+ $client->setUserAgent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR');
+ $client->setHandleRedirects(false);
+ $client->setDebug(false);
+
+ // Setup XML request
+ $xml .= '';
+ $xml .= '';
+ $xml .= '' . htmlentities($word_list) . ' ';
+
+ // Execute HTTP Post to Google
+ if (!$client->post('/tbproxy/spell?lang=' . $this->lang, $xml)) {
+ $this->errorMsg[] = 'An error occurred: ' . $client->getError();
+ return array();
+ }
+
+ // Grab and parse content
+ $xml = $client->getContent();
+ preg_match_all('/([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER);
+
+ return $matches;
+ }
+}
+
+// Setup classname, should be the same as the name of the spellchecker class
+$spellCheckerConfig['class'] = "TinyGoogleSpell";
+
+?>
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php
index 21fb19448e..dfea14cbb8 100755
--- a/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php
+++ b/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php
@@ -1,64 +1,64 @@
-lang = $lang;
- $this->mode = $mode;
- $this->plink = false;
- $this->errorMsg = array();
-
- if (!function_exists("pspell_new")) {
- $this->errorMsg[] = "PSpell not found.";
- return;
- }
-
- $this->plink = pspell_new($this->lang, $this->spelling, $this->jargon, $this->encoding, $this->mode);
- }
-
- // Returns array with bad words or false if failed.
- function checkWords($wordArray) {
- if (!$this->plink) {
- $this->errorMsg[] = "No PSpell link found for checkWords.";
- return array();
- }
-
- $wordError = array();
- foreach($wordArray as $word) {
- if(!pspell_check($this->plink, trim($word)))
- $wordError[] = $word;
- }
-
- return $wordError;
- }
-
- // Returns array with suggestions or false if failed.
- function getSuggestion($word) {
- if (!$this->plink) {
- $this->errorMsg[] = "No PSpell link found for getSuggestion.";
- return array();
- }
-
- return pspell_suggest($this->plink, $word);
- }
-}
-
-// Setup classname, should be the same as the name of the spellchecker class
-$spellCheckerConfig['class'] = "TinyPspell";
-
+lang = $lang;
+ $this->mode = $mode;
+ $this->plink = false;
+ $this->errorMsg = array();
+
+ if (!function_exists("pspell_new")) {
+ $this->errorMsg[] = "PSpell not found.";
+ return;
+ }
+
+ $this->plink = pspell_new($this->lang, $this->spelling, $this->jargon, $this->encoding, $this->mode);
+ }
+
+ // Returns array with bad words or false if failed.
+ function checkWords($wordArray) {
+ if (!$this->plink) {
+ $this->errorMsg[] = "No PSpell link found for checkWords.";
+ return array();
+ }
+
+ $wordError = array();
+ foreach($wordArray as $word) {
+ if(!pspell_check($this->plink, trim($word)))
+ $wordError[] = $word;
+ }
+
+ return $wordError;
+ }
+
+ // Returns array with suggestions or false if failed.
+ function getSuggestion($word) {
+ if (!$this->plink) {
+ $this->errorMsg[] = "No PSpell link found for getSuggestion.";
+ return array();
+ }
+
+ return pspell_suggest($this->plink, $word);
+ }
+}
+
+// Setup classname, should be the same as the name of the spellchecker class
+$spellCheckerConfig['class'] = "TinyPspell";
+
?>
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php
index 81e3f152e0..cfafa92081 100755
--- a/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php
+++ b/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php
@@ -1,102 +1,102 @@
-lang = $lang;
- $this->mode = $mode;
- $this->error = false;
- $this->errorMsg = array();
-
- $this->tmpfile = tempnam($config['tinypspellshell.tmp'], "tinyspell");
- $this->cmd = "cat ". $this->tmpfile ." | " . $config['tinypspellshell.aspell'] . " -a --lang=". $this->lang;
- }
-
- // Returns array with bad words or false if failed.
- function checkWords($wordArray) {
- if ($fh = fopen($this->tmpfile, "w")) {
- fwrite($fh, "!\n");
- foreach($wordArray as $key => $value)
- fwrite($fh, "^" . $value . "\n");
-
- fclose($fh);
- } else {
- $this->errorMsg[] = "PSpell not found.";
- return array();
- }
-
- $data = shell_exec($this->cmd);
- @unlink($this->tmpfile);
- $returnData = array();
- $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY);
-
- foreach($dataArr as $dstr) {
- $matches = array();
-
- // Skip this line.
- if (strpos($dstr, "@") === 0)
- continue;
-
- preg_match("/\& (.*) .* .*: .*/i", $dstr, $matches);
-
- if (!empty($matches[1]))
- $returnData[] = $matches[1];
- }
-
- return $returnData;
- }
-
- // Returns array with suggestions or false if failed.
- function getSuggestion($word) {
- if ($fh = fopen($this->tmpfile, "w")) {
- fwrite($fh, "!\n");
- fwrite($fh, "^$word\n");
- fclose($fh);
- } else
- wp_die("Error opening tmp file.");
-
- $data = shell_exec($this->cmd);
- @unlink($this->tmpfile);
- $returnData = array();
- $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY);
-
- foreach($dataArr as $dstr) {
- $matches = array();
-
- // Skip this line.
- if (strpos($dstr, "@") === 0)
- continue;
-
- preg_match("/\& .* .* .*: (.*)/i", $dstr, $matches);
-
- if (!empty($matches[1])) {
- // For some reason, the exec version seems to add commas?
- $returnData[] = str_replace(",", "", $matches[1]);
- }
- }
- return $returnData;
- }
-}
-
-// Setup classname, should be the same as the name of the spellchecker class
-$spellCheckerConfig['class'] = "TinyPspellShell";
-
-?>
+lang = $lang;
+ $this->mode = $mode;
+ $this->error = false;
+ $this->errorMsg = array();
+
+ $this->tmpfile = tempnam($config['tinypspellshell.tmp'], "tinyspell");
+ $this->cmd = "cat ". $this->tmpfile ." | " . $config['tinypspellshell.aspell'] . " -a --lang=". $this->lang;
+ }
+
+ // Returns array with bad words or false if failed.
+ function checkWords($wordArray) {
+ if ($fh = fopen($this->tmpfile, "w")) {
+ fwrite($fh, "!\n");
+ foreach($wordArray as $key => $value)
+ fwrite($fh, "^" . $value . "\n");
+
+ fclose($fh);
+ } else {
+ $this->errorMsg[] = "PSpell not found.";
+ return array();
+ }
+
+ $data = shell_exec($this->cmd);
+ @unlink($this->tmpfile);
+ $returnData = array();
+ $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY);
+
+ foreach($dataArr as $dstr) {
+ $matches = array();
+
+ // Skip this line.
+ if (strpos($dstr, "@") === 0)
+ continue;
+
+ preg_match("/\& (.*) .* .*: .*/i", $dstr, $matches);
+
+ if (!empty($matches[1]))
+ $returnData[] = $matches[1];
+ }
+
+ return $returnData;
+ }
+
+ // Returns array with suggestions or false if failed.
+ function getSuggestion($word) {
+ if ($fh = fopen($this->tmpfile, "w")) {
+ fwrite($fh, "!\n");
+ fwrite($fh, "^$word\n");
+ fclose($fh);
+ } else
+ wp_die("Error opening tmp file.");
+
+ $data = shell_exec($this->cmd);
+ @unlink($this->tmpfile);
+ $returnData = array();
+ $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY);
+
+ foreach($dataArr as $dstr) {
+ $matches = array();
+
+ // Skip this line.
+ if (strpos($dstr, "@") === 0)
+ continue;
+
+ preg_match("/\& .* .* .*: (.*)/i", $dstr, $matches);
+
+ if (!empty($matches[1])) {
+ // For some reason, the exec version seems to add commas?
+ $returnData[] = str_replace(",", "", $matches[1]);
+ }
+ }
+ return $returnData;
+ }
+}
+
+// Setup classname, should be the same as the name of the spellchecker class
+$spellCheckerConfig['class'] = "TinyPspellShell";
+
+?>
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/config.php b/wp-includes/js/tinymce/plugins/spellchecker/config.php
index 2bfc9ec4f5..a622fe93de 100755
--- a/wp-includes/js/tinymce/plugins/spellchecker/config.php
+++ b/wp-includes/js/tinymce/plugins/spellchecker/config.php
@@ -1,29 +1,29 @@
-
+
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js b/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js
index ab3fc6bda5..98f057ee36 100755
--- a/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js
+++ b/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js
@@ -1,573 +1,573 @@
-/**
- * $RCSfile: editor_plugin_src.js,v $
- * $Revision: 1.4 $
- * $Date: 2006/03/24 17:24:50 $
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-tinyMCE.importPluginLanguagePack('spellchecker', 'en,sv,nn,nb');
-
-// Plucin static class
-var TinyMCE_SpellCheckerPlugin = {
- _contextMenu : new TinyMCE_Menu(),
- _menu : new TinyMCE_Menu(),
- _counter : 0,
-
- getInfo : function() {
- return {
- longname : 'Spellchecker',
- author : 'Moxiecode Systems AB',
- authorurl : 'http://tinymce.moxiecode.com',
- infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_spellchecker.html',
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
- };
- },
-
- handleEvent : function(e) {
- var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
- var inst = tinyMCE.selectedInstance, args = '';
- var self = TinyMCE_SpellCheckerPlugin;
- var cm = self._contextMenu;
- var p, p2, x, y, sx, sy, h, elm;
-
- // Handle click on word
- if ((e.type == "click" || e.type == "contextmenu") && elm) {
- do {
- if (tinyMCE.getAttrib(elm, 'class') == "mceItemHiddenSpellWord") {
- inst.spellCheckerElm = elm;
-
- // Setup arguments
- args += 'id=' + inst.editorId + "|" + (++self._counter);
- args += '&cmd=suggest&check=' + escape(elm.innerHTML);
- args += '&lang=' + escape(inst.spellCheckerLang);
-
- elm = inst.spellCheckerElm;
- p = tinyMCE.getAbsPosition(inst.iframeElement);
- p2 = tinyMCE.getAbsPosition(elm);
- h = parseInt(elm.offsetHeight);
- sx = inst.getBody().scrollLeft;
- sy = inst.getBody().scrollTop;
- x = p.absLeft + p2.absLeft - sx;
- y = p.absTop + p2.absTop - sy + h;
-
- cm.clear();
- cm.addTitle(tinyMCE.getLang('lang_spellchecker_wait', '', true));
- cm.show();
- cm.moveTo(x, y);
-
- inst.selection.selectNode(elm, false, false);
-
- self._sendAjax(self.baseURL + "/tinyspell.php", self._ajaxResponse, 'post', args);
-
- tinyMCE.cancelEvent(e);
- return false;
- }
- } while ((elm = elm.parentNode));
- }
-
- return true;
- },
-
- initInstance : function(inst) {
- var self = TinyMCE_SpellCheckerPlugin, m = self._menu, cm = self._contextMenu, e;
-
- tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/spellchecker/css/content.css");
-
- if (!tinyMCE.hasMenu('spellcheckercontextmenu')) {
- tinyMCE.importCSS(document, tinyMCE.baseURL + "/plugins/spellchecker/css/spellchecker.css");
-
- cm.init({drop_menu : false});
- tinyMCE.addMenu('spellcheckercontextmenu', cm);
- }
-
- if (!tinyMCE.hasMenu('spellcheckermenu')) {
- m.init({});
- tinyMCE.addMenu('spellcheckermenu', m);
- }
-
- inst.spellCheckerLang = 'en';
- self._buildSettingsMenu(inst, null);
-
- e = self._getBlockBoxLayer(inst).create('div', 'mceBlockBox', document.getElementById(inst.editorId + '_parent'));
- self._getMsgBoxLayer(inst).create('div', 'mceMsgBox', document.getElementById(inst.editorId + '_parent'));
- },
-
- _getMsgBoxLayer : function(inst) {
- if (!inst.spellCheckerMsgBoxL)
- inst.spellCheckerMsgBoxL = new TinyMCE_Layer(inst.editorId + '_spellcheckerMsgBox', false);
-
- return inst.spellCheckerMsgBoxL;
- },
-
- _getBlockBoxLayer : function(inst) {
- if (!inst.spellCheckerBoxL)
- inst.spellCheckerBoxL = new TinyMCE_Layer(inst.editorId + '_spellcheckerBlockBox', false);
-
- return inst.spellCheckerBoxL;
- },
-
- _buildSettingsMenu : function(inst, lang) {
- var i, ar = tinyMCE.getParam('spellchecker_languages', '+English=en').split(','), p;
- var self = TinyMCE_SpellCheckerPlugin, m = self._menu, c;
-
- m.clear();
- m.addTitle(tinyMCE.getLang('lang_spellchecker_langs', '', true));
-
- for (i=0; i';
- h += ' ';
- h += '';
- h += '';
- } else {
- if (tinyMCE.isMSIE && !tinyMCE.isOpera)
- h += '$2');
- nv = nv.replace(r3, '$1 $2');
-
- nn = doc.createElement('span');
- nn.className = "mceItemHidden";
- nn.innerHTML = nv;
-
- // Remove old text node
- nl[i].parentNode.replaceChild(nn, nl[i]);
- }
- }
- },
-
- _buildMenu : function(sg, max) {
- var i, self = TinyMCE_SpellCheckerPlugin, cm = self._contextMenu;
-
- cm.clear();
-
- if (sg != null) {
- cm.addTitle(tinyMCE.getLang('lang_spellchecker_sug', '', true));
-
- for (i=0; i';
+ h += ' ';
+ h += '';
+ h += '';
+ } else {
+ if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+ h += '$2');
+ nv = nv.replace(r3, '$1 $2');
+
+ nn = doc.createElement('span');
+ nn.className = "mceItemHidden";
+ nn.innerHTML = nv;
+
+ // Remove old text node
+ nl[i].parentNode.replaceChild(nn, nl[i]);
+ }
+ }
+ },
+
+ _buildMenu : function(sg, max) {
+ var i, self = TinyMCE_SpellCheckerPlugin, cm = self._contextMenu;
+
+ cm.clear();
+
+ if (sg != null) {
+ cm.addTitle(tinyMCE.getLang('lang_spellchecker_sug', '', true));
+
+ for (i=0; i ';
- die;
- }
-
- // Basic config
- $defaultLanguage = $spellCheckerConfig['default.language'];
- $defaultMode = $spellCheckerConfig['default.mode'];
-
- // Normaly not required to configure
- $defaultSpelling = $spellCheckerConfig['default.spelling'];
- $defaultJargon = $spellCheckerConfig['default.jargon'];
- $defaultEncoding = $spellCheckerConfig['default.encoding'];
- $outputType = "xml"; // Do not change
-
- // Get input parameters.
-
- $check = $_POST['check'];
- $cmd = sanitize($_POST['cmd']);
- $lang = sanitize($_POST['lang'], "strict");
- $mode = sanitize($_POST['mode'], "strict");
- $spelling = sanitize($_POST['spelling'], "strict");
- $jargon = sanitize($_POST['jargon'], "strict");
- $encoding = sanitize($_POST['encoding'], "strict");
- $sg = sanitize($_POST['sg'], "bool");
- $words = array();
-
- $validRequest = true;
-
- if (empty($check))
- $validRequest = false;
-
- if (empty($lang))
- $lang = $defaultLanguage;
-
- if (empty($mode))
- $mode = $defaultMode;
-
- if (empty($spelling))
- $spelling = $defaultSpelling;
-
- if (empty($jargon))
- $jargon = $defaultJargon;
-
- if (empty($encoding))
- $encoding = $defaultEncoding;
-
- function sanitize($str, $type="strict") {
- switch ($type) {
- case "strict":
- $str = preg_replace("/[^a-zA-Z0-9_\-]/i", "", $str);
- break;
- case "loose":
- $str = preg_replace("//i", "<", $str);
- break;
- case "bool":
- if ($str == "true" || $str == true)
- $str = true;
- else
- $str = false;
- break;
- }
-
- return $str;
- }
-
- $result = array();
- $tinyspell = new $spellCheckerConfig['class']($spellCheckerConfig, $lang, $mode, $spelling, $jargon, $encoding);
-
- if (count($tinyspell->errorMsg) == 0) {
- switch($cmd) {
- case "spell":
- // Space for non-exec version and \n for the exec version.
- $words = preg_split("/ |\n/", $check, -1, PREG_SPLIT_NO_EMPTY);
- $result = $tinyspell->checkWords($words);
- break;
- case "suggest":
- $result = $tinyspell->getSuggestion($check);
- break;
- default:
- // Just use this for now.
- $tinyspell->errorMsg[] = "No command.";
- $outputType = $outputType . "error";
- break;
- }
- } else
- $outputType = $outputType . "error";
-
- if (!$result)
- $result = array();
-
- // Output data
- switch($outputType) {
- case "xml":
- header('Content-type: text/xml; charset=utf-8');
- echo '';
- echo "\n";
- if (count($result) == 0)
- echo ' ';
- else
- echo ''. utf8_encode(implode(" ", $result)) .' ';
-
- break;
- case "xmlerror";
- header('Content-type: text/xml; charset=utf-8');
- echo '';
- echo "\n";
- echo 'errorMsg) .'" />';
- break;
- case "html":
- var_dump($result);
- break;
- case "htmlerror":
- echo "Error";
- break;
- }
-?>
+ ';
+ die;
+ }
+
+ // Basic config
+ $defaultLanguage = $spellCheckerConfig['default.language'];
+ $defaultMode = $spellCheckerConfig['default.mode'];
+
+ // Normaly not required to configure
+ $defaultSpelling = $spellCheckerConfig['default.spelling'];
+ $defaultJargon = $spellCheckerConfig['default.jargon'];
+ $defaultEncoding = $spellCheckerConfig['default.encoding'];
+ $outputType = "xml"; // Do not change
+
+ // Get input parameters.
+
+ $check = $_POST['check'];
+ $cmd = sanitize($_POST['cmd']);
+ $lang = sanitize($_POST['lang'], "strict");
+ $mode = sanitize($_POST['mode'], "strict");
+ $spelling = sanitize($_POST['spelling'], "strict");
+ $jargon = sanitize($_POST['jargon'], "strict");
+ $encoding = sanitize($_POST['encoding'], "strict");
+ $sg = sanitize($_POST['sg'], "bool");
+ $words = array();
+
+ $validRequest = true;
+
+ if (empty($check))
+ $validRequest = false;
+
+ if (empty($lang))
+ $lang = $defaultLanguage;
+
+ if (empty($mode))
+ $mode = $defaultMode;
+
+ if (empty($spelling))
+ $spelling = $defaultSpelling;
+
+ if (empty($jargon))
+ $jargon = $defaultJargon;
+
+ if (empty($encoding))
+ $encoding = $defaultEncoding;
+
+ function sanitize($str, $type="strict") {
+ switch ($type) {
+ case "strict":
+ $str = preg_replace("/[^a-zA-Z0-9_\-]/i", "", $str);
+ break;
+ case "loose":
+ $str = preg_replace("//i", "<", $str);
+ break;
+ case "bool":
+ if ($str == "true" || $str == true)
+ $str = true;
+ else
+ $str = false;
+ break;
+ }
+
+ return $str;
+ }
+
+ $result = array();
+ $tinyspell = new $spellCheckerConfig['class']($spellCheckerConfig, $lang, $mode, $spelling, $jargon, $encoding);
+
+ if (count($tinyspell->errorMsg) == 0) {
+ switch($cmd) {
+ case "spell":
+ // Space for non-exec version and \n for the exec version.
+ $words = preg_split("/ |\n/", $check, -1, PREG_SPLIT_NO_EMPTY);
+ $result = $tinyspell->checkWords($words);
+ break;
+ case "suggest":
+ $result = $tinyspell->getSuggestion($check);
+ break;
+ default:
+ // Just use this for now.
+ $tinyspell->errorMsg[] = "No command.";
+ $outputType = $outputType . "error";
+ break;
+ }
+ } else
+ $outputType = $outputType . "error";
+
+ if (!$result)
+ $result = array();
+
+ // Output data
+ switch($outputType) {
+ case "xml":
+ header('Content-type: text/xml; charset=utf-8');
+ echo '';
+ echo "\n";
+ if (count($result) == 0)
+ echo ' ';
+ else
+ echo ''. utf8_encode(implode(" ", $result)) .' ';
+
+ break;
+ case "xmlerror";
+ header('Content-type: text/xml; charset=utf-8');
+ echo '';
+ echo "\n";
+ echo 'errorMsg) .'" />';
+ break;
+ case "html":
+ var_dump($result);
+ break;
+ case "htmlerror":
+ echo "Error";
+ break;
+ }
+?>
diff --git a/wp-includes/js/tinymce/plugins/wordpress/langs/en.js b/wp-includes/js/tinymce/plugins/wordpress/langs/en.js
index f38e89d1db..0b12a92d4a 100644
--- a/wp-includes/js/tinymce/plugins/wordpress/langs/en.js
+++ b/wp-includes/js/tinymce/plugins/wordpress/langs/en.js
@@ -1,33 +1,33 @@
-// EN lang variables
-
-if (navigator.userAgent.indexOf('Mac OS') != -1) {
-// Mac OS browsers use Ctrl to hit accesskeys
- var metaKey = 'Ctrl';
-}
-else {
- var metaKey = 'Alt';
-}
-
-tinyMCE.addToLang('',{
-wordpress_more_button : 'Split post with More tag (' + metaKey + '+t)',
-wordpress_page_button : 'Split post with Page tag',
-wordpress_adv_button : 'Show/Hide Advanced Toolbar (' + metaKey + '+b)',
-wordpress_more_alt : 'More...',
-wordpress_page_alt : '...page...',
-help_button_title : 'Help (' + metaKey + '+h)',
-bold_desc : 'Bold (Ctrl+B)',
-italic_desc : 'Italic (Ctrl+I)',
-underline_desc : 'Underline (Ctrl+U)',
-link_desc : 'Insert/edit link (' + metaKey + '+a)',
-unlink_desc : 'Unlink (' + metaKey + '+s)',
-image_desc : 'Insert/edit image (' + metaKey + '+m)',
-striketrough_desc : 'Strikethrough (' + metaKey + '+k)',
-justifyleft_desc : 'Align left (' + metaKey + '+f)',
-justifycenter_desc : 'Align center (' + metaKey + '+c)',
-justifyright_desc : 'Align right (' + metaKey + '+r)',
-justifyfull_desc : 'Align full (' + metaKey + '+j)',
-bullist_desc : 'Unordered list (' + metaKey + '+l)',
-numlist_desc : 'Ordered list (' + metaKey + '+o)',
-outdent_desc : 'Outdent (' + metaKey + '+w)',
-indent_desc : 'Indent List/Blockquote (' + metaKey + '+q)'
-});
+// EN lang variables
+
+if (navigator.userAgent.indexOf('Mac OS') != -1) {
+// Mac OS browsers use Ctrl to hit accesskeys
+ var metaKey = 'Ctrl';
+}
+else {
+ var metaKey = 'Alt';
+}
+
+tinyMCE.addToLang('',{
+wordpress_more_button : 'Split post with More tag (' + metaKey + '+t)',
+wordpress_page_button : 'Split post with Page tag',
+wordpress_adv_button : 'Show/Hide Advanced Toolbar (' + metaKey + '+b)',
+wordpress_more_alt : 'More...',
+wordpress_page_alt : '...page...',
+help_button_title : 'Help (' + metaKey + '+h)',
+bold_desc : 'Bold (Ctrl+B)',
+italic_desc : 'Italic (Ctrl+I)',
+underline_desc : 'Underline (Ctrl+U)',
+link_desc : 'Insert/edit link (' + metaKey + '+a)',
+unlink_desc : 'Unlink (' + metaKey + '+s)',
+image_desc : 'Insert/edit image (' + metaKey + '+m)',
+striketrough_desc : 'Strikethrough (' + metaKey + '+k)',
+justifyleft_desc : 'Align left (' + metaKey + '+f)',
+justifycenter_desc : 'Align center (' + metaKey + '+c)',
+justifyright_desc : 'Align right (' + metaKey + '+r)',
+justifyfull_desc : 'Align full (' + metaKey + '+j)',
+bullist_desc : 'Unordered list (' + metaKey + '+l)',
+numlist_desc : 'Ordered list (' + metaKey + '+o)',
+outdent_desc : 'Outdent (' + metaKey + '+w)',
+indent_desc : 'Indent List/Blockquote (' + metaKey + '+q)'
+});
diff --git a/wp-includes/js/tinymce/plugins/wphelp/editor_plugin.js b/wp-includes/js/tinymce/plugins/wphelp/editor_plugin.js
index 204e4471a8..da29521ccb 100644
--- a/wp-includes/js/tinymce/plugins/wphelp/editor_plugin.js
+++ b/wp-includes/js/tinymce/plugins/wphelp/editor_plugin.js
@@ -1,57 +1,57 @@
-/* Import plugin specific language pack */
-tinyMCE.importPluginLanguagePack('wphelp', '');
-
-function TinyMCE_wphelp_getControlHTML(control_name) {
- switch (control_name) {
- case "wphelp":
- var titleHelp = tinyMCE.getLang('lang_help_button_title');
- var buttons = ' ';
- var hiddenControls = ''
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + ' '
- + '
';
- return buttons+hiddenControls;
- }
-
- return "";
-}
-
-function TinyMCE_wphelp_execCommand(editor_id, element, command, user_interface, value) {
-
- // Handle commands
- switch (command) {
- case "mceWordPressHelp":
- var template = new Array();
-
- template['file'] = tinyMCE.baseURL + '/wp-mce-help.php';
- template['width'] = 480;
- template['height'] = 380;
-
- args = {
- resizable : 'yes',
- scrollbars : 'yes'
- };
-
- tinyMCE.openWindow(template, args);
- return true;
- }
-
- // Pass to next handler in chain
- return false;
-}
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('wphelp', '');
+
+function TinyMCE_wphelp_getControlHTML(control_name) {
+ switch (control_name) {
+ case "wphelp":
+ var titleHelp = tinyMCE.getLang('lang_help_button_title');
+ var buttons = ' ';
+ var hiddenControls = ''
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + ' '
+ + '
';
+ return buttons+hiddenControls;
+ }
+
+ return "";
+}
+
+function TinyMCE_wphelp_execCommand(editor_id, element, command, user_interface, value) {
+
+ // Handle commands
+ switch (command) {
+ case "mceWordPressHelp":
+ var template = new Array();
+
+ template['file'] = tinyMCE.baseURL + '/wp-mce-help.php';
+ template['width'] = 480;
+ template['height'] = 380;
+
+ args = {
+ resizable : 'yes',
+ scrollbars : 'yes'
+ };
+
+ tinyMCE.openWindow(template, args);
+ return true;
+ }
+
+ // Pass to next handler in chain
+ return false;
+}
diff --git a/wp-includes/js/tinymce/plugins/wphelp/langs/en.js b/wp-includes/js/tinymce/plugins/wphelp/langs/en.js
index b7b2aba7ad..8c5b35ad86 100644
--- a/wp-includes/js/tinymce/plugins/wphelp/langs/en.js
+++ b/wp-includes/js/tinymce/plugins/wphelp/langs/en.js
@@ -1,5 +1,5 @@
-// EN lang variables
-
-tinyMCE.addToLang('',{
-help_button_title : 'Help (Alt+h)'
-});
+// EN lang variables
+
+tinyMCE.addToLang('',{
+help_button_title : 'Help (Alt+h)'
+});
diff --git a/wp-includes/js/tinymce/themes/advanced/langs/en.js b/wp-includes/js/tinymce/themes/advanced/langs/en.js
index fd915ea415..602f1d29ef 100644
--- a/wp-includes/js/tinymce/themes/advanced/langs/en.js
+++ b/wp-includes/js/tinymce/themes/advanced/langs/en.js
@@ -1,82 +1,82 @@
-// UK lang variables
-
-tinyMCE.addToLang('',{
-theme_style_select : '-- Styles --',
-theme_code_desc : 'Edit HTML Source',
-theme_code_title : 'HTML Source Editor',
-theme_code_wordwrap : 'Word wrap',
-theme_sub_desc : 'Subscript',
-theme_sup_desc : 'Superscript',
-theme_hr_desc : 'Insert horizontal ruler',
-theme_removeformat_desc : 'Remove formatting',
-theme_custom1_desc : 'Your custom description here',
-insert_image_border : 'Border',
-insert_image_dimensions : 'Dimensions',
-insert_image_vspace : 'Vertical space',
-insert_image_hspace : 'Horizontal space',
-insert_image_align : 'Alignment',
-insert_image_align_default : '-- Not set --',
-insert_image_align_baseline : 'Baseline',
-insert_image_align_top : 'Top',
-insert_image_align_middle : 'Middle',
-insert_image_align_bottom : 'Bottom',
-insert_image_align_texttop : 'TextTop',
-insert_image_align_absmiddle : 'Absolute Middle',
-insert_image_align_absbottom : 'Absolute Bottom',
-insert_image_align_left : 'Left',
-insert_image_align_right : 'Right',
-theme_font_size : '-- Font size --',
-theme_fontdefault : '-- Font family --',
-theme_block : '-- Format --',
-theme_paragraph : 'Paragraph',
-theme_div : 'Div',
-theme_address : 'Address',
-theme_pre : 'Preformatted',
-theme_h1 : 'Heading 1',
-theme_h2 : 'Heading 2',
-theme_h3 : 'Heading 3',
-theme_h4 : 'Heading 4',
-theme_h5 : 'Heading 5',
-theme_h6 : 'Heading 6',
-theme_blockquote : 'Blockquote',
-theme_code : 'Code',
-theme_samp : 'Code sample',
-theme_dt : 'Definition term ',
-theme_dd : 'Definition description',
-theme_colorpicker_title : 'Select a color',
-theme_colorpicker_apply : 'Apply',
-theme_forecolor_desc : 'Select text color',
-theme_backcolor_desc : 'Select background color',
-theme_charmap_title : 'Select custom character',
-theme_charmap_desc : 'Insert custom character',
-theme_visualaid_desc : 'Toggle guidelines/invisible elements',
-insert_anchor_title : 'Insert/edit anchor',
-insert_anchor_name : 'Anchor name',
-theme_anchor_desc : 'Insert/edit anchor',
-theme_insert_link_titlefield : 'Title',
-theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
-theme_path : 'Path',
-cut_desc : 'Cut',
-copy_desc : 'Copy',
-paste_desc : 'Paste',
-link_list : 'Link list',
-image_list : 'Image list',
-browse : 'Browse',
-image_props_desc : 'Image properties',
-newdocument_desc : 'New document',
-class_name : 'Class',
-newdocument : 'Are you sure you want clear all contents?',
-about_title : 'About TinyMCE',
-about : 'About',
-license : 'License',
-plugins : 'Plugins',
-plugin : 'Plugin',
-author : 'Author',
-version : 'Version',
-loaded_plugins : 'Loaded plugins',
-help : 'Help',
-not_set : '-- Not set --',
-close : 'Close',
-toolbar_focus : 'Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X',
-invalid_data : 'Error: Invalid values entered, these are marked in red.'
-});
+// UK lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : '-- Styles --',
+theme_code_desc : 'Edit HTML Source',
+theme_code_title : 'HTML Source Editor',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Subscript',
+theme_sup_desc : 'Superscript',
+theme_hr_desc : 'Insert horizontal ruler',
+theme_removeformat_desc : 'Remove formatting',
+theme_custom1_desc : 'Your custom description here',
+insert_image_border : 'Border',
+insert_image_dimensions : 'Dimensions',
+insert_image_vspace : 'Vertical space',
+insert_image_hspace : 'Horizontal space',
+insert_image_align : 'Alignment',
+insert_image_align_default : '-- Not set --',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Top',
+insert_image_align_middle : 'Middle',
+insert_image_align_bottom : 'Bottom',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Absolute Middle',
+insert_image_align_absbottom : 'Absolute Bottom',
+insert_image_align_left : 'Left',
+insert_image_align_right : 'Right',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraph',
+theme_div : 'Div',
+theme_address : 'Address',
+theme_pre : 'Preformatted',
+theme_h1 : 'Heading 1',
+theme_h2 : 'Heading 2',
+theme_h3 : 'Heading 3',
+theme_h4 : 'Heading 4',
+theme_h5 : 'Heading 5',
+theme_h6 : 'Heading 6',
+theme_blockquote : 'Blockquote',
+theme_code : 'Code',
+theme_samp : 'Code sample',
+theme_dt : 'Definition term ',
+theme_dd : 'Definition description',
+theme_colorpicker_title : 'Select a color',
+theme_colorpicker_apply : 'Apply',
+theme_forecolor_desc : 'Select text color',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Select custom character',
+theme_charmap_desc : 'Insert custom character',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Insert/edit anchor',
+insert_anchor_name : 'Anchor name',
+theme_anchor_desc : 'Insert/edit anchor',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Class',
+newdocument : 'Are you sure you want clear all contents?',
+about_title : 'About TinyMCE',
+about : 'About',
+license : 'License',
+plugins : 'Plugins',
+plugin : 'Plugin',
+author : 'Author',
+version : 'Version',
+loaded_plugins : 'Loaded plugins',
+help : 'Help',
+not_set : '-- Not set --',
+close : 'Close',
+toolbar_focus : 'Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X',
+invalid_data : 'Error: Invalid values entered, these are marked in red.'
+});
diff --git a/wp-includes/js/tinymce/utils/form_utils.js b/wp-includes/js/tinymce/utils/form_utils.js
index c502943d20..66a3ce046d 100644
--- a/wp-includes/js/tinymce/utils/form_utils.js
+++ b/wp-includes/js/tinymce/utils/form_utils.js
@@ -1,210 +1,210 @@
-/**
- * $Id: form_utils.js 43 2006-08-08 16:10:07Z spocke $
- *
- * Various form utilitiy functions.
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-var themeBaseURL = tinyMCE.baseURL + '/themes/' + tinyMCE.getParam("theme");
-
-function getColorPickerHTML(id, target_form_element) {
- var h = "";
-
- h += '';
- h += ' ';
-
- return h;
-}
-
-function pickColor(e, target_form_element) {
- if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown")
- tinyMCEPopup.pickColor(e, target_form_element);
-}
-
-function updateColor(img_id, form_element_id) {
- document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
-}
-
-function setBrowserDisabled(id, state) {
- var img = document.getElementById(id);
- var lnk = document.getElementById(id + "_link");
-
- if (lnk) {
- if (state) {
- lnk.setAttribute("realhref", lnk.getAttribute("href"));
- lnk.removeAttribute("href");
- tinyMCE.switchClass(img, 'mceButtonDisabled', true);
- } else {
- lnk.setAttribute("href", lnk.getAttribute("realhref"));
- tinyMCE.switchClass(img, 'mceButtonNormal', false);
- }
- }
-}
-
-function getBrowserHTML(id, target_form_element, type, prefix) {
- var option = prefix + "_" + type + "_browser_callback";
- var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
- if (cb == null)
- return "";
-
- var html = "";
-
- html += '';
- html += ' ';
-
- return html;
-}
-
-function openBrower(img_id, target_form_element, type, option) {
- var img = document.getElementById(img_id);
-
- if (img.className != "mceButtonDisabled")
- tinyMCEPopup.openBrowser(target_form_element, type, option);
-}
-
-function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
- if (!form_obj || !form_obj.elements[field_name])
- return;
-
- var sel = form_obj.elements[field_name];
-
- var found = false;
- for (var i=0; i';
+ h += ' ';
+
+ return h;
+}
+
+function pickColor(e, target_form_element) {
+ if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown")
+ tinyMCEPopup.pickColor(e, target_form_element);
+}
+
+function updateColor(img_id, form_element_id) {
+ document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
+}
+
+function setBrowserDisabled(id, state) {
+ var img = document.getElementById(id);
+ var lnk = document.getElementById(id + "_link");
+
+ if (lnk) {
+ if (state) {
+ lnk.setAttribute("realhref", lnk.getAttribute("href"));
+ lnk.removeAttribute("href");
+ tinyMCE.switchClass(img, 'mceButtonDisabled', true);
+ } else {
+ lnk.setAttribute("href", lnk.getAttribute("realhref"));
+ tinyMCE.switchClass(img, 'mceButtonNormal', false);
+ }
+ }
+}
+
+function getBrowserHTML(id, target_form_element, type, prefix) {
+ var option = prefix + "_" + type + "_browser_callback";
+ var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+ if (cb == null)
+ return "";
+
+ var html = "";
+
+ html += '';
+ html += ' ';
+
+ return html;
+}
+
+function openBrower(img_id, target_form_element, type, option) {
+ var img = document.getElementById(img_id);
+
+ if (img.className != "mceButtonDisabled")
+ tinyMCEPopup.openBrowser(target_form_element, type, option);
+}
+
+function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
+ if (!form_obj || !form_obj.elements[field_name])
+ return;
+
+ var sel = form_obj.elements[field_name];
+
+ var found = false;
+ for (var i=0; i x && mx < x + w && my > y && my < y + h)) {
- MCLayer.visibleLayer = null;
-
- if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my))
- return true;
-
- l.hide();
- }
- }
- },
-
- addCSSClass : function(e, c) {
- this.removeCSSClass(e, c);
- var a = this.explode(' ', e.className);
- a[a.length] = c;
- e.className = a.join(' ');
- },
-
- removeCSSClass : function(e, c) {
- var a = this.explode(' ', e.className), i;
-
- for (i=0; i x && mx < x + w && my > y && my < y + h)) {
+ MCLayer.visibleLayer = null;
+
+ if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my))
+ return true;
+
+ l.hide();
+ }
+ }
+ },
+
+ addCSSClass : function(e, c) {
+ this.removeCSSClass(e, c);
+ var a = this.explode(' ', e.className);
+ a[a.length] = c;
+ e.className = a.join(' ');
+ },
+
+ removeCSSClass : function(e, c) {
+ var a = this.explode(' ', e.className), i;
+
+ for (i=0; i parseInt(v))
- st = this.mark(f, n);
- }
- }
-
- return st;
- },
-
- hasClass : function(n, c, d) {
- return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className);
- },
-
- getNum : function(n, c) {
- c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0];
- c = c.replace(/[^0-9]/g, '');
-
- return c;
- },
-
- addClass : function(n, c, b) {
- var o = this.removeClass(n, c);
- n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
- },
-
- removeClass : function(n, c) {
- c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
- return n.className = c != ' ' ? c : '';
- },
-
- tags : function(f, s) {
- return f.getElementsByTagName(s);
- },
-
- mark : function(f, n) {
- var s = this.settings;
-
- this.addClass(n, s.invalid_cls);
- this.markLabels(f, n, s.invalid_cls);
-
- return false;
- },
-
- markLabels : function(f, n, ic) {
- var nl, i;
-
- nl = this.tags(f, "label");
- for (i=0; i parseInt(v))
+ st = this.mark(f, n);
+ }
+ }
+
+ return st;
+ },
+
+ hasClass : function(n, c, d) {
+ return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className);
+ },
+
+ getNum : function(n, c) {
+ c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0];
+ c = c.replace(/[^0-9]/g, '');
+
+ return c;
+ },
+
+ addClass : function(n, c, b) {
+ var o = this.removeClass(n, c);
+ n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
+ },
+
+ removeClass : function(n, c) {
+ c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
+ return n.className = c != ' ' ? c : '';
+ },
+
+ tags : function(f, s) {
+ return f.getElementsByTagName(s);
+ },
+
+ mark : function(f, n) {
+ var s = this.settings;
+
+ this.addClass(n, s.invalid_cls);
+ this.markLabels(f, n, s.invalid_cls);
+
+ return false;
+ },
+
+ markLabels : function(f, n, ic) {
+ var nl, i;
+
+ nl = this.tags(f, "label");
+ for (i=0; i