diff --git a/project-build.xml b/project-build.xml index 78c4da7d3c..cc314d50fe 100644 --- a/project-build.xml +++ b/project-build.xml @@ -57,6 +57,12 @@ dest="${dir.assemble}/scripts/ajax/dojo"/> + + + + diff --git a/source/web/scripts/ajax/xforms.js b/source/web/scripts/ajax/xforms.js index fd95712b61..a8efc7b5f1 100644 --- a/source/web/scripts/ajax/xforms.js +++ b/source/web/scripts/ajax/xforms.js @@ -9,29 +9,23 @@ dojo.require("dojo.widget.Spinner"); dojo.require("dojo.fx.html"); dojo.require("dojo.lfx.html"); dojo.hostenv.writeIncludes(); -dojo.addOnLoad(xforms_init); - +dojo.addOnLoad(function() + { + document.xform = new alfresco.xforms.XForm(); + }); tinyMCE.init({ theme: "advanced", mode: "exact", encoding: null, - save_callback : "document.xform.setXFormsValue", + save_callback: "document.xform.setXFormsValue", add_unload_trigger: false, add_form_submit_trigger: false, - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_buttons1_add : "fontselect,fontsizeselect", - theme_advanced_buttons2_add : "separator,forecolor,backcolor" + theme_advanced_toolbar_location: "top", + theme_advanced_toolbar_align: "left", + theme_advanced_buttons1: "fontselect,fontsizeselect", + theme_advanced_buttons2: "separator,forecolor,backcolor" }); -var control_images = [ "plus", "minus", "arrow_up", "arrow_down" ]; -for (var i in control_images) -{ - var s = control_images[i]; - control_images[i] = new Image(); - control_images[i].src = s; -} - dojo.declare("alfresco.xforms.Widget", null, { @@ -238,21 +232,28 @@ dojo.declare("alfresco.xforms.TextArea", alfresco.xforms.Widget, { initializer: function(xform, node) - { - this.inherited("initializer", [ xform, node ]); - dojo.debug("created a TextArea"); - }, + { + this.inherited("initializer", [ xform, node ]); + dojo.debug("created a TextArea"); + }, render: function(attach_point) - { - dojo.debug("xxx " + this.id); - var nodeRef = document.createElement("div"); - attach_point.appendChild(nodeRef); - nodeRef.setAttribute("style", "height: 200px; width: 100%; border: solid 1px black;"); - nodeRef.setAttribute("id", this.id); - - nodeRef.innerHTML = this.getInitialValue() || ""; - tinyMCE.addMCEControl(nodeRef, this.id); - } + { + this.domNode = document.createElement("div"); + attach_point.appendChild(this.domNode); + this.domNode.setAttribute("style", "height: 200px; border: solid 1px black;"); + this.domNode.setAttribute("id", this.id); + this.domNode.innerHTML = this.getInitialValue() || ""; + dojo.event.connect(this.domNode, "onclick", this, this._clickHandler); + dojo.event.connect(this.domNode, "onblur", this, this._blurHandler); + }, + _clickHandler: function(event) + { + tinyMCE.addMCEControl(this.domNode, this.id); + }, + _blurHandler: function(event) + { + alert('blurry'); + } }); dojo.declare("alfresco.xforms.Select1", @@ -449,9 +450,11 @@ dojo.declare("alfresco.xforms.Group", contentDiv.setAttribute("id", child.id + "-content"); d.appendChild(contentDiv); contentDiv.style.position = "relative"; +// contentDiv.style.width = (d.offsetWidth - contentDiv.offsetLeft) + "px"; child.render(contentDiv); if (!(child instanceof alfresco.xforms.Group)) { + contentDiv.style.width = (d.offsetWidth * .7) + "px"; d.style.height = contentDiv.offsetHeight + "px"; d.style.lineHeight = d.style.height; } @@ -463,7 +466,7 @@ dojo.declare("alfresco.xforms.Group", contentDiv.style.left = (child instanceof alfresco.xforms.Group ? "0px" : "30%"); - contentDiv.style.width = (d.offsetWidth - contentDiv.offsetLeft) + "px"; + d.style.borderColor = "pink"; d.style.borderWidth = "0px"; @@ -527,7 +530,7 @@ dojo.declare("alfresco.xforms.Repeat", controls.style.bottom = "0px"; var images = [ - { src: "plus", action: this._insertRepeatItem_handler }, + { src: "plus", action: this._insertRepeatItemAfter_handler }, { src: "arrow_up", action: this._moveRepeatItemUp_handler }, { src: "arrow_down", action: this._moveRepeatItemDown_handler }, { src: "minus", action: this._removeRepeatItem_handler } @@ -554,17 +557,26 @@ dojo.declare("alfresco.xforms.Repeat", if (this.selectedIndex == position) this.handleIndexChanged(Math.min(this.children.length - 1, position)); }, - _insertRepeatItem_handler: function(event) + _insertRepeatItemAfter_handler: function(event) { - var trigger = _findElementById(this.node.parentNode, - this.id + "-insert_after"); - this.xform.fireAction(trigger.getAttribute("id")); + if (!this.insertRepeatItemAfterTrigger) + this.insertRepeatItemAfterTrigger = + _findElementById(this.node.parentNode, this.id + "-insert_after"); + this.xform.fireAction(this.insertRepeatItemAfterTrigger.getAttribute("id")); + }, + _insertRepeatItemBefore_handler: function(event) + { + if (!this.insertRepeatItemBeforeTrigger) + this.insertRepeatItemBeforeTrigger = + _findElementById(this.node.parentNode, this.id + "-insert_before"); + this.xform.fireAction(this.insertRepeatItemBeforeTrigger.getAttribute("id")); }, _removeRepeatItem_handler: function(event) { - var trigger = _findElementById(this.node.parentNode, - this.id + "-delete"); - this.xform.fireAction(trigger.getAttribute("id")); + if (!this.removeRepeatItemTrigger) + this.removeRepeatItemTrigger = _findElementById(this.node.parentNode, + this.id + "-delete"); + this.xform.fireAction(this.removeRepeatItemTrigger.getAttribute("id")); }, _moveRepeatItemUp_handler: function(event) { @@ -673,15 +685,7 @@ dojo.declare("alfresco.xforms.Repeat", addElement.style.top = "0px"; addElement.style.left = "80%"; - dojo.event.browser.addListener(addElement, - "onclick", - function(event) - { - var repeat = event.currentTarget.parentNode.repeat; - var trigger = _findElementById(repeat.node.parentNode, - repeat.id + "-insert_before"); - repeat.xform.fireAction(trigger.getAttribute("id")); - }); + dojo.event.connect(addElement, "onclick", this, this._insertRepeatItemBefore_handler); return this.domNode; }, @@ -744,55 +748,45 @@ dojo.declare("alfresco.xforms.Trigger", alfresco.xforms.Widget, { initializer: function(xform, node) - { - this.inherited("initializer", [ xform, node ]); - }, - + { + this.inherited("initializer", [ xform, node ]); + }, render: function(attach_point) - { - var nodeRef = document.createElement("div"); - attach_point.appendChild(nodeRef); - var w = dojo.widget.createWidget("Button", - { - widgetId: this.id + "-widget", - caption: this.getLabel() + " " + this.id - }, - nodeRef); - w.onClick = function() - { - fireAction(w.widgetId); - }; - this.domContainer.style.display = "none"; - } + { + var nodeRef = document.createElement("div"); + attach_point.appendChild(nodeRef); + this.widget = dojo.widget.createWidget("Button", + { + widgetId: this.id + "-widget", + caption: this.getLabel() + " " + this.id + }, + nodeRef); + dojo.event.connect(this.widget, "onClick", this, this._clickHandler); + this.domContainer.style.display = "none"; + }, + _clickHandler: function(event) + { + this.xform.fireAction(this.id); + } }); dojo.declare("alfresco.xforms.Submit", alfresco.xforms.Trigger, { initializer: function(xform, node) - { - this.inherited("initializer", [ xform, node ]); - }, + { + this.inherited("initializer", [ xform, node ]); + }, render: function(attach_point) - { - var nodeRef = document.createElement("div"); - attach_point.appendChild(nodeRef); - var w = dojo.widget.createWidget("Button", - { - widgetId: this.id + "-widget", - caption: "submit" - }, - nodeRef); - w.widget = this; - this.widget = w; - document.submitWidget = this; - w.onClick = function() - { - document.submitWidget.done = false; - w.widget.xform.fireAction(w.widgetId); - }; - this.domContainer.style.display = "none"; - } + { + this.inherited("render", [ attach_point ]); + document.submitWidget = this; + }, + _clickHandler: function(event) + { + document.submitWidget.done = false; + this.xform.fireAction(this.id); + } }); dojo.declare("alfresco.xforms.XFormsEvent", @@ -823,229 +817,200 @@ dojo.declare("alfresco.xforms.XFormsEvent", dojo.declare("alfresco.xforms.XForm", null, { - initializer: function(document) - { - this.document = document; - this.node = document.documentElement; - this._bindings = this._loadBindings(this.getModel()); - }, - getModel: function() - { - return this.node.getElementsByTagName("model")[0]; - }, - getInstance: function() - { - var model = this.getModel(); - return model.getElementsByTagName("instance")[0]; - }, - getBody: function() - { - var b = this.node.getElementsByTagName("body"); - return b[b.length - 1]; - }, - getType: function(node) - { - return this.getBinding(node).type; - }, - getBinding: function(node) - { - return this._bindings[node.getAttribute("xforms:bind")]; - }, - getBindings: function() - { - return this._bindings; - }, - _loadBindings: function(bind, parent, result) - { - result = result || []; - dojo.debug("loading bindings for " + bind.nodeName); - for (var i = 0; i < bind.childNodes.length; i++) - { - if (bind.childNodes[i].nodeName.toLowerCase() == "xforms:bind") - { - var id = bind.childNodes[i].getAttribute("id"); - dojo.debug("loading binding " + id); - result[id] = { - id: bind.childNodes[i].getAttribute("id"), - required: bind.childNodes[i].getAttribute("xforms:required"), - nodeset: bind.childNodes[i].getAttribute("xforms:nodeset"), - type: bind.childNodes[i].getAttribute("xforms:type"), - constraint: bind.childNodes[i].getAttribute("xforms:constraint"), - parent: parent - }; - this._loadBindings(bind.childNodes[i], result[id], result); - } - } - return result; - }, - setRepeatIndex: function(id, index) - { - dojo.debug("setting repeat index " + index + " on " + id); - var req = { - xform: this, - url: WEBAPP_CONTEXT + "/ajax/invoke/XFormsBean.setRepeatIndex", - content: { id: id, index: index }, - mimetype: "text/xml", - load: function(type, data, evt) - { - this.xform._handleEventLog(data.documentElement); - }, - error: function(type, e) - { - alert("error!! " + type + " e = " + e.message); - } - }; - dojo.io.bind(req); - }, - fireAction: function(id) - { - var req = { - xform: this, - url: WEBAPP_CONTEXT + "/ajax/invoke/XFormsBean.fireAction", - content: { id: id }, - mimetype: "text/xml", - load: function(type, data, evt) - { - dojo.debug("fireAction." + type); - this.xform._handleEventLog(data.documentElement); - }, - error: function(type, e) - { - alert("error!! " + type + " e = " + e.message); - } - }; - dojo.io.bind(req); - }, - setXFormsValue: function(id, value) - { - dojo.debug("setting value " + id + " = " + value); - var req = { - xform: this, - url: WEBAPP_CONTEXT + "/ajax/invoke/XFormsBean.setXFormsValue", - content: { id: id, value: value }, - mimetype: "text/xml", - load: function(type, data, evt) - { - this.xform._handleEventLog(data.documentElement); - }, - error: function(type, e) - { - alert("error!! " + type + " e = " + e.message); - } - }; - dojo.io.bind(req); - }, - _handleEventLog: function(events) - { - var prototypeClones = []; - for (var i = 0; i < events.childNodes.length; i++) - { - if (events.childNodes[i].nodeType == dojo.dom.ELEMENT_NODE) - { - var xfe = new alfresco.xforms.XFormsEvent(events.childNodes[i]); - dojo.debug("parsing " + xfe.type + - "(" + xfe.targetId + ", " + xfe.targetName + ")"); - switch (xfe.type) - { - case "chiba-index-changed": - { - var index = Number(xfe.properties["index"]) - 1; - xfe.getTarget().handleIndexChanged(index); - break; - } - case "chiba-prototype-cloned": - { - var prototypeId = xfe.properties["prototypeId"]; - var clone = xfe.getTarget().handlePrototypeCloned(prototypeId); - prototypeClones.push(clone); - break; - } - case "chiba-id-generated": - { - var originalId = xfe.properties["originalId"]; + initializer: function() + { + send_ajax_request(create_ajax_request(this, + "getXForm", + {}, + function(type, data, evt) + { + this.xform._loadHandler(data); + })); + }, + _loadHandler: function(xformDocument) + { + this.xformDocument = xformDocument; + this.node = xformDocument.documentElement; + this._bindings = this._loadBindings(this.getModel()); - dojo.debug("handleIdGenerated(" + xfe.targetId + ", " + originalId + ")"); - var clone = prototypeClones[prototypeClones.length - 1]; - var node = _findElementById(clone, originalId); - if (node) - { - dojo.debug("applying id " + xfe.targetId + - " to " + node.nodeName + "(" + originalId + ")"); - node.setAttribute("id", xfe.targetId); - } - else - throw new Error("unable to find " + originalId + - " in clone " + dojo.dom.innerXML(clone)); - break; - } - case "chiba-item-inserted": + var bindings = this.getBindings(); + for (var i in bindings) + { + dojo.debug("bindings[" + i + "]=" + bindings[i].id + + ", parent = " + (bindings[i].parent + ? bindings[i].parent.id + : 'null')); + } + var alfUI = document.getElementById("alf-ui"); + alfUI.style.width = "100%"; + + var root = new alfresco.xforms.Group(this, alfUI); + root.render(alfUI); + load_body(this, this.getBody(), root); + }, + getModel: function() + { + return this.node.getElementsByTagName("model")[0]; + }, + getInstance: function() + { + var model = this.getModel(); + return model.getElementsByTagName("instance")[0]; + }, + getBody: function() + { + var b = this.node.getElementsByTagName("body"); + return b[b.length - 1]; + }, + getType: function(node) + { + return this.getBinding(node).type; + }, + getBinding: function(node) + { + return this._bindings[node.getAttribute("xforms:bind")]; + }, + getBindings: function() + { + return this._bindings; + }, + _loadBindings: function(bind, parent, result) + { + result = result || []; + dojo.debug("loading bindings for " + bind.nodeName); + for (var i = 0; i < bind.childNodes.length; i++) + { + if (bind.childNodes[i].nodeName.toLowerCase() == "xforms:bind") + { + var id = bind.childNodes[i].getAttribute("id"); + dojo.debug("loading binding " + id); + result[id] = { + id: bind.childNodes[i].getAttribute("id"), + required: bind.childNodes[i].getAttribute("xforms:required"), + nodeset: bind.childNodes[i].getAttribute("xforms:nodeset"), + type: bind.childNodes[i].getAttribute("xforms:type"), + constraint: bind.childNodes[i].getAttribute("xforms:constraint"), + parent: parent + }; + this._loadBindings(bind.childNodes[i], result[id], result); + } + } + return result; + }, + setRepeatIndex: function(id, index) + { + dojo.debug("setting repeat index " + index + " on " + id); + var req = create_ajax_request(this, + "setRepeatIndex", + { id: id, index: index }, + function(type, data, evt) + { + this.xform._handleEventLog(data.documentElement); + }); + send_ajax_request(req); + }, + fireAction: function(id) + { + var req = create_ajax_request(this, + "fireAction", + { id: id }, + function(type, data, evt) + { + dojo.debug("fireAction." + type); + this.xform._handleEventLog(data.documentElement); + }); + send_ajax_request(req); + }, + setXFormsValue: function(id, value) + { + dojo.debug("setting value " + id + " = " + value); + var req = create_ajax_request(this, + "setXFormsValue", + { id: id, value: value }, + function(type, data, evt) + { + this.xform._handleEventLog(data.documentElement); + }); + send_ajax_request(req); + }, + _handleEventLog: function(events) + { + var prototypeClones = []; + for (var i = 0; i < events.childNodes.length; i++) + { + if (events.childNodes[i].nodeType == dojo.dom.ELEMENT_NODE) + { + var xfe = new alfresco.xforms.XFormsEvent(events.childNodes[i]); + dojo.debug("parsing " + xfe.type + + "(" + xfe.targetId + ", " + xfe.targetName + ")"); + switch (xfe.type) + { + case "chiba-index-changed": + { + var index = Number(xfe.properties["index"]) - 1; + xfe.getTarget().handleIndexChanged(index); + break; + } + case "chiba-prototype-cloned": + { + var prototypeId = xfe.properties["prototypeId"]; + var clone = xfe.getTarget().handlePrototypeCloned(prototypeId); + prototypeClones.push(clone); + break; + } + case "chiba-id-generated": + { + var originalId = xfe.properties["originalId"]; + + dojo.debug("handleIdGenerated(" + xfe.targetId + ", " + originalId + ")"); + var clone = prototypeClones[prototypeClones.length - 1]; + var node = _findElementById(clone, originalId); + if (node) { - var position = Number(xfe.properties["position"]) - 1; + dojo.debug("applying id " + xfe.targetId + + " to " + node.nodeName + "(" + originalId + ")"); + node.setAttribute("id", xfe.targetId); + } + else + throw new Error("unable to find " + originalId + + " in clone " + dojo.dom.innerXML(clone)); + break; + } + case "chiba-item-inserted": + { + var position = Number(xfe.properties["position"]) - 1; - var clone = prototypeClones.pop(); - xfe.getTarget().handleItemInserted(clone, position); - break; - } - case "chiba-item-deleted": + var clone = prototypeClones.pop(); + xfe.getTarget().handleItemInserted(clone, position); + break; + } + case "chiba-item-deleted": + { + var position = Number(xfe.properties["position"]) - 1; + xfe.getTarget().handleItemDeleted(position); + break; + } + case "chiba-replace-all": + if (document.submitWidget) { - var position = Number(xfe.properties["position"]) - 1; - xfe.getTarget().handleItemDeleted(position); - break; - } - case "chiba-replace-all": - if (document.submitWidget) - { - document.submitWidget.done = true; - document.submitWidget.currentButton.click(); - document.submitWidget.currentButton = null; - } - break; - case "xforms-submit-error": - alert("you gotta fill out the form first!"); - break; - default: - { - dojo.debug("unhandled event " + events.childNodes[i].nodeName); - } + document.submitWidget.done = true; + document.submitWidget.currentButton.click(); + document.submitWidget.currentButton = null; } + break; + case "xforms-submit-error": + alert("Please provide values for all required fields."); + break; + default: + { + dojo.debug("unhandled event " + events.childNodes[i].nodeName); + } } } } + } }); -function xforms_init() -{ - var req = { - url: WEBAPP_CONTEXT + "/ajax/invoke/XFormsBean.getXForm", - content: { }, - mimetype: "text/xml", - load: function(type, data, evt) - { - var xform = new alfresco.xforms.XForm(data); - var bindings = xform.getBindings(); - for (var i in bindings) - { - dojo.debug("bindings[" + i + "]=" + bindings[i].id + - ", parent = " + (bindings[i].parent - ? bindings[i].parent.id - : 'null')); - } - var alfUI = document.getElementById("alf-ui"); - alfUI.style.width = "100%"; - - var root = new alfresco.xforms.Group(xform, alfUI); - root.render(alfUI); - load_body(xform, xform.getBody(), root); - document.xform = xform; - }, - error: function(type, e) - { - alert("error!! " + type + " e = " + e.message); - } - }; - dojo.io.bind(req); -} - function create_widget(xform, node) { switch (node.nodeName.toLowerCase()) @@ -1159,3 +1124,102 @@ function _findElementById(node, id) } return null; } + +function create_ajax_request(xform, serverMethod, methodArgs, load, error) +{ + var result = {}; + result.xform = xform; + result.url = WEBAPP_CONTEXT + "/ajax/invoke/XFormsBean." + serverMethod; + result.content = methodArgs; + result.load = load; + dojo.event.connect(result, "load", function(type, data, evt) + { + ajax_request_load_handler(this); + }); + result.mimetype = "text/xml"; + result.error = error || function(type, e) + { + alert("error [" + type + "] " + e.message); + ajax_request_load_handler(this); + }; + return result; +} + +function send_ajax_request(req) +{ + ajax_request_send_handler(req); + dojo.io.queueBind(req); +} + +function _get_ajax_loader_element() +{ + var result = document.getElementById("alf-ajax-loader"); + if (result) + return result; + result = document.createElement("div"); + result.setAttribute("id", "alf-ajax-loader"); + result.setAttribute("style", "position: absolute; background-color: red; color: white; top: 0px; right: 0px;"); + dojo.style.hide(result); + document.body.appendChild(result); + return result; +} + +var _ajax_requests = []; + +function ajax_request_send_handler(req) +{ + _ajax_requests.push(req); + ajax_loader_update_display(); +} + +function ajax_loader_update_display() +{ + var ajaxLoader = _get_ajax_loader_element(); + ajaxLoader.innerHTML = (_ajax_requests.length == 0 + ? "Idle" + : "Loading" + (_ajax_requests.length > 1 + ? " (" + _ajax_requests.length + ")" + : "...")); + dojo.debug(ajaxLoader.innerHTML); + if (/*dojo.style.isVisible(ajaxLoader) && */ _ajax_requests.length == 0) + { +// dojo.fx.html.fadeOut(ajaxLoader, +// 200, +// function(node) +// { + dojo.style.hide(ajaxLoader); +// }); + } + else if (/*!dojo.style.isVisible(ajaxLoader) && */ _ajax_requests.length != 0) + { +// dojo.fx.html.fadeIn(ajaxLoader, +// 100, +// function(node) +// { + dojo.style.show(ajaxLoader); +// }); + } + else + { + alert("v " + dojo.style.isVisible(ajaxLoader) + " l " + _ajax_requests.length); + } +} + +function ajax_request_load_handler(req) +{ + var ajaxLoader = _get_ajax_loader_element(); + var index = -1; + for (var i = 0; i < _ajax_requests.length; i++) + { + if (_ajax_requests[i] == req) + { + index = i; + break; + } + } + if (index == -1) + _ajax_requests.splice(index, 1); + else + throw new Error("unable to find " + req.url); + ajax_loader_update_display(); +} \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/blank.htm b/source/web/scripts/tiny_mce/blank.htm deleted file mode 100644 index a9a9192beb..0000000000 --- a/source/web/scripts/tiny_mce/blank.htm +++ /dev/null @@ -1,10 +0,0 @@ - - - -blank_page - - - - - - diff --git a/source/web/scripts/tiny_mce/langs/en.js b/source/web/scripts/tiny_mce/langs/en.js deleted file mode 100644 index 501fc43727..0000000000 --- a/source/web/scripts/tiny_mce/langs/en.js +++ /dev/null @@ -1,38 +0,0 @@ -// UK lang variables - -tinyMCELang['lang_bold_desc'] = 'Bold'; -tinyMCELang['lang_italic_desc'] = 'Italic'; -tinyMCELang['lang_underline_desc'] = 'Underline'; -tinyMCELang['lang_striketrough_desc'] = 'Striketrough'; -tinyMCELang['lang_justifyleft_desc'] = 'Align left'; -tinyMCELang['lang_justifycenter_desc'] = 'Align center'; -tinyMCELang['lang_justifyright_desc'] = 'Align right'; -tinyMCELang['lang_justifyfull_desc'] = 'Align full'; -tinyMCELang['lang_bullist_desc'] = 'Unordered list'; -tinyMCELang['lang_numlist_desc'] = 'Ordered list'; -tinyMCELang['lang_outdent_desc'] = 'Outdent'; -tinyMCELang['lang_indent_desc'] = 'Indent'; -tinyMCELang['lang_undo_desc'] = 'Undo'; -tinyMCELang['lang_redo_desc'] = 'Redo'; -tinyMCELang['lang_link_desc'] = 'Insert/edit link'; -tinyMCELang['lang_unlink_desc'] = 'Unlink'; -tinyMCELang['lang_image_desc'] = 'Insert/edit image'; -tinyMCELang['lang_cleanup_desc'] = 'Cleanup messy code'; -tinyMCELang['lang_focus_alert'] = 'A editor instance must be focused before using this command.'; -tinyMCELang['lang_edit_confirm'] = 'Do you want to use the WYSIWYG mode for this textarea?'; -tinyMCELang['lang_insert_link_title'] = 'Insert/edit link'; -tinyMCELang['lang_insert'] = 'Insert'; -tinyMCELang['lang_update'] = 'Update'; -tinyMCELang['lang_cancel'] = 'Cancel'; -tinyMCELang['lang_insert_link_url'] = 'Link URL'; -tinyMCELang['lang_insert_link_target'] = 'Target'; -tinyMCELang['lang_insert_link_target_same'] = 'Open link in the same window'; -tinyMCELang['lang_insert_link_target_blank'] = 'Open link in a new window'; -tinyMCELang['lang_insert_image_title'] = 'Insert/edit image'; -tinyMCELang['lang_insert_image_src'] = 'Image URL'; -tinyMCELang['lang_insert_image_alt'] = 'Image description'; -tinyMCELang['lang_help_desc'] = 'Help'; -tinyMCELang['lang_bold_img'] = "bold.gif"; -tinyMCELang['lang_italic_img'] = "italic.gif"; -tinyMCELang['lang_underline_img'] = "underline.gif"; -tinyMCELang['lang_clipboard_msg'] = 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?'; diff --git a/source/web/scripts/tiny_mce/langs/readme.txt b/source/web/scripts/tiny_mce/langs/readme.txt deleted file mode 100644 index e23001b44b..0000000000 --- a/source/web/scripts/tiny_mce/langs/readme.txt +++ /dev/null @@ -1,2 +0,0 @@ -The language pack codes are based on ISO-639-2 -http://www.loc.gov/standards/iso639-2/englangn.html diff --git a/source/web/scripts/tiny_mce/plugins/fullscreen/editor_plugin.js b/source/web/scripts/tiny_mce/plugins/fullscreen/editor_plugin.js deleted file mode 100644 index 3c8a0c0495..0000000000 --- a/source/web/scripts/tiny_mce/plugins/fullscreen/editor_plugin.js +++ /dev/null @@ -1,2 +0,0 @@ -/* Import plugin specific language pack */ - tinyMCE.importPluginLanguagePack('fullscreen','en,sv');function TinyMCE_fullscreen_getControlHTML(control_name){switch(control_name){case "fullscreen":return '';}return "";}function TinyMCE_fullscreen_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceFullScreen":if(tinyMCE.getParam('fullscreen_is_enabled')){window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'),'mceSetContent',false,tinyMCE.getContent(editor_id));top.close();}else{tinyMCE.setWindowArg('editor_id',editor_id);var win=window.open(tinyMCE.baseURL+"/plugins/fullscreen/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);}return true;}return false;} \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/source/web/scripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js deleted file mode 100644 index 542b28c04b..0000000000 --- a/source/web/scripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +++ /dev/null @@ -1,34 +0,0 @@ -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('fullscreen', 'en,sv'); - -function TinyMCE_fullscreen_getControlHTML(control_name) { - switch (control_name) { - case "fullscreen": - return ''; - } - - return ""; -} - -function TinyMCE_fullscreen_execCommand(editor_id, element, command, user_interface, value) { - // Handle commands - switch (command) { - case "mceFullScreen": - if (tinyMCE.getParam('fullscreen_is_enabled')) { - // In fullscreen mode - window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent(editor_id)); - top.close(); - } else { - tinyMCE.setWindowArg('editor_id', editor_id); - - var win = window.open(tinyMCE.baseURL + "/plugins/fullscreen/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight); - } - - return true; - } - - // Pass to next handler in chain - return false; -} - - diff --git a/source/web/scripts/tiny_mce/plugins/fullscreen/fullscreen.htm b/source/web/scripts/tiny_mce/plugins/fullscreen/fullscreen.htm deleted file mode 100644 index 17fa81ed44..0000000000 --- a/source/web/scripts/tiny_mce/plugins/fullscreen/fullscreen.htm +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - diff --git a/source/web/scripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif b/source/web/scripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif deleted file mode 100644 index 850ff8d42d..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/fullscreen/langs/en.js b/source/web/scripts/tiny_mce/plugins/fullscreen/langs/en.js deleted file mode 100644 index 7cfe92d4f4..0000000000 --- a/source/web/scripts/tiny_mce/plugins/fullscreen/langs/en.js +++ /dev/null @@ -1,4 +0,0 @@ -// UK lang variables - -tinyMCELang['lang_fullscreen_title'] = 'Fullscreen mode' -tinyMCELang['lang_fullscreen_desc'] = 'Toggle fullscreen mode' diff --git a/source/web/scripts/tiny_mce/plugins/fullscreen/readme.txt b/source/web/scripts/tiny_mce/plugins/fullscreen/readme.txt deleted file mode 100644 index 1be5b27eb9..0000000000 --- a/source/web/scripts/tiny_mce/plugins/fullscreen/readme.txt +++ /dev/null @@ -1,17 +0,0 @@ - Fullscreen plugin for TinyMCE ------------------------------- - -This plugin adds fullscreen mode to TinyMCE. - -Installation instructions: - * Add plugin to TinyMCE plugin option list example: plugins : "fullscreen". - * Add the fullscreen button name to button list, example: theme_advanced_buttons3_add : "fullscreen". - -Initialization example: - tinyMCE.init({ - theme : "advanced", - mode : "textareas", - plugins : "fullscreen", - theme_advanced_buttons3_add : "fullscreen", - plaintext_create_paragraphs : false - }); diff --git a/source/web/scripts/tiny_mce/plugins/iespell/editor_plugin.js b/source/web/scripts/tiny_mce/plugins/iespell/editor_plugin.js deleted file mode 100644 index e955159c45..0000000000 --- a/source/web/scripts/tiny_mce/plugins/iespell/editor_plugin.js +++ /dev/null @@ -1,2 +0,0 @@ -/* Import plugin specific language pack */ - tinyMCE.importPluginLanguagePack('iespell','cs,el,en,fr_ca,it,ko,sv,zh_cn,fr,de,pl');function TinyMCE_iespell_getControlHTML(control_name){if(control_name=="iespell"&&tinyMCE.isMSIE)return '';return "";}function TinyMCE_iespell_execCommand(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','');}else alert("Error Loading ieSpell: Exception "+e.number);}return true;}return false;} \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/iespell/editor_plugin_src.js b/source/web/scripts/tiny_mce/plugins/iespell/editor_plugin_src.js deleted file mode 100644 index e29dc62ab8..0000000000 --- a/source/web/scripts/tiny_mce/plugins/iespell/editor_plugin_src.js +++ /dev/null @@ -1,37 +0,0 @@ -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('iespell', 'cs,el,en,fr_ca,it,ko,sv,zh_cn,fr,de,pl'); - -/** - * Returns the HTML contents of the iespell control. - */ -function TinyMCE_iespell_getControlHTML(control_name) { - // Is it the iespell control and is the brower MSIE. - if (control_name == "iespell" && tinyMCE.isMSIE) - return ''; - - return ""; -} - -/** - * Executes the mceIESpell command. - */ -function TinyMCE_iespell_execCommand(editor_id, element, command, user_interface, value) { - // Handle ieSpellCommand - if (command == "mceIESpell") { - try { - var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension"); - ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement); - } catch (e) { - if (e.number == -2146827859) { - if (confirm(tinyMCE.getLang("lang_iespell_download", "", true))) - window.open('http://www.iespell.com/download.php', 'ieSpellDownload', ''); - } else - alert("Error Loading ieSpell: Exception " + e.number); - } - - return true; - } - - // Pass to next handler in chain - return false; -} \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/iespell/images/iespell.gif b/source/web/scripts/tiny_mce/plugins/iespell/images/iespell.gif deleted file mode 100644 index 46c0c4a66a..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/iespell/images/iespell.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/iespell/langs/en.js b/source/web/scripts/tiny_mce/plugins/iespell/langs/en.js deleted file mode 100644 index b7cc3a439f..0000000000 --- a/source/web/scripts/tiny_mce/plugins/iespell/langs/en.js +++ /dev/null @@ -1,4 +0,0 @@ -// UK lang variables - -tinyMCELang['lang_iespell_desc'] = 'Run spell checking'; -tinyMCELang['lang_iespell_download'] = "ieSpell not detected. Click OK to go to download page." diff --git a/source/web/scripts/tiny_mce/plugins/iespell/readme.txt b/source/web/scripts/tiny_mce/plugins/iespell/readme.txt deleted file mode 100644 index 0371a2a1bf..0000000000 --- a/source/web/scripts/tiny_mce/plugins/iespell/readme.txt +++ /dev/null @@ -1,20 +0,0 @@ - ieSpell plugin for TinyMCE ----------------------------- - -Installation instructions: - * Copy the iespell directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins). - * Add plugin to TinyMCE plugin option list example: plugins : "iespell". - * Add the iespell button name to button list, example: theme_advanced_buttons3_add : "iespell". - -Initialization example: - tinyMCE.init({ - theme : "advanced", - mode : "textareas", - plugins : "iespell", - theme_advanced_buttons3_add : "iespell" - }); - -Requirements: - The end user will need MSIE on Windows with the ieSpell installed. This can be downloaded - from http://www.iespell.com/download.php. Notice on other browsers than MSIE the spellchecking - button will not be visible. diff --git a/source/web/scripts/tiny_mce/plugins/readme.txt b/source/web/scripts/tiny_mce/plugins/readme.txt deleted file mode 100644 index b694fdb6bf..0000000000 --- a/source/web/scripts/tiny_mce/plugins/readme.txt +++ /dev/null @@ -1 +0,0 @@ -This is the location you place TinyMCE plugins. diff --git a/source/web/scripts/tiny_mce/plugins/table/cell.htm b/source/web/scripts/tiny_mce/plugins/table/cell.htm deleted file mode 100644 index f78bf9167f..0000000000 --- a/source/web/scripts/tiny_mce/plugins/table/cell.htm +++ /dev/null @@ -1,139 +0,0 @@ - - -{$lang_table_cell_title} - - - - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{$lang_table_cell_title}
{$lang_insert_table_align}:{$lang_insert_table_class}:
{$lang_insert_table_valign}:  
{$lang_insert_table_width}:{$lang_insert_table_height}:
  
-
- - diff --git a/source/web/scripts/tiny_mce/plugins/table/editor_plugin.js b/source/web/scripts/tiny_mce/plugins/table/editor_plugin.js deleted file mode 100644 index a7403146f5..0000000000 --- a/source/web/scripts/tiny_mce/plugins/table/editor_plugin.js +++ /dev/null @@ -1,2 +0,0 @@ -/* Import plugin specific language pack */ - tinyMCE.importPluginLanguagePack('table','en,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,no,pl,pt,sv,tw,zh_cn,fr,de');function TinyMCE_table_initInstance(inst){if(tinyMCE.isGecko)tinyMCE.addEvent(inst.getDoc(),"mouseup",TinyMCE_table_mouseDownHandler);inst.tableRowClipboard=null;}function TinyMCE_table_mouseDownHandler(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var focusElm=tinyMCE.selectedInstance.getFocusElement();if(elm.nodeName=="BODY"&&(focusElm.nodeName=="TD"||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TD"))){window.setTimeout(function(){var tableElm=tinyMCE.getParentElement(focusElm,"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual']);},10);}}function TinyMCE_table_getControlHTML(control_name){var controls=new Array(['table','table.gif','{$lang_table_desc}','mceInsertTable',true],['delete_col','table_delete_col.gif','{$lang_table_delete_col_desc}','mceTableDeleteCol'],['delete_row','table_delete_row.gif','{$lang_table_delete_row_desc}','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','{$lang_table_insert_col_after_desc}','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','{$lang_table_insert_col_before_desc}','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','{$lang_table_insert_row_after_desc}','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','{$lang_table_insert_row_before_desc}','mceTableInsertRowBefore'],['row_props','table_row_props.gif','{$lang_table_row_desc}','mceTableRowProps',true],['cell_props','table_cell_props.gif','{$lang_table_cell_desc}','mceTableCellProps',true],['split_cells','table_split_cells.gif','{$lang_table_split_cells_desc}','mceTableSplitCells',true],['merge_cells','table_merge_cells.gif','{$lang_table_merge_cells_desc}','mceTableMergeCells',true]);for(var i=0;i';else if(but[0]==control_name)return '';}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("split_cells");html+=tinyMCE.getControlHTML("merge_cells");return html;}return "";}function TinyMCE_table_execCommand(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var trElm=tinyMCE.getParentElement(focusElm,"tr");var tdElm=tinyMCE.getParentElement(focusElm,"td");var tableElm=tinyMCE.getParentElement(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i0&&inArray(ar[i],v))return true;if(ar[i]==v)return true;}return false;}function makeTD(){var newTD=doc.createElement("td");newTD.innerHTML=" ";}function getColRowSpan(td){var colspan=tinyMCE.getAttrib(td,"colspan");var rowspan=tinyMCE.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan};}function getCellPos(grid,td){for(var y=0;y1){for(var i=x;i1)td.rowSpan=sd.rowspan+1;lastElm=td;}deleteMarked(tableElm);}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node;}return null;}function nextElm(node,name){while((node=node.nextSibling)!=null){if(node.nodeName==name)return node;}return null;}function deleteMarked(tbl){if(tbl.rows==0)return;var tr=tbl.rows[0];do{var next=nextElm(tr,"TR");if(tr._delete){tr.parentNode.removeChild(tr);continue;}var td=tr.cells[0];if(td.cells>1){do{var nexttd=nextElm(td,"TD");if(td._delete)td.parentNode.removeChild(td);}while((td=nexttd)!=null);}}while((tr=next)!=null);}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;icols)cols=rowsAr[i].cells.length;cols=cols;rows=rowsAr.length;border=tinyMCE.getAttrib(tinyMCE.tableElm,'border',border);cellpadding=tinyMCE.getAttrib(tinyMCE.tableElm,'cellpadding',"");cellspacing=tinyMCE.getAttrib(tinyMCE.tableElm,'cellspacing',"");width=tinyMCE.getAttrib(tinyMCE.tableElm,'width',width);height=tinyMCE.getAttrib(tinyMCE.tableElm,'height',height);bordercolor=tinyMCE.getAttrib(tinyMCE.tableElm,'bordercolor',bordercolor);bgcolor=tinyMCE.getAttrib(tinyMCE.tableElm,'bgcolor',bgcolor);align=tinyMCE.getAttrib(tinyMCE.tableElm,'align',align);className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm,'class'),false);if(tinyMCE.isMSIE){width=tinyMCE.tableElm.style.pixelWidth==0?tinyMCE.tableElm.getAttribute("width"):tinyMCE.tableElm.style.pixelWidth;height=tinyMCE.tableElm.style.pixelHeight==0?tinyMCE.tableElm.getAttribute("height"):tinyMCE.tableElm.style.pixelHeight;}action="update";}var template=new Array();template['file']='../../plugins/table/table.htm';if(tinyMCE.settings['table_color_fields']){template['width']=400;template['height']=240;}else{template['width']=340;template['height']=220;}template['width']+=tinyMCE.getLang('lang_insert_table_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_table_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,cols:cols,rows:rows,border:border,cellpadding:cellpadding,cellspacing:cellspacing,align:align,width:width,height:height,bordercolor:bordercolor,bgcolor:bgcolor,action:action,className:className});}else{var html='';var cols=2,rows=2,border=0,cellpadding=-1,cellspacing=-1,align,width,height,className;if(typeof(value)=='object'){cols=value['cols'];rows=value['rows'];border=value['border']!=""?value['border']:0;cellpadding=value['cellpadding']!=""?value['cellpadding']:-1;cellspacing=value['cellspacing']!=""?value['cellspacing']:-1;align=value['align'];width=value['width'];height=value['height'];bordercolor=value['bordercolor'];bgcolor=value['bgcolor'];className=value['className'];}if(tinyMCE.tableElm){inst.execCommand("mceAddUndoLevel");tinyMCE.setAttrib(tinyMCE.tableElm,'cellPadding',cellpadding,true);tinyMCE.setAttrib(tinyMCE.tableElm,'cellSpacing',cellspacing,true);tinyMCE.setAttrib(tinyMCE.tableElm,'border',border,true);tinyMCE.setAttrib(tinyMCE.tableElm,'width',width,true);tinyMCE.setAttrib(tinyMCE.tableElm,'height',height,true);tinyMCE.setAttrib(tinyMCE.tableElm,'bordercolor',bordercolor);tinyMCE.setAttrib(tinyMCE.tableElm,'bgcolor',bgcolor);tinyMCE.setAttrib(tinyMCE.tableElm,'align',align);tinyMCE.setAttrib(tinyMCE.tableElm,'class',className);if(tinyMCE.isMSIE){tinyMCE.tableElm.style.pixelWidth=(width==null||width=="")?0:width;tinyMCE.tableElm.style.pixelHeight=(height==null||height=="")?0:height;tinyMCE.tableElm.borderColor=bordercolor;tinyMCE.tableElm.bgColor=bgcolor;}tinyMCE.handleVisualAid(tinyMCE.tableElm,false,inst.visualAid);tinyMCE.tableElm.outerHTML=tinyMCE.tableElm.outerHTML;tinyMCE.triggerNodeChange();return true;}html+='";for(var x=0;x ';html+="";}html+="
";inst.execCommand('mceInsertContent',false,html);tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual']);}return true;case "mceTableSplitCells":case "mceTableMergeCells":case "mceTableInsertRowBefore":case "mceTableInsertRowAfter":case "mceTableDeleteRow":case "mceTableInsertColBefore":case "mceTableInsertColAfter":case "mceTableDeleteCol":case "mceTableCutRow":case "mceTableCopyRow":case "mceTablePasteRowBefore":case "mceTablePasteRowAfter":inst.execCommand("mceAddUndoLevel");if(!tableElm)return true;if(tableElm.firstChild&&tableElm.firstChild.nodeName.toLowerCase()=="tbody")tableElm=tableElm.firstChild;if(tableElm&&trElm){switch(command){case "mceTableInsertRowBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML=" ";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}trElm.parentNode.insertBefore(newTR,trElm);break;case "mceTableCutRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);inst.execCommand("mceTableDeleteRow");break;case "mceTableCopyRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);break;case "mceTablePasteRowBefore":if(!trElm||!tdElm)return true;var newTR=inst.tableRowClipboard.cloneNode(true);var prevTR=prevElm(trElm,"TR");if(prevTR!=null)trimRow(tableElm,prevTR,prevTR.cells[0],newTR);trElm.parentNode.insertBefore(newTR,trElm);break;case "mceTablePasteRowAfter":if(!trElm||!tdElm)return true;var nextTR=nextElm(trElm,"TR");var newTR=inst.tableRowClipboard.cloneNode(true);trimRow(tableElm,trElm,tdElm,newTR);if(nextTR==null)trElm.parentNode.appendChild(newTR);else nextTR.parentNode.insertBefore(newTR,nextTR);break;case "mceTableInsertRowAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML=" ";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}if(newTR.hasChildNodes()){var nextTR=nextElm(trElm,"TR");if(nextTR)nextTR.parentNode.insertBefore(newTR,nextTR);else tableElm.appendChild(newTR);}break;case "mceTableDeleteRow":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);if(grid.length==1){tableElm.parentNode.removeChild(tableElm);return true;}var cells=trElm.cells;var nextTR=nextElm(trElm,"TR");for(var x=0;x1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD);}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1;}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true;}lastTDElm=tdElm;}}deleteMarked(tableElm);cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;inst.selectNode(getCell(grid,cpos.rowindex,0),true,true);break;case "mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement("td");newTD.innerHTML=" ";newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm);}else tdElm.colSpan++;lastTDElm=tdElm;}}break;case "mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement("td");newTD.innerHTML=" ";newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD);}else tdElm.colSpan++;lastTDElm=tdElm;}}break;case "mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){tableElm.parentNode.removeChild(tableElm);return true;}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm);}lastTDElm=tdElm;}}cpos.cellindex--;if(cpos.cellindex<0)cpos.cellindex=0;inst.selectNode(getCell(grid,0,cpos.cellindex),true,true);break;case "mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i1)addRows(newTD,trElm,rowspan);}addRows(tdElm,trElm,rowspan);}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");break;case "mceTableMergeCells":var rows=new Array();var sel=inst.getSel();var grid=getTableGrid(tableElm);if(tinyMCE.isMSIE||sel.rangeCount==1){if(user_interface){var template=new Array();var sp=getColRowSpan(tdElm);template['file']='../../plugins/table/merge_cells.htm';template['width']=160;template['height']=220;tinyMCE.openWindow(template,{editor_id:inst.editorId,action:"update",numcols:sp.colspan,numrows:sp.rowspan});return true;}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y0)rows[rows.length]=rowCells;}}}else{var cells=new Array();var sel=inst.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i0)rows[rows.length]=rowCells;}var curRow=new Array();var lastTR=null;for(var y=0;ycolSpan)colSpan=rowColSpan;lastRowSpan=-1;}var lastColSpan=-1;for(var x=0;xrowSpan)rowSpan=colRowSpan;lastColSpan=-1;}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm;}if(tdElm.rowSpan>1)tdElm.rowSpan--;}}}}break;}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual']);tinyMCE.triggerNodeChange();inst.repaint();}return true;}return false;}function TinyMCE_table_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var colspan="1",rowspan="1";var inst=tinyMCE.getInstanceById(editor_id);tinyMCE.switchClassSticky(editor_id+'_table','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_row_props','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_cell_props','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_row_before','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_row_after','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_delete_row','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_col_before','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_col_after','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_delete_col','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_split_cells','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_merge_cells','mceButtonDisabled',true);if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClassSticky(editor_id+'_row_props','mceButtonSelected',false);if(tdElm=tinyMCE.getParentElement(node,"td")){tinyMCE.switchClassSticky(editor_id+'_cell_props','mceButtonSelected',false);tinyMCE.switchClassSticky(editor_id+'_row_before','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_row_after','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_delete_row','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_col_before','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_col_after','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_delete_col','mceButtonNormal',false);colspan=tinyMCE.getAttrib(tdElm,"colspan");rowspan=tinyMCE.getAttrib(tdElm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;if(colspan!="1"||rowspan!="1")tinyMCE.switchClassSticky(editor_id+'_split_cells','mceButtonNormal',false);}if(tinyMCE.getParentElement(node,"table")){tinyMCE.switchClassSticky(editor_id+'_table','mceButtonSelected');tinyMCE.switchClassSticky(editor_id+'_merge_cells','mceButtonNormal',false);}} \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/table/editor_plugin_src.js b/source/web/scripts/tiny_mce/plugins/table/editor_plugin_src.js deleted file mode 100644 index 269d3c5d63..0000000000 --- a/source/web/scripts/tiny_mce/plugins/table/editor_plugin_src.js +++ /dev/null @@ -1,1141 +0,0 @@ -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('table', 'en,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,no,pl,pt,sv,tw,zh_cn,fr,de'); - -function TinyMCE_table_initInstance(inst) { - if (tinyMCE.isGecko) - tinyMCE.addEvent(inst.getDoc(), "mouseup", TinyMCE_table_mouseDownHandler); - - inst.tableRowClipboard = null; -} - -function TinyMCE_table_mouseDownHandler(e) { - var elm = tinyMCE.isMSIE ? event.srcElement : e.target; - var focusElm = tinyMCE.selectedInstance.getFocusElement(); - - // If press on special Mozilla create TD/TR thingie - if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD"))) { - window.setTimeout(function() { - var tableElm = tinyMCE.getParentElement(focusElm, "table"); - tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual']); - }, 10); - } -} - -/** - * Returns the HTML contents of the table control. - */ -function TinyMCE_table_getControlHTML(control_name) { - var controls = new Array( - ['table', 'table.gif', '{$lang_table_desc}', 'mceInsertTable', true], - ['delete_col', 'table_delete_col.gif', '{$lang_table_delete_col_desc}', 'mceTableDeleteCol'], - ['delete_row', 'table_delete_row.gif', '{$lang_table_delete_row_desc}', 'mceTableDeleteRow'], - ['col_after', 'table_insert_col_after.gif', '{$lang_table_insert_col_after_desc}', 'mceTableInsertColAfter'], - ['col_before', 'table_insert_col_before.gif', '{$lang_table_insert_col_before_desc}', 'mceTableInsertColBefore'], - ['row_after', 'table_insert_row_after.gif', '{$lang_table_insert_row_after_desc}', 'mceTableInsertRowAfter'], - ['row_before', 'table_insert_row_before.gif', '{$lang_table_insert_row_before_desc}', 'mceTableInsertRowBefore'], - ['row_props', 'table_row_props.gif', '{$lang_table_row_desc}', 'mceTableRowProps', true], - ['cell_props', 'table_cell_props.gif', '{$lang_table_cell_desc}', 'mceTableCellProps', true], - ['split_cells', 'table_split_cells.gif', '{$lang_table_split_cells_desc}', 'mceTableSplitCells', true], - ['merge_cells', 'table_merge_cells.gif', '{$lang_table_merge_cells_desc}', 'mceTableMergeCells', true]); - - // Render table control - for (var i=0; i'; - else if (but[0] == control_name) - return ''; - } - - // Special tablecontrols - if (control_name == "tablecontrols") { - var html = ""; - - html += tinyMCE.getControlHTML("table"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("row_props"); - html += tinyMCE.getControlHTML("cell_props"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("row_before"); - html += tinyMCE.getControlHTML("row_after"); - html += tinyMCE.getControlHTML("delete_row"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("col_before"); - html += tinyMCE.getControlHTML("col_after"); - html += tinyMCE.getControlHTML("delete_col"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("split_cells"); - html += tinyMCE.getControlHTML("merge_cells"); - - return html; - } - - return ""; -} - -/** - * Executes the table commands. - */ -function TinyMCE_table_execCommand(editor_id, element, command, user_interface, value) { - var inst = tinyMCE.getInstanceById(editor_id); - var focusElm = inst.getFocusElement(); - var trElm = tinyMCE.getParentElement(focusElm, "tr"); - var tdElm = tinyMCE.getParentElement(focusElm, "td"); - var tableElm = tinyMCE.getParentElement(focusElm, "table"); - var doc = inst.contentWindow.document; - var tableBorder = tableElm ? tableElm.getAttribute("border") : ""; - - // Get first TD if no TD found - if (trElm && tdElm == null) - tdElm = trElm.cells[0]; - - // ------- Inner functions --------- - function inArray(ar, v) { - for (var i=0; i 0 && inArray(ar[i], v)) - return true; - - // Found value - if (ar[i] == v) - return true; - } - - return false; - } - - function makeTD() { - var newTD = doc.createElement("td"); - newTD.innerHTML = " "; - } - - function getColRowSpan(td) { - var colspan = tinyMCE.getAttrib(td, "colspan"); - var rowspan = tinyMCE.getAttrib(td, "rowspan"); - - colspan = colspan == "" ? 1 : parseInt(colspan); - rowspan = rowspan == "" ? 1 : parseInt(rowspan); - - return {colspan : colspan, rowspan : rowspan}; - } - - function getCellPos(grid, td) { - for (var y=0; y 1) { // Remove due to colspan - for (var i=x; i 1) - td.rowSpan = sd.rowspan + 1; - - lastElm = td; - } - - deleteMarked(tableElm); - } - } - - function prevElm(node, name) { - while ((node = node.previousSibling) != null) { - if (node.nodeName == name) - return node; - } - - return null; - } - - function nextElm(node, name) { - while ((node = node.nextSibling) != null) { - if (node.nodeName == name) - return node; - } - - return null; - } - - function deleteMarked(tbl) { - if (tbl.rows == 0) - return; - - var tr = tbl.rows[0]; - do { - var next = nextElm(tr, "TR"); - - // Delete row - if (tr._delete) { - tr.parentNode.removeChild(tr); - continue; - } - - // Delete cells - var td = tr.cells[0]; - if (td.cells > 1) { - do { - var nexttd = nextElm(td, "TD"); - - if (td._delete) - td.parentNode.removeChild(td); - } while ((td = nexttd) != null); - } - } while ((tr = next) != null); - } - - function addRows(td_elm, tr_elm, rowspan) { - // Add rows - td_elm.rowSpan = 1; - var trNext = nextElm(tr_elm, "TR"); - for (var i=1; i cols) - cols = rowsAr[i].cells.length; - - cols = cols; - rows = rowsAr.length; - - border = tinyMCE.getAttrib(tinyMCE.tableElm, 'border', border); - cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', ""); - cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', ""); - width = tinyMCE.getAttrib(tinyMCE.tableElm, 'width', width); - height = tinyMCE.getAttrib(tinyMCE.tableElm, 'height', height); - bordercolor = tinyMCE.getAttrib(tinyMCE.tableElm, 'bordercolor', bordercolor); - bgcolor = tinyMCE.getAttrib(tinyMCE.tableElm, 'bgcolor', bgcolor); - align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align); - className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false); - - if (tinyMCE.isMSIE) { - width = tinyMCE.tableElm.style.pixelWidth == 0 ? tinyMCE.tableElm.getAttribute("width") : tinyMCE.tableElm.style.pixelWidth; - height = tinyMCE.tableElm.style.pixelHeight == 0 ? tinyMCE.tableElm.getAttribute("height") : tinyMCE.tableElm.style.pixelHeight; - } - - action = "update"; - } - - // Setup template - var template = new Array(); - - template['file'] = '../../plugins/table/table.htm'; - if (tinyMCE.settings['table_color_fields']) { - template['width'] = 400; - template['height'] = 240; - } else { - template['width'] = 340; - template['height'] = 220; - } - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_insert_table_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_insert_table_delta_height', 0); - - // Open window - tinyMCE.openWindow(template, {editor_id : inst.editorId, cols : cols, rows : rows, border : border, cellpadding : cellpadding, cellspacing : cellspacing, align : align, width : width, height : height, bordercolor : bordercolor, bgcolor : bgcolor, action : action, className : className}); - } else { - var html = ''; - var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className; - - if (typeof(value) == 'object') { - cols = value['cols']; - rows = value['rows']; - border = value['border'] != "" ? value['border'] : 0; - cellpadding = value['cellpadding'] != "" ? value['cellpadding'] : -1; - cellspacing = value['cellspacing'] != "" ? value['cellspacing'] : -1; - align = value['align']; - width = value['width']; - height = value['height']; - bordercolor = value['bordercolor']; - bgcolor = value['bgcolor']; - className = value['className']; - } - - // Update table - if (tinyMCE.tableElm) { - inst.execCommand("mceAddUndoLevel"); - - tinyMCE.setAttrib(tinyMCE.tableElm, 'cellPadding', cellpadding, true); - tinyMCE.setAttrib(tinyMCE.tableElm, 'cellSpacing', cellspacing, true); - tinyMCE.setAttrib(tinyMCE.tableElm, 'border', border, true); - tinyMCE.setAttrib(tinyMCE.tableElm, 'width', width, true); - tinyMCE.setAttrib(tinyMCE.tableElm, 'height', height, true); - tinyMCE.setAttrib(tinyMCE.tableElm, 'bordercolor', bordercolor); - tinyMCE.setAttrib(tinyMCE.tableElm, 'bgcolor', bgcolor); - tinyMCE.setAttrib(tinyMCE.tableElm, 'align', align); - tinyMCE.setAttrib(tinyMCE.tableElm, 'class', className); - - if (tinyMCE.isMSIE) { - tinyMCE.tableElm.style.pixelWidth = (width == null || width == "") ? 0 : width; - tinyMCE.tableElm.style.pixelHeight = (height == null || height == "") ? 0 : height; - tinyMCE.tableElm.borderColor = bordercolor; - tinyMCE.tableElm.bgColor = bgcolor; - } - - tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid); - - // Fix for stange MSIE align bug - tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML; - - //inst.contentWindow.dispatchEvent(createEvent("click")); - - tinyMCE.triggerNodeChange(); - return true; - } - - // Create new table - html += ' 1) { - var newTD = cells[x].cloneNode(true); - var sd = getColRowSpan(cells[x]); - - newTD.rowSpan = sd.rowspan - 1; - - var nextTD = nextTR.cells[x]; - - if (nextTD == null) - nextTR.appendChild(newTD); - else - nextTR.insertBefore(newTD, nextTD); - } - } - - // Delete cells - var lastTDElm = null; - for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) { - if (tdElm != lastTDElm) { - var sd = getColRowSpan(tdElm); - - if (sd.rowspan > 1) { - tdElm.rowSpan = sd.rowspan - 1; - } else { - trElm = tdElm.parentNode; - - if (trElm.parentNode) - trElm._delete = true; - } - - lastTDElm = tdElm; - } - } - - deleteMarked(tableElm); - - cpos.rowindex--; - if (cpos.rowindex < 0) - cpos.rowindex = 0; - - inst.selectNode(getCell(grid, cpos.rowindex, 0), true, true); - break; - - case "mceTableInsertColBefore": - if (!trElm || !tdElm) - return true; - - var grid = getTableGrid(tableElm); - var cpos = getCellPos(grid, tdElm); - var lastTDElm = null; - - for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { - if (tdElm != lastTDElm) { - var sd = getColRowSpan(tdElm); - - if (sd['colspan'] == 1) { - var newTD = doc.createElement("td"); - - newTD.innerHTML = " "; - newTD.rowSpan = tdElm.rowSpan; - - tdElm.parentNode.insertBefore(newTD, tdElm); - } else - tdElm.colSpan++; - - lastTDElm = tdElm; - } - } - break; - - case "mceTableInsertColAfter": - if (!trElm || !tdElm) - return true; - - var grid = getTableGrid(tableElm); - var cpos = getCellPos(grid, tdElm); - var lastTDElm = null; - - for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { - if (tdElm != lastTDElm) { - var sd = getColRowSpan(tdElm); - - if (sd['colspan'] == 1) { - var newTD = doc.createElement("td"); - - newTD.innerHTML = " "; - newTD.rowSpan = tdElm.rowSpan; - - var nextTD = nextElm(tdElm, "TD"); - if (nextTD == null) - tdElm.parentNode.appendChild(newTD); - else - nextTD.parentNode.insertBefore(newTD, nextTD); - } else - tdElm.colSpan++; - - lastTDElm = tdElm; - } - } - break; - - case "mceTableDeleteCol": - if (!trElm || !tdElm) - return true; - - var grid = getTableGrid(tableElm); - var cpos = getCellPos(grid, tdElm); - var lastTDElm = null; - - // Only one col, remove whole table - if (grid.length > 1 && grid[0].length <= 1) { - tableElm.parentNode.removeChild(tableElm); - return true; - } - - // Delete cells - for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { - if (tdElm != lastTDElm) { - var sd = getColRowSpan(tdElm); - - if (sd['colspan'] > 1) - tdElm.colSpan = sd['colspan'] - 1; - else { - if (tdElm.parentNode) - tdElm.parentNode.removeChild(tdElm); - } - - lastTDElm = tdElm; - } - } - - cpos.cellindex--; - if (cpos.cellindex < 0) - cpos.cellindex = 0; - - inst.selectNode(getCell(grid, 0, cpos.cellindex), true, true); - break; - - case "mceTableSplitCells": - if (!trElm || !tdElm) - return true; - - var spandata = getColRowSpan(tdElm); - - var colspan = spandata["colspan"]; - var rowspan = spandata["rowspan"]; - - // Needs splitting - if (colspan > 1 || rowspan > 1) { - // Generate cols - tdElm.colSpan = 1; - for (var i=1; i 1) - addRows(newTD, trElm, rowspan); - } - - addRows(tdElm, trElm, rowspan); - } - - // Apply visual aids - tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); - break; - - case "mceTableMergeCells": - var rows = new Array(); - var sel = inst.getSel(); - var grid = getTableGrid(tableElm); - - if (tinyMCE.isMSIE || sel.rangeCount == 1) { - if (user_interface) { - // Setup template - var template = new Array(); - var sp = getColRowSpan(tdElm); - - template['file'] = '../../plugins/table/merge_cells.htm'; - template['width'] = 160; - template['height'] = 220; - - // Open window - tinyMCE.openWindow(template, {editor_id : inst.editorId, action : "update", numcols : sp.colspan, numrows : sp.rowspan}); - - return true; - } else { - var numRows = parseInt(value['numrows']); - var numCols = parseInt(value['numcols']); - var cpos = getCellPos(grid, tdElm); - - if (("" + numRows) == "NaN") - numRows = 1; - - if (("" + numCols) == "NaN") - numCols = 1; - - // Get rows and cells - var tRows = tableElm.rows; - for (var y=cpos.rowindex; y 0) - rows[rows.length] = rowCells; - } - - //return true; - } - } else { - var cells = new Array(); - var sel = inst.getSel(); - var lastTR = null; - var curRow = null; - var x1 = -1, y1 = -1, x2, y2; - - // Only one cell selected, whats the point? - if (sel.rangeCount < 2) - return true; - - // Get all selected cells - for (var i=0; i 0) - rows[rows.length] = rowCells; - } - - // Find selected cells in grid and box - var curRow = new Array(); - var lastTR = null; - for (var y=0; y colSpan) - colSpan = rowColSpan; - - lastRowSpan = -1; - } - - // Validate vertical and get total rowspan - var lastColSpan = -1; - for (var x=0; x rowSpan) - rowSpan = colRowSpan; - - lastColSpan = -1; - } - - // Setup td - tdElm = rows[0][0]; - tdElm.rowSpan = rowSpan; - tdElm.colSpan = colSpan; - - // Merge cells - for (var y=0; y 0)) - tdElm.innerHTML += html; - - // Not current cell - if (rows[y][x] != tdElm && !rows[y][x]._deleted) { - var cpos = getCellPos(grid, rows[y][x]); - var tr = rows[y][x].parentNode; - - tr.removeChild(rows[y][x]); - rows[y][x]._deleted = true; - - // Empty TR, remove it - if (!tr.hasChildNodes()) { - tr.parentNode.removeChild(tr); - - var lastCell = null; - for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) { - if (cellElm != lastCell && cellElm.rowSpan > 1) - cellElm.rowSpan--; - - lastCell = cellElm; - } - - if (tdElm.rowSpan > 1) - tdElm.rowSpan--; - } - } - } - } - - break; - } - - tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); - tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual']); - tinyMCE.triggerNodeChange(); - inst.repaint(); - } - - return true; - } - - // Pass to next handler in chain - return false; -} - -function TinyMCE_table_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { - var colspan = "1", rowspan = "1"; - - var inst = tinyMCE.getInstanceById(editor_id); - - // Reset table controls - tinyMCE.switchClassSticky(editor_id + '_table', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_row_props', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_cell_props', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_row_before', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_row_after', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_delete_row', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_col_before', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_col_after', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_delete_col', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_split_cells', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_merge_cells', 'mceButtonDisabled', true); - - // Within a tr element - if (tinyMCE.getParentElement(node, "tr")) - tinyMCE.switchClassSticky(editor_id + '_row_props', 'mceButtonSelected', false); - - // Within a td element - if (tdElm = tinyMCE.getParentElement(node, "td")) { - tinyMCE.switchClassSticky(editor_id + '_cell_props', 'mceButtonSelected', false); - tinyMCE.switchClassSticky(editor_id + '_row_before', 'mceButtonNormal', false); - tinyMCE.switchClassSticky(editor_id + '_row_after', 'mceButtonNormal', false); - tinyMCE.switchClassSticky(editor_id + '_delete_row', 'mceButtonNormal', false); - tinyMCE.switchClassSticky(editor_id + '_col_before', 'mceButtonNormal', false); - tinyMCE.switchClassSticky(editor_id + '_col_after', 'mceButtonNormal', false); - tinyMCE.switchClassSticky(editor_id + '_delete_col', 'mceButtonNormal', false); - - colspan = tinyMCE.getAttrib(tdElm, "colspan"); - rowspan = tinyMCE.getAttrib(tdElm, "rowspan"); - - colspan = colspan == "" ? "1" : colspan; - rowspan = rowspan == "" ? "1" : rowspan; - - if (colspan != "1" || rowspan != "1") - tinyMCE.switchClassSticky(editor_id + '_split_cells', 'mceButtonNormal', false); - } - - // Within table - if (tinyMCE.getParentElement(node, "table")) { - tinyMCE.switchClassSticky(editor_id + '_table', 'mceButtonSelected'); - tinyMCE.switchClassSticky(editor_id + '_merge_cells', 'mceButtonNormal', false); - } -} diff --git a/source/web/scripts/tiny_mce/plugins/table/images/buttons.gif b/source/web/scripts/tiny_mce/plugins/table/images/buttons.gif deleted file mode 100644 index e5eacbfa73..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/buttons.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table.gif b/source/web/scripts/tiny_mce/plugins/table/images/table.gif deleted file mode 100644 index f8a00544a9..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table_cell_props.gif b/source/web/scripts/tiny_mce/plugins/table/images/table_cell_props.gif deleted file mode 100644 index 9e0f373923..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table_cell_props.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table_delete_col.gif b/source/web/scripts/tiny_mce/plugins/table/images/table_delete_col.gif deleted file mode 100644 index 0b2f0fb612..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table_delete_col.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table_delete_row.gif b/source/web/scripts/tiny_mce/plugins/table/images/table_delete_row.gif deleted file mode 100644 index 1997065fb2..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table_delete_row.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table_insert_col_after.gif b/source/web/scripts/tiny_mce/plugins/table/images/table_insert_col_after.gif deleted file mode 100644 index c30dafab6f..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table_insert_col_after.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table_insert_col_before.gif b/source/web/scripts/tiny_mce/plugins/table/images/table_insert_col_before.gif deleted file mode 100644 index 5d1ff37afe..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table_insert_col_before.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table_insert_row_after.gif b/source/web/scripts/tiny_mce/plugins/table/images/table_insert_row_after.gif deleted file mode 100644 index c3aa15f93a..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table_insert_row_after.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table_insert_row_before.gif b/source/web/scripts/tiny_mce/plugins/table/images/table_insert_row_before.gif deleted file mode 100644 index c3271e5493..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table_insert_row_before.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table_merge_cells.gif b/source/web/scripts/tiny_mce/plugins/table/images/table_merge_cells.gif deleted file mode 100644 index 494887efdd..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table_merge_cells.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table_row_props.gif b/source/web/scripts/tiny_mce/plugins/table/images/table_row_props.gif deleted file mode 100644 index a53cdd8bf6..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table_row_props.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/images/table_split_cells.gif b/source/web/scripts/tiny_mce/plugins/table/images/table_split_cells.gif deleted file mode 100644 index b86179aebc..0000000000 Binary files a/source/web/scripts/tiny_mce/plugins/table/images/table_split_cells.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/plugins/table/langs/en.js b/source/web/scripts/tiny_mce/plugins/table/langs/en.js deleted file mode 100644 index 3679a17df6..0000000000 --- a/source/web/scripts/tiny_mce/plugins/table/langs/en.js +++ /dev/null @@ -1,40 +0,0 @@ -// UK lang variables - -tinyMCELang['lang_table_desc'] = 'Inserts a new table'; -tinyMCELang['lang_table_insert_row_before_desc'] = 'Insert row before'; -tinyMCELang['lang_table_insert_row_after_desc'] = 'Insert row after'; -tinyMCELang['lang_table_delete_row_desc'] = 'Delete row'; -tinyMCELang['lang_table_insert_col_before_desc'] = 'Insert column before'; -tinyMCELang['lang_table_insert_col_after_desc'] = 'Insert column after'; -tinyMCELang['lang_table_delete_col_desc'] = 'Remove col'; -tinyMCELang['lang_insert_table_title'] = 'Insert/Modify table'; -tinyMCELang['lang_insert_table_width'] = 'Width'; -tinyMCELang['lang_insert_table_height'] = 'Height'; -tinyMCELang['lang_insert_table_cols'] = 'Columns'; -tinyMCELang['lang_insert_table_rows'] = 'Rows'; -tinyMCELang['lang_insert_table_cellspacing'] = 'Cellspacing'; -tinyMCELang['lang_insert_table_cellpadding'] = 'Cellpadding'; -tinyMCELang['lang_insert_table_border'] = 'Border'; -tinyMCELang['lang_insert_table_align'] = 'Alignment'; -tinyMCELang['lang_insert_table_align_default'] = 'Default'; -tinyMCELang['lang_insert_table_align_left'] = 'Left'; -tinyMCELang['lang_insert_table_align_right'] = 'Right'; -tinyMCELang['lang_insert_table_align_middle'] = 'Center'; -tinyMCELang['lang_insert_table_class'] = 'Class'; -tinyMCELang['lang_table_row_title'] = 'Table row properties'; -tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; -tinyMCELang['lang_table_row_desc'] = 'Table row properties'; -tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; -tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; -tinyMCELang['lang_insert_table_align_top'] = 'Top'; -tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; -tinyMCELang['lang_table_props_desc'] = 'Table properties'; -tinyMCELang['lang_table_bordercolor'] = 'Border color'; -tinyMCELang['lang_table_bgcolor'] = 'Bg color'; -tinyMCELang['lang_table_merge_cells_title'] = 'Merge table cells'; -tinyMCELang['lang_table_split_cells_desc'] = 'Split table cells'; -tinyMCELang['lang_table_merge_cells_desc'] = 'Merge table cells'; -tinyMCELang['lang_table_cut_row_desc'] = 'Cut table row'; -tinyMCELang['lang_table_copy_row_desc'] = 'Copy table row'; -tinyMCELang['lang_table_paste_row_before_desc'] = 'Paste table row before'; -tinyMCELang['lang_table_paste_row_after_desc'] = 'Paste table row after'; diff --git a/source/web/scripts/tiny_mce/plugins/table/merge_cells.htm b/source/web/scripts/tiny_mce/plugins/table/merge_cells.htm deleted file mode 100644 index e104d2bb60..0000000000 --- a/source/web/scripts/tiny_mce/plugins/table/merge_cells.htm +++ /dev/null @@ -1,60 +0,0 @@ - - -{$lang_table_merge_cells_title} - - - - -
-
-{$lang_table_merge_cells_title} -
- - - - - - - - - - - - -
{$lang_insert_table_cols}: -
{$lang_insert_table_rows}:
- - - - diff --git a/source/web/scripts/tiny_mce/plugins/table/readme.txt b/source/web/scripts/tiny_mce/plugins/table/readme.txt deleted file mode 100644 index ff2741a099..0000000000 --- a/source/web/scripts/tiny_mce/plugins/table/readme.txt +++ /dev/null @@ -1,44 +0,0 @@ - Table plugin for TinyMCE ------------------------------- - -Installation instructions: - * Copy the table directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins). - * Add plugin to TinyMCE plugin option list example: plugins : "table". - * Add the table button name to button list, example: theme_advanced_buttons3_add_before : "tablecontrols". - -Initialization example: - tinyMCE.init({ - theme : "advanced", - mode : "textareas", - plugins : "table", - theme_advanced_buttons3_add_before : "tablecontrols" - }); - -Table controls: - tablecontrols All table control below and some separators between them. - table Insert table control. - row_props Edit row properties (tr). - cell_props Edit cell properties (td). - delete_col Delete column control. - delete_row Delete row control. - col_after Column after control. - col_before Column before control. - row_after Row after control. - row_before Row before control. - row_after Row after control. - row_before Row before control. - -Table plugin commands: - mceInsertTable Inserts a new table at cursor location the default size is 2x2. - If the value parameter is specified it should contain a name/value array, - this array has the following options cols, rows, border, cellspacing, cellpadding. - The default border is set to: 0. - mceTableInsertRowBefore Inserts a row before/above the current cursor location. - mceTableInsertRowAfter Inserts a row after/under the current cursor location. - mceTableDeleteRow Deletes the row at the current cursor location. - mceTableInsertColBefore Inserts a column before the current cursor location. - mceTableInsertColAfter Inserts a column after the current cursor location. - mceTableDeleteCol Deletes the column at the current cursor location. - -Options: - table_color_fields If set to true, tables dialogs will have color fields. diff --git a/source/web/scripts/tiny_mce/plugins/table/row.htm b/source/web/scripts/tiny_mce/plugins/table/row.htm deleted file mode 100644 index dd2b584e4f..0000000000 --- a/source/web/scripts/tiny_mce/plugins/table/row.htm +++ /dev/null @@ -1,131 +0,0 @@ - - -{$lang_table_row_title} - - - - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
{$lang_table_row_title}
{$lang_insert_table_align}:{$lang_insert_table_class}:
{$lang_insert_table_valign}:{$lang_insert_table_height}:
  
-
- - diff --git a/source/web/scripts/tiny_mce/plugins/table/table.htm b/source/web/scripts/tiny_mce/plugins/table/table.htm deleted file mode 100644 index 373e409d6b..0000000000 --- a/source/web/scripts/tiny_mce/plugins/table/table.htm +++ /dev/null @@ -1,156 +0,0 @@ - - -{$lang_insert_table_title} - - - - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{$lang_insert_table_title}
{$lang_insert_table_cols}:{$lang_insert_table_rows}:
{$lang_insert_table_cellpadding}:{$lang_insert_table_cellspacing}:
{$lang_insert_table_align}:{$lang_insert_table_border}:
{$lang_insert_table_width}:{$lang_insert_table_height}:
{$lang_insert_table_class}: -   
  
-
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/anchor.htm b/source/web/scripts/tiny_mce/themes/advanced/anchor.htm deleted file mode 100644 index 0dfb892d91..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/anchor.htm +++ /dev/null @@ -1,52 +0,0 @@ - - -{$lang_insert_anchor_title} - - - - -
- - - - -
- - - - - - - - - - - -
{$lang_insert_anchor_title}
{$lang_insert_anchor_name}:
-
-
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/charmap.htm b/source/web/scripts/tiny_mce/themes/advanced/charmap.htm deleted file mode 100644 index 8e275f897d..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/charmap.htm +++ /dev/null @@ -1,380 +0,0 @@ - - -{$lang_theme_charmap_title} - - - - - - - - - - - - - - - - -
{$lang_theme_charmap_title}
- - - - - - - - - -
 
 
-
- - - - - - - - - - - - - - - - -
HTML-Code
 
 
NUM-Code
 
-
- - - diff --git a/source/web/scripts/tiny_mce/themes/advanced/color_picker.htm b/source/web/scripts/tiny_mce/themes/advanced/color_picker.htm deleted file mode 100644 index c9e0cb5bcf..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/color_picker.htm +++ /dev/null @@ -1,272 +0,0 @@ - - -{$lang_theme_colorpicker_title} - - - - -
- -
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/about.htm b/source/web/scripts/tiny_mce/themes/advanced/docs/en/about.htm deleted file mode 100644 index 984a990288..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/docs/en/about.htm +++ /dev/null @@ -1,32 +0,0 @@ - - - -About TinyMCE - - - - - - - - - - - -
-
-TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla -that enables you to edit HTML contents in a more user friendly way. It has common -features that are found in most word processors and should not be difficult to -use.
-
-
- - - - - - -
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm b/source/web/scripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm deleted file mode 100644 index c63d7dc435..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm +++ /dev/null @@ -1,163 +0,0 @@ - - - -Common buttons - - - - - - - - - - - -
-
-Below is a short description about each button. -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Bold text style.
Italic text style.
Underline text style.
Strikethrough text style.
Align left.
Align center.
Align right.
Align full.
Unordered list/bullet list.
Ordered list/numbered list
Outdent/decrease indentation.
Indent/incread indentation.
Undo the last operation.
Redo the last operation.
Insert a new link, read more about this function in the Insert - link section.
Unlinks the current selection/removes all selected links.
Insert a new anchor, read more about this function in the Insert anchor section.
Insert a new image, read more about this function in the Insert - image section.
Cleanup code/Removes unwanted formating. This function is useful when - you copy contents from for example a office product.
Shows this help window.
Opens HTML source code editor.
Inserts a new 2x2 table at the current location.
Adds a row above the current one.
Adds a row under the current one.
Removes the row.
Adds a column before the current one.
Adds a column after the current one.
Removes the current column.
Inserts a new horizontal ruler
Removes formatting from the selection.
Makes the selection to be subscript.
Makes the selection to be superscripted.
-
-
- - - - - - - - diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif b/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif deleted file mode 100644 index 5b5f528dd5..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif b/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif deleted file mode 100644 index cdc617eab3..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif b/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif deleted file mode 100644 index 7bad7583ab..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif b/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif deleted file mode 100644 index 6a032c5ae8..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/index.htm b/source/web/scripts/tiny_mce/themes/advanced/docs/en/index.htm deleted file mode 100644 index 0b0526af00..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/docs/en/index.htm +++ /dev/null @@ -1,27 +0,0 @@ - - - -Help Index - - - - - - - - - -
-
-Click the links below to go to the different help sections. - -
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm b/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm deleted file mode 100644 index e1118a289d..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - -Insert anchor button - - - - - - - - - - - -
-
-This button opens a new window with the insert/edit anchor function.
-
-
-
-There are one field in this window, this is where you enter the name of you anchor point. Remember the anchor name needs to be unique.
-
-
- - - - - - -
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm b/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm deleted file mode 100644 index e101fff851..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm +++ /dev/null @@ -1,66 +0,0 @@ - - - -Insert image button - - - - - - - - - - - -
-
-The insert image button opens the window shown below.
-
-
-
-You simply enter a URL to the image you want to link to and enter a image description, -this is then displayed as an alternative text descripton of the image on the page.
-
-Field descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Image URL URL/path to the image.
Image description Alternative description of image contents.
DimentionsImage width/height.
AlignmentImage alignment, useful when wrapping text around images.
BorderBorder thickness.
VSpaceVertical space, useful when wrapping text around images.
HSpaceHorizontal space, useful when wrapping text around images.
-
-
- - - - - - -
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm b/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm deleted file mode 100644 index ddfeb3af09..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm +++ /dev/null @@ -1,34 +0,0 @@ - - - -Insert link button - - - - - - - - - - - -
-
-This button opens a new window with the insert/edit link function.
-
-
-
-There are two fields in this window the first one "Link URL" is the -URL of the link. The target enables you to select how the link is to be opened.
-
-
- - - - - - -
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm b/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm deleted file mode 100644 index d3bd196ed9..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm +++ /dev/null @@ -1,72 +0,0 @@ - - - -Insert table button - - - - - - - - - - - -
-
-The insert table button opens the window shown below. This action enables you to create tables.
-
-
-
-Field descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ColumnsNumber of columns in the table.
RowsNumber of rows in the new table.
CellpaddingCellpadding of the table .
CellspacingCellspacing of the table .
AlignmentTable alignment .
BorderBorder thinkness of table.
WidthWidth in pixels of table .
HeightHeight in pixels of table.
ClassStyle or CSS class of table.
-
-
-
- - - - - - -
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/docs/en/style.css b/source/web/scripts/tiny_mce/themes/advanced/docs/en/style.css deleted file mode 100644 index 722f537a1e..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/docs/en/style.css +++ /dev/null @@ -1,28 +0,0 @@ -body { background-color: #FFFFFF; } -body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; } -.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; } -.subtitle { font-size: 12px; font-weight: bold; } - -.toc_ul, .toc_li { margin-left: 8 px; line-height: 16px; } -.step_ol, .step_li { margin-left: 11 px; line-height: 16px; } -img { border: #000000 solid 1px; } - -a:visited { color: #666666; text-decoration: underline; } -a:active { color: #666666; text-decoration: underline; } -a:hover { color: #666666; text-decoration: underline; } -a { color: #666666; text-decoration: underline; } - -.pageheader { border: #E0E0E0 solid 1px; } -.pagefooter { border: #E0E0E0 solid 1px; } -.sample { background-color: #FFFFFF; border: #000000 solid 1px; } -.samplecontent { font-size: 10px; } - -.code { background-color: #FFFFFF; border: #000000 solid 1px; } -.codecontent { font-size: 10px; } -.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold } -.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold } -.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold } -.codecontent a { color: #666666; text-decoration: none; font-weight: bold } - -hr { height: 1px; } - diff --git a/source/web/scripts/tiny_mce/themes/advanced/editor_content.css b/source/web/scripts/tiny_mce/themes/advanced/editor_content.css deleted file mode 100644 index 75290eed1e..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/editor_content.css +++ /dev/null @@ -1,27 +0,0 @@ -body { - background-color: #FFFFFF; - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; - scrollbar-3dlight-color: #F0F0EE; - scrollbar-arrow-color: #676662; - scrollbar-base-color: #F0F0EE; - scrollbar-darkshadow-color: #DDDDDD; - scrollbar-face-color: #E0E0DD; - scrollbar-highlight-color: #F0F0EE; - scrollbar-shadow-color: #F0F0EE; - scrollbar-track-color: #F5F5F5; -} - -td { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; -} - -pre { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; -} - -.mceVisualAid { - border: 1px dashed #BBBBBB; -} diff --git a/source/web/scripts/tiny_mce/themes/advanced/editor_popup.css b/source/web/scripts/tiny_mce/themes/advanced/editor_popup.css deleted file mode 100644 index d51982cdc9..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/editor_popup.css +++ /dev/null @@ -1,121 +0,0 @@ -body { - background-color: #F0F0EE; - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 11px; - scrollbar-3dlight-color: #F0F0EE; - scrollbar-arrow-color: #676662; - scrollbar-base-color: #F0F0EE; - scrollbar-darkshadow-color: #DDDDDD; - scrollbar-face-color: #E0E0DD; - scrollbar-highlight-color: #F0F0EE; - scrollbar-shadow-color: #F0F0EE; - scrollbar-track-color: #F5F5F5; -} - -td { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 11px; -} - -input { - background: #FFFFFF; - border: 1px solid #cccccc; -} - -td, input, select, textarea { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; -} - -input, select, textarea { - border: 1px solid #808080; -} - -.input_noborder { - border: 0px solid #808080; -} - -#insert { - font-weight: bold; -} - -#cancel { - font-weight: bold; -} - -.title { - font-size: 12px; - font-weight: bold; -} - -table.charmap { - border-style: solid; - border-width: 1px; - border-color: #AAAAAA; -} - -td.charmap, td.charmapOver { - color: #000000; - border-color: #AAAAAA; - border-style: solid; - border-width: 1px; - text-align: center; - font-size: 12px; -} - -td.charmapOver { - background-color: #CCCCCC; - cursor: arrow; -} - -a.charmap { - color: #000000; - text-decoration: none -} - -.wordWrapCode { - vertical-align: middle; - border: 1px none #000000; - background-color: transparent; -} - -input.radio { - border: 1px none #000000; - background-color: transparent; - vertical-align: middle; -} - -input.checkbox { - border: 1px none #000000; - background-color: transparent; - vertical-align: middle; -} - -.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected { - margin-left: 1px; -} - -.mceButtonNormal { - border-top: 1px solid; - border-left: 1px solid; - border-bottom: 1px solid; - border-right: 1px solid; - border-color: #F0F0EE; - cursor: arrow; -} - -.mceButtonOver { - border: 1px solid #0A246A; - cursor: arrow; - background-color: #B6BDD2; -} - -.mceButtonDown { - cursor: arrow; - border: 1px solid #0A246A; - background-color: #8592B5; -} - -legend { - font-weight: bold; -} diff --git a/source/web/scripts/tiny_mce/themes/advanced/editor_template.js b/source/web/scripts/tiny_mce/themes/advanced/editor_template.js deleted file mode 100644 index e94ee3a018..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/editor_template.js +++ /dev/null @@ -1,23 +0,0 @@ -/* Import theme specific language pack */ - tinyMCE.importThemeLanguagePack('advanced');var TinyMCE_advanced_autoImportCSSClasses=true;var TinyMCE_advanced_foreColor="#000000";var TinyMCE_advanced_anchorName="";var TinyMCE_advanced_buttons=[['bold','{$lang_bold_img}','{$lang_bold_desc}','Bold'],['italic','{$lang_italic_img}','{$lang_italic_desc}','Italic'],['underline','{$lang_underline_img}','{$lang_underline_desc}','Underline'],['strikethrough','strikethrough.gif','{$lang_striketrough_desc}','Strikethrough'],['justifyleft','left.gif','{$lang_justifyleft_desc}','JustifyLeft'],['justifycenter','center.gif','{$lang_justifycenter_desc}','JustifyCenter'],['justifyright','right.gif','{$lang_justifyright_desc}','JustifyRight'],['justifyfull','full.gif','{$lang_justifyfull_desc}','JustifyFull'],['bullist','bullist.gif','{$lang_bullist_desc}','InsertUnorderedList'],['numlist','numlist.gif','{$lang_numlist_desc}','InsertOrderedList'],['outdent','outdent.gif','{$lang_outdent_desc}','Outdent'],['indent','indent.gif','{$lang_indent_desc}','Indent'],['cut','cut.gif','{$lang_cut_desc}','Cut'],['copy','copy.gif','{$lang_copy_desc}','Copy'],['paste','paste.gif','{$lang_paste_desc}','Paste'],['undo','undo.gif','{$lang_undo_desc}','Undo'],['redo','redo.gif','{$lang_redo_desc}','Redo'],['link','link.gif','{$lang_link_desc}','mceLink',true],['unlink','unlink.gif','{$lang_unlink_desc}','unlink'],['image','image.gif','{$lang_image_desc}','mceImage',true],['cleanup','cleanup.gif','{$lang_cleanup_desc}','mceCleanup'],['help','help.gif','{$lang_help_desc}','mceHelp'],['code','code.gif','{$lang_theme_code_desc}','mceCodeEditor'],['hr','hr.gif','{$lang_theme_hr_desc}','inserthorizontalrule'],['removeformat','removeformat.gif','{$lang_theme_removeformat_desc}','removeformat'],['sub','sub.gif','{$lang_theme_sub_desc}','subscript'],['sup','sup.gif','{$lang_theme_sup_desc}','superscript'],['forecolor','forecolor.gif','{$lang_theme_forecolor_desc}','mceForeColor',true],['backcolor','backcolor.gif','{$lang_theme_backcolor_desc}','mceBackColor',true],['charmap','charmap.gif','{$lang_theme_charmap_desc}','mceCharMap'],['visualaid','visualaid.gif','{$lang_theme_visualaid_desc}','mceToggleVisualAid'],['anchor','anchor.gif','{$lang_theme_anchor_desc}','mceInsertAnchor'],['newdocument','newdocument.gif','{$lang_newdocument_desc}','mceSetContent',false,'']];function TinyMCE_advanced_getControlHTML(button_name){var buttonTileMap=new Array('anchor.gif','backcolor.gif','bullist.gif','center.gif','charmap.gif','cleanup.gif','code.gif','copy.gif','custom_1.gif','cut.gif','forecolor.gif','full.gif','help.gif','hr.gif','image.gif','indent.gif','left.gif','link.gif','numlist.gif','outdent.gif','paste.gif','redo.gif','removeformat.gif','right.gif','strikethrough.gif','sub.gif','sup.gif','undo.gif','unlink.gif','visualaid.gif');for(var i=0;i';}}return '';}}switch(button_name){case "formatselect":var html='';return html;case "styleselect":return '';case "fontselect":return '';case "fontsizeselect":return '';case "|":case "separator":return '';case "spacer":return '';case "rowseparator":return '
';}return "";}function TinyMCE_advanced_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceForeColor":var template=new Array();var inputColor=TinyMCE_advanced_foreColor;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=210;template['height']=200;tinyMCE.openWindow(template,{editor_id:editor_id,command:"forecolor",input_color:inputColor});return true;case "mceBackColor":var template=new Array();var inputColor=TinyMCE_advanced_foreColor;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=210;template['height']=200;tinyMCE.openWindow(template,{editor_id:editor_id,command:"HiliteColor",input_color:inputColor});return true;case "mceCodeEditor":var template=new Array();template['file']='source_editor.htm';template['width']=tinyMCE.getParam("theme_advanced_source_editor_width",500);template['height']=tinyMCE.getParam("theme_advanced_source_editor_height",400);tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"no"});return true;case "mceCharMap":var template=new Array();template['file']='charmap.htm';template['width']=550;template['height']=280;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case "mceInsertAnchor":var template=new Array();template['file']='anchor.htm';template['width']=320;template['height']=130;tinyMCE.openWindow(template,{editor_id:editor_id,name:TinyMCE_advanced_anchorName,action:(TinyMCE_advanced_anchorName==""?"insert":"update")});return true;}return false;}function TinyMCE_advanced_getEditorTemplate(settings){function removeFromArray(in_array,remove_array){var outArray=new Array();for(var i=0;i0){toolbarHTML+="
";deltaHeight-=23;}var buttonNamesRow2=tinyMCE.getParam("theme_advanced_buttons2","bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",true,',');buttonNamesRow2=removeFromArray(buttonNamesRow2,tinyMCE.getParam("theme_advanced_disable","",true,','));buttonNamesRow2=addToArray(buttonNamesRow2,tinyMCE.getParam("theme_advanced_buttons2_add","",true,','));buttonNamesRow2=addToArray(tinyMCE.getParam("theme_advanced_buttons2_add_before","",true,','),buttonNamesRow2);for(var i=0;i0){toolbarHTML+="
";deltaHeight-=23;}var buttonNamesRow3=tinyMCE.getParam("theme_advanced_buttons3","hr,removeformat,visualaid,separator,sub,sup,separator,charmap",true,',');buttonNamesRow3=removeFromArray(buttonNamesRow3,tinyMCE.getParam("theme_advanced_disable","",true,','));buttonNamesRow3=addToArray(buttonNamesRow3,tinyMCE.getParam("theme_advanced_buttons3_add","",true,','));buttonNamesRow3=addToArray(tinyMCE.getParam("theme_advanced_buttons3_add_before","",true,','),buttonNamesRow3);for(var i=0;i0)deltaHeight-=20;template['html']='';if(toolbarLocation=="top")template['html']+='';if(pathLocation=="top"){template['html']+='';deltaHeight-=23;}template['html']+='';if(toolbarLocation=="bottom")template['html']+='';if(pathLocation=="bottom"){template['html']+='';deltaHeight-=23;}template['html']+='
'+toolbarHTML+'
'+pathHTML+'
\ - \ -
'+toolbarHTML+'
'+pathHTML+'
';break;case "RowLayout":template['html']='';var containers=tinyMCE.getParam("theme_advanced_containers","",true,",");var defaultContainerCSS=tinyMCE.getParam("theme_advanced_containers_default_class","container");var defaultContainerAlign=tinyMCE.getParam("theme_advanced_containers_default_align","center");for(var i=0;i';}else if(containers[i]=="mceElementpath"){var pathClass="mcePath";if(i==containers.length-1)pathClass="mcePathBottom";else if(i==0)pathClass="mcePathTop";else deltaHeight-=2;template['html']+='';deltaHeight-=22;}else{var curContainer=tinyMCE.getParam("theme_advanced_container_"+containers[i],"",true,',');var curContainerHTML="";var curAlign=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align",defaultContainerAlign);var curCSS=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class",defaultContainerCSS);for(var j=0;j0){curContainerHTML+="
";deltaHeight-=23;}template['html']+='
';}}template['html']+='
\ - \ -
'+pathHTML+'
'+curContainerHTML+'
';break;case "BorderLayout":break;case "CustomLayout":var customLayout=tinyMCE.getParam("theme_advanced_custom_layout","");if(customLayout!=""&&eval("typeof("+customLayout+")")!="undefined")template=eval(customLayout+"(template);");break;default:alert('UNDEFINED LAYOUT MANAGER! PLEASE CHECK YOUR TINYMCE CONFIG!');break;}var styleSelectHTML='';if(settings['theme_advanced_styles']){var stylesAr=settings['theme_advanced_styles'].split(';');for(var i=0;i'+key+'';}TinyMCE_advanced_autoImportCSSClasses=false;}template['html']=tinyMCE.replaceVar(template['html'],'style_select_options',styleSelectHTML);template['delta_width']=0;template['delta_height']=deltaHeight;return template;}function TinyMCE_advanced_getInsertLinkTemplate(){var template=new Array();template['file']='link.htm';template['width']=300;template['height']=150;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);return template;}function TinyMCE_advanced_getInsertImageTemplate(){var template=new Array();template['file']='image.htm?src={$src}';template['width']=340;template['height']=280;template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);return template;}function TinyMCE_advanced_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function selectByValue(select_elm,value){if(select_elm){for(var i=0;i=0;i--){var nodeName=path[i].nodeName.toLowerCase();var nodeData="";var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],'class'),false);if(nodeName=="b")nodeName="strong";if(nodeName=="i")nodeName="em";if(tinyMCE.getAttrib(path[i],'id')!="")nodeData+="id: "+path[i].getAttribute('id')+" ";if(className!="")nodeData+="class: "+className+" ";if(tinyMCE.getAttrib(path[i],'src')!="")nodeData+="src: "+path[i].getAttribute('src')+" ";if(tinyMCE.getAttrib(path[i],'href')!="")nodeData+="href: "+path[i].getAttribute('href')+" ";if(nodeName=="img"&&tinyMCE.getAttrib(path[i],'name')=="mce_plugin_flash"){nodeName="flash";nodeData="";}if(tinyMCE.getAttrib(path[i],'name').indexOf("mce_")!=0){if(className!="")nodeName+="."+className;}if(tinyMCE.isMSIE||tinyMCE.isSafari)html+=''+nodeName+'';else html+=''+nodeName+'';if(i>0)html+=" » ";}pathElm.innerHTML=html+" ";}var colorElm=tinyMCE.getParentElement(node,"font","color");if(colorElm)TinyMCE_advanced_foreColor=""+colorElm.color.toUpperCase();tinyMCE.switchClassSticky(editor_id+'_justifyleft','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_justifyright','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_justifycenter','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_justifyfull','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_numlist','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_sub','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_sup','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_anchor','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_link','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_unlink','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_outdent','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_image','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_hr','mceButtonNormal');var anchorName=tinyMCE.getParentElement(node,"a","name");TinyMCE_advanced_anchorName="";if(anchorName){TinyMCE_advanced_anchorName=anchorName.getAttribute("name");tinyMCE.switchClassSticky(editor_id+'_anchor','mceButtonSelected');}var anchorLink=tinyMCE.getParentElement(node,"a","href");if(anchorLink||any_selection){tinyMCE.switchClassSticky(editor_id+'_link',anchorLink?'mceButtonSelected':'mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_unlink',anchorLink?'mceButtonSelected':'mceButtonNormal',false);}tinyMCE.switchClassSticky(editor_id+'_visualaid',visual_aid?'mceButtonSelected':'mceButtonNormal',false);if(undo_levels!=-1){tinyMCE.switchClassSticky(editor_id+'_undo','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_redo','mceButtonDisabled',true);}if(tinyMCE.getParentElement(node,"li,blockquote"))tinyMCE.switchClassSticky(editor_id+'_outdent','mceButtonNormal',false);if(undo_index!=-1&&(undo_index0))tinyMCE.switchClassSticky(editor_id+'_redo','mceButtonNormal',false);if(undo_index!=-1&&(undo_index>0&&undo_levels>0))tinyMCE.switchClassSticky(editor_id+'_undo','mceButtonNormal',false);var selectElm=document.getElementById(editor_id+"_styleSelect");if(selectElm){TinyMCE_advanced_setupCSSClasses(editor_id);classNode=node;breakOut=false;var index=0;do{if(classNode&&classNode.className){for(var i=0;i");}else selectByValue(selectElm,"

");}var selectElm=document.getElementById(editor_id+"_fontNameSelect");if(selectElm){var elm=tinyMCE.getParentElement(node,"font","face");if(elm)selectByValue(selectElm,elm.getAttribute("face"));else selectByValue(selectElm,"");}var selectElm=document.getElementById(editor_id+"_fontSizeSelect");if(selectElm){var elm=tinyMCE.getParentElement(node,"font","size");if(elm&&tinyMCE.getAttrib(elm,"size")!="")selectByValue(selectElm,elm.getAttribute("size"));else selectByValue(selectElm,"0");}alignNode=node;breakOut=false;do{if(!alignNode.getAttribute||!alignNode.getAttribute('align'))continue;switch(alignNode.getAttribute('align').toLowerCase()){case "left":tinyMCE.switchClassSticky(editor_id+'_justifyleft','mceButtonSelected');breakOut=true;break;case "right":tinyMCE.switchClassSticky(editor_id+'_justifyright','mceButtonSelected');breakOut=true;break;case "middle":case "center":tinyMCE.switchClassSticky(editor_id+'_justifycenter','mceButtonSelected');breakOut=true;break;case "justify":tinyMCE.switchClassSticky(editor_id+'_justifyfull','mceButtonSelected');breakOut=true;break;}}while(!breakOut&&(alignNode=alignNode.parentNode));if(tinyMCE.isGecko&&node.nodeType==3){var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();if(doc.queryCommandState("Bold"))tinyMCE.switchClassSticky(editor_id+'_bold','mceButtonSelected');if(doc.queryCommandState("Italic"))tinyMCE.switchClassSticky(editor_id+'_italic','mceButtonSelected');if(doc.queryCommandState("Underline")&&(node.parentNode==null||node.parentNode.nodeName!="A"))tinyMCE.switchClassSticky(editor_id+'_underline','mceButtonSelected');if(doc.queryCommandState("Strikethrough"))tinyMCE.switchClassSticky(editor_id+'_strikethrough','mceButtonSelected');}do{switch(node.nodeName.toLowerCase()){case "b":case "strong":tinyMCE.switchClassSticky(editor_id+'_bold','mceButtonSelected');break;case "i":case "em":tinyMCE.switchClassSticky(editor_id+'_italic','mceButtonSelected');break;case "u":tinyMCE.switchClassSticky(editor_id+'_underline','mceButtonSelected');break;case "strike":tinyMCE.switchClassSticky(editor_id+'_strikethrough','mceButtonSelected');break;case "ul":tinyMCE.switchClassSticky(editor_id+'_bullist','mceButtonSelected');break;case "ol":tinyMCE.switchClassSticky(editor_id+'_numlist','mceButtonSelected');break;case "sub":tinyMCE.switchClassSticky(editor_id+'_sub','mceButtonSelected');break;case "sup":tinyMCE.switchClassSticky(editor_id+'_sup','mceButtonSelected');break;case "hr":tinyMCE.switchClassSticky(editor_id+'_hr','mceButtonSelected');break;case "img":if(tinyMCE.getAttrib(node,'name').indexOf('mce_')!=0)tinyMCE.switchClassSticky(editor_id+'_image','mceButtonSelected');break;}}while((node=node.parentNode));}function TinyMCE_advanced_setupCSSClasses(editor_id){if(!TinyMCE_advanced_autoImportCSSClasses)return;var selectElm=document.getElementById(editor_id+'_styleSelect');if(selectElm&&selectElm.getAttribute('cssImported')!='true'){var csses=tinyMCE.getCSSClasses(editor_id);if(csses&&selectElm){for(var i=0;i0)selectElm.setAttribute('cssImported','true');}} \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/themes/advanced/editor_template_src.js b/source/web/scripts/tiny_mce/themes/advanced/editor_template_src.js deleted file mode 100644 index 646c5adab0..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/editor_template_src.js +++ /dev/null @@ -1,763 +0,0 @@ -/* Import theme specific language pack */ -tinyMCE.importThemeLanguagePack('advanced'); - -// Variable declarations -var TinyMCE_advanced_autoImportCSSClasses = true; -var TinyMCE_advanced_foreColor = "#000000"; -var TinyMCE_advanced_anchorName = ""; -var TinyMCE_advanced_buttons = [ - // Control id, button img, button title, command, user_interface, value - ['bold', '{$lang_bold_img}', '{$lang_bold_desc}', 'Bold'], - ['italic', '{$lang_italic_img}', '{$lang_italic_desc}', 'Italic'], - ['underline', '{$lang_underline_img}', '{$lang_underline_desc}', 'Underline'], - ['strikethrough', 'strikethrough.gif', '{$lang_striketrough_desc}', 'Strikethrough'], - ['justifyleft', 'left.gif', '{$lang_justifyleft_desc}', 'JustifyLeft'], - ['justifycenter', 'center.gif', '{$lang_justifycenter_desc}', 'JustifyCenter'], - ['justifyright', 'right.gif', '{$lang_justifyright_desc}', 'JustifyRight'], - ['justifyfull', 'full.gif', '{$lang_justifyfull_desc}', 'JustifyFull'], - ['bullist', 'bullist.gif', '{$lang_bullist_desc}', 'InsertUnorderedList'], - ['numlist', 'numlist.gif', '{$lang_numlist_desc}', 'InsertOrderedList'], - ['outdent', 'outdent.gif', '{$lang_outdent_desc}', 'Outdent'], - ['indent', 'indent.gif', '{$lang_indent_desc}', 'Indent'], - ['cut', 'cut.gif', '{$lang_cut_desc}', 'Cut'], - ['copy', 'copy.gif', '{$lang_copy_desc}', 'Copy'], - ['paste', 'paste.gif', '{$lang_paste_desc}', 'Paste'], - ['undo', 'undo.gif', '{$lang_undo_desc}', 'Undo'], - ['redo', 'redo.gif', '{$lang_redo_desc}', 'Redo'], - ['link', 'link.gif', '{$lang_link_desc}', 'mceLink', true], - ['unlink', 'unlink.gif', '{$lang_unlink_desc}', 'unlink'], - ['image', 'image.gif', '{$lang_image_desc}', 'mceImage', true], - ['cleanup', 'cleanup.gif', '{$lang_cleanup_desc}', 'mceCleanup'], - ['help', 'help.gif', '{$lang_help_desc}', 'mceHelp'], - ['code', 'code.gif', '{$lang_theme_code_desc}', 'mceCodeEditor'], - ['hr', 'hr.gif', '{$lang_theme_hr_desc}', 'inserthorizontalrule'], - ['removeformat', 'removeformat.gif', '{$lang_theme_removeformat_desc}', 'removeformat'], - ['sub', 'sub.gif', '{$lang_theme_sub_desc}', 'subscript'], - ['sup', 'sup.gif', '{$lang_theme_sup_desc}', 'superscript'], - ['forecolor', 'forecolor.gif', '{$lang_theme_forecolor_desc}', 'mceForeColor', true], - ['backcolor', 'backcolor.gif', '{$lang_theme_backcolor_desc}', 'mceBackColor', true], - ['charmap', 'charmap.gif', '{$lang_theme_charmap_desc}', 'mceCharMap'], - ['visualaid', 'visualaid.gif', '{$lang_theme_visualaid_desc}', 'mceToggleVisualAid'], - ['anchor', 'anchor.gif', '{$lang_theme_anchor_desc}', 'mceInsertAnchor'], - ['newdocument', 'newdocument.gif', '{$lang_newdocument_desc}', 'mceSetContent', false, ''] - ]; - - -/** - * Returns HTML code for the specificed control. - */ -function TinyMCE_advanced_getControlHTML(button_name) { - var buttonTileMap = new Array('anchor.gif','backcolor.gif','bullist.gif','center.gif','charmap.gif','cleanup.gif','code.gif','copy.gif','custom_1.gif','cut.gif','forecolor.gif','full.gif','help.gif','hr.gif','image.gif','indent.gif','left.gif','link.gif','numlist.gif','outdent.gif','paste.gif','redo.gif','removeformat.gif','right.gif','strikethrough.gif','sub.gif','sup.gif','undo.gif','unlink.gif','visualaid.gif'); - - // Lookup button in button list - for (var i=0; i'; - } - } - - // Old style - return ''; - } - } - - // Custom controlls other than buttons - switch (button_name) { - case "formatselect": - var html = ''; - - return html; - - - case "styleselect": - return ''; - - case "fontselect": - return ''; - - case "fontsizeselect": - return ''; - - case "|": - case "separator": - return ''; - - case "spacer": - return ''; - - case "rowseparator": - return '
'; - } - - return ""; -} - -/** - * Theme specific exec command handeling. - */ -function TinyMCE_advanced_execCommand(editor_id, element, command, user_interface, value) { - switch (command) { - case "mceForeColor": - var template = new Array(); - var inputColor = TinyMCE_advanced_foreColor; - - if (!inputColor) - inputColor = "#000000"; - - template['file'] = 'color_picker.htm'; - template['width'] = 210; - template['height'] = 200; - - tinyMCE.openWindow(template, {editor_id : editor_id, command : "forecolor", input_color : inputColor}); - return true; - - case "mceBackColor": - var template = new Array(); - var inputColor = TinyMCE_advanced_foreColor; - - if (!inputColor) - inputColor = "#000000"; - - template['file'] = 'color_picker.htm'; - template['width'] = 210; - template['height'] = 200; - - tinyMCE.openWindow(template, {editor_id : editor_id, command : "HiliteColor", input_color : inputColor}); - return true; - - case "mceCodeEditor": - var template = new Array(); - - template['file'] = 'source_editor.htm'; - template['width'] = tinyMCE.getParam("theme_advanced_source_editor_width", 500); - template['height'] = tinyMCE.getParam("theme_advanced_source_editor_height", 400); - - tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no"}); - return true; - - case "mceCharMap": - var template = new Array(); - - template['file'] = 'charmap.htm'; - template['width'] = 550; - template['height'] = 280; - - tinyMCE.openWindow(template, {editor_id : editor_id}); - return true; - - case "mceInsertAnchor": - var template = new Array(); - - template['file'] = 'anchor.htm'; - template['width'] = 320; - template['height'] = 130; - - tinyMCE.openWindow(template, {editor_id : editor_id, name : TinyMCE_advanced_anchorName, action : (TinyMCE_advanced_anchorName == "" ? "insert" : "update")}); - return true; - } - - // Default behavior - return false; -} - -/** - * Editor instance template function. - */ -function TinyMCE_advanced_getEditorTemplate(settings) { - function removeFromArray(in_array, remove_array) { - var outArray = new Array(); - for (var i=0; i - //########################################################################################################### - - var pathHTML = '{$lang_theme_path}:  '; - var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout"); - - switch(layoutManager) { - case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)... - var toolbarHTML = ""; - var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom"); - var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center"); - var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); - - // Render row 1 - var buttonNamesRow1 = tinyMCE.getParam("theme_advanced_buttons1", "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect", true, ','); - buttonNamesRow1 = removeFromArray(buttonNamesRow1, tinyMCE.getParam("theme_advanced_disable", "", true, ',')); - buttonNamesRow1 = addToArray(buttonNamesRow1, tinyMCE.getParam("theme_advanced_buttons1_add", "", true, ',')); - buttonNamesRow1 = addToArray(tinyMCE.getParam("theme_advanced_buttons1_add_before", "", true, ','), buttonNamesRow1); - for (var i=0; i 0) { - toolbarHTML += "
"; - deltaHeight -= 23; - } - - // Render row 2 - var buttonNamesRow2 = tinyMCE.getParam("theme_advanced_buttons2", "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code", true, ','); - buttonNamesRow2 = removeFromArray(buttonNamesRow2, tinyMCE.getParam("theme_advanced_disable", "", true, ',')); - buttonNamesRow2 = addToArray(buttonNamesRow2, tinyMCE.getParam("theme_advanced_buttons2_add", "", true, ',')); - buttonNamesRow2 = addToArray(tinyMCE.getParam("theme_advanced_buttons2_add_before", "", true, ','), buttonNamesRow2); - for (var i=0; i 0) { - toolbarHTML += "
"; - deltaHeight -= 23; - } - - // Render row 3 - var buttonNamesRow3 = tinyMCE.getParam("theme_advanced_buttons3", "hr,removeformat,visualaid,separator,sub,sup,separator,charmap", true, ','); - buttonNamesRow3 = removeFromArray(buttonNamesRow3, tinyMCE.getParam("theme_advanced_disable", "", true, ',')); - buttonNamesRow3 = addToArray(buttonNamesRow3, tinyMCE.getParam("theme_advanced_buttons3_add", "", true, ',')); - buttonNamesRow3 = addToArray(tinyMCE.getParam("theme_advanced_buttons3_add_before", "", true, ','), buttonNamesRow3); - for (var i=0; i 0) - deltaHeight -= 20; - - // Setup template html - template['html'] = ''; - - if (toolbarLocation == "top") - template['html'] += ''; - - if (pathLocation == "top") { - template['html'] += ''; - deltaHeight -= 23; - } - - /* template['html'] += '';*/ - template['html'] += ''; - - if (toolbarLocation == "bottom") - template['html'] += ''; - - if (pathLocation == "bottom") { - template['html'] += ''; - deltaHeight -= 23; - } - - template['html'] += '
' + toolbarHTML + '
' + pathHTML + '
\ - \ -
\ - \ -
' + toolbarHTML + '
' + pathHTML + '
'; - break; - - case "RowLayout" : //Container Layout - containers defined in "theme_advanced_containers" are rendered from top to bottom. - template['html'] = ''; - - var containers = tinyMCE.getParam("theme_advanced_containers", "", true, ","); - var defaultContainerCSS = tinyMCE.getParam("theme_advanced_containers_default_class", "container"); - var defaultContainerAlign = tinyMCE.getParam("theme_advanced_containers_default_align", "center"); - - //Render Containers: - for(var i = 0; i < containers.length; i++) - { - if(containers[i] == "mceEditor") //Exceptions for mceEditor and ... - { - template['html'] += ''; - } - else if(containers[i] == "mceElementpath") // ... mceElementpath: - { - var pathClass = "mcePath"; - - if (i == containers.length-1) - pathClass = "mcePathBottom"; - else if (i == 0) - pathClass = "mcePathTop"; - else - deltaHeight-=2; - - template['html'] += ''; - deltaHeight -= 22; - } - else //Render normal Container: - { - var curContainer = tinyMCE.getParam("theme_advanced_container_"+containers[i], "", true, ','); - var curContainerHTML = ""; - var curAlign = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align", defaultContainerAlign); - var curCSS = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class", defaultContainerCSS); - - for (var j=0; j 0) { - curContainerHTML += "
"; - deltaHeight -= 23; - } - - template['html'] += '
'; - } - } - - template['html'] += '
\ - \ -
' + pathHTML + '
' + curContainerHTML + '
'; - break; - case "BorderLayout" : //will be like java.awt.BorderLayout of SUN Java... - // Not implemented yet... - break; - case "CustomLayout" : //User defined layout callback... - var customLayout = tinyMCE.getParam("theme_advanced_custom_layout",""); - if (customLayout != "" && eval("typeof(" + customLayout + ")") != "undefined") - template = eval(customLayout + "(template);"); - break; - default: - alert('UNDEFINED LAYOUT MANAGER! PLEASE CHECK YOUR TINYMCE CONFIG!'); - break; - } - - //########################################################################################################### - // - //########################################################################################################### - - // Setup style select options - var styleSelectHTML = ''; - if (settings['theme_advanced_styles']) { - var stylesAr = settings['theme_advanced_styles'].split(';'); - for (var i=0; i' + key + ''; - } - - TinyMCE_advanced_autoImportCSSClasses = false; - } - - template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML); - template['delta_width'] = 0; - template['delta_height'] = deltaHeight; - - return template; -} - -/** - * Insert link template function. - */ -function TinyMCE_advanced_getInsertLinkTemplate() { - var template = new Array(); - - template['file'] = 'link.htm'; - template['width'] = 300; - template['height'] = 150; - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0); - - return template; -} - -/** - * Insert image template function. - */ -function TinyMCE_advanced_getInsertImageTemplate() { - var template = new Array(); - - template['file'] = 'image.htm?src={$src}'; - template['width'] = 340; - template['height'] = 280; - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0); - - return template; -} - -/** - * Node change handler. - */ -function TinyMCE_advanced_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { - function selectByValue(select_elm, value) { - if (select_elm) { - for (var i=0; i=0; i--) { - var nodeName = path[i].nodeName.toLowerCase(); - var nodeData = ""; - var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], 'class'), false); - - if (nodeName == "b") - nodeName = "strong"; - - if (nodeName == "i") - nodeName = "em"; - - if (tinyMCE.getAttrib(path[i], 'id') != "") - nodeData += "id: " + path[i].getAttribute('id') + " "; - - if (className != "") - nodeData += "class: " + className + " "; - - if (tinyMCE.getAttrib(path[i], 'src') != "") - nodeData += "src: " + path[i].getAttribute('src') + " "; - - if (tinyMCE.getAttrib(path[i], 'href') != "") - nodeData += "href: " + path[i].getAttribute('href') + " "; - - if (nodeName == "img" && tinyMCE.getAttrib(path[i], 'name') == "mce_plugin_flash") { - nodeName = "flash"; - nodeData = ""; - } - - if (tinyMCE.getAttrib(path[i], 'name').indexOf("mce_") != 0) { - if (className != "") - nodeName += "." + className; - } - - if (tinyMCE.isMSIE || tinyMCE.isSafari) - html += '' + nodeName + ''; - else - html += '' + nodeName + ''; - - if (i > 0) - html += " » "; - } - - pathElm.innerHTML = html + " "; - } - - // Get element color - var colorElm = tinyMCE.getParentElement(node, "font", "color"); - if (colorElm) - TinyMCE_advanced_foreColor = "" + colorElm.color.toUpperCase(); - - // Reset old states - tinyMCE.switchClassSticky(editor_id + '_justifyleft', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_justifyright', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_justifycenter', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_justifyfull', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_bullist', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_numlist', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_sub', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_sup', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_anchor', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_link', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_unlink', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_outdent', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_image', 'mceButtonNormal'); - tinyMCE.switchClassSticky(editor_id + '_hr', 'mceButtonNormal'); - - // Get anchor name - var anchorName = tinyMCE.getParentElement(node, "a", "name"); - TinyMCE_advanced_anchorName = ""; - if (anchorName) { - TinyMCE_advanced_anchorName = anchorName.getAttribute("name"); - tinyMCE.switchClassSticky(editor_id + '_anchor', 'mceButtonSelected'); - } - - // Get link - var anchorLink = tinyMCE.getParentElement(node, "a", "href"); - if (anchorLink || any_selection) { - tinyMCE.switchClassSticky(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal', false); - tinyMCE.switchClassSticky(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal', false); - } - - // Handle visual aid - tinyMCE.switchClassSticky(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal', false); - - if (undo_levels != -1) { - tinyMCE.switchClassSticky(editor_id + '_undo', 'mceButtonDisabled', true); - tinyMCE.switchClassSticky(editor_id + '_redo', 'mceButtonDisabled', true); - } - - // Within li, blockquote - if (tinyMCE.getParentElement(node, "li,blockquote")) - tinyMCE.switchClassSticky(editor_id + '_outdent', 'mceButtonNormal', false); - - // Has redo levels - if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0)) - tinyMCE.switchClassSticky(editor_id + '_redo', 'mceButtonNormal', false); - - // Has undo levels - if (undo_index != -1 && (undo_index > 0 && undo_levels > 0)) - tinyMCE.switchClassSticky(editor_id + '_undo', 'mceButtonNormal', false); - - // Select class in select box - var selectElm = document.getElementById(editor_id + "_styleSelect"); - if (selectElm) { - TinyMCE_advanced_setupCSSClasses(editor_id); - - classNode = node; - breakOut = false; - var index = 0; - - do { - if (classNode && classNode.className) { - for (var i=0; i"); - } else - selectByValue(selectElm, "

"); - } - - // Select fontselect - var selectElm = document.getElementById(editor_id + "_fontNameSelect"); - if (selectElm) { - var elm = tinyMCE.getParentElement(node, "font", "face"); - if (elm) - selectByValue(selectElm, elm.getAttribute("face")); - else - selectByValue(selectElm, ""); - } - - // Select fontsize - var selectElm = document.getElementById(editor_id + "_fontSizeSelect"); - if (selectElm) { - var elm = tinyMCE.getParentElement(node, "font", "size"); - if (elm && tinyMCE.getAttrib(elm, "size") != "") - selectByValue(selectElm, elm.getAttribute("size")); - else - selectByValue(selectElm, "0"); - } - - // Handle align attributes - alignNode = node; - breakOut = false; - do { - if (!alignNode.getAttribute || !alignNode.getAttribute('align')) - continue; - - switch (alignNode.getAttribute('align').toLowerCase()) { - case "left": - tinyMCE.switchClassSticky(editor_id + '_justifyleft', 'mceButtonSelected'); - breakOut = true; - break; - - case "right": - tinyMCE.switchClassSticky(editor_id + '_justifyright', 'mceButtonSelected'); - breakOut = true; - break; - - case "middle": - case "center": - tinyMCE.switchClassSticky(editor_id + '_justifycenter', 'mceButtonSelected'); - breakOut = true; - break; - - case "justify": - tinyMCE.switchClassSticky(editor_id + '_justifyfull', 'mceButtonSelected'); - breakOut = true; - break; - } - } while (!breakOut && (alignNode = alignNode.parentNode)); - - // Do special text - if (tinyMCE.isGecko && node.nodeType == 3) { - var inst = tinyMCE.getInstanceById(editor_id); - var doc = inst.getDoc(); - - if (doc.queryCommandState("Bold")) - tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonSelected'); - - if (doc.queryCommandState("Italic")) - tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonSelected'); - - if (doc.queryCommandState("Underline") && (node.parentNode == null || node.parentNode.nodeName != "A")) - tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonSelected'); - - if (doc.queryCommandState("Strikethrough")) - tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonSelected'); - } - - // Handle elements - do { - switch (node.nodeName.toLowerCase()) { - case "b": - case "strong": - tinyMCE.switchClassSticky(editor_id + '_bold', 'mceButtonSelected'); - break; - - case "i": - case "em": - tinyMCE.switchClassSticky(editor_id + '_italic', 'mceButtonSelected'); - break; - - case "u": - tinyMCE.switchClassSticky(editor_id + '_underline', 'mceButtonSelected'); - break; - - case "strike": - tinyMCE.switchClassSticky(editor_id + '_strikethrough', 'mceButtonSelected'); - break; - - case "ul": - tinyMCE.switchClassSticky(editor_id + '_bullist', 'mceButtonSelected'); - break; - - case "ol": - tinyMCE.switchClassSticky(editor_id + '_numlist', 'mceButtonSelected'); - break; - - case "sub": - tinyMCE.switchClassSticky(editor_id + '_sub', 'mceButtonSelected'); - break; - - case "sup": - tinyMCE.switchClassSticky(editor_id + '_sup', 'mceButtonSelected'); - break; - - case "hr": - tinyMCE.switchClassSticky(editor_id + '_hr', 'mceButtonSelected'); - break; - - case "img": - if (tinyMCE.getAttrib(node, 'name').indexOf('mce_') != 0) - tinyMCE.switchClassSticky(editor_id + '_image', 'mceButtonSelected'); - break; - } - } while ((node = node.parentNode)); -} - -// This function auto imports CSS classes into the class selection droplist -function TinyMCE_advanced_setupCSSClasses(editor_id) { - if (!TinyMCE_advanced_autoImportCSSClasses) - return; - - var selectElm = document.getElementById(editor_id + '_styleSelect'); - - if (selectElm && selectElm.getAttribute('cssImported') != 'true') { - var csses = tinyMCE.getCSSClasses(editor_id); - if (csses && selectElm) { - for (var i=0; i 0) - selectElm.setAttribute('cssImported', 'true'); - } -} \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/themes/advanced/editor_ui.css b/source/web/scripts/tiny_mce/themes/advanced/editor_ui.css deleted file mode 100644 index 693ab5de0e..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/editor_ui.css +++ /dev/null @@ -1,148 +0,0 @@ -.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected { - margin-top: 1px; - margin-left: 1px; -} - -.mceButtonNormal { - border-top: 1px solid; - border-left: 1px solid; - border-bottom: 1px solid; - border-right: 1px solid; - border-color: #F0F0EE; - cursor: arrow; -} - -.mceButtonOver { -/* border-top: 1px solid buttonhighlight; - border-left: 1px solid buttonhighlight; - border-bottom: 1px solid buttonshadow; - border-right: 1px solid buttonshadow;*/ - border: 1px solid #0A246A; - cursor: arrow; - background-color: #B6BDD2; -} - -.mceButtonDown { -/* border-bottom: 1px solid buttonhighlight; - border-right: 1px solid buttonhighlight; - border-top: 1px solid buttonshadow; - border-left: 1px solid buttonshadow;*/ - cursor: arrow; - border: 1px solid #0A246A; - background-color: #8592B5; -} - -.mceButtonSelected { - border: 1px solid; - border-color: #C0C0BB; - cursor: arrow; -} - -.mceButtonDisabled { - filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); - -moz-opacity:0.3; - opacity: 0.3; - border-top: 1px solid; - border-left: 1px solid; - border-bottom: 1px solid; - border-right: 1px solid; - border-color: #F0F0EE; - cursor: arrow; -} - -.mceSeparator { - border-top: 1px solid buttonhighlight; - border-left: 1px solid buttonhighlight; - border-bottom: 1px solid buttonshadow; - border-right: 1px solid buttonshadow; - margin-right: 2px; - margin-left: 2px; -} - -.mceSeparatorLine { - margin:2px; - margin-left: 4px; - background-color: #F0F0EE; - border-top: 1px solid buttonshadow; - border-left: 1px solid buttonshadow; - border-bottom: 1px solid buttonhighlight; - border-right: 1px solid buttonhighlight; - width: 0px; - height: 15px; -} - -.mceSelectList { - font-family: "MS Sans Serif"; - font-size: 7pt; - font-weight: normal; - margin-top: 3px; - padding: 0px; - display: inline; - vertical-align: top; - background-color: #F0F0EE -} - -.mceLabel, .mceLabelDisabled { - font-family: "MS Sans Serif"; - font-size: 9pt; -} - -.mceLabel { - color: #000000; -} - -.mceLabelDisabled { - cursor: text; - color: #999999; -} - -.mceEditor { - background: #F0F0EE; - border: 1px solid #cccccc; -} - -.mceEditorArea { - font-family: "MS Sans Serif"; - background: #FFFFFF; -} - -.mceToolbarTop, .mceToolbarBottom { - background: #F0F0EE; -} - -.mceToolbarTop { - border-bottom: 1px solid #cccccc; -} - -.mceToolbarBottom { - border-top: 1px solid #cccccc; -} - -.mcePathTop, .mcePathBottom, .mcePath { - font-family: "MS Sans Serif"; - font-size: 9pt; - padding: 2px; - height: 20px; -} - -.mcePathTop { - border-bottom: 1px solid #cccccc; -} - -.mcePathBottom { - border-top: 1px solid #cccccc; -} - -.mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover { - text-decoration: none; - font-family: "MS Sans Serif"; - font-size: 9pt; -} - -.mcePathItem:hover { - text-decoration: underline; -} - -.mcePath { - border-bottom: 1px solid #cccccc; -} \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/themes/advanced/image.htm b/source/web/scripts/tiny_mce/themes/advanced/image.htm deleted file mode 100644 index 04a8258fd8..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/image.htm +++ /dev/null @@ -1,193 +0,0 @@ - - -{$lang_insert_image_title} - - - - - -

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{$lang_insert_image_title}
{$lang_insert_image_src}: - - - - -
{$lang_insert_image_alt}:
{$lang_insert_image_align}:
{$lang_insert_image_dimensions}: - x -
{$lang_insert_image_border}:
{$lang_insert_image_vspace}:
{$lang_insert_image_hspace}:
-
-
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/anchor.gif b/source/web/scripts/tiny_mce/themes/advanced/images/anchor.gif deleted file mode 100644 index ae7b2f3959..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/anchor.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/backcolor.gif b/source/web/scripts/tiny_mce/themes/advanced/images/backcolor.gif deleted file mode 100644 index d44277dd6c..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/backcolor.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/bold.gif b/source/web/scripts/tiny_mce/themes/advanced/images/bold.gif deleted file mode 100644 index 31f004b24f..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/bold.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/bold_de_se.gif b/source/web/scripts/tiny_mce/themes/advanced/images/bold_de_se.gif deleted file mode 100644 index 2d86b00314..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/bold_de_se.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/bold_fr.gif b/source/web/scripts/tiny_mce/themes/advanced/images/bold_fr.gif deleted file mode 100644 index 7782282838..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/bold_fr.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/bold_ru.gif b/source/web/scripts/tiny_mce/themes/advanced/images/bold_ru.gif deleted file mode 100644 index c9e89b27e5..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/bold_ru.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/browse.gif b/source/web/scripts/tiny_mce/themes/advanced/images/browse.gif deleted file mode 100644 index 590f2de43f..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/browse.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/bullist.gif b/source/web/scripts/tiny_mce/themes/advanced/images/bullist.gif deleted file mode 100644 index 12d0ec2299..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/bullist.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/buttons.gif b/source/web/scripts/tiny_mce/themes/advanced/images/buttons.gif deleted file mode 100644 index b5e454c17e..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/buttons.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/center.gif b/source/web/scripts/tiny_mce/themes/advanced/images/center.gif deleted file mode 100644 index a9e13e004c..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/center.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/charmap.gif b/source/web/scripts/tiny_mce/themes/advanced/images/charmap.gif deleted file mode 100644 index b826f88823..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/charmap.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/cleanup.gif b/source/web/scripts/tiny_mce/themes/advanced/images/cleanup.gif deleted file mode 100644 index 87b8f87a2f..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/cleanup.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/code.gif b/source/web/scripts/tiny_mce/themes/advanced/images/code.gif deleted file mode 100644 index e16da11e91..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/code.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/copy.gif b/source/web/scripts/tiny_mce/themes/advanced/images/copy.gif deleted file mode 100644 index f0b51871e2..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/copy.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/custom_1.gif b/source/web/scripts/tiny_mce/themes/advanced/images/custom_1.gif deleted file mode 100644 index 5e385c0549..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/custom_1.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/cut.gif b/source/web/scripts/tiny_mce/themes/advanced/images/cut.gif deleted file mode 100644 index 6a969e55bd..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/cut.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/forecolor.gif b/source/web/scripts/tiny_mce/themes/advanced/images/forecolor.gif deleted file mode 100644 index db21e1cbee..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/forecolor.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/full.gif b/source/web/scripts/tiny_mce/themes/advanced/images/full.gif deleted file mode 100644 index 5a78c63067..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/full.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/help.gif b/source/web/scripts/tiny_mce/themes/advanced/images/help.gif deleted file mode 100644 index a5d67714bc..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/help.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/hr.gif b/source/web/scripts/tiny_mce/themes/advanced/images/hr.gif deleted file mode 100644 index 8e6b34dc68..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/hr.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/image.gif b/source/web/scripts/tiny_mce/themes/advanced/images/image.gif deleted file mode 100644 index 36109de73c..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/image.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/indent.gif b/source/web/scripts/tiny_mce/themes/advanced/images/indent.gif deleted file mode 100644 index 7a17288c55..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/indent.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/italic.gif b/source/web/scripts/tiny_mce/themes/advanced/images/italic.gif deleted file mode 100644 index ec03278f34..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/italic.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/italic_de_se.gif b/source/web/scripts/tiny_mce/themes/advanced/images/italic_de_se.gif deleted file mode 100644 index 6ce0d8d466..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/italic_de_se.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/italic_ru.gif b/source/web/scripts/tiny_mce/themes/advanced/images/italic_ru.gif deleted file mode 100644 index 5c2f7fec27..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/italic_ru.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/left.gif b/source/web/scripts/tiny_mce/themes/advanced/images/left.gif deleted file mode 100644 index 4225e00775..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/left.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/link.gif b/source/web/scripts/tiny_mce/themes/advanced/images/link.gif deleted file mode 100644 index 0de427490e..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/link.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/newdocument.gif b/source/web/scripts/tiny_mce/themes/advanced/images/newdocument.gif deleted file mode 100644 index 79a93da5cc..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/newdocument.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/numlist.gif b/source/web/scripts/tiny_mce/themes/advanced/images/numlist.gif deleted file mode 100644 index 7ff907be75..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/numlist.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/outdent.gif b/source/web/scripts/tiny_mce/themes/advanced/images/outdent.gif deleted file mode 100644 index 53e89a77f4..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/outdent.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/paste.gif b/source/web/scripts/tiny_mce/themes/advanced/images/paste.gif deleted file mode 100644 index a676604cf6..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/paste.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/redo.gif b/source/web/scripts/tiny_mce/themes/advanced/images/redo.gif deleted file mode 100644 index 26a146bdaf..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/redo.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/removeformat.gif b/source/web/scripts/tiny_mce/themes/advanced/images/removeformat.gif deleted file mode 100644 index 38a9cdf96c..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/removeformat.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/right.gif b/source/web/scripts/tiny_mce/themes/advanced/images/right.gif deleted file mode 100644 index 88bfaf2542..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/right.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/spacer.gif b/source/web/scripts/tiny_mce/themes/advanced/images/spacer.gif deleted file mode 100644 index fc2560981e..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/spacer.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/strikethrough.gif b/source/web/scripts/tiny_mce/themes/advanced/images/strikethrough.gif deleted file mode 100644 index ce7b65304e..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/strikethrough.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/sub.gif b/source/web/scripts/tiny_mce/themes/advanced/images/sub.gif deleted file mode 100644 index 481840702b..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/sub.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/sup.gif b/source/web/scripts/tiny_mce/themes/advanced/images/sup.gif deleted file mode 100644 index 03f8efc63d..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/sup.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/table.gif b/source/web/scripts/tiny_mce/themes/advanced/images/table.gif deleted file mode 100644 index f8a00544a9..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/table.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/table_delete_col.gif b/source/web/scripts/tiny_mce/themes/advanced/images/table_delete_col.gif deleted file mode 100644 index 0b2f0fb612..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/table_delete_col.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/table_delete_row.gif b/source/web/scripts/tiny_mce/themes/advanced/images/table_delete_row.gif deleted file mode 100644 index 1997065fb2..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/table_delete_row.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_col_after.gif b/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_col_after.gif deleted file mode 100644 index c30dafab6f..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_col_after.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_col_before.gif b/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_col_before.gif deleted file mode 100644 index 5d1ff37afe..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_col_before.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_row_after.gif b/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_row_after.gif deleted file mode 100644 index c3aa15f93a..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_row_after.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_row_before.gif b/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_row_before.gif deleted file mode 100644 index c3271e5493..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/table_insert_row_before.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/underline.gif b/source/web/scripts/tiny_mce/themes/advanced/images/underline.gif deleted file mode 100644 index d6b8afdabd..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/underline.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/underline_fr.gif b/source/web/scripts/tiny_mce/themes/advanced/images/underline_fr.gif deleted file mode 100644 index a8e3018a18..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/underline_fr.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/underline_ru.gif b/source/web/scripts/tiny_mce/themes/advanced/images/underline_ru.gif deleted file mode 100644 index 2a517e8b6b..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/underline_ru.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/undo.gif b/source/web/scripts/tiny_mce/themes/advanced/images/undo.gif deleted file mode 100644 index b0722d06c6..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/undo.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/unlink.gif b/source/web/scripts/tiny_mce/themes/advanced/images/unlink.gif deleted file mode 100644 index dd073a2b44..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/unlink.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/images/visualaid.gif b/source/web/scripts/tiny_mce/themes/advanced/images/visualaid.gif deleted file mode 100644 index 188b3487ad..0000000000 Binary files a/source/web/scripts/tiny_mce/themes/advanced/images/visualaid.gif and /dev/null differ diff --git a/source/web/scripts/tiny_mce/themes/advanced/langs/en.js b/source/web/scripts/tiny_mce/themes/advanced/langs/en.js deleted file mode 100644 index f5ef50b569..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/langs/en.js +++ /dev/null @@ -1,59 +0,0 @@ -// UK lang variables - -tinyMCELang['lang_theme_style_select'] = 'Styles'; -tinyMCELang['lang_theme_code_desc'] = 'Edit HTML Source'; -tinyMCELang['lang_theme_code_title'] = 'HTML Source Editor'; -tinyMCELang['lang_theme_code_wordwrap'] = 'Word wrap'; -tinyMCELang['lang_theme_sub_desc'] = 'Subscript'; -tinyMCELang['lang_theme_sup_desc'] = 'Superscript'; -tinyMCELang['lang_theme_hr_desc'] = 'Insert horizontal ruler'; -tinyMCELang['lang_theme_removeformat_desc'] = 'Remove formatting'; -tinyMCELang['lang_theme_custom1_desc'] = 'Your custom description here'; -tinyMCELang['lang_insert_image_border'] = 'Border'; -tinyMCELang['lang_insert_image_dimensions'] = 'Dimensions'; -tinyMCELang['lang_insert_image_vspace'] = 'VSpace'; -tinyMCELang['lang_insert_image_hspace'] = 'HSpace'; -tinyMCELang['lang_insert_image_align'] = 'Alignment'; -tinyMCELang['lang_insert_image_align_default'] = 'Default'; -tinyMCELang['lang_insert_image_align_baseline'] = 'Baseline'; -tinyMCELang['lang_insert_image_align_top'] = 'Top'; -tinyMCELang['lang_insert_image_align_middle'] = 'Middle'; -tinyMCELang['lang_insert_image_align_bottom'] = 'Bottom'; -tinyMCELang['lang_insert_image_align_texttop'] = 'TextTop'; -tinyMCELang['lang_insert_image_align_absmiddle'] = 'Absolute Middle'; -tinyMCELang['lang_insert_image_align_absbottom'] = 'Absolute Bottom'; -tinyMCELang['lang_insert_image_align_left'] = 'Left'; -tinyMCELang['lang_insert_image_align_right'] = 'Right'; -tinyMCELang['lang_theme_font_size'] = 'Font size'; -tinyMCELang['lang_theme_fontdefault'] = 'Default'; -tinyMCELang['lang_theme_paragraph'] = 'Paragraph'; -tinyMCELang['lang_theme_div'] = 'Div'; -tinyMCELang['lang_theme_address'] = 'Address'; -tinyMCELang['lang_theme_pre'] = 'Preformatted'; -tinyMCELang['lang_theme_h1'] = 'Heading 1'; -tinyMCELang['lang_theme_h2'] = 'Heading 2'; -tinyMCELang['lang_theme_h3'] = 'Heading 3'; -tinyMCELang['lang_theme_h4'] = 'Heading 4'; -tinyMCELang['lang_theme_h5'] = 'Heading 5'; -tinyMCELang['lang_theme_h6'] = 'Heading 6'; -tinyMCELang['lang_theme_colorpicker_title'] = 'Select a color'; -tinyMCELang['lang_theme_colorpicker_apply'] = 'Apply'; -tinyMCELang['lang_theme_forecolor_desc'] = 'Select text color'; -tinyMCELang['lang_theme_backcolor_desc'] = 'Select background color'; -tinyMCELang['lang_theme_charmap_title'] = 'Select custom character'; -tinyMCELang['lang_theme_charmap_desc'] = 'Insert custom character'; -tinyMCELang['lang_theme_visualaid_desc'] = 'Toggle guidelines/invisible elements'; -tinyMCELang['lang_insert_anchor_title'] = 'Insert/edit anchor'; -tinyMCELang['lang_insert_anchor_name'] = 'Anchor name'; -tinyMCELang['lang_theme_anchor_desc'] = 'Insert/edit anchor'; -tinyMCELang['lang_theme_insert_link_titlefield'] = 'Title'; -tinyMCELang['lang_theme_clipboard_msg'] = 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?'; -tinyMCELang['lang_theme_path'] = 'Path'; -tinyMCELang['lang_cut_desc'] = 'Cut'; -tinyMCELang['lang_copy_desc'] = 'Copy'; -tinyMCELang['lang_paste_desc'] = 'Paste'; -tinyMCELang['lang_link_list'] = 'Link list'; -tinyMCELang['lang_image_list'] = 'Image list'; -tinyMCELang['lang_browse'] = 'Browse'; -tinyMCELang['lang_image_props_desc'] = 'Image properties'; -tinyMCELang['lang_newdocument_desc'] = 'New document'; diff --git a/source/web/scripts/tiny_mce/themes/advanced/langs/readme.txt b/source/web/scripts/tiny_mce/themes/advanced/langs/readme.txt deleted file mode 100644 index ef48d2ba4a..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/langs/readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -Theme specific language packs. - -The language pack codes are based on ISO-639-2 -http://www.loc.gov/standards/iso639-2/englangn.html diff --git a/source/web/scripts/tiny_mce/themes/advanced/link.htm b/source/web/scripts/tiny_mce/themes/advanced/link.htm deleted file mode 100644 index bff34c2afa..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/link.htm +++ /dev/null @@ -1,135 +0,0 @@ - - -{$lang_insert_link_title} - - - - - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - -
{$lang_insert_link_title}
{$lang_insert_link_url}: - - - - -
{$lang_insert_link_target}:
{$lang_theme_insert_link_titlefield}:
-
-
- - diff --git a/source/web/scripts/tiny_mce/themes/advanced/source_editor.htm b/source/web/scripts/tiny_mce/themes/advanced/source_editor.htm deleted file mode 100644 index f3a9991be3..0000000000 --- a/source/web/scripts/tiny_mce/themes/advanced/source_editor.htm +++ /dev/null @@ -1,88 +0,0 @@ - - -{$lang_theme_code_title} - - - - - -
- - - - - - - - - - - -
{$lang_theme_code_title}
- -
-
- - diff --git a/source/web/scripts/tiny_mce/tiny_mce.js b/source/web/scripts/tiny_mce/tiny_mce.js deleted file mode 100644 index c07b3ed442..0000000000 --- a/source/web/scripts/tiny_mce/tiny_mce.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * $RCSfile: tiny_mce.js,v $ - * $Revision: 1.240 $ - * $Date: 2005/05/27 09:53:43 $ - * - * @author Moxiecode - * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved. - */ - function TinyMCE(){this.instances=new Array();this.stickyClassesLookup=new Array();this.windowArgs=new Array();this.loadedFiles=new Array();this.configs=new Array();this.currentConfig=0;this.eventHandlers=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.isSafari=navigator.userAgent.indexOf('Safari')!=-1;if(this.isSafari)alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.");this.idCounter=0;};TinyMCE.prototype.defParam=function(key,def_val){this.settings[key]=tinyMCE.getParam(key,def_val);};TinyMCE.prototype.init=function(settings){var theme;this.settings=settings;if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');for(var i=0;i');this.loadedFiles[this.loadedFiles.length]=url;};TinyMCE.prototype.loadCSS=function(url){for(var i=0;i');this.loadedFiles[this.loadedFiles.length]=url;};TinyMCE.prototype.importCSS=function(doc,css_file){if(tinyMCE.isMSIE)var styleSheet=doc.createStyleSheet(css_file);else{var elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if(headArr=doc.getElementsByTagName("head"))headArr[0].appendChild(elm);}};TinyMCE.prototype.confirmAdd=function(e,settings){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm']))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true');};TinyMCE.prototype.queryInstanceCommandValue=function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.getDoc().queryCommandValue(command);return null;};TinyMCE.prototype.queryInstanceCommandState=function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.getDoc().queryCommandState(command);return null;};TinyMCE.prototype.updateContent=function(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];inst.switchSettings();if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isMSIE)doc.body.innerHTML=tinyMCE._cleanupHTML(doc,this.settings,doc.body,inst.visualAid);}}};TinyMCE.prototype.addMCEControl=function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCEControl(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst.onAdd(replace_element,form_element_name,target_document);};TinyMCE.prototype.triggerSave=function(skip_cleanup,skip_callback){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];inst.switchSettings();tinyMCE.settings['preformatted']=false;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;tinyMCE._setHTML(inst.getDoc(),inst.getBody().innerHTML);var htm=skip_cleanup?inst.getBody().innerHTML:tinyMCE._cleanupHTML(inst.getDoc(),this.settings,inst.getBody(),this.visualAid,true);if(tinyMCE.settings["encoding"]=="xml"||tinyMCE.settings["encoding"]=="html")htm=tinyMCE.convertStringToXML(htm);if(!skip_callback&&tinyMCE.settings['save_callback']!="")var content=eval(tinyMCE.settings['save_callback']+"(inst.formTargetElementId,htm,inst.getBody());");if((typeof(content)!="undefined")&&content!=null)htm=content;htm=tinyMCE.regexpReplace(htm,"(","(","gi");htm=tinyMCE.regexpReplace(htm,")",")","gi");htm=tinyMCE.regexpReplace(htm,";",";","gi");htm=tinyMCE.regexpReplace(htm,""",""","gi");htm=tinyMCE.regexpReplace(htm,"^","^","gi");if(inst.formElement)inst.formElement.value=htm;}};TinyMCE.prototype._convertOnClick=function(node){if(tinyMCE.isMSIE5)return;var elms=node.getElementsByTagName("a");for(var i=0;i","gi");content=tinyMCE.regexpReplace(content,"\r","
","gi");content=tinyMCE.regexpReplace(content,"\n","
","gi");}content=tinyMCE._customCleanup("insert_to_editor",content);if(tinyMCE.isMSIE){window.setInterval('try{tinyMCE.getCSSClasses(document.frames["'+editor_id+'"].document, "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])document.frames[editor_id].document.styleSheets[0].addRule("p","margin: 0px;");var body=document.frames[editor_id].document.body;tinyMCE.addEvent(body,"beforepaste",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(body,"beforecut",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(body,"paste",TinyMCE.prototype.eventPatch);body.editorId=editor_id;}if(!tinyMCE.isMSIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.settings['force_p_newlines'])content=content.replace(new RegExp('<>','g'),"");if(tinyMCE.settings['cleanup_on_startup'])inst.getBody().innerHTML=tinyMCE._cleanupHTML(doc,this.settings,contentElement);else{content=tinyMCE.regexpReplace(content,"","","gi");content=tinyMCE.regexpReplace(content,"","","gi");inst.getBody().innerHTML=content;}inst.convertAllRelativeURLs();}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {inst.getBody().innerHTML = tinyMCE._cleanupHTML(inst.contentDocument, this.settings, inst.getBody());} catch(e) {}');}else inst.getBody().innerHTML=content;}tinyMCE._convertOnClick(inst.getBody());var parentElm=document.getElementById(inst.editorId+'_parent');if(parentElm.lastChild.nodeName.toLowerCase()=="input")inst.formElement=parentElm.lastChild;else inst.formElement=parentElm.nextSibling;tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual']);tinyMCE.executeCallback('setupcontent_callback','_setupContent',0,editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isMSIE)TinyMCE.prototype.addEventHandlers(editor_id);inst.startContent=inst.getBody().innerHTML;tinyMCE.selectedInstance=inst;tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE.triggerNodeChange(false,true);tinyMCE._customCleanup("insert_to_editor_dom",inst.contentWindow.document.body);};TinyMCE.prototype.cancelEvent=function(e){if(tinyMCE.isMSIE){e.returnValue=false;e.cancelBubble=true;}else e.preventDefault();};TinyMCE.prototype.removeTinyMCEFormElements=function(form_obj){for(var i=0;i");rng.collapse(false);rng.select();tinyMCE.triggerNodeChange(false);return false;}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false);}return false;break;case "keyup":case "keydown":if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];else return;if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(tinyMCE.selectedInstance._handleBackSpace(e.type)){e.preventDefault();return false;}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual']);if(tinyMCE.isGecko&&tinyMCE.settings['document_base_url']!=""+document.location.href&&e.type=="keyup"&&e.ctrlKey&&e.keyCode==86)tinyMCE.selectedInstance.fixBrokenURLs();if(tinyMCE.isMSIE&&tinyMCE.settings['custom_undo_redo']){var keys=new Array(13,45,36,35,33,34,37,38,39,40);var posKey=false;for(var i=0;i18&&e.keyCode!=255)){tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");tinyMCE.selectedInstance.typing=true;tinyMCE.triggerNodeChange(false);}if(posKey&&e.type=="keyup")tinyMCE.triggerNodeChange(false);var keys=new Array(8,46);for(var i=0;i0){for(var i=0;i"+this.convertStringToXML(String.fromCharCode(160))+"";if(tinyMCE.isMSIE&&elementName=="script")return "<"+elementName+elementAttribs+">"+node.text+"";if(node.hasChildNodes()){if(elementName=="p"&&tinyMCE.cleanup_force_br_newlines)output+="";else output+="<"+elementName+elementAttribs+">";for(var i=0;i
";else output+="";}else{if(openTag)output+="<"+elementName+elementAttribs+">";else{output+="<"+elementName+elementAttribs+" />";}}return output;case 3:if(node.parentNode.nodeName.toLowerCase()=="script")return node.nodeValue;return this.convertStringToXML(node.nodeValue);case 8:return "";default:return "[UNKNOWN NODETYPE "+node.nodeType+"]";}};TinyMCE.prototype.convertStringToXML=function(html_data){var output="";for(var i=0;i127)output+='&#'+chr+";";else output+=String.fromCharCode(chr);continue;}if(tinyMCE.settings['entity_encoding']=="raw"){output+=String.fromCharCode(chr);continue;}if(typeof(tinyMCE.cleanup_entities["c"+chr])!='undefined'&&tinyMCE.cleanup_entities["c"+chr]!='')output+='&'+tinyMCE.cleanup_entities["c"+chr]+';';else output+=''+String.fromCharCode(chr);}return output;};TinyMCE.prototype._getCleanupElementName=function(chunk){var pos;if(chunk.charAt(0)=='+')chunk=chunk.substring(1);if((pos=chunk.indexOf('/'))!=-1)chunk=chunk.substring(0,pos);if((pos=chunk.indexOf('['))!=-1)chunk=chunk.substring(0,pos);return chunk;};TinyMCE.prototype._initCleanup=function(){var validElements=tinyMCE.settings["valid_elements"];validElements=validElements.split(',');var extendedValidElements=tinyMCE.settings["extended_valid_elements"];extendedValidElements=extendedValidElements.split(',');for(var i=0;i[ \n\r]*
[ \n\r]*

','
','gi');element.innerHTML=tinyMCE.regexpReplace(element.innerHTML,'','','gi');}var html=this.cleanupNode(element);if(tinyMCE.settings['debug'])alert("Cleanup process executed in: "+(new Date().getTime()-startTime)+" ms.");html=tinyMCE.regexpReplace(html,'


','
');html=tinyMCE.regexpReplace(html,'

 


 

','
');if(!tinyMCE.isMSIE)html=html.replace(new RegExp('','g'),"");if(tinyMCE.settings['apply_source_formatting']){html=html.replace(new RegExp('<(p|div)([^>]*)>','g'),"\n<$1$2>\n");html=html.replace(new RegExp('<\/(p|div)([^>]*)>','g'),"\n\n");html=html.replace(new RegExp('
','g'),"
\n");}if(tinyMCE.settings['force_br_newlines']){var re=new RegExp('

 

','g');html=html.replace(re,"
");}if(tinyMCE.settings['force_p_newlines']){var re=new RegExp('<>','g');html=html.replace(re,"");}if(tinyMCE.settings['remove_linebreaks'])html=html.replace(new RegExp('\r|\n','g'),' ');html=tinyMCE._customCleanup(on_save?"get_from_editor":"insert_to_editor",html);var chk=tinyMCE.regexpReplace(html,"[ \t\r\n]","");if(chk=="
"||chk=="
"||chk=="

 

"||chk=="

 

"||chk=="

")html="";if(tinyMCE.settings["preformatted"])return "
"+html+"
";return html;};TinyMCE.prototype.setAttrib=function(element,name,value,no_fix_value){if(!no_fix_value&&value!=null){var re=new RegExp('[^0-9%]','g');value=value.replace(re,'');}if(value!=null&&value!="")element.setAttribute(name,value);else element.removeAttribute(name);if(value!=null&&value!="")element.setAttribute(name,value);else element.removeAttribute(name);};TinyMCE.prototype.insertLink=function(href,target,title,onclick){this.execCommand("mceAddUndoLevel");if(this.selectedInstance&&this.selectedElement&&this.selectedElement.nodeName.toLowerCase()=="img"){var doc=this.selectedInstance.getDoc();var linkElement=tinyMCE.getParentElement(this.selectedElement,"a");var newLink=false;if(!linkElement){linkElement=doc.createElement("a");newLink=true;}href=eval(tinyMCE.settings['urlconverter_callback']+"(href, linkElement);");tinyMCE.setAttrib(linkElement,'href',href);tinyMCE.setAttrib(linkElement,'target',target);tinyMCE.setAttrib(linkElement,'title',title);tinyMCE.setAttrib(linkElement,'mce_onclick',onclick);if(newLink){linkElement.appendChild(this.selectedElement.cloneNode(true));this.selectedElement.parentNode.replaceChild(linkElement,this.selectedElement);}return;}if(!this.linkElement&&this.selectedInstance){this.selectedInstance.contentDocument.execCommand("createlink",false,"#mce_temp_url#");tinyMCE.linkElement=this.getElementByAttributeValue(this.selectedInstance.contentDocument.body,"a","href","#mce_temp_url#");var elementArray=this.getElementsByAttributeValue(this.selectedInstance.contentDocument.body,"a","href","#mce_temp_url#");for(var i=0;i=strTok2.length){for(var i=0;i=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(strTok1.length=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(breakPoint==1)return url_to_relative;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outputString+="../";for(var i=breakPoint-1;i=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i];}baseURLParts=newBaseURLParts.reverse();var newRelURLParts=new Array();var numBack=0;for(var i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue;}if(numBack>0){numBack--;continue;}newRelURLParts[newRelURLParts.length]=relURLParts[i];}relURLParts=newRelURLParts.reverse();var len=baseURLParts.length-numBack;var absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');var start="",end="";if(baseURL['protocol'])start+=baseURL['protocol']+"://";if(baseURL['host'])start+=baseURL['host'];if(baseURL['port'])start+=":"+baseURL['port'];if(relURL['query'])end+="?"+relURL['query'];if(relURL['anchor'])end+="#"+relURL['anchor'];if(relative_url.charAt(relative_url.length-1)=="/")end+="/";return start+absPath+end;};TinyMCE.prototype.getParam=function(name,default_value,strip_whitespace,split_chr){var value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");if(strip_whitespace)value=tinyMCE.regexpReplace(value,"[ \t\r\n]","");if(typeof(split_chr)!="undefined"&&split_chr!=null){value=value.split(split_chr);var outArray=new Array();for(var i=0;i0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoIndex;undoLevels=inst.undoLevels.length;}tinyMCE.executeCallback('handleNodeChangeCallback','_handleNodeChange',0,editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection);}}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus();};TinyMCE.prototype._customCleanup=function(type,content){var customCleanup=tinyMCE.settings['cleanup_callback'];if(customCleanup!=""&&eval("typeof("+customCleanup+")")!="undefined")content=eval(customCleanup+"(type, content);");var plugins=tinyMCE.getParam('plugins','',true,',');for(var i=0;i0)className+=" ";className+=classNames[i];}return className;};TinyMCE.prototype.handleVisualAid=function(element,deep,state){if(!element)return;var tableElement=null;switch(element.nodeName.toLowerCase()){case "table":var oldW=element.style.width;var oldH=element.style.height;element.className=tinyMCE.getVisualAidClass(element.className,state&&element.getAttribute("border")==0);element.style.width=oldW;element.style.height=oldH;for(var y=0;y

','g');html_content=html_content.replace(re,"
");}doc.body.innerHTML=html_content;if(tinyMCE.isMSIE&&tinyMCE.settings['fix_content_duplication']){var paras=doc.getElementsByTagName("P");for(var i=0;i<\/o:p>","
");html=tinyMCE.regexpReplace(html," <\/o:p>","");html=tinyMCE.regexpReplace(html,"","");html=tinyMCE.regexpReplace(html,"

<\/p>","");html=tinyMCE.regexpReplace(html,"

<\/p>\r\n

<\/p>","");html=tinyMCE.regexpReplace(html,"

 <\/p>","
");html=tinyMCE.regexpReplace(html,"

\s*(

\s*)?","

");html=tinyMCE.regexpReplace(html,"<\/p>\s*(<\/p>\s*)?","

");}doc.body.innerHTML=html;}};TinyMCE.prototype.getImageSrc=function(str){var pos=-1;if(!str)return "";if((pos=str.indexOf('this.src='))!=-1){var src=str.substring(pos+10);src=src.substring(0,src.indexOf('\''));return src;}return "";};TinyMCE.prototype._getElementById=function(element_id){var elm=document.getElementById(element_id);if(!elm){for(var j=0;j0){var csses=null;eval("try {var csses = tinyMCE.isMSIE ? doc.styleSheets(0).rules : doc.styleSheets[0].cssRules;} catch(e) {}");if(!csses)return new Array();for(var i=0;i0)tinyMCE.cssClasses=output;return output;};TinyMCE.prototype.regexpReplace=function(in_str,reg_exp,replace_str,opts){if(typeof(opts)=="undefined")opts='g';var re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str);};TinyMCE.prototype.cleanupEventStr=function(str){str=""+str;str=str.replace('function anonymous()\n{\n','');str=str.replace('\n}','');return str;};TinyMCE.prototype.getAbsPosition=function(node){var pos=new Object();pos.absLeft=pos.absTop=0;var parentNode=node;while(parentNode){pos.absLeft+=parentNode.offsetLeft;pos.absTop+=parentNode.offsetTop;parentNode=parentNode.offsetParent;}return pos;};TinyMCE.prototype.openFileBrowser=function(field_name,url,type,win){var cb=tinyMCE.getParam("file_browser_callback");this.setWindowArg("window",win);if(eval('typeof('+cb+')')=="undefined")alert("Callback function: "+cb+" could not be found.");else eval(cb+"(field_name, url, type, win);");};TinyMCE.prototype.getControlHTML=function(control_name){var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+"_getControlHTML";if(eval("typeof("+templateFunction+")")!='undefined'){var html=eval(templateFunction+"('"+control_name+"');");if(html!="")return tinyMCE.replaceVar(html,"pluginurl",tinyMCE.baseURL+"/plugins/"+themePlugins[i]);}}return eval('TinyMCE_'+tinyMCE.settings['theme']+"_getControlHTML"+"('"+control_name+"');");};TinyMCE.prototype._themeExecCommand=function(editor_id,element,command,user_interface,value){var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+"_execCommand";if(eval("typeof("+templateFunction+")")!='undefined'){if(eval(templateFunction+"(editor_id, element, command, user_interface, value);"))return true;}}templateFunction='TinyMCE_'+tinyMCE.settings['theme']+"_execCommand";if(eval("typeof("+templateFunction+")")!='undefined')return eval(templateFunction+"(editor_id, element, command, user_interface, value);");return false;};TinyMCE.prototype._getThemeFunction=function(suffix,skip_plugins){if(skip_plugins)return 'TinyMCE_'+tinyMCE.settings['theme']+suffix;var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+suffix;if(eval("typeof("+templateFunction+")")!='undefined')return templateFunction;}return 'TinyMCE_'+tinyMCE.settings['theme']+suffix;};TinyMCE.prototype.isFunc=function(func_name){if(func_name==null||func_name=="")return false;return eval("typeof("+func_name+")")!="undefined";};TinyMCE.prototype.exec=function(func_name,args){var str=func_name+'(';for(var i=3;i1&&tinyMCE.currentConfig!=this.settings['index']){tinyMCE.settings=this.settings;tinyMCE.currentConfig=this.settings['index'];}};TinyMCEControl.prototype.fixBrokenURLs=function(){var body=this.getBody();var elms=body.getElementsByTagName("img");for(var i=0;i0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node);}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length);}else rng.collapse(to_start);}sel.removeAllRanges();sel.addRange(rng);}this.scrollToNode(node);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node;};TinyMCEControl.prototype.scrollToNode=function(node){var pos=tinyMCE.getAbsPosition(node);var doc=this.getDoc();var scrollX=doc.body.scrollLeft+doc.documentElement.scrollLeft;var scrollY=doc.body.scrollTop+doc.documentElement.scrollTop;var height=tinyMCE.isMSIE?document.getElementById(this.editorId).style.pixelHeight:this.targetElement.clientHeight;if(!tinyMCE.settings['auto_resize']&&!(node.absTop>scrollY&&node.absTop<(scrollY-25+height)))this.contentWindow.scrollTo(pos.absLeft,pos.absTop-height+25);};TinyMCEControl.prototype.getBody=function(){return this.getDoc().body;};TinyMCEControl.prototype.getDoc=function(){return this.contentWindow.document;};TinyMCEControl.prototype.getWin=function(){return this.contentWindow;};TinyMCEControl.prototype.getSel=function(){if(tinyMCE.isMSIE)return this.getDoc().selection;var sel=this.contentWindow.getSelection();if(tinyMCE.isSafari&&!sel.getRangeAt){var newSel=new Object();var doc=this.getDoc();function getRangeAt(idx){var rng=new Object();rng.startContainer=this.focusNode;rng.endContainer=this.anchorNode;rng.commonAncestorContainer=this.focusNode;rng.createContextualFragment=function(html){if(html.charAt(0)=='<'){var elm=doc.createElement("div");elm.innerHTML=html;return elm.firstChild;}return doc.createTextNode("UNSUPPORTED, DUE TO LIMITATIONS IN SAFARI!");};rng.deleteContents=function(){doc.execCommand("Delete",false,"");};return rng;}newSel.focusNode=sel.baseNode;newSel.focusOffset=sel.baseOffset;newSel.anchorNode=sel.extentNode;newSel.anchorOffset=sel.extentOffset;newSel.getRangeAt=getRangeAt;newSel.text=""+sel;newSel.realSelection=sel;newSel.toString=function(){return this.text;};return newSel;}return sel;};TinyMCEControl.prototype.getRng=function(){var sel=this.getSel();if(sel==null)return null;if(tinyMCE.isMSIE)return sel.createRange();return this.getSel().getRangeAt(0);};TinyMCEControl.prototype._insertPara=function(e){function isEmpty(para){function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()=="";}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;var nodes=tinyMCE.getNodeTree(para,new Array(),3);for(var i=0;i <"+blockName+"> ";paraAfter=body.childNodes[1];}this.selectNode(paraAfter,true,true);return true;}if(startChop.nodeName==blockName)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);var contents=rngAfter.cloneContents();if(contents.firstChild&&contents.firstChild.nodeName==blockName){var nodes=contents.firstChild.childNodes;for(var i=0;i0)rng.pasteHTML('
'+rng.htmlText+"
");tinyMCE.triggerNodeChange();return;}}}switch(command){case "mceSelectNode":this.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case "mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue;}if(i==value){this.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return;}parentNode=parentNode.parentNode;}break;case "HiliteColor":if(tinyMCE.isGecko){this.getDoc().execCommand("useCSS",false,false);this.getDoc().execCommand('hilitecolor',false,value);this.getDoc().execCommand("useCSS",false,true);}else this.getDoc().execCommand('BackColor',false,value);break;case "Cut":case "Copy":case "Paste":var cmdFailed=false;eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');if(tinyMCE.isGecko&&cmdFailed){if(confirm(tinyMCE.getLang('lang_clipboard_msg')))window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html','mceExternal');return;}else tinyMCE.triggerNodeChange();break;case "mceSetContent":if(!value)value="";html_content=tinyMCE._customCleanup("insert_to_editor",value);tinyMCE._setHTML(doc,value);doc.body.innerHTML=tinyMCE._cleanupHTML(doc,tinyMCE.settings,doc.body);tinyMCE.handleVisualAid(doc.body,true,this.visualAid);return true;case "mceLink":var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text;}else selectedText=this.getSel().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return;}var href="",target="",title="",onclick="",action="insert";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&tinyMCE.getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=tinyMCE.getAttrib(tinyMCE.linkElement,'href');target=tinyMCE.getAttrib(tinyMCE.linkElement,'target');title=tinyMCE.getAttrib(tinyMCE.linkElement,'title');onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'mce_onclick');if(onclick=="")onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);mceRealHref=tinyMCE.getAttrib(tinyMCE.linkElement,'mce_real_href');if(mceRealHref!="")href=mceRealHref;href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");action="update";}if(this.settings['insertlink_callback']){var returnVal=eval(this.settings['insertlink_callback']+"(href, target, title, onclick, action);");if(returnVal&&returnVal['href'])tinyMCE.insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick']);}else{tinyMCE.openWindow(this.insertLinkTemplate,{href:href,target:target,title:title,onclick:onclick,action:action});}break;case "mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";var img=tinyMCE.imgElement;if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){img=tinyMCE.selectedElement;tinyMCE.imgElement=img;}if(img){if(tinyMCE.getAttrib(img,'name').indexOf('mce_')==0)return;src=tinyMCE.getAttrib(img,'src');alt=tinyMCE.getAttrib(img,'alt');if(alt=="")alt=tinyMCE.getAttrib(img,'title');if(tinyMCE.isGecko){var w=img.style.width;if(w!=null&&w!="")img.setAttribute("width",w);var h=img.style.height;if(h!=null&&h!="")img.setAttribute("height",h);}border=tinyMCE.getAttrib(img,'border');hspace=tinyMCE.getAttrib(img,'hspace');vspace=tinyMCE.getAttrib(img,'vspace');width=tinyMCE.getAttrib(img,'width');height=tinyMCE.getAttrib(img,'height');align=tinyMCE.getAttrib(img,'align');onmouseover=tinyMCE.getAttrib(img,'onmouseover');onmouseout=tinyMCE.getAttrib(img,'onmouseout');title=tinyMCE.getAttrib(img,'title');if(tinyMCE.isMSIE){width=img.attributes['width'].specified?width:"";height=img.attributes['height'].specified?height:"";}onmouseover=tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover));onmouseout=tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout));mceRealSrc=tinyMCE.getAttrib(img,'mce_real_src');if(mceRealSrc!="")src=mceRealSrc;src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");if(onmouseover!="")onmouseover=eval(tinyMCE.settings['urlconverter_callback']+"(onmouseover, img, true);");if(onmouseout!="")onmouseout=eval(tinyMCE.settings['urlconverter_callback']+"(onmouseout, img, true);");action="update";}if(this.settings['insertimage_callback']){var returnVal=eval(this.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])tinyMCE.insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout']);}else tinyMCE.openWindow(this.insertImageTemplate,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action});break;case "mceCleanupWord":if(tinyMCE.isMSIE){var html=this.getBody().createTextRange().htmlText;if(html.indexOf('="mso')!=-1){tinyMCE._setHTML(this.contentDocument,this.getBody().innerHTML);html=tinyMCE._cleanupHTML(this.contentDocument,this.settings,this.getBody(),this.visualAid);}this.getBody().innerHTML=html;}break;case "mceCleanup":tinyMCE._setHTML(this.contentDocument,this.getBody().innerHTML);this.getBody().innerHTML=tinyMCE._cleanupHTML(this.contentDocument,this.settings,this.getBody(),this.visualAid);tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid);this.repaint();tinyMCE.triggerNodeChange();break;case "mceAnchor":if(!user_interface){var aElm=tinyMCE.getParentElement(this.getFocusElement(),"a","name");if(aElm){if(value==null||value==""){if(tinyMCE.isMSIE){aElm.outerHTML=aElm.innerHTML;}else{var rng=aElm.ownerDocument.createRange();rng.setStartBefore(aElm);rng.setEndAfter(aElm);rng.deleteContents();rng.insertNode(rng.createContextualFragment(aElm.innerHTML));}}else aElm.setAttribute('name',value);}else{this.getDoc().execCommand("fontname",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.getBody(),"font","face","#mce_temp_font#");for(var x=0;x0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value);}tinyMCE.triggerNodeChange();break;case "mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange();}}break;case "mceSetCSSClass":var selectedText=false;if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=(rng.text&&rng.text.length>0);}else selectedText=(this.getSel().toString().length>0);if(tinyMCE.selectedNode)tinyMCE.selectedElement=tinyMCE.selectedNode;if(selectedText&&!tinyMCE.selectedNode){this.getDoc().execCommand("RemoveFormat",false,null);if(value==null)return this.execCommand("RemoveFormat",false,null);this.getDoc().execCommand("fontname",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.getBody(),"font","face","#mce_temp_font#");for(var x=0;xcustomUndoLevels){for(var i=0;i0){this.undoIndex--;this.getBody().innerHTML=this.undoLevels[this.undoIndex];}tinyMCE.triggerNodeChange();}else this.getDoc().execCommand(command,user_interface,value);break;case "Redo":if(tinyMCE.settings['custom_undo_redo']){if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;this.getBody().innerHTML=this.undoLevels[this.undoIndex];}tinyMCE.triggerNodeChange();}else this.getDoc().execCommand(command,user_interface,value);break;case "mceToggleVisualAid":this.visualAid=!this.visualAid;tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid);tinyMCE.triggerNodeChange();break;case "removeformat":var text=this.getSelectedText();if(tinyMCE.isMSIE){try{win.focus();var rng=doc.selection.createRange();rng.execCommand("RemoveFormat",false,null);rng.pasteHTML(rng.text);}catch(e){}}else this.getDoc().execCommand(command,user_interface,value);if(text.length==0)this.execCommand("mceSetCSSClass",false,"");tinyMCE.triggerNodeChange();break;default:this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();}};TinyMCEControl.prototype.queryCommandValue=function(command){return this.getDoc().queryCommandValue(command);};TinyMCEControl.prototype.queryCommandState=function(command){return this.getDoc().queryCommandState(command);};TinyMCEControl.prototype.onAdd=function(replace_element,form_element_name,target_document){var targetDoc=target_document?target_document:document;this.targetDoc=targetDoc;tinyMCE.themeURL=tinyMCE.baseURL+"/themes/"+this.settings['theme'];this.settings['themeurl']=tinyMCE.themeURL;if(!replace_element){alert("Error: Could not find the target element.");return false;}var templateFunction=tinyMCE._getThemeFunction('_getInsertLinkTemplate');if(eval("typeof("+templateFunction+")")!='undefined')this.insertLinkTemplate=eval(templateFunction+'(this.settings);');var templateFunction=tinyMCE._getThemeFunction('_getInsertImageTemplate');if(eval("typeof("+templateFunction+")")!='undefined')this.insertImageTemplate=eval(templateFunction+'(this.settings);');var templateFunction=tinyMCE._getThemeFunction('_getEditorTemplate');if(eval("typeof("+templateFunction+")")=='undefined'){alert("Error: Could not find the template function: "+templateFunction);return false;}var editorTemplate=eval(templateFunction+'(this.settings, this.editorId);');var deltaWidth=editorTemplate['delta_width']?editorTemplate['delta_width']:0;var deltaHeight=editorTemplate['delta_height']?editorTemplate['delta_height']:0;var html=''+editorTemplate['html'];var templateFunction=tinyMCE._getThemeFunction('_handleNodeChange',true);if(eval("typeof("+templateFunction+")")!='undefined')this.settings['handleNodeChangeCallback']=templateFunction;html=tinyMCE.replaceVar(html,"editor_id",this.editorId);html=tinyMCE.replaceVar(html,"default_document",tinyMCE.baseURL+"/blank.htm");this.settings['default_document']=tinyMCE.baseURL+"/blank.htm";this.settings['old_width']=this.settings['width'];this.settings['old_height']=this.settings['height'];if(this.settings['width']==-1)this.settings['width']=replace_element.offsetWidth;if(this.settings['height']==-1)this.settings['height']=replace_element.offsetHeight;if(this.settings['width']==0)this.settings['width']=replace_element.style.width;if(this.settings['height']==0)this.settings['height']=replace_element.style.height;if(this.settings['width']==0)this.settings['width']=320;if(this.settings['height']==0)this.settings['height']=240;this.settings['area_width']=parseInt(this.settings['width']);this.settings['area_height']=parseInt(this.settings['height']);this.settings['area_width']+=deltaWidth;this.settings['area_height']+=deltaHeight;if((""+this.settings['width']).indexOf('%')!=-1)this.settings['area_width']="100%";if((""+this.settings['height']).indexOf('%')!=-1)this.settings['area_height']="100%";if((""+replace_element.style.width).indexOf('%')!=-1){this.settings['width']=replace_element.style.width;this.settings['area_width']="100%";}if((""+replace_element.style.height).indexOf('%')!=-1){this.settings['height']=replace_element.style.height;this.settings['area_height']="100%";}html=tinyMCE.applyTemplate(html);this.settings['width']=this.settings['old_width'];this.settings['height']=this.settings['old_height'];this.visualAid=this.settings['visual'];this.formTargetElementId=form_element_name;if(replace_element.nodeName.toLowerCase()=="textarea")this.startContent=replace_element.value;else this.startContent=replace_element.innerHTML;if(replace_element.nodeName.toLowerCase()!="textarea"){this.oldTargetElement=replace_element.cloneNode(true);if(tinyMCE.settings['debug'])html+='';else html+='';html+='';if(!tinyMCE.isMSIE){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);replace_element.parentNode.replaceChild(fragment,replace_element);}else replace_element.outerHTML=html;}else{html+='';this.oldTargetElement=replace_element;if(!tinyMCE.settings['debug'])this.oldTargetElement.style.display="none";if(!tinyMCE.isMSIE){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);replace_element.parentNode.insertBefore(fragment,replace_element);}else replace_element.insertAdjacentHTML("beforeBegin",html);}var dynamicIFrame=false;var tElm=targetDoc.getElementById(this.editorId);if(!tinyMCE.isMSIE){if(tElm&&tElm.nodeName.toLowerCase()=="span"){tElm=tinyMCE._createIFrame(tElm);dynamicIFrame=true;}this.targetElement=tElm;this.iframeElement=tElm;this.contentDocument=tElm.contentDocument;this.contentWindow=tElm.contentWindow;}else{if(tElm&&tElm.nodeName.toLowerCase()=="span")tElm=tinyMCE._createIFrame(tElm);else tElm=targetDoc.frames[this.editorId];this.targetElement=tElm;this.iframeElement=targetDoc.getElementById(this.editorId);this.contentDocument=tElm.window.document;this.contentWindow=tElm.window;this.getDoc().designMode="on";}var doc=this.contentDocument;if(dynamicIFrame){var html=""+''+''+''+''+'blank_page'+''+''+''+''+'';try{this.getDoc().designMode="on";doc.open();doc.write(html);doc.close();}catch(e){this.getDoc().location.href=tinyMCE.baseURL+"/blank.htm";}}if(tinyMCE.isMSIE)window.setTimeout("TinyMCE.prototype.addEventHandlers('"+this.editorId+"');",1);tinyMCE.setupContent(this.editorId,true);return true;};TinyMCEControl.prototype.getFocusElement=function(){if(tinyMCE.isMSIE){var doc=this.getDoc();var rng=doc.selection.createRange();if(rng.collapse)rng.collapse(true);var elm=rng.item?rng.item(0):rng.parentElement();}else{var sel=this.getSel();var elm=(sel&&sel.anchorNode)?sel.anchorNode:null;if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img")elm=tinyMCE.selectedElement;}return elm;};var tinyMCE=new TinyMCE();var tinyMCELang=new Array();function debug(){var msg="";var elm=document.getElementById("tinymce_debug");if(!elm){var debugDiv=document.createElement("div");debugDiv.setAttribute("className","debugger");debugDiv.className="debugger";debugDiv.innerHTML='\ - Debug output:\ - ';document.body.appendChild(debugDiv);elm=document.getElementById("tinymce_debug");}var args=this.debug.arguments;for(var i=0;i 0 || window.scrollY > 0) { - window.resizeBy(window.innerWidth * 2, window.innerHeight * 2); - window.sizeToContent(); - window.scrollTo(0, 0); - var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0); - var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0); - window.moveTo(x, y); - } - } -} - -// Add onload trigger -tinyMCE.addEvent(window, "load", TinyMCEPlugin_onLoad); - -// Output Popup CSS class -document.write(''); diff --git a/source/web/scripts/tiny_mce/tiny_mce_src.js b/source/web/scripts/tiny_mce/tiny_mce_src.js deleted file mode 100644 index 4a9f8bfc39..0000000000 --- a/source/web/scripts/tiny_mce/tiny_mce_src.js +++ /dev/null @@ -1,4738 +0,0 @@ -/** - * $RCSfile: tiny_mce_src.js,v $ - * $Revision: 1.204 $ - * $Date: 2005/05/27 09:35:59 $ - * - * @author Moxiecode - * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved. - */ - -function TinyMCE() { - this.instances = new Array(); - this.stickyClassesLookup = new Array(); - this.windowArgs = new Array(); - this.loadedFiles = new Array(); - this.configs = new Array(); - this.currentConfig = 0; - this.eventHandlers = new Array(); - - // Browser check - this.isMSIE = (navigator.appName == "Microsoft Internet Explorer"); - this.isMSIE5 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5') != -1); - this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1); - this.isGecko = navigator.userAgent.indexOf('Gecko') != -1; - this.isSafari = navigator.userAgent.indexOf('Safari') != -1; - - if (this.isSafari) - alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version."); - - // TinyMCE editor id instance counter - this.idCounter = 0; -}; - -TinyMCE.prototype.defParam = function(key, def_val) { - this.settings[key] = tinyMCE.getParam(key, def_val); -}; - -TinyMCE.prototype.init = function(settings) { - var theme; - - this.settings = settings; - - // Check if valid browser has execcommand support - if (typeof(document.execCommand) == 'undefined') - return; - - // Get script base path - if (!tinyMCE.baseURL) { - var elements = document.getElementsByTagName('script'); - - for (var i=0; i'); - - this.loadedFiles[this.loadedFiles.length] = url; -}; - -TinyMCE.prototype.loadCSS = function(url) { - for (var i=0; i'); - - this.loadedFiles[this.loadedFiles.length] = url; -}; - -TinyMCE.prototype.importCSS = function(doc, css_file) { - if (tinyMCE.isMSIE) - var styleSheet = doc.createStyleSheet(css_file); - else { - var elm = doc.createElement("link"); - - elm.rel = "stylesheet"; - elm.href = css_file; - - if (headArr = doc.getElementsByTagName("head")) - headArr[0].appendChild(elm); - } -}; - -TinyMCE.prototype.confirmAdd = function(e, settings) { - var elm = tinyMCE.isMSIE ? event.srcElement : e.target; - var elementId = elm.name ? elm.name : elm.id; - - tinyMCE.settings = settings; - - if (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm'])) - tinyMCE.addMCEControl(elm, elementId); - - elm.setAttribute('mce_noask', 'true'); -}; - -TinyMCE.prototype.queryInstanceCommandValue = function(editor_id, command) { - var inst = tinyMCE.getInstanceById(editor_id); - if (inst) - return inst.getDoc().queryCommandValue(command); - - return null; -}; - -TinyMCE.prototype.queryInstanceCommandState = function(editor_id, command) { - var inst = tinyMCE.getInstanceById(editor_id); - if (inst) - return inst.getDoc().queryCommandState(command); - - return null; -}; - -TinyMCE.prototype.updateContent = function(form_element_name) { - // Find MCE instance linked to given form element and copy it's value - var formElement = document.getElementById(form_element_name); - for (var n in tinyMCE.instances) { - var inst = tinyMCE.instances[n]; - - inst.switchSettings(); - - if (inst.formElement == formElement) { - var doc = inst.getDoc(); - - tinyMCE._setHTML(doc, inst.formElement.value); - - if (!tinyMCE.isMSIE) - doc.body.innerHTML = tinyMCE._cleanupHTML(doc, this.settings, doc.body, inst.visualAid); - } - } -}; - -TinyMCE.prototype.addMCEControl = function(replace_element, form_element_name, target_document) { - var id = "mce_editor_" + tinyMCE.idCounter++; - var inst = new TinyMCEControl(tinyMCE.settings); - - inst.editorId = id; - this.instances[id] = inst; - - inst.onAdd(replace_element, form_element_name, target_document); -}; - -TinyMCE.prototype.triggerSave = function(skip_cleanup, skip_callback) { - // Cleanup and set all form fields - for (var n in tinyMCE.instances) { - var inst = tinyMCE.instances[n]; - - inst.switchSettings(); - - tinyMCE.settings['preformatted'] = false; - - // Default to false - if (typeof(skip_cleanup) == "undefined") - skip_cleanup = false; - - // Default to false - if (typeof(skip_callback) == "undefined") - skip_callback = false; - - tinyMCE._setHTML(inst.getDoc(), inst.getBody().innerHTML); - - var htm = skip_cleanup ? inst.getBody().innerHTML : tinyMCE._cleanupHTML(inst.getDoc(), this.settings, inst.getBody(), this.visualAid, true); - - //var htm = tinyMCE._cleanupHTML(inst.getDoc(), tinyMCE.settings, inst.getBody(), false, true); - - if (tinyMCE.settings["encoding"] == "xml" || tinyMCE.settings["encoding"] == "html") - htm = tinyMCE.convertStringToXML(htm); - - if (!skip_callback && tinyMCE.settings['save_callback'] != "") - var content = eval(tinyMCE.settings['save_callback'] + "(inst.formTargetElementId,htm,inst.getBody());"); - - // Use callback content if available - if ((typeof(content) != "undefined") && content != null) - htm = content; - - // Replace some weird entities (Bug: #1056343) - htm = tinyMCE.regexpReplace(htm, "(", "(", "gi"); - htm = tinyMCE.regexpReplace(htm, ")", ")", "gi"); - htm = tinyMCE.regexpReplace(htm, ";", ";", "gi"); - htm = tinyMCE.regexpReplace(htm, """, """, "gi"); - htm = tinyMCE.regexpReplace(htm, "^", "^", "gi"); - - if (inst.formElement) - inst.formElement.value = htm; - } -}; - -TinyMCE.prototype._convertOnClick = function(node) { - // Skip on MSIE < 6+ - if (tinyMCE.isMSIE5) - return; - - // Convert all onclick to mce_onclick - var elms = node.getElementsByTagName("a"); - for (var i=0; i", "gi"); - content = tinyMCE.regexpReplace(content, "\r", "
", "gi"); - content = tinyMCE.regexpReplace(content, "\n", "
", "gi"); - } - - // Call custom cleanup code - content = tinyMCE._customCleanup("insert_to_editor", content); - - if (tinyMCE.isMSIE) { - // Ugly!!! - window.setInterval('try{tinyMCE.getCSSClasses(document.frames["' + editor_id + '"].document, "' + editor_id + '");}catch(e){}', 500); - - if (tinyMCE.settings["force_br_newlines"]) - document.frames[editor_id].document.styleSheets[0].addRule("p", "margin: 0px;"); - - var body = document.frames[editor_id].document.body; - - tinyMCE.addEvent(body, "beforepaste", TinyMCE.prototype.eventPatch); - tinyMCE.addEvent(body, "beforecut", TinyMCE.prototype.eventPatch); - tinyMCE.addEvent(body, "paste", TinyMCE.prototype.eventPatch); - - body.editorId = editor_id; - } - - // Fix for bug #958637 - if (!tinyMCE.isMSIE) { - var contentElement = inst.getDoc().createElement("body"); - var doc = inst.getDoc(); - - contentElement.innerHTML = content; - - // Remove weridness! - if (tinyMCE.settings['force_p_newlines']) - content = content.replace(new RegExp('<>', 'g'), ""); - - if (tinyMCE.settings['cleanup_on_startup']) - inst.getBody().innerHTML = tinyMCE._cleanupHTML(doc, this.settings, contentElement); - else { - // Convert all strong/em to b/i - content = tinyMCE.regexpReplace(content, "", "", "gi"); - content = tinyMCE.regexpReplace(content, "", "", "gi"); - inst.getBody().innerHTML = content; - } - - inst.convertAllRelativeURLs(); - } else { - if (tinyMCE.settings['cleanup_on_startup']) { - tinyMCE._setHTML(inst.getDoc(), content); - // Produces permission denied error in MSIE 5.5 - eval('try {inst.getBody().innerHTML = tinyMCE._cleanupHTML(inst.contentDocument, this.settings, inst.getBody());} catch(e) {}'); - } else - inst.getBody().innerHTML = content; - } - - tinyMCE._convertOnClick(inst.getBody()); - - // Fix for bug #957681 - //inst.getDoc().designMode = inst.getDoc().designMode; - - // Setup element references - var parentElm = document.getElementById(inst.editorId + '_parent'); - if (parentElm.lastChild.nodeName.toLowerCase() == "input") - inst.formElement = parentElm.lastChild; - else - inst.formElement = parentElm.nextSibling; - - tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual']); - tinyMCE.executeCallback('setupcontent_callback', '_setupContent', 0, editor_id, inst.getBody(), inst.getDoc()); - - // Re-add design mode on mozilla - if (!tinyMCE.isMSIE) - TinyMCE.prototype.addEventHandlers(editor_id); - - inst.startContent = inst.getBody().innerHTML; - - // Trigger node change, this call locks buttons for tables and so forth - tinyMCE.selectedInstance = inst; - tinyMCE.selectedElement = inst.contentWindow.document.body; - tinyMCE.triggerNodeChange(false, true); - - // Call custom DOM cleanup - tinyMCE._customCleanup("insert_to_editor_dom", inst.contentWindow.document.body); -}; - -TinyMCE.prototype.cancelEvent = function(e) { - if (tinyMCE.isMSIE) { - e.returnValue = false; - e.cancelBubble = true; - } else - e.preventDefault(); -}; - -TinyMCE.prototype.removeTinyMCEFormElements = function(form_obj) { - // Disable all UI form elements that TinyMCE created - for (var i=0; i"); - rng.collapse(false); - rng.select(); - - tinyMCE.triggerNodeChange(false); - return false; - } - } - - // Backspace or delete - if (e.keyCode == 8 || e.keyCode == 46) { - tinyMCE.selectedElement = e.target; - tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a"); - tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img"); - tinyMCE.triggerNodeChange(false); - } - - return false; - break; - - case "keyup": - case "keydown": - if (e.target.editorId) - tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId]; - else - return; - - if (tinyMCE.selectedInstance) - tinyMCE.selectedInstance.switchSettings(); - - // Handle backspace - if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) { - // Insert P element instead of BR - if (tinyMCE.selectedInstance._handleBackSpace(e.type)) { - // Cancel event - e.preventDefault(); - return false; - } - } - - tinyMCE.selectedElement = null; - tinyMCE.selectedNode = null; - var elm = tinyMCE.selectedInstance.getFocusElement(); - tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a"); - tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img"); - tinyMCE.selectedElement = elm; - - // Update visualaids on tabs - if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9) - tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings['visual']); - - // Run image/link fix on Gecko if diffrent document base on paste - if (tinyMCE.isGecko && tinyMCE.settings['document_base_url'] != "" + document.location.href && e.type == "keyup" && e.ctrlKey && e.keyCode == 86) - tinyMCE.selectedInstance.fixBrokenURLs(); - - // Insert space instead of   -/* if (e.type == "keydown" && e.keyCode == 32) { - if (tinyMCE.selectedInstance._insertSpace()) { - // Cancel event - e.returnValue = false; - e.cancelBubble = true; - return false; - } - }*/ - - // MSIE custom key handling - if (tinyMCE.isMSIE && tinyMCE.settings['custom_undo_redo']) { - // Check if it's a position key press - var keys = new Array(13,45,36,35,33,34,37,38,39,40); - var posKey = false; - for (var i=0; i 18 && e.keyCode != 255)) { - tinyMCE.selectedInstance.execCommand("mceAddUndoLevel"); - tinyMCE.selectedInstance.typing = true; - tinyMCE.triggerNodeChange(false); - } - - if (posKey && e.type == "keyup") - tinyMCE.triggerNodeChange(false); - - var keys = new Array(8,46); // Backspace,Delete - for (var i=0; i 0) { - for (var i=0; i" + this.convertStringToXML(String.fromCharCode(160)) + ""; - - // Is MSIE script element - if (tinyMCE.isMSIE && elementName == "script") - return "<" + elementName + elementAttribs + ">" + node.text + ""; - - // Clean up children - if (node.hasChildNodes()) { - // Force BR - if (elementName == "p" && tinyMCE.cleanup_force_br_newlines) - output += ""; - else - output += "<" + elementName + elementAttribs + ">"; - - for (var i=0; i"; - } else { - // Allways leave anchor elements open - if (openTag) - output += "<" + elementName + elementAttribs + ">"; - else { - // No children - output += "<" + elementName + elementAttribs + " />"; - } - } - - return output; - - case 3: // Text - // Do not convert script elements - if (node.parentNode.nodeName.toLowerCase() == "script") - return node.nodeValue; - - return this.convertStringToXML(node.nodeValue); - - case 8: // Comment - return ""; - - default: // Unknown - return "[UNKNOWN NODETYPE " + node.nodeType + "]"; - } -}; - -TinyMCE.prototype.convertStringToXML = function(html_data) { - var output = ""; - - for (var i=0; i 127) - output += '&#' + chr + ";"; - else - output += String.fromCharCode(chr); - - continue; - } - - // Raw entities - if (tinyMCE.settings['entity_encoding'] == "raw") { - output += String.fromCharCode(chr); - continue; - } - - // Named entities - if (typeof(tinyMCE.cleanup_entities["c" + chr]) != 'undefined' && tinyMCE.cleanup_entities["c" + chr] != '') - output += '&' + tinyMCE.cleanup_entities["c" + chr] + ';'; - else - output += '' + String.fromCharCode(chr); - } - - return output; -}; - -TinyMCE.prototype._getCleanupElementName = function(chunk) { - var pos; - - if (chunk.charAt(0) == '+') - chunk = chunk.substring(1); - - if ((pos = chunk.indexOf('/')) != -1) - chunk = chunk.substring(0, pos); - - if ((pos = chunk.indexOf('[')) != -1) - chunk = chunk.substring(0, pos); - - return chunk; -}; - -TinyMCE.prototype._initCleanup = function() { - // Parse valid elements and attributes - var validElements = tinyMCE.settings["valid_elements"]; - validElements = validElements.split(','); - - // Handle extended valid elements - var extendedValidElements = tinyMCE.settings["extended_valid_elements"]; - extendedValidElements = extendedValidElements.split(','); - for (var i=0; i[ \n\r]*
[ \n\r]*

', '
', 'gi'); - element.innerHTML = tinyMCE.regexpReplace(element.innerHTML, '', '', 'gi'); - } - - var html = this.cleanupNode(element); - - if (tinyMCE.settings['debug']) - alert("Cleanup process executed in: " + (new Date().getTime()-startTime) + " ms."); - - // Remove pesky HR paragraphs - html = tinyMCE.regexpReplace(html, '


', '
'); - html = tinyMCE.regexpReplace(html, '

 


 

', '
'); - - // Remove some mozilla crap - if (!tinyMCE.isMSIE) - html = html.replace(new RegExp('', 'g'), ""); - - if (tinyMCE.settings['apply_source_formatting']) { - html = html.replace(new RegExp('<(p|div)([^>]*)>', 'g'), "\n<$1$2>\n"); - html = html.replace(new RegExp('<\/(p|div)([^>]*)>', 'g'), "\n\n"); - html = html.replace(new RegExp('
', 'g'), "
\n"); - } - - if (tinyMCE.settings['force_br_newlines']) { - var re = new RegExp('

 

', 'g'); - html = html.replace(re, "
"); - } - - if (tinyMCE.settings['force_p_newlines']) { - // Remove weridness! - var re = new RegExp('<>', 'g'); - html = html.replace(re, ""); - } - - if (tinyMCE.settings['remove_linebreaks']) - html = html.replace(new RegExp('\r|\n', 'g'), ' '); - - // Call custom cleanup code - html = tinyMCE._customCleanup(on_save ? "get_from_editor" : "insert_to_editor", html); - - // Emtpy node, return empty - var chk = tinyMCE.regexpReplace(html, "[ \t\r\n]", ""); - if (chk == "
" || chk == "
" || chk == "

 

" || chk == "

 

" || chk == "

") - html = ""; - - if (tinyMCE.settings["preformatted"]) - return "
" + html + "
"; - - return html; -}; - -TinyMCE.prototype.setAttrib = function(element, name, value, no_fix_value) { - if (!no_fix_value && value != null) { - var re = new RegExp('[^0-9%]', 'g'); - value = value.replace(re, ''); - } - - if (value != null && value != "") - element.setAttribute(name, value); - else - element.removeAttribute(name); - - if (value != null && value != "") - element.setAttribute(name, value); - else - element.removeAttribute(name); -}; - -TinyMCE.prototype.insertLink = function(href, target, title, onclick) { - this.execCommand("mceAddUndoLevel"); - - if (this.selectedInstance && this.selectedElement && this.selectedElement.nodeName.toLowerCase() == "img") { - var doc = this.selectedInstance.getDoc(); - var linkElement = tinyMCE.getParentElement(this.selectedElement, "a"); - var newLink = false; - - if (!linkElement) { - linkElement = doc.createElement("a"); - newLink = true; - } - - href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, linkElement);"); - tinyMCE.setAttrib(linkElement, 'href', href); - tinyMCE.setAttrib(linkElement, 'target', target); - tinyMCE.setAttrib(linkElement, 'title', title); - tinyMCE.setAttrib(linkElement, 'mce_onclick', onclick); - - if (newLink) { - linkElement.appendChild(this.selectedElement.cloneNode(true)); - this.selectedElement.parentNode.replaceChild(linkElement, this.selectedElement); - } - - return; - } - - if (!this.linkElement && this.selectedInstance) { - this.selectedInstance.contentDocument.execCommand("createlink", false, "#mce_temp_url#"); - tinyMCE.linkElement = this.getElementByAttributeValue(this.selectedInstance.contentDocument.body, "a", "href", "#mce_temp_url#"); - - var elementArray = this.getElementsByAttributeValue(this.selectedInstance.contentDocument.body, "a", "href", "#mce_temp_url#"); - - for (var i=0; i= strTok2.length) { - for (var i=0; i= strTok2.length || strTok1[i] != strTok2[i]) { - breakPoint = i + 1; - break; - } - } - } - - if (strTok1.length < strTok2.length) { - for (var i=0; i= strTok1.length || strTok1[i] != strTok2[i]) { - breakPoint = i + 1; - break; - } - } - } - - if (breakPoint == 1) - return url_to_relative; - - for (var i=0; i<(strTok1.length-(breakPoint-1)); i++) - outputString += "../"; - - for (var i=breakPoint-1; i=0; i--) { - if (baseURLParts[i].length == 0) - continue; - - newBaseURLParts[newBaseURLParts.length] = baseURLParts[i]; - } - baseURLParts = newBaseURLParts.reverse(); - - // Merge relURLParts chunks - var newRelURLParts = new Array(); - var numBack = 0; - for (var i=relURLParts.length-1; i>=0; i--) { - if (relURLParts[i].length == 0 || relURLParts[i] == ".") - continue; - - if (relURLParts[i] == '..') { - numBack++; - continue; - } - - if (numBack > 0) { - numBack--; - continue; - } - - newRelURLParts[newRelURLParts.length] = relURLParts[i]; - } - - relURLParts = newRelURLParts.reverse(); - - // Remove end from absolute path - var len = baseURLParts.length-numBack; - var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/'); - var start = "", end = ""; - - // Build start part - if (baseURL['protocol']) - start += baseURL['protocol'] + "://"; - - if (baseURL['host']) - start += baseURL['host']; - - if (baseURL['port']) - start += ":" + baseURL['port']; - - // Build end part - if (relURL['query']) - end += "?" + relURL['query']; - - if (relURL['anchor']) - end += "#" + relURL['anchor']; - - // Re-add trailing slash if it's removed - if (relative_url.charAt(relative_url.length-1) == "/") - end += "/"; - - return start + absPath + end; -}; - -TinyMCE.prototype.getParam = function(name, default_value, strip_whitespace, split_chr) { - var value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name]; - - // Fix bool values - if (value == "true" || value == "false") - return (value == "true"); - - if (strip_whitespace) - value = tinyMCE.regexpReplace(value, "[ \t\r\n]", ""); - - if (typeof(split_chr) != "undefined" && split_chr != null) { - value = value.split(split_chr); - var outArray = new Array(); - - for (var i=0; i 0); - - if (tinyMCE.settings['custom_undo_redo']) { - undoIndex = inst.undoIndex; - undoLevels = inst.undoLevels.length; - } - - tinyMCE.executeCallback('handleNodeChangeCallback', '_handleNodeChange', 0, editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection); - } - } - - if (this.selectedInstance && (typeof(focus) == "undefined" || focus)) - this.selectedInstance.contentWindow.focus(); -}; - -TinyMCE.prototype._customCleanup = function(type, content) { - // Call custom cleanup - var customCleanup = tinyMCE.settings['cleanup_callback']; - if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined") - content = eval(customCleanup + "(type, content);"); - - // Trigger plugin cleanups - var plugins = tinyMCE.getParam('plugins', '', true, ','); - for (var i=0; i 0) - className += " "; - - className += classNames[i]; - } - - return className; -}; - -TinyMCE.prototype.handleVisualAid = function(element, deep, state) { - if (!element) - return; - - var tableElement = null; - - switch (element.nodeName.toLowerCase()) { - case "table": - var oldW = element.style.width; - var oldH = element.style.height; - - element.className = tinyMCE.getVisualAidClass(element.className, state && element.getAttribute("border") == 0); - - element.style.width = oldW; - element.style.height = oldH; - - for (var y=0; y'; - return; - } - - break;*/ - } - - if (deep && element.hasChildNodes()) { - for (var i=0; i

breaks runtime? - if (tinyMCE.isMSIE) { - var re = new RegExp('


', 'g'); - html_content = html_content.replace(re, "
"); - } - - doc.body.innerHTML = html_content; - - // Content duplication bug fix - if (tinyMCE.isMSIE && tinyMCE.settings['fix_content_duplication']) { - // Remove P elements in P elements - var paras = doc.getElementsByTagName("P"); - for (var i=0; i<\/o:p>", "
"); - html = tinyMCE.regexpReplace(html, " <\/o:p>", ""); - html = tinyMCE.regexpReplace(html, "", ""); - html = tinyMCE.regexpReplace(html, "

<\/p>", ""); - html = tinyMCE.regexpReplace(html, "

<\/p>\r\n

<\/p>", ""); - html = tinyMCE.regexpReplace(html, "

 <\/p>", "
"); - html = tinyMCE.regexpReplace(html, "

\s*(

\s*)?", "

"); - html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "

"); - } - - // Always set the htmlText output - doc.body.innerHTML = html; - } -}; - -TinyMCE.prototype.getImageSrc = function(str) { - var pos = -1; - - if (!str) - return ""; - - if ((pos = str.indexOf('this.src=')) != -1) { - var src = str.substring(pos + 10); - - src = src.substring(0, src.indexOf('\'')); - - return src; - } - - return ""; -}; - -TinyMCE.prototype._getElementById = function(element_id) { - var elm = document.getElementById(element_id); - if (!elm) { - // Check for element in forms - for (var j=0; j 0) { - var csses = null; - - // Just ignore any errors - eval("try {var csses = tinyMCE.isMSIE ? doc.styleSheets(0).rules : doc.styleSheets[0].cssRules;} catch(e) {}"); - if (!csses) - return new Array(); - - for (var i=0; i 0) - tinyMCE.cssClasses = output; - - return output; -}; - -TinyMCE.prototype.regexpReplace = function(in_str, reg_exp, replace_str, opts) { - if (typeof(opts) == "undefined") - opts = 'g'; - - var re = new RegExp(reg_exp, opts); - return in_str.replace(re, replace_str); -}; - -TinyMCE.prototype.cleanupEventStr = function(str) { - str = "" + str; - str = str.replace('function anonymous()\n{\n', ''); - str = str.replace('\n}', ''); - - return str; -}; - -TinyMCE.prototype.getAbsPosition = function(node) { - var pos = new Object(); - - pos.absLeft = pos.absTop = 0; - - var parentNode = node; - while (parentNode) { - pos.absLeft += parentNode.offsetLeft; - pos.absTop += parentNode.offsetTop; - - parentNode = parentNode.offsetParent; - } - - return pos; -}; - -TinyMCE.prototype.openFileBrowser = function(field_name, url, type, win) { - var cb = tinyMCE.getParam("file_browser_callback"); - - this.setWindowArg("window", win); - - // Call to external callback - if(eval('typeof('+cb+')') == "undefined") - alert("Callback function: " + cb + " could not be found."); - else - eval(cb + "(field_name, url, type, win);"); -}; - -TinyMCE.prototype.getControlHTML = function(control_name) { - var themePlugins = tinyMCE.getParam('plugins', '', true, ','); - var templateFunction; - - // Is it defined in any plugins - for (var i=themePlugins.length; i>=0; i--) { - templateFunction = 'TinyMCE_' + themePlugins[i] + "_getControlHTML"; - if (eval("typeof(" + templateFunction + ")") != 'undefined') { - var html = eval(templateFunction + "('" + control_name + "');"); - if (html != "") - return tinyMCE.replaceVar(html, "pluginurl", tinyMCE.baseURL + "/plugins/" + themePlugins[i]); - } - } - - return eval('TinyMCE_' + tinyMCE.settings['theme'] + "_getControlHTML" + "('" + control_name + "');"); -}; - -TinyMCE.prototype._themeExecCommand = function(editor_id, element, command, user_interface, value) { - var themePlugins = tinyMCE.getParam('plugins', '', true, ','); - var templateFunction; - - // Is it defined in any plugins - for (var i=themePlugins.length; i>=0; i--) { - templateFunction = 'TinyMCE_' + themePlugins[i] + "_execCommand"; - if (eval("typeof(" + templateFunction + ")") != 'undefined') { - if (eval(templateFunction + "(editor_id, element, command, user_interface, value);")) - return true; - } - } - - // Theme funtion - templateFunction = 'TinyMCE_' + tinyMCE.settings['theme'] + "_execCommand"; - if (eval("typeof(" + templateFunction + ")") != 'undefined') - return eval(templateFunction + "(editor_id, element, command, user_interface, value);"); - - // Pass to normal - return false; -}; - -TinyMCE.prototype._getThemeFunction = function(suffix, skip_plugins) { - if (skip_plugins) - return 'TinyMCE_' + tinyMCE.settings['theme'] + suffix; - - var themePlugins = tinyMCE.getParam('plugins', '', true, ','); - var templateFunction; - - // Is it defined in any plugins - for (var i=themePlugins.length; i>=0; i--) { - templateFunction = 'TinyMCE_' + themePlugins[i] + suffix; - if (eval("typeof(" + templateFunction + ")") != 'undefined') - return templateFunction; - } - - return 'TinyMCE_' + tinyMCE.settings['theme'] + suffix; -}; - - -TinyMCE.prototype.isFunc = function(func_name) { - if (func_name == null || func_name == "") - return false; - - return eval("typeof(" + func_name + ")") != "undefined"; -}; - -TinyMCE.prototype.exec = function(func_name, args) { - var str = func_name + '('; - - // Add all arguments - for (var i=3; i 1 && tinyMCE.currentConfig != this.settings['index']) { - tinyMCE.settings = this.settings; - tinyMCE.currentConfig = this.settings['index']; - } -}; - -TinyMCEControl.prototype.fixBrokenURLs = function() { - var body = this.getBody(); - - var elms = body.getElementsByTagName("img"); - for (var i=0; i 0) - rng.selectNodeContents(nodes[0]); - else - rng.selectNodeContents(node); - } else - rng.selectNode(node); - - if (collapse) { - // Special treatment of textnode collapse - if (!to_start && node.nodeType == 3) { - rng.setStart(node, node.nodeValue.length); - rng.setEnd(node, node.nodeValue.length); - } else - rng.collapse(to_start); - } - - sel.removeAllRanges(); - sel.addRange(rng); - } - - this.scrollToNode(node); - - // Set selected element - tinyMCE.selectedElement = null; - if (node.nodeType == 1) - tinyMCE.selectedElement = node; -}; - -TinyMCEControl.prototype.scrollToNode = function(node) { - // Scroll to node position - var pos = tinyMCE.getAbsPosition(node); - var doc = this.getDoc(); - var scrollX = doc.body.scrollLeft + doc.documentElement.scrollLeft; - var scrollY = doc.body.scrollTop + doc.documentElement.scrollTop; - var height = tinyMCE.isMSIE ? document.getElementById(this.editorId).style.pixelHeight : this.targetElement.clientHeight; - - // Only scroll if out of visible area - if (!tinyMCE.settings['auto_resize'] && !(node.absTop > scrollY && node.absTop < (scrollY - 25 + height))) - this.contentWindow.scrollTo(pos.absLeft, pos.absTop - height + 25); -}; - -TinyMCEControl.prototype.getBody = function() { - return this.getDoc().body; -}; - -TinyMCEControl.prototype.getDoc = function() { - return this.contentWindow.document; -}; - -TinyMCEControl.prototype.getWin = function() { - return this.contentWindow; -}; - -TinyMCEControl.prototype.getSel = function() { - if (tinyMCE.isMSIE) - return this.getDoc().selection; - - var sel = this.contentWindow.getSelection(); - - // Fake getRangeAt - if (tinyMCE.isSafari && !sel.getRangeAt) { - var newSel = new Object(); - var doc = this.getDoc(); - - function getRangeAt(idx) { - var rng = new Object(); - - rng.startContainer = this.focusNode; - rng.endContainer = this.anchorNode; - rng.commonAncestorContainer = this.focusNode; - rng.createContextualFragment = function (html) { - // Seems to be a tag - if (html.charAt(0) == '<') { - var elm = doc.createElement("div"); - - elm.innerHTML = html; - - return elm.firstChild; - } - - return doc.createTextNode("UNSUPPORTED, DUE TO LIMITATIONS IN SAFARI!"); - }; - - rng.deleteContents = function () { - doc.execCommand("Delete", false, ""); - }; - - return rng; - } - - // Patch selection - - newSel.focusNode = sel.baseNode; - newSel.focusOffset = sel.baseOffset; - newSel.anchorNode = sel.extentNode; - newSel.anchorOffset = sel.extentOffset; - newSel.getRangeAt = getRangeAt; - newSel.text = "" + sel; - newSel.realSelection = sel; - - newSel.toString = function () {return this.text;}; - - return newSel; - } - - return sel; -}; - -TinyMCEControl.prototype.getRng = function() { - var sel = this.getSel(); - if (sel == null) - return null; - - if (tinyMCE.isMSIE) - return sel.createRange(); - - return this.getSel().getRangeAt(0); -}; - -TinyMCEControl.prototype._insertPara = function(e) { - function isEmpty(para) { - function isEmptyHTML(html) { - return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == ""; - } - - // Check for images - if (para.getElementsByTagName("img").length > 0) - return false; - - // Check for tables - if (para.getElementsByTagName("table").length > 0) - return false; - - // Check for HRs - if (para.getElementsByTagName("hr").length > 0) - return false; - - // Check all textnodes - var nodes = tinyMCE.getNodeTree(para, new Array(), 3); - for (var i=0; i <" + blockName + "> "; - paraAfter = body.childNodes[1]; - } - - this.selectNode(paraAfter, true, true); - - return true; - } - - // Place first part within new paragraph - if (startChop.nodeName == blockName) - rngBefore.setStart(startChop, 0); - else - rngBefore.setStartBefore(startChop); - rngBefore.setEnd(startNode, startOffset); - paraBefore.appendChild(rngBefore.cloneContents()); - - // Place secound part within new paragraph - rngAfter.setEndAfter(endChop); - rngAfter.setStart(endNode, endOffset); - var contents = rngAfter.cloneContents(); - if (contents.firstChild && contents.firstChild.nodeName == blockName) { - var nodes = contents.firstChild.childNodes; - for (var i=0; i 0) - rng.pasteHTML('
' + rng.htmlText + "
"); - - tinyMCE.triggerNodeChange(); - return; - } - } - } - - switch (command) { - case "mceSelectNode": - this.selectNode(value); - tinyMCE.triggerNodeChange(); - tinyMCE.selectedNode = value; - break; - - case "mceSelectNodeDepth": - var parentNode = this.getFocusElement(); - for (var i=0; parentNode; i++) { - if (parentNode.nodeName.toLowerCase() == "body") - break; - - if (parentNode.nodeName.toLowerCase() == "#text") { - i--; - parentNode = parentNode.parentNode; - continue; - } - - if (i == value) { - this.selectNode(parentNode, false); - tinyMCE.triggerNodeChange(); - tinyMCE.selectedNode = parentNode; - return; - } - - parentNode = parentNode.parentNode; - } - - break; - - case "HiliteColor": - if (tinyMCE.isGecko) { - this.getDoc().execCommand("useCSS", false, false); - this.getDoc().execCommand('hilitecolor', false, value); - this.getDoc().execCommand("useCSS", false, true); - } else - this.getDoc().execCommand('BackColor', false, value); - - break; - - case "Cut": - case "Copy": - case "Paste": - var cmdFailed = false; - - // Try executing command - eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}'); - - // Alert error in gecko if command failed - if (tinyMCE.isGecko && cmdFailed) { - // Confirm more info - if (confirm(tinyMCE.getLang('lang_clipboard_msg'))) - window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', 'mceExternal'); - - return; - } else - tinyMCE.triggerNodeChange(); - break; - - case "mceSetContent": - if (!value) - value = ""; - - // Call custom cleanup code - html_content = tinyMCE._customCleanup("insert_to_editor", value); - tinyMCE._setHTML(doc, value); - doc.body.innerHTML = tinyMCE._cleanupHTML(doc, tinyMCE.settings, doc.body); - tinyMCE.handleVisualAid(doc.body, true, this.visualAid); - return true; - - case "mceLink": - var selectedText = ""; - - if (tinyMCE.isMSIE) { - var rng = doc.selection.createRange(); - selectedText = rng.text; - } else - selectedText = this.getSel().toString(); - - if (!tinyMCE.linkElement) { - if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0)) - return; - } - - var href = "", target = "", title = "", onclick = "", action = "insert"; - - if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a") - tinyMCE.linkElement = tinyMCE.selectedElement; - - // Is anchor not a link - if (tinyMCE.linkElement != null && tinyMCE.getAttrib(tinyMCE.linkElement, 'href') == "") - tinyMCE.linkElement = null; - - if (tinyMCE.linkElement) { - href = tinyMCE.getAttrib(tinyMCE.linkElement, 'href'); - target = tinyMCE.getAttrib(tinyMCE.linkElement, 'target'); - title = tinyMCE.getAttrib(tinyMCE.linkElement, 'title'); - onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_onclick'); - - // Try old onclick to if copy/pasted content - if (onclick == "") - onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick'); - - onclick = tinyMCE.cleanupEventStr(onclick); - - // Fix for drag-drop/copy paste bug in Mozilla - mceRealHref = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_real_href'); - if (mceRealHref != "") - href = mceRealHref; - - href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);"); - action = "update"; - } - - if (this.settings['insertlink_callback']) { - var returnVal = eval(this.settings['insertlink_callback'] + "(href, target, title, onclick, action);"); - if (returnVal && returnVal['href']) - tinyMCE.insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick']); - } else { - tinyMCE.openWindow(this.insertLinkTemplate, {href : href, target : target, title : title, onclick : onclick, action : action}); - } - break; - - case "mceImage": - var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = ""; - var title = "", onmouseover = "", onmouseout = "", action = "insert"; - var img = tinyMCE.imgElement; - - if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") { - img = tinyMCE.selectedElement; - tinyMCE.imgElement = img; - } - - if (img) { - // Is it a internal MCE visual aid image, then skip this one. - if (tinyMCE.getAttrib(img, 'name').indexOf('mce_') == 0) - return; - - src = tinyMCE.getAttrib(img, 'src'); - alt = tinyMCE.getAttrib(img, 'alt'); - - // Try polling out the title - if (alt == "") - alt = tinyMCE.getAttrib(img, 'title'); - - // Fix width/height attributes if the styles is specified - if (tinyMCE.isGecko) { - var w = img.style.width; - if (w != null && w != "") - img.setAttribute("width", w); - - var h = img.style.height; - if (h != null && h != "") - img.setAttribute("height", h); - } - - border = tinyMCE.getAttrib(img, 'border'); - hspace = tinyMCE.getAttrib(img, 'hspace'); - vspace = tinyMCE.getAttrib(img, 'vspace'); - width = tinyMCE.getAttrib(img, 'width'); - height = tinyMCE.getAttrib(img, 'height'); - align = tinyMCE.getAttrib(img, 'align'); - onmouseover = tinyMCE.getAttrib(img, 'onmouseover'); - onmouseout = tinyMCE.getAttrib(img, 'onmouseout'); - title = tinyMCE.getAttrib(img, 'title'); - - // Is realy specified? - if (tinyMCE.isMSIE) { - width = img.attributes['width'].specified ? width : ""; - height = img.attributes['height'].specified ? height : ""; - } - - onmouseover = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover)); - onmouseout = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout)); - - // Fix for drag-drop/copy paste bug in Mozilla - mceRealSrc = tinyMCE.getAttrib(img, 'mce_real_src'); - if (mceRealSrc != "") - src = mceRealSrc; - - src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);"); - - if (onmouseover != "") - onmouseover = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, img, true);"); - - if (onmouseout != "") - onmouseout = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, img, true);"); - - action = "update"; - } - - if (this.settings['insertimage_callback']) { - var returnVal = eval(this.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);"); - if (returnVal && returnVal['src']) - tinyMCE.insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']); - } else - tinyMCE.openWindow(this.insertImageTemplate, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action}); - break; - - case "mceCleanupWord": - if (tinyMCE.isMSIE) { - var html = this.getBody().createTextRange().htmlText; - - if (html.indexOf('="mso') != -1) { - tinyMCE._setHTML(this.contentDocument, this.getBody().innerHTML); - html = tinyMCE._cleanupHTML(this.contentDocument, this.settings, this.getBody(), this.visualAid); - } - - this.getBody().innerHTML = html; - } - break; - - case "mceCleanup": - tinyMCE._setHTML(this.contentDocument, this.getBody().innerHTML); - this.getBody().innerHTML = tinyMCE._cleanupHTML(this.contentDocument, this.settings, this.getBody(), this.visualAid); - tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid); - this.repaint(); - tinyMCE.triggerNodeChange(); - break; - - case "mceAnchor": - if (!user_interface) { - var aElm = tinyMCE.getParentElement(this.getFocusElement(), "a", "name"); - if (aElm) { - if (value == null || value == "") { - if (tinyMCE.isMSIE) { - aElm.outerHTML = aElm.innerHTML; - } else { - var rng = aElm.ownerDocument.createRange(); - rng.setStartBefore(aElm); - rng.setEndAfter(aElm); - rng.deleteContents(); - rng.insertNode(rng.createContextualFragment(aElm.innerHTML)); - } - } else - aElm.setAttribute('name', value); - } else { - this.getDoc().execCommand("fontname", false, "#mce_temp_font#"); - var elementArray = tinyMCE.getElementsByAttributeValue(this.getBody(), "font", "face", "#mce_temp_font#"); - for (var x=0; x 0) { - value = tinyMCE.replaceVar(value, "selection", selectedText); - tinyMCE.execCommand('mceInsertContent',false,value); - } - - tinyMCE.triggerNodeChange(); - break; - - case "mceSetAttribute": - if (typeof(value) == 'object') { - var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets']; - var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms); - - if (targetNode) { - targetNode.setAttribute(value['name'], value['value']); - tinyMCE.triggerNodeChange(); - } - } - break; - - case "mceSetCSSClass": - var selectedText = false; - - if (tinyMCE.isMSIE) { - var rng = doc.selection.createRange(); - selectedText = (rng.text && rng.text.length > 0); - } else - selectedText = (this.getSel().toString().length > 0); - - // Use selectedNode instead if defined - if (tinyMCE.selectedNode) - tinyMCE.selectedElement = tinyMCE.selectedNode; - - if (selectedText && !tinyMCE.selectedNode) { - this.getDoc().execCommand("RemoveFormat", false, null); - if (value == null) - return this.execCommand("RemoveFormat", false, null); - - this.getDoc().execCommand("fontname", false, "#mce_temp_font#"); - var elementArray = tinyMCE.getElementsByAttributeValue(this.getBody(), "font", "face", "#mce_temp_font#"); - - // Change them all - for (var x=0; x customUndoLevels) { - for (var i=0; i 0) { - this.undoIndex--; - this.getBody().innerHTML = this.undoLevels[this.undoIndex]; - } - - // debug("Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex); - tinyMCE.triggerNodeChange(); - } else - this.getDoc().execCommand(command, user_interface, value); - break; - - case "Redo": - if (tinyMCE.settings['custom_undo_redo']) { - if (this.undoIndex < (this.undoLevels.length-1)) { - this.undoIndex++; - this.getBody().innerHTML = this.undoLevels[this.undoIndex]; - // debug("Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex); - } - - tinyMCE.triggerNodeChange(); - } else - this.getDoc().execCommand(command, user_interface, value); - break; - - case "mceToggleVisualAid": - this.visualAid = !this.visualAid; - tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid); - tinyMCE.triggerNodeChange(); - break; - - case "removeformat": - var text = this.getSelectedText(); - - if (tinyMCE.isMSIE) { - try { - win.focus(); - var rng = doc.selection.createRange(); - rng.execCommand("RemoveFormat", false, null); - rng.pasteHTML(rng.text); - } catch (e) { - // Do nothing - } - } else - this.getDoc().execCommand(command, user_interface, value); - - // Remove class - if (text.length == 0) - this.execCommand("mceSetCSSClass", false, ""); - - tinyMCE.triggerNodeChange(); - break; - - default: - this.getDoc().execCommand(command, user_interface, value); - tinyMCE.triggerNodeChange(); - } -}; - -TinyMCEControl.prototype.queryCommandValue = function(command) { - return this.getDoc().queryCommandValue(command); -}; - -TinyMCEControl.prototype.queryCommandState = function(command) { - return this.getDoc().queryCommandState(command); -}; - -TinyMCEControl.prototype.onAdd = function(replace_element, form_element_name, target_document) { - var targetDoc = target_document ? target_document : document; - - this.targetDoc = targetDoc; - - tinyMCE.themeURL = tinyMCE.baseURL + "/themes/" + this.settings['theme']; - this.settings['themeurl'] = tinyMCE.themeURL; - - if (!replace_element) { - alert("Error: Could not find the target element."); - return false; - } - - var templateFunction = tinyMCE._getThemeFunction('_getInsertLinkTemplate'); - if (eval("typeof(" + templateFunction + ")") != 'undefined') - this.insertLinkTemplate = eval(templateFunction + '(this.settings);'); - - var templateFunction = tinyMCE._getThemeFunction('_getInsertImageTemplate'); - if (eval("typeof(" + templateFunction + ")") != 'undefined') - this.insertImageTemplate = eval(templateFunction + '(this.settings);'); - - var templateFunction = tinyMCE._getThemeFunction('_getEditorTemplate'); - if (eval("typeof(" + templateFunction + ")") == 'undefined') { - alert("Error: Could not find the template function: " + templateFunction); - return false; - } - - var editorTemplate = eval(templateFunction + '(this.settings, this.editorId);'); - - var deltaWidth = editorTemplate['delta_width'] ? editorTemplate['delta_width'] : 0; - var deltaHeight = editorTemplate['delta_height'] ? editorTemplate['delta_height'] : 0; - var html = '' + editorTemplate['html']; - - var templateFunction = tinyMCE._getThemeFunction('_handleNodeChange', true); - if (eval("typeof(" + templateFunction + ")") != 'undefined') - this.settings['handleNodeChangeCallback'] = templateFunction; - - html = tinyMCE.replaceVar(html, "editor_id", this.editorId); - html = tinyMCE.replaceVar(html, "default_document", tinyMCE.baseURL + "/blank.htm"); - this.settings['default_document'] = tinyMCE.baseURL + "/blank.htm"; - - this.settings['old_width'] = this.settings['width']; - this.settings['old_height'] = this.settings['height']; - - // Set default width, height - if (this.settings['width'] == -1) - this.settings['width'] = replace_element.offsetWidth; - - if (this.settings['height'] == -1) - this.settings['height'] = replace_element.offsetHeight; - - // Try the style width - if (this.settings['width'] == 0) - this.settings['width'] = replace_element.style.width; - - // Try the style height - if (this.settings['height'] == 0) - this.settings['height'] = replace_element.style.height; - - // If no width/height then default to 320x240, better than nothing - if (this.settings['width'] == 0) - this.settings['width'] = 320; - - if (this.settings['height'] == 0) - this.settings['height'] = 240; - - this.settings['area_width'] = parseInt(this.settings['width']); - this.settings['area_height'] = parseInt(this.settings['height']); - this.settings['area_width'] += deltaWidth; - this.settings['area_height'] += deltaHeight; - - // Special % handling - if (("" + this.settings['width']).indexOf('%') != -1) - this.settings['area_width'] = "100%"; - - if (("" + this.settings['height']).indexOf('%') != -1) - this.settings['area_height'] = "100%"; - - if (("" + replace_element.style.width).indexOf('%') != -1) { - this.settings['width'] = replace_element.style.width; - this.settings['area_width'] = "100%"; - } - - if (("" + replace_element.style.height).indexOf('%') != -1) { - this.settings['height'] = replace_element.style.height; - this.settings['area_height'] = "100%"; - } - - html = tinyMCE.applyTemplate(html); - - this.settings['width'] = this.settings['old_width']; - this.settings['height'] = this.settings['old_height']; - - this.visualAid = this.settings['visual']; - this.formTargetElementId = form_element_name; - - // Get replace_element contents - if (replace_element.nodeName.toLowerCase() == "textarea") - this.startContent = replace_element.value; - else - this.startContent = replace_element.innerHTML; - - // If not text area - if (replace_element.nodeName.toLowerCase() != "textarea") { - this.oldTargetElement = replace_element.cloneNode(true); - - // Debug mode - if (tinyMCE.settings['debug']) - html += ''; - else - html += ''; - - html += ''; - - // Output HTML and set editable - if (!tinyMCE.isMSIE) { - var rng = replace_element.ownerDocument.createRange(); - rng.setStartBefore(replace_element); - - var fragment = rng.createContextualFragment(html); - replace_element.parentNode.replaceChild(fragment, replace_element); - } else - replace_element.outerHTML = html; - } else { - html += ''; - - // Just hide the textarea element - this.oldTargetElement = replace_element; - - if (!tinyMCE.settings['debug']) - this.oldTargetElement.style.display = "none"; - - // Output HTML and set editable - if (!tinyMCE.isMSIE) { - var rng = replace_element.ownerDocument.createRange(); - rng.setStartBefore(replace_element); - - var fragment = rng.createContextualFragment(html); - replace_element.parentNode.insertBefore(fragment, replace_element); - } else - replace_element.insertAdjacentHTML("beforeBegin", html); - } - - // Setup iframe - var dynamicIFrame = false; - var tElm = targetDoc.getElementById(this.editorId); - - if (!tinyMCE.isMSIE) { - if (tElm && tElm.nodeName.toLowerCase() == "span") { - tElm = tinyMCE._createIFrame(tElm); - dynamicIFrame = true; - } - - this.targetElement = tElm; - this.iframeElement = tElm; - this.contentDocument = tElm.contentDocument; - this.contentWindow = tElm.contentWindow; - - //this.getDoc().designMode = "on"; - } else { - if (tElm && tElm.nodeName.toLowerCase() == "span") - tElm = tinyMCE._createIFrame(tElm); - else - tElm = targetDoc.frames[this.editorId]; - - this.targetElement = tElm; - this.iframeElement = targetDoc.getElementById(this.editorId); - this.contentDocument = tElm.window.document; - this.contentWindow = tElm.window; - this.getDoc().designMode = "on"; - } - - // Setup base HTML - var doc = this.contentDocument; - if (dynamicIFrame) { - var html = "" - + '' - + '' - + '' - + '' - + 'blank_page' - + '' - + '' - + '' - + '' - + ''; - - try { - this.getDoc().designMode = "on"; - doc.open(); - doc.write(html); - doc.close(); - } catch (e) { - // Failed Mozilla 1.3 - this.getDoc().location.href = tinyMCE.baseURL + "/blank.htm"; - } - } - - // This timeout is needed in MSIE 5.5 for some odd reason - // it seems that the document.frames isn't initialized yet? - if (tinyMCE.isMSIE) - window.setTimeout("TinyMCE.prototype.addEventHandlers('" + this.editorId + "');", 1); - - tinyMCE.setupContent(this.editorId, true); - - return true; -}; - -TinyMCEControl.prototype.getFocusElement = function() { - if (tinyMCE.isMSIE) { - var doc = this.getDoc(); - var rng = doc.selection.createRange(); - - if (rng.collapse) - rng.collapse(true); - - var elm = rng.item ? rng.item(0) : rng.parentElement(); - } else { - var sel = this.getSel(); - var elm = (sel && sel.anchorNode) ? sel.anchorNode : null; - - if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") - elm = tinyMCE.selectedElement; - } - - return elm; -}; - -// Global instances -var tinyMCE = new TinyMCE(); -var tinyMCELang = new Array(); - -function debug() { - var msg = ""; - - var elm = document.getElementById("tinymce_debug"); - if (!elm) { - var debugDiv = document.createElement("div"); - debugDiv.setAttribute("className", "debugger"); - debugDiv.className = "debugger"; - debugDiv.innerHTML = '\ - Debug output:\ - '; - - document.body.appendChild(debugDiv); - elm = document.getElementById("tinymce_debug"); - } - - var args = this.debug.arguments; - for (var i=0; i