upgrading to tinymce 1.45

This commit is contained in:
JT Smith 2005-08-05 19:49:15 +00:00
parent c287ab8a3e
commit c351096b73
196 changed files with 3608 additions and 1636 deletions

View file

@ -1,2 +1,2 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('advhr','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl');function TinyMCE_advhr_getControlHTML(control_name){switch(control_name){case "advhr":return '<img id="{$editor_id}_advhr" src="{$pluginurl}/images/advhr.gif" title="{$lang_insert_advhr_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceAdvancedHr\');" />';}return "";}function TinyMCE_advhr_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=270;template['height']=180;var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):"";}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'});}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'<hr />');}else{tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'insert'});}}return true;}return false;}function TinyMCE_advhr_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){tinyMCE.switchClassSticky(editor_id+'_advhr','mceButtonNormal');if(node==null)return;do{if(node.nodeName.toLowerCase()=="hr")tinyMCE.switchClassSticky(editor_id+'_advhr','mceButtonSelected');}while((node=node.parentNode));return true;}
tinyMCE.importPluginLanguagePack('advhr','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');function TinyMCE_advhr_getControlHTML(control_name){switch(control_name){case "advhr":return '<img id="{$editor_id}_advhr" src="{$pluginurl}/images/advhr.gif" title="{$lang_insert_advhr_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceAdvancedHr\');" />';}return "";}function TinyMCE_advhr_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=270;template['height']=180;var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):"";}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'});}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'<hr />');}else{tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'insert'});}}return true;}return false;}function TinyMCE_advhr_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){tinyMCE.switchClassSticky(editor_id+'_advhr','mceButtonNormal');if(node==null)return;do{if(node.nodeName.toLowerCase()=="hr")tinyMCE.switchClassSticky(editor_id+'_advhr','mceButtonSelected');}while((node=node.parentNode));return true;}

View file

@ -1,5 +1,5 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('advhr', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl');
tinyMCE.importPluginLanguagePack('advhr', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');
function TinyMCE_advhr_getControlHTML(control_name) {
switch (control_name) {

View file

@ -0,0 +1,6 @@
// NL lang variables
tinyMCELang['lang_insert_advhr_desc'] = 'Invoegen / wijzigen Horizontale lijn'
tinyMCELang['lang_insert_advhr_width'] = 'Breedte';
tinyMCELang['lang_insert_advhr_size'] = 'Hoogte';
tinyMCELang['lang_insert_advhr_noshade'] = 'Geen schaduw';

View file

@ -0,0 +1,6 @@
// pt_BR lang variables
tinyMCELang['lang_insert_advhr_desc'] = 'Inserir / editar Linha Horizontal'
tinyMCELang['lang_insert_advhr_width'] = 'Largura';
tinyMCELang['lang_insert_advhr_size'] = 'Altura';
tinyMCELang['lang_insert_advhr_noshade'] = 'Sem Sombra';

View file

@ -1,4 +1,5 @@
// Simplified Chinese lang variables contributed by cube316 (cube316@etang.com)
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
tinyMCELang['lang_insert_advhr_desc'] = '꿨흙/긍서 彊틱깃넹'
tinyMCELang['lang_insert_advhr_width'] = '욱똑';

View file

@ -1,20 +1 @@
Advhr plugin for TinyMCE
-----------------------------
About:
This is a more advanced hr dialog contributed by Michael Keck.
This one supports noshade, width and size.
Installation instructions:
* Copy the advhr directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "advhr".
* Add this "hr[class|width|size|noshade]" to extended_valid_elements option.
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "advhr",
theme_advanced_buttons1_add : "advhr",
extended_valid_elements : "hr[class|width|size|noshade]"
});
Check the TinyMCE documentation for details on this plugin.

View file

@ -18,7 +18,6 @@
formObj.width2.value = "%";
formObj.width.value = formObj.width.value.substring(0,formObj.width.value.length-1);
}
window.focus();
}
function insertHR() {
@ -42,14 +41,16 @@
}
html += ' />';
tinyMCE.execCommand("mceInsertContent",true,html);
top.close();
}
// Close the dialog
tinyMCE.closeDialog();
}
}
function cancelAction() {
top.close();
// Close the dialog
tinyMCE.closeDialog();
}
//-->
</script>
<style type="text/css">

View file

@ -1,2 +1,2 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('advimage','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl');function TinyMCE_advimage_getInsertImageTemplate(){var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=430;template['height']=380;template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);return template;}function TinyMCE_advimage_handleEvent(editor_id,body,doc){alert(editor_id+","+body.innerHTML);}
tinyMCE.importPluginLanguagePack('advimage','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');function TinyMCE_advimage_getInsertImageTemplate(){var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=430;template['height']=380;template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);return template;}function TinyMCE_advimage_cleanup(type,content){switch(type){case "insert_to_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=tinyMCE.getImageSrc(onmouseover))!=""){src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseover',"this.src='"+src+"';");}if((src=tinyMCE.getImageSrc(onmouseout))!=""){src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseout',"this.src='"+src+"';");}}break;case "get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=tinyMCE.getImageSrc(onmouseover))!=""){src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseover',"this.src='"+src+"';");}if((src=tinyMCE.getImageSrc(onmouseout))!=""){src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseout',"this.src='"+src+"';");}}break;}return content;}

View file

@ -1,5 +1,5 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('advimage', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl');
tinyMCE.importPluginLanguagePack('advimage', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');
/**
* Insert image template function.
@ -18,11 +18,44 @@ function TinyMCE_advimage_getInsertImageTemplate() {
return template;
}
/**
* Setup content function.
*/
function TinyMCE_advimage_handleEvent(editor_id, body, doc) {
// Convert all links to absolute
function TinyMCE_advimage_cleanup(type, content) {
switch (type) {
case "insert_to_editor_dom":
var imgs = content.getElementsByTagName("img");
for (var i=0; i<imgs.length; i++) {
var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
alert(editor_id + "," + body.innerHTML);
if ((src = tinyMCE.getImageSrc(onmouseover)) != "") {
src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
}
if ((src = tinyMCE.getImageSrc(onmouseout)) != "") {
src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
}
}
break;
case "get_from_editor_dom":
var imgs = content.getElementsByTagName("img");
for (var i=0; i<imgs.length; i++) {
var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
if ((src = tinyMCE.getImageSrc(onmouseover)) != "") {
src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
}
if ((src = tinyMCE.getImageSrc(onmouseout)) != "") {
src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
}
}
break;
}
return content;
}

View file

@ -4,14 +4,16 @@
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript">
var url = tinyMCE.getParam("external_image_list_url");
if (url != null)
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCE.documentBasePath + "/" + url + '"></sc'+'ript>');
if (url != null) {
// Fix relative
if (url.charAt(0) != '/')
url = tinyMCE.documentBasePath + "/" + url;
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
}
</script>
<script language="javascript" type="text/javascript">
<!--
// Disable auto resize
tinyMCE.getWindowArg('mce_windowresize', false);
function myRegexpReplace(in_str, reg_exp, replace_str, opts) {
if (typeof opts == "undefined")
opts = 'g';
@ -20,43 +22,40 @@ if (url != null)
}
function insertImage() {
if (window.opener) {
var src = document.forms[0].src.value;
var alt = document.forms[0].alt.value;
var title = document.forms[0].title.value;
var border = document.forms[0].border.value;
var vspace = document.forms[0].vspace.value;
var hspace = document.forms[0].hspace.value;
var width = document.forms[0].width.value;
var height = document.forms[0].height.value;
var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value;
var onmouseover = document.forms[0].onmouseover.value;
var onmouseout = document.forms[0].onmouseout.value;
var formObj = document.forms[0];
// added 2004-11-10 by Michael Keck (me@michaelkeck.de)
// supporting onmouse over / out for image swap ...
// only support the onmouse over/out if both values are given
if (onmouseover!='' && onmouseout!='' && document.forms[0].onmousemove.checked==true) {
onmouseover="this.src='" + onmouseover + "';";
onmouseout ="this.src='" + onmouseout + "';";
} else {
onmouseover="";
onmouseout ="";
}
if (window.opener) {
var src = formObj.src.value;
var alt = formObj.alt.value;
var title = formObj.title.value;
var border = formObj.border.value;
var vspace = formObj.vspace.value;
var hspace = formObj.hspace.value;
var width = formObj.width.value;
var height = formObj.height.value;
var align = formObj.align.options[formObj.align.selectedIndex].value;
var onmouseover = formObj.onmouseover.value;
var onmouseout = formObj.onmouseout.value;
if (!formObj.onmousemove.checked)
onmouseover = onmouseout = "";
window.opener.tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout);
top.close();
// Close the dialog
tinyMCE.closeDialog();
}
}
function init() {
var formObj = document.forms[0];
var arrOnOver = new Array(), arrOnOut = new Array();
var strOnOver = "", strOnOut = "";
for (var i=0; i<document.forms[0].align.options.length; i++) {
if (document.forms[0].align.options[i].value == tinyMCE.getWindowArg('align'))
document.forms[0].align.options.selectedIndex = i;
}
formObj.src.value = tinyMCE.getWindowArg('src');
formObj.alt.value = tinyMCE.getWindowArg('alt');
formObj.title.value = tinyMCE.getWindowArg('title');
@ -64,38 +63,14 @@ if (url != null)
formObj.vspace.value = tinyMCE.getWindowArg('vspace');
formObj.hspace.value = tinyMCE.getWindowArg('hspace');
formObj.width.value = tinyMCE.getWindowArg('width');
formObj.height.value = tinyMCE.getWindowArg('height');
formObj.height.value = tinyMCE.getWindowArg('height');
formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
// added 2004-11-10 by Michael Keck (me@michaelkeck.de)
// supporting onmouse over / out for image swap ...
arrOnOver = tinyMCE.getWindowArg('onmouseover').split(';');
arrOnOut = tinyMCE.getWindowArg('onmouseout').split(';');
for (var i=0; i<arrOnOver.length; i++) {
if (arrOnOver[i].indexOf('this.src=\'')!=-1) {
strOnOver = arrOnOver[i];
break;
}
}
for (var i=0; i<arrOnOut.length; i++) {
if (arrOnOut[i].indexOf('this.src=\'')!=-1) {
strOnOut = arrOnOut[i];
break;
}
}
if (strOnOver!='') {
strOnOver = myRegexpReplace(strOnOver,"this.src='","","gi");
strOnOver = myRegexpReplace(strOnOver,"'","","gi");
strOnOver = myRegexpReplace(strOnOver,";","","gi");
}
if (strOnOut!='') {
strOnOut = myRegexpReplace(strOnOut,"this.src='","","gi");
strOnOut = myRegexpReplace(strOnOut,"'","","gi");
strOnOut = myRegexpReplace(strOnOut,";","","gi");
}
if (strOnOver!='' && strOnOut!='') {
strOnOver = tinyMCE.getWindowArg('onmouseover');
strOnOut = tinyMCE.getWindowArg('onmouseout');
if (strOnOver != '' && strOnOut != '') {
setOnMouseInput('enabled');
formObj.onmousemove.checked = true;
formObj.onmouseover.value = strOnOver;
@ -134,11 +109,9 @@ if (url != null)
htmlprev += ' marginwidth="0" marginheight="0" frameborder="0" src="' + src + '"'
htmlprev += ' style="margin:0px;border: 1px solid black;width:135px;height:135px"></iframe>';
document.getElementById('prev').innerHTML = htmlprev;
document.getElementById('prev').innerHTML = htmlprev;
// Autoresize and focus
TinyMCEPopup_autoResize();
window.focus();
getImageData();
}
function selectByValue(form_obj, field_name, value) {
@ -166,9 +139,6 @@ if (url != null)
return html;
}
// added 2004-11-10 by Michael Keck (me@michaelkeck.de)
// supporting onmouse over / out for image swap ...
// this function is needed for visual show, if onmouse over/out available
function setOnMouseInput(stat){
var formObj = document.forms[0];
if (stat=='enabled') {
@ -190,7 +160,8 @@ if (url != null)
}
function cancelAction() {
top.close();
// Close the dialog
tinyMCE.closeDialog();
}
var preloadImg = new Image();
@ -211,6 +182,11 @@ if (url != null)
}
function getImageData() {
if (document.forms[0].src.value == "") {
self.preview.location = "about:blank";
return;
}
preloadImg = new Image();
tinyMCE.addEvent(preloadImg, "load", updateImageData);
@ -224,10 +200,30 @@ if (url != null)
self.preview.location = src;
}
function changeHeight() {
var formObj = document.forms[0];
if (!tinyMCE.getParam("advimage_constrain_proportions", false) || formObj.width.value == "")
return;
var temp = (formObj.width.value / preloadImg.width) * preloadImg.height;
formObj.height.value = temp.toFixed(0);
}
function changeWidth() {
var formObj = document.forms[0];
if (!tinyMCE.getParam("advimage_constrain_proportions", false) || formObj.height.value == "")
return;
var temp = (formObj.height.value / preloadImg.height) * preloadImg.width;
formObj.width.value = temp.toFixed(0);
}
//-->
</script>
</head>
<body onload="window.focus();init();">
<body onload="init();">
<form onsubmit="insertImage();return false;">
<table border="0" cellpadding="0" cellspacing="0" width="300">
<tr>
@ -248,9 +244,8 @@ if (url != null)
<script language="javascript">
if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
var html = "";
html += '<tr><td align="right" nowrap="nowrap">{$lang_image_list}:</td>';
html += '<td colspan="2"><select name="image_list" style="width: 280px" onchange="this.form.src.value=this.options[this.selectedIndex].value;resetImageData();getImageData();">';
html += '<td colspan="2"><select name="image_list" style="width: 280px" onchange="this.form.alt.value=this.options[this.selectedIndex].text;this.form.title.value=this.options[this.selectedIndex].text;this.form.src.value=this.options[this.selectedIndex].value;resetImageData();getImageData();">';
html += '<option value="">---</option>';
for (var i=0; i<tinyMCEImageList.length; i++)
@ -273,10 +268,10 @@ if (url != null)
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_image_dimensions}:</td>
<td nowrap="nowrap">
<input name="width" type="text" id="width" value="" size="5" maxlength="5" style="vertical-align: middle; width: 50px; text-align: center;" /> x
<input name="height" type="text" id="height" value="" size="5" maxlength="5" style="vertical-align: middle; width: 50px; text-align: center;" /> px
<input name="width" type="text" id="width" value="" size="5" maxlength="5" style="vertical-align: middle; width: 50px; text-align: center;" onChange="changeHeight();" /> x
<input name="height" type="text" id="height" value="" size="5" maxlength="5" style="vertical-align: middle; width: 50px; text-align: center;" onChange="changeWidth();" /> px
</td>
<td rowspan="6" valign="top"><div id="prev" name="prev" style="margin:0px;border:none;width:135px;height:135px"></div></td>
<td rowspan="6" valign="top"><div id="prev" name="prev" style="margin:0px;border:none;width:135px;height:135px"></div></td>
</tr>
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_image_border}:</td>
@ -371,6 +366,6 @@ if (url != null)
</table></td>
</tr>
</table>
</form>
</form>
</body>
</html>

View file

@ -0,0 +1,6 @@
// CA_FR lang variables
tinyMCELang['lang_insert_image_alt2'] = 'Titre de l\'image';
tinyMCELang['lang_insert_image_onmousemove'] = 'Image alternative';
tinyMCELang['lang_insert_image_mouseover'] = 'pour le «mouse over»';
tinyMCELang['lang_insert_image_mouseout'] = 'pour le «mouse out»';

View file

@ -0,0 +1,6 @@
// UK lang variables
tinyMCELang['lang_insert_image_alt2'] = 'Titel plaatje';
tinyMCELang['lang_insert_image_onmousemove'] = 'Alternatief plaatje'
tinyMCELang['lang_insert_image_mouseover'] = 'voor muis over';
tinyMCELang['lang_insert_image_mouseout'] = 'voor muis out';

View file

@ -0,0 +1,6 @@
// pt_BR lang variables
tinyMCELang['lang_insert_image_alt2'] = 'Título da Imagem';
tinyMCELang['lang_insert_image_onmousemove'] = 'Imagem Alternativa'
tinyMCELang['lang_insert_image_mouseover'] = 'para quando mouse sobre';
tinyMCELang['lang_insert_image_mouseout'] = 'para quando mouse fora';

View file

@ -1,4 +1,5 @@
// Simplified Chinese lang variables contributed by cube316 (cube316@etang.com)
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
tinyMCELang['lang_insert_image_alt2'] = 'ͼƬ±êÌâ';
tinyMCELang['lang_insert_image_onmousemove'] = 'Ìæ´úͼÏñ'

View file

@ -1,19 +1 @@
Advimage plugin for TinyMCE
-----------------------------
About:
This is a more advanced image dialog mostly based on code contributed by Michael Keck.
This one supports mouseover/out image swapping.
Installation instructions:
* Copy the advimage directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "advimage".
* Add this "a[name|href|target|title|onclick]" to extended_valid_elements option.
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "preview",
extended_valid_elements : "a[name|href|target|title|onclick]"
});
Check the TinyMCE documentation for details on this plugin.

View file

@ -1,2 +1,2 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('advlink','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl');function TinyMCE_advlink_getInsertLinkTemplate(){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=400;template['height']=420;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);return template;}
tinyMCE.importPluginLanguagePack('advlink','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');function TinyMCE_advlink_getInsertLinkTemplate(){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=400;template['height']=420;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);return template;}

View file

@ -1,5 +1,5 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('advlink', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl');
tinyMCE.importPluginLanguagePack('advlink', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');
/**
* Insert link template function.

View file

@ -0,0 +1,20 @@
// NL lang variables
tinyMCELang['lang_insert_link_target_same'] = 'Open in dit window / frame';
tinyMCELang['lang_insert_link_target_parent'] = 'Open in parent window / frame';
tinyMCELang['lang_insert_link_target_top'] = 'Open in top frame (vervangt alle frames)';
tinyMCELang['lang_insert_link_target_blank'] = 'Open in nieuw window';
tinyMCELang['lang_insert_link_target_named'] = 'Open in het window';
tinyMCELang['lang_insert_link_popup'] = 'JS-Popup';
tinyMCELang['lang_insert_link_popup_url'] = 'Popup URL';
tinyMCELang['lang_insert_link_popup_name'] = 'Window naam';
tinyMCELang['lang_insert_link_popup_return'] = 'invoegen \'return false\'';
tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Laat scrollbars zien';
tinyMCELang['lang_insert_link_popup_statusbar'] = 'Laat statusbar zien';
tinyMCELang['lang_insert_link_popup_toolbar'] = 'Laat toolbars zien';
tinyMCELang['lang_insert_link_popup_menubar'] = 'Laat menubar zien';
tinyMCELang['lang_insert_link_popup_location'] = 'Laat locatiebar zien';
tinyMCELang['lang_insert_link_popup_resizable'] = 'Maak window resizable';
tinyMCELang['lang_insert_link_popup_size'] = 'Grootte';
tinyMCELang['lang_insert_link_popup_position'] = 'Positie (X/Y)';
tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Geef de naam van het target window of kies een andere optie.';

View file

@ -0,0 +1,20 @@
// pt_BR lang variables
tinyMCELang['lang_insert_link_target_same'] = 'Abrir nesta mesma janela / frame';
tinyMCELang['lang_insert_link_target_parent'] = 'Abrir na janela / frame prévia';
tinyMCELang['lang_insert_link_target_top'] = 'Abrir no frame superior (substitui todos os frames)';
tinyMCELang['lang_insert_link_target_blank'] = 'Abrir em nova janela';
tinyMCELang['lang_insert_link_target_named'] = 'Abrir na janela';
tinyMCELang['lang_insert_link_popup'] = 'JS-Popup';
tinyMCELang['lang_insert_link_popup_url'] = 'Popup URL endereço';
tinyMCELang['lang_insert_link_popup_name'] = 'Nome da janela';
tinyMCELang['lang_insert_link_popup_return'] = 'inserir \'retorna falso\'';
tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Mostra barras de rolagem';
tinyMCELang['lang_insert_link_popup_statusbar'] = 'Mostra barra de status';
tinyMCELang['lang_insert_link_popup_toolbar'] = 'Mostra barras de ferramentas';
tinyMCELang['lang_insert_link_popup_menubar'] = 'Mostra barra de menu';
tinyMCELang['lang_insert_link_popup_location'] = 'Mostra barra de endereço';
tinyMCELang['lang_insert_link_popup_resizable'] = 'Permite redimensionamento da janela';
tinyMCELang['lang_insert_link_popup_size'] = 'Tamanho';
tinyMCELang['lang_insert_link_popup_position'] = 'Posição (X/Y)';
tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Por Favor insira um nome para o alvo ou escolha outra opção.';

View file

@ -1,11 +1,12 @@
// Simplified Chinese lang variables contributed by cube316 (cube316@etang.com)
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
tinyMCELang['lang_insert_link_target_same'] = '在本窗口/框架中打开';
tinyMCELang['lang_insert_link_target_parent'] = '在父窗口/框架中打开';
tinyMCELang['lang_insert_link_target_top'] = '在根框架中打开(替换所有框架)';
tinyMCELang['lang_insert_link_target_blank'] = '在新窗口中打开';
tinyMCELang['lang_insert_link_target_named'] = '在此窗口中打开';
tinyMCELang['lang_insert_link_popup'] = 'JS-Popup';
tinyMCELang['lang_insert_link_popup'] = 'JavaScript弹出窗口';
tinyMCELang['lang_insert_link_popup_url'] = '弹出窗口地址';
tinyMCELang['lang_insert_link_popup_name'] = '窗口名称';
tinyMCELang['lang_insert_link_popup_return'] = '插入 \'return false\'';

View file

@ -4,14 +4,16 @@
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript">
var url = tinyMCE.getParam("external_link_list_url");
if (url != null)
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCE.documentBasePath + "/" + url + '"></sc'+'ript>');
if (url != null) {
// Fix relative
if (url.charAt(0) != '/')
url = tinyMCE.documentBasePath + "/" + url;
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
}
</script>
<script language="javascript" type="text/javascript">
<!--
// Disable auto resize
tinyMCE.getWindowArg('mce_windowresize', false);
function myRegexpReplace(in_str, reg_exp, replace_str, opts) {
if (typeof opts == "undefined")
opts = 'g';
@ -96,10 +98,6 @@ if (url != null)
formObj.link_list.options[i].selected = true;
}
}
// Autoresize and focus
TinyMCEPopup_autoResize();
window.focus();
}
function insertLink() {
@ -193,7 +191,9 @@ if (url != null)
if (target!='' && target!='please_insert_on_target_in_textfield') {
//alert (onclick);
window.opener.tinyMCE.insertLink(href, target, title, onclick);
top.close();
// Close the dialog
tinyMCE.closeDialog();
} else {
alert(tinyMCE.getLang('lang_insert_link_popup_missingtarget'));
formObj.framename.select();
@ -280,7 +280,8 @@ if (url != null)
}
function cancelAction() {
top.close();
// Close the dialog
tinyMCE.closeDialog();
}
//-->
</script>

View file

@ -1,19 +1 @@
Advlink plugin for TinyMCE
-----------------------------
About:
This is a more advanced link dialog mostly based on code contributed by Michael Keck.
This one supports popup windows and targets.
Installation instructions:
* Copy the advlink directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "advlink".
* Add this "a[name|href|target|title|onclick]" to extended_valid_elements option.
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "advlink",
extended_valid_elements : "a[name|href|target|title|onclick]"
});
Check the TinyMCE documentation for details on this plugin.

File diff suppressed because one or more lines are too long

View file

@ -28,13 +28,36 @@ function TinyMCE_contextmenu_initInstance(inst) {
TinyMCE_contextmenu_contextMenu = contextMenu;
// Attach contextmenu event
tinyMCE.addEvent(inst.getDoc(), "contextmenu", function (e) {
contextMenu.inst = inst;
return TinyMCE_contextmenu_showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);
});
if (tinyMCE.isGecko) {
tinyMCE.addEvent(inst.getDoc(), "contextmenu", function(e) {TinyMCE_contextmenu_showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);});
} else
tinyMCE.addEvent(inst.getDoc(), "contextmenu", TinyMCE_contextmenu_onContextMenu);
}
function TinyMCE_contextmenu_onContextMenu(e) {
var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
var targetInst, body;
// Find instance
if ((body = tinyMCE.getParentElement(elm, "body")) != null) {
for (var n in tinyMCE.instances) {
var inst = tinyMCE.instances[n];
if (body == inst.getBody()) {
targetInst = inst;
break;
}
}
return TinyMCE_contextmenu_showContextMenu(tinyMCE.isMSIE ? targetInst.contentWindow.event : e, targetInst);
}
}
function TinyMCE_contextmenu_showContextMenu(e, inst) {
function getAttrib(elm, name) {
return elm.getAttribute(name) ? elm.getAttribute(name) : "";
}
var x, y, elm, contextMenu;
var pos = tinyMCE.getAbsPosition(inst.iframeElement);
@ -42,19 +65,22 @@ function TinyMCE_contextmenu_showContextMenu(e, inst) {
y = tinyMCE.isMSIE ? e.screenY : pos.absTop + (e.pageY - inst.getBody().scrollTop);
elm = tinyMCE.isMSIE ? e.srcElement : e.target;
contextMenu = TinyMCE_contextmenu_contextMenu;
contextMenu.inst = inst;
// Mozilla needs some time
window.setTimeout(function () {
var theme = tinyMCE.getParam("theme");
contextMenu.clearAll();
var sel = inst.getSelectedText().length != 0 || elm.nodeName == "IMG";
// Default items
contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel);
contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel);
contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/paste.gif", "$lang_paste_desc", "Paste", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_paste_desc", "Paste", "", false);
// Get element
elm = tinyMCE.getParentElement(elm, "img,td");
elm = tinyMCE.getParentElement(elm, "img,table,td");
if (elm) {
switch (elm.nodeName) {
case "IMG":
@ -64,18 +90,31 @@ function TinyMCE_contextmenu_showContextMenu(e, inst) {
if (tinyMCE.getAttrib(elm, 'name', '').indexOf('mce_plugin_flash') == 0)
contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_flash_props", "mceFlash");
else
contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/image.gif", "$lang_image_props_desc", "mceImage");
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/image.gif", "$lang_image_props_desc", "mceImage");
break;
case "TABLE":
case "TD":
// Is table plugin loaded
if (typeof(TinyMCE_table_getControlHTML) != "undefined") {
var colspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "colspan");
var rowspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "rowspan");
colspan = colspan == "" ? "1" : colspan;
rowspan = rowspan == "" ? "1" : rowspan;
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/left.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/center.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/right.gif", "$lang_justifyright_desc", "JustifyRight", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/full.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_table_cut_row_desc", "mceTableCutRow");
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_table_copy_row_desc", "mceTableCopyRow");
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_before_desc", "mceTablePasteRowBefore", "", inst.tableRowClipboard == null);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_after_desc", "mceTablePasteRowAfter", "", inst.tableRowClipboard == null);
/* contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/left.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/center.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/right.gif", "$lang_justifyright_desc", "JustifyRight", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/full.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);*/
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_insert_desc", "mceInsertTable", "insert");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_props_desc", "mceInsertTable");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_cell_props.gif", "$lang_table_cell_desc", "mceTableCellProps");
contextMenu.addSeparator();
@ -87,6 +126,9 @@ function TinyMCE_contextmenu_showContextMenu(e, inst) {
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_before.gif", "$lang_table_insert_col_before_desc", "mceTableInsertColBefore");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_after.gif", "$lang_table_insert_col_after_desc", "mceTableInsertColAfter");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_col.gif", "$lang_table_delete_col_desc", "mceTableDeleteCol");
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_split_cells.gif", "$lang_table_split_cells_desc", "mceTableSplitCells", "", (colspan == "1" && rowspan == "1"));
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_merge_cells.gif", "$lang_table_merge_cells_desc", "mceTableMergeCells", "", false);
}
break;
}
@ -111,10 +153,13 @@ function TinyMCE_contextmenu_commandHandler(command, value) {
// UI must be true on these
var ui = false;
if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps")
if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells")
ui = true;
TinyMCE_contextmenu_contextMenu.inst.execCommand(command, ui);
if (command == "Paste")
value = null;
TinyMCE_contextmenu_contextMenu.inst.execCommand(command, ui, value);
}
// Context menu class

View file

@ -1,2 +1,2 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('emotions','en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl');function TinyMCE_emotions_getControlHTML(control_name){switch(control_name){case "emotions":return '<img id="{$editor_id}_emotions" src="{$pluginurl}/images/emotions.gif" title="{$lang_emotions_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceEmotion\');">';}return "";}function TinyMCE_emotions_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=150;template['height']=180;tinyMCE.openWindow(template,{editor_id:editor_id});return true;}return false;}
tinyMCE.importPluginLanguagePack('emotions','en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl');function TinyMCE_emotions_getControlHTML(control_name){switch(control_name){case "emotions":return '<img id="{$editor_id}_emotions" src="{$pluginurl}/images/emotions.gif" title="{$lang_emotions_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceEmotion\');">';}return "";}function TinyMCE_emotions_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=150;template['height']=180;tinyMCE.openWindow(template,{editor_id:editor_id});return true;}return false;}

View file

@ -1,5 +1,5 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('emotions', 'en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl');
tinyMCE.importPluginLanguagePack('emotions', 'en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl');
/**
* Returns the HTML contents of the emotions control.
@ -7,7 +7,7 @@ tinyMCE.importPluginLanguagePack('emotions', 'en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl')
function TinyMCE_emotions_getControlHTML(control_name) {
switch (control_name) {
case "emotions":
return '<img id="{$editor_id}_emotions" src="{$pluginurl}/images/emotions.gif" title="{$lang_emotions_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceEmotion\');">';
return '<img id="{$editor_id}_emotions" src="{$pluginurl}/images/emotions.gif" title="{$lang_emotions_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceEmotion\');">';
}
return "";

View file

@ -11,7 +11,7 @@
}
</script>
</head>
<body onload="window.focus();">
<body onload="">
<div align="center">
<div class="title">{$lang_insert_emotions_title}:<br /><br /></div>
<table border="0" cellspacing="0" cellpadding="4">

View file

@ -1,4 +1,4 @@
// CAN_FR lang variables
// Canadian French lang variables by Virtuelcom last modification: 2005-06-15
tinyMCELang['lang_insert_emotions_title'] = 'Insérer un émoticon';
tinyMCELang['lang_emotions_desc'] = 'Émoticons';

View file

@ -0,0 +1,4 @@
// NL lang variables
tinyMCELang['lang_insert_emotions_title'] = 'Emotion invoegen';
tinyMCELang['lang_emotions_desc'] = 'Smilie';

View file

@ -0,0 +1,5 @@
// pt_BR lang variables
tinyMCELang['lang_insert_emotions_title'] = 'Inserir Emoticon';
tinyMCELang['lang_emotions_desc'] = 'Emoticons';

View file

@ -1,4 +1,5 @@
// Simplified Chinese lang variables contributed by cube316 (cube316@etang.com)
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
tinyMCELang['lang_insert_emotions_title'] = '²åÈë±íÇé';
tinyMCELang['lang_emotions_desc'] = '񡀂';

View file

@ -1,20 +1 @@
Emotions plugin for TinyMCE
------------------------------
Installation instructions:
* Copy the emotions directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "emotions".
* Add the emotions button name to button list, example: theme_advanced_buttons3_add : "emotions".
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "emotions",
theme_advanced_buttons3_add : "emotions"
});
Copyright notice:
These emotions where taken from Mozilla Thunderbird.
I hope they don't get angry if I use them here after all this is a open source project
aswell and I realy love their product.
Check the TinyMCE documentation for details on this plugin.

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,5 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('flash', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl');
tinyMCE.importPluginLanguagePack('flash', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl');
function TinyMCE_flash_initInstance(inst) {
if (!tinyMCE.settings['flash_skip_plugin_css'])
@ -9,7 +9,7 @@ function TinyMCE_flash_initInstance(inst) {
function TinyMCE_flash_getControlHTML(control_name) {
switch (control_name) {
case "flash":
return '<img id="{$editor_id}_flash" src="{$pluginurl}/images/flash.gif" title="{$lang_insert_flash}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceFlash\');" />';
return '<img id="{$editor_id}_flash" src="{$pluginurl}/images/flash.gif" title="{$lang_insert_flash}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceFlash\');" />';
}
return "";
@ -85,8 +85,8 @@ function TinyMCE_flash_execCommand(editor_id, element, command, user_interface,
return true;
// Get rest of Flash items
swffile = getAttrib(focusElm, 'title');
//swffile = eval(tinyMCE.settings['urlconvertor_callback'] + "(swffile, null, true);");
swffile = getAttrib(focusElm, 'alt');
swffile = eval(tinyMCE.settings['urlconverter_callback'] + "(swffile, null, true);");
swfwidth = getAttrib(focusElm, 'width');
swfheight = getAttrib(focusElm, 'height');
action = "update";
@ -102,6 +102,32 @@ function TinyMCE_flash_execCommand(editor_id, element, command, user_interface,
function TinyMCE_flash_cleanup(type, content) {
switch (type) {
case "insert_to_editor_dom":
var imgs = content.getElementsByTagName("img");
for (var i=0; i<imgs.length; i++) {
if (tinyMCE.getAttrib(imgs[i], "name") == "mce_plugin_flash") {
var src = tinyMCE.getAttrib(imgs[i], "alt");
src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
imgs[i].setAttribute('alt', src);
}
}
break;
case "get_from_editor_dom":
var imgs = content.getElementsByTagName("img");
for (var i=0; i<imgs.length; i++) {
if (tinyMCE.getAttrib(imgs[i], "name") == "mce_plugin_flash") {
var src = tinyMCE.getAttrib(imgs[i], "alt");
src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
imgs[i].setAttribute('alt', src);
}
}
break;
case "insert_to_editor":
var startPos = 0;
var embedList = new Array();
@ -158,15 +184,19 @@ function TinyMCE_flash_cleanup(type, content) {
endPos += 2;
var embedHTML = '';
var wmode = tinyMCE.getParam("flash_wmode", "");
var quality = tinyMCE.getParam("flash_quality", "high");
var menu = tinyMCE.getParam("flash_menu", "false");
// Insert object + embed
embedHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
embedHTML += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';
embedHTML += ' width="' + attribs["width"] + '" height="' + attribs["height"] + '">';
embedHTML += '<param name="movie" value="' + attribs["title"] + '" />';
embedHTML += '<param name="quality" value="high" />';
embedHTML += '<param name="menu" value="false" />';
embedHTML += '<embed src="' + attribs["title"] + '" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"></embed></object>';
embedHTML += '<param name="quality" value="' + quality + '" />';
embedHTML += '<param name="menu" value="' + menu + '" />';
embedHTML += '<param name="wmode" value="' + wmode + '" />';
embedHTML += '<embed src="' + attribs["title"] + '" wmode="' + wmode + '" quality="' + quality + '" menu="' + menu + '" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"></embed></object>';
// Insert embed/object chunk
chunkBefore = content.substring(0, startPos);

View file

@ -4,8 +4,13 @@
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript">
var url = tinyMCE.getParam("flash_external_list_url");
if (url != null)
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCE.documentBasePath + "/" + url + '"></sc'+'ript>');
if (url != null) {
// Fix relative
if (url.charAt(0) != '/')
url = tinyMCE.documentBasePath + "/" + url;
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
}
</script>
<script language="javascript" type="text/javascript">
<!--
@ -57,8 +62,6 @@ if (url != null)
formObj.link_list.options[i].selected = true;
}
}
window.focus();
}
function insertFlash() {
@ -86,12 +89,16 @@ if (url != null)
+ 'width="' + width + '" height="' + height + '" '
+ 'border="0" alt="' + file + '" title="' + file + '" class="mce_plugin_flash" name="mce_plugin_flash" />';
tinyMCE.execCommand("mceInsertContent",true,html);
top.close();
tinyMCE.selectedInstance.repaint();
// Close the dialog
tinyMCE.closeDialog();
}
}
function cancelAction() {
top.close();
// Close the dialog
tinyMCE.closeDialog();
}
//-->
@ -108,7 +115,7 @@ if (url != null)
</head>
<body onload="init();">
<form onsubmit="insertFlash();return false;">
<table border="0" cellpadding="0" cellspacing="4" width="100%">
<table border="0" cellpadding="0" cellspacing="4" width="350">
<tr>
<td class="title">{$lang_insert_flash}</td>
</tr>
@ -118,7 +125,7 @@ if (url != null)
<tr>
<td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
<tr>
<td align="right">{$lang_insert_flash_file}:</td>
<td align="right" nowrap="nowrap">{$lang_insert_flash_file}:</td>
<td nowrap="nowrap">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
@ -147,7 +154,7 @@ if (url != null)
</script>
<!-- /Link list -->
<tr>
<td align="right">{$lang_insert_flash_size}:</td>
<td align="right" nowrap="nowrap">{$lang_insert_flash_size}:</td>
<td nowrap="nowrap">
<input name="width" type="text" id="width" value="" onfocus="this.select();" style="width: 50px; vertical-align: middle;" />
<select name="width2" id="width2" style="width: 50px; vertical-align: middle;">

View file

@ -1,6 +1,7 @@
// UK lang variables
// CS lang variables
tinyMCELang['lang_insert_flash'] = 'Vložit/editovat Flash Movie';
tinyMCELang['lang_insert_flash_file'] = 'Flash soubor (.swf)';
tinyMCELang['lang_insert_flash_size'] = 'Velikost';
tinyMCELang['lang_flash_props'] = 'Flash properties';
tinyMCELang['lang_insert_flash_list'] = 'Seznam';
tinyMCELang['lang_flash_props'] = 'Vlastnosti Flash';

View file

@ -1,6 +1,7 @@
// CA_FR lang variables
// Canadian French lang variables by Virtuelcom last modification: 2005-06-15
tinyMCELang['lang_insert_flash'] = 'Insérer / Modifier une animation Flash';
tinyMCELang['lang_insert_flash_file'] = 'Fichier Flash (.swf)';
tinyMCELang['lang_insert_flash_size'] = 'Dimension';
tinyMCELang['lang_flash_props'] = 'Flash properties';
tinyMCELang['lang_insert_flash_list'] = 'Fichiers Flash';
tinyMCELang['lang_flash_props'] = 'Propriétés Flash';

View file

@ -0,0 +1,5 @@
// NL lang variables
tinyMCELang['lang_insert_flash'] = 'Invoegen / wijzigen Flash Movie';
tinyMCELang['lang_insert_flash_file'] = 'Flash-Bestand (.swf)';
tinyMCELang['lang_insert_flash_size'] = 'Grootte';

View file

@ -0,0 +1,7 @@
// pt_BR lang variables
tinyMCELang['lang_insert_flash'] = 'Inserir / editar Arquivo Flash';
tinyMCELang['lang_insert_flash_file'] = 'Arquivo Flash (.swf)';
tinyMCELang['lang_insert_flash_size'] = 'Tamanho';
tinyMCELang['lang_insert_flash_list'] = 'Lista de arquivos Flash';
tinyMCELang['lang_flash_props'] = 'Propriedades Flash';

View file

@ -1,7 +1,8 @@
// Simplified Chinese lang variables contributed by cube316 (cube316@etang.com)
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
tinyMCELang['lang_insert_flash'] = '插入/编辑 Flash电影';
tinyMCELang['lang_insert_flash_file'] = 'Flash文件(.swf)';
tinyMCELang['lang_insert_flash_size'] = '尺寸';
tinyMCELang['lang_insert_flash_list'] = 'Flash files';
tinyMCELang['lang_flash_props'] = 'Flash properties';
tinyMCELang['lang_insert_flash_list'] = 'Flash文件列表';
tinyMCELang['lang_flash_props'] = 'Flash属性';

View file

@ -1,48 +1 @@
FLASH plugin for TinyMCE
-----------------------------
About:
This is the INSERT FLASH Dialog contributed by Michael Keck.
This one supports popup windows and targets.
Note:
The placeholder for Flash is called 'mce_plugin_flash' and needs a class 'mce_plugin_flash' in the 'css_-style'.
Do not name another image 'name="mce_plugin_flash"!
Installation instructions:
* Copy the flash directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "flash".
* Add this "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]" to extended_valid_elements option.
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "flash",
extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]"
flash_external_list_url : "example_flash_list.js" // Optional URL to a list of Flash movies
});
----------------------------------------------------------------
ADDITIONAL NOTE:
The flash plugin has been heavily modified (the original is editor_plugin_original.js) since the original did not play nicely with html content that
already contained existing flash tags and in fact stripped out the object
tags for existing flash html. The rewrite corrects this as well attempts
to preserve the existing flash tags where possible. The tinyMCE.init call
should be be something like:
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "flash",
extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|obj|param|embed]"
});
Note the extra obj,param,embed attributes for the img tag. These attributes
are used to serialize data from existing flash tags so that they can be
properly restored. Editing a flash tag with the plugin will cause this
information to be lost (sorry !) but still produces a working flash nevertheless.
Check the TinyMCE documentation for details on this plugin.

View file

@ -1,2 +1,2 @@
/* 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 '<img id="{$editor_id}_iespell" src="{$pluginurl}/images/iespell.gif" title="{$lang_iespell_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceIESpell\');">';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;}
tinyMCE.importPluginLanguagePack('iespell','cs,el,en,fr_ca,it,ko,sv,zh_cn,fr,de,pl,pt_br,nl');function TinyMCE_iespell_getControlHTML(control_name){if(control_name=="iespell"&&tinyMCE.isMSIE)return '<img id="{$editor_id}_iespell" src="{$pluginurl}/images/iespell.gif" title="{$lang_iespell_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceIESpell\');">';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;}

View file

@ -1,5 +1,5 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('iespell', 'cs,el,en,fr_ca,it,ko,sv,zh_cn,fr,de,pl');
tinyMCE.importPluginLanguagePack('iespell', 'cs,el,en,fr_ca,it,ko,sv,zh_cn,fr,de,pl,pt_br,nl');
/**
* Returns the HTML contents of the iespell control.

View file

@ -1,4 +1,4 @@
// CAN_FR lang variables
// Canadian French lang variables by Virtuelcom last modification: 2005-06-15
tinyMCELang['lang_iespell_desc'] = 'Executer le vérificateur d\'orthographe';
tinyMCELang['lang_iespell_download'] = "ieSpell n\'a pas été trouvé. Cliquez sur OK pour aller au site de téléchargement.";

View file

@ -0,0 +1,4 @@
// NL lang variables
tinyMCELang['lang_iespell_desc'] = 'Spelling checker';
tinyMCELang['lang_iespell_download'] = "ieSpell niet gedetecteerd. Klik OK om naar de download pagina te gaan."

View file

@ -0,0 +1,4 @@
// pt_BR lang variables
tinyMCELang['lang_iespell_desc'] = 'Executar verificação ortográfica';
tinyMCELang['lang_iespell_download'] = "Verificador ieSpell não detectado. Click OK para ir à página de download."

View file

@ -1,4 +1,5 @@
// Simplified Chinese lang variables contributed by cube316 (cube316@etang.com)
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
tinyMCELang['lang_iespell_desc'] = '运行拼写检查';
tinyMCELang['lang_iespell_download'] = "未检测到ieSpell拼写检查点击 OK 前往下载页面。"

View file

@ -1,20 +1 @@
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.
Check the TinyMCE documentation for details on this plugin.

View file

@ -1,2 +1,2 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('insertdatetime','cs,el,en,fr_ca,it,ko,sv,zh_cn,fa,fr,de,pl');function TinyMCE_insertdatetime_getControlHTML(control_name){switch(control_name){case "insertdate":return '<img id="{$editor_id}_insertdate" src="{$pluginurl}/images/insertdate.gif" title="{$lang_insertdate_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertDate\');">';case "inserttime":return '<img id="{$editor_id}_inserttime" src="{$pluginurl}/images/inserttime.gif" title="{$lang_inserttime_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertTime\');">';}return "";}function TinyMCE_insertdatetime_execCommand(editor_id,element,command,user_interface,value){function addZeros(value,len){value=""+value;if(value.length<len){for(var i=0;i<(len-value.length);i++)value="0"+value;}return value;}function getDateTime(date,format){format=tinyMCE.regexpReplace(format,"%D","%m/%d/%y");format=tinyMCE.regexpReplace(format,"%r","%I:%M:%S %p");format=tinyMCE.regexpReplace(format,"%Y",""+date.getFullYear());format=tinyMCE.regexpReplace(format,"%y",""+date.getYear());format=tinyMCE.regexpReplace(format,"%m",addZeros(date.getMonth()+1,2));format=tinyMCE.regexpReplace(format,"%d",addZeros(date.getDate(),2));format=tinyMCE.regexpReplace(format,"%H",""+addZeros(date.getHours(),2));format=tinyMCE.regexpReplace(format,"%M",""+addZeros(date.getMinutes(),2));format=tinyMCE.regexpReplace(format,"%S",""+addZeros(date.getSeconds(),2));format=tinyMCE.regexpReplace(format,"%I",""+(date.getHours()<12?(date.getHours()+1):24-date.getHours()));format=tinyMCE.regexpReplace(format,"%p",""+(date.getHours()<12?"AM":"PM"));format=tinyMCE.regexpReplace(format,"%B",""+tinyMCE.getLang("lang_inserttime_months_long")[date.getMonth()]);format=tinyMCE.regexpReplace(format,"%b",""+tinyMCE.getLang("lang_inserttime_months_short")[date.getMonth()]);format=tinyMCE.regexpReplace(format,"%A",""+tinyMCE.getLang("lang_inserttime_day_long")[date.getDay()]);format=tinyMCE.regexpReplace(format,"%a",""+tinyMCE.getLang("lang_inserttime_day_short")[date.getDay()]);format=tinyMCE.regexpReplace(format,"%%","%");return format;}switch(command){case "mceInsertDate":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_dateFormat","%Y-%m-%d")));return true;case "mceInsertTime":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_timeFormat","%H:%M:%S")));return true;}return false;}
tinyMCE.importPluginLanguagePack('insertdatetime','cs,el,en,fr_ca,it,ko,sv,zh_cn,fa,fr,de,pl,pt_br,nl');function TinyMCE_insertdatetime_getControlHTML(control_name){var safariPatch='" onclick="';if(tinyMCE.isSafari)safariPatch="";switch(control_name){case "insertdate":return '<img id="{$editor_id}_insertdate" src="{$pluginurl}/images/insertdate.gif" title="{$lang_insertdate_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');'+safariPatch+'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertDate\');">';case "inserttime":return '<img id="{$editor_id}_inserttime" src="{$pluginurl}/images/inserttime.gif" title="{$lang_inserttime_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');'+safariPatch+'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertTime\');">';}return "";}function TinyMCE_insertdatetime_execCommand(editor_id,element,command,user_interface,value){function addZeros(value,len){value=""+value;if(value.length<len){for(var i=0;i<(len-value.length);i++)value="0"+value;}return value;}function getDateTime(date,format){format=tinyMCE.regexpReplace(format,"%D","%m/%d/%y");format=tinyMCE.regexpReplace(format,"%r","%I:%M:%S %p");format=tinyMCE.regexpReplace(format,"%Y",""+date.getFullYear());format=tinyMCE.regexpReplace(format,"%y",""+date.getYear());format=tinyMCE.regexpReplace(format,"%m",addZeros(date.getMonth()+1,2));format=tinyMCE.regexpReplace(format,"%d",addZeros(date.getDate(),2));format=tinyMCE.regexpReplace(format,"%H",""+addZeros(date.getHours(),2));format=tinyMCE.regexpReplace(format,"%M",""+addZeros(date.getMinutes(),2));format=tinyMCE.regexpReplace(format,"%S",""+addZeros(date.getSeconds(),2));format=tinyMCE.regexpReplace(format,"%I",""+(date.getHours()<12?(date.getHours()+1):24-date.getHours()));format=tinyMCE.regexpReplace(format,"%p",""+(date.getHours()<12?"AM":"PM"));format=tinyMCE.regexpReplace(format,"%B",""+tinyMCE.getLang("lang_inserttime_months_long")[date.getMonth()]);format=tinyMCE.regexpReplace(format,"%b",""+tinyMCE.getLang("lang_inserttime_months_short")[date.getMonth()]);format=tinyMCE.regexpReplace(format,"%A",""+tinyMCE.getLang("lang_inserttime_day_long")[date.getDay()]);format=tinyMCE.regexpReplace(format,"%a",""+tinyMCE.getLang("lang_inserttime_day_short")[date.getDay()]);format=tinyMCE.regexpReplace(format,"%%","%");return format;}switch(command){case "mceInsertDate":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_dateFormat","%Y-%m-%d")));return true;case "mceInsertTime":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_timeFormat","%H:%M:%S")));return true;}return false;}

View file

@ -1,16 +1,21 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('insertdatetime', 'cs,el,en,fr_ca,it,ko,sv,zh_cn,fa,fr,de,pl');
tinyMCE.importPluginLanguagePack('insertdatetime', 'cs,el,en,fr_ca,it,ko,sv,zh_cn,fa,fr,de,pl,pt_br,nl');
/**
* Returns the HTML contents of the insertdate, inserttime controls.
*/
function TinyMCE_insertdatetime_getControlHTML(control_name) {
var safariPatch = '" onclick="';
if (tinyMCE.isSafari)
safariPatch = "";
switch (control_name) {
case "insertdate":
return '<img id="{$editor_id}_insertdate" src="{$pluginurl}/images/insertdate.gif" title="{$lang_insertdate_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertDate\');">';
return '<img id="{$editor_id}_insertdate" src="{$pluginurl}/images/insertdate.gif" title="{$lang_insertdate_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');' + safariPatch + 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertDate\');">';
case "inserttime":
return '<img id="{$editor_id}_inserttime" src="{$pluginurl}/images/inserttime.gif" title="{$lang_inserttime_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertTime\');">';
return '<img id="{$editor_id}_inserttime" src="{$pluginurl}/images/inserttime.gif" title="{$lang_inserttime_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');' + safariPatch + 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertTime\');">';
}
return "";

View file

@ -1,4 +1,4 @@
// CAN_FR lang variables
// Canadian French lang variables by Virtuelcom
tinyMCELang['lang_insertdate_desc'] = 'Insérer la date';
tinyMCELang['lang_inserttime_desc'] = 'Insérer l\'heure';

View file

@ -0,0 +1,4 @@
// UK lang variables
tinyMCELang['lang_insertdate_desc'] = 'Datum invoegen';
tinyMCELang['lang_inserttime_desc'] = 'Tijd invoegen';

View file

@ -0,0 +1,8 @@
// pt_BR lang variables
tinyMCELang['lang_insertdate_desc'] = 'Inserir data';
tinyMCELang['lang_inserttime_desc'] = 'Inserir hora';
tinyMCELang['lang_inserttime_months_long'] = new Array("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");
tinyMCELang['lang_inserttime_months_short'] = new Array("Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez");
tinyMCELang['lang_inserttime_day_long'] = new Array("Domindo", "Segunda-Feira", "Terça-Feira", "Quarta-Feira", "Quinta-Feira", "Sexta-Feira", "Sábado", "Domingo");
tinyMCELang['lang_inserttime_day_short'] = new Array("Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab", "Dom");

View file

@ -1,8 +1,9 @@
// Simplified Chinese lang variables contributed by cube316 (cube316@etang.com)
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
tinyMCELang['lang_insertdate_desc'] = '插入当前日期';
tinyMCELang['lang_inserttime_desc'] = '插入当前时间';
tinyMCELang['lang_inserttime_months_long'] = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
tinyMCELang['lang_inserttime_months_short'] = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
tinyMCELang['lang_inserttime_day_long'] = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday");
tinyMCELang['lang_inserttime_day_short'] = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun");
tinyMCELang['lang_inserttime_months_long'] = new Array("一月份", "二月份", "三月份", "四月份", "五月份", "六月份", "七月份", "八月份", "九月份", "十月份", "十一月份", "十二月份");
tinyMCELang['lang_inserttime_months_short'] = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月");
tinyMCELang['lang_inserttime_day_long'] = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日");
tinyMCELang['lang_inserttime_day_short'] = new Array("周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日");

View file

@ -1,35 +1 @@
InsertDateTime plugin for TinyMCE
-----------------------------------
Installation instructions:
* Copy the insertdatetime directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "insertdatetime".
* Add the insertdate or inserttime button name to button list, example: theme_advanced_buttons3_add : "insertdate,inserttime".
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "insertdatetime",
theme_advanced_buttons3_add : "insertdate,inserttime",
plugin_insertdate_dateFormat : "%Y-%m-%d",
plugin_insertdate_timeFormat : "%H:%M:%S"
});
Configuration:
plugin_insertdate_dateFormat - Format that the date is output as. Defaults to: "%Y-%m-%d".
Replacement variables:
%y - year as a decimal number without a century (range 00 to 99)
%Y - year as a decimal number including the century
%d - day of the month as a decimal number (range 01 to 31)
%m - month as a decimal number (range 01 to 12)
%D - same as %m/%d/%y
%r - time in a.m. and p.m. notation
%H - hour as a decimal number using a 24-hour clock (range 00 to 23)
%I - hour as a decimal number using a 12-hour clock (range 01 to 12)
%M - minute as a decimal number (range 00-59)
%S - second as a decimal number (range 00-59)
%p - either `am' or `pm' according to the given time value
%% - a literal `%' character
plugin_insertdate_timeFormat - Format that the time is output as. Defaults to: "%H:%M:%S".
Check the TinyMCE documentation for details on this plugin.

View file

@ -1,2 +1,2 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('preview','cs,de,el,en,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl');function TinyMCE_preview_getControlHTML(control_name){switch(control_name){case "preview":return '<img id="{$editor_id}_preview" src="{$pluginurl}/images/preview.gif" title="{$lang_preview_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePreview\');" />';}return "";}function TinyMCE_preview_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")});}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="";html+='<!doctype html public "-//w3c//dtd html 4.0 transitional//en">';html+='<html>';html+='<head>';html+='<title>'+tinyMCE.getLang('lang_preview_desc')+'</title>';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';html+='<link href="'+tinyMCE.getParam("content_css")+'" rel="stylesheet" type="text/css">';html+='</head>';html+='<body>';html+=tinyMCE.getContent();html+='</body>';html+='</html>';win.document.write(html);win.document.close();}return true;}return false;}
tinyMCE.importPluginLanguagePack('preview','cs,de,el,en,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl,pt_br,nl');function TinyMCE_preview_getControlHTML(control_name){switch(control_name){case "preview":return '<img id="{$editor_id}_preview" src="{$pluginurl}/images/preview.gif" title="{$lang_preview_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePreview\');" />';}return "";}function TinyMCE_preview_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")});}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="";html+='<!doctype html public "-//w3c//dtd html 4.0 transitional//en">';html+='<html>';html+='<head>';html+='<title>'+tinyMCE.getLang('lang_preview_desc')+'</title>';html+='<base href="'+tinyMCE.getParam("document_base_url")+'">';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';html+='<link href="'+tinyMCE.getParam("content_css")+'" rel="stylesheet" type="text/css">';html+='</head>';html+='<body>';html+=tinyMCE.getContent();html+='</body>';html+='</html>';win.document.write(html);win.document.close();}return true;}return false;}

View file

@ -1,5 +1,5 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('preview', 'cs,de,el,en,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl');
tinyMCE.importPluginLanguagePack('preview', 'cs,de,el,en,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl,pt_br,nl');
/**
* Returns the HTML contents of the preview control.
@ -41,6 +41,7 @@ function TinyMCE_preview_execCommand(editor_id, element, command, user_interface
html += '<html>';
html += '<head>';
html += '<title>' + tinyMCE.getLang('lang_preview_desc') + '</title>';
html += '<base href="' + tinyMCE.getParam("document_base_url") + '">';
html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
html += '<link href="' + tinyMCE.getParam("content_css") + '" rel="stylesheet" type="text/css">';
html += '</head>';

View file

@ -1,3 +1,3 @@
// CAN_FR lang variables
// Canadian French lang variables by Virtuelcom last modification: 2005-06-15
tinyMCELang['lang_preview_desc'] = 'Prévisualisation';

View file

@ -0,0 +1,3 @@
// UK lang variables
tinyMCELang['lang_preview_desc'] = 'Voorbeeld';

View file

@ -0,0 +1,3 @@
// pt_BR lang variables
tinyMCELang['lang_preview_desc'] = 'Visualizar';

View file

@ -1,23 +1 @@
Preview plugin for TinyMCE
-----------------------------------
Installation instructions:
* Copy the preview directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "preview".
* Add the preview button name to button list, example: theme_advanced_buttons3_add : "preview".
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "preview",
theme_advanced_buttons3_add : "preview",
plugin_preview_width : "500",
plugin_preview_height : "600"
});
Configuration:
plugin_preview_width - Preview window width. Defaults to 550.
plugin_preview_height - Preview window height. Defaults to 600.
plugin_preview_pageurl - Custom preview page URL relative from theme
use "../../plugins/preview/example.html" for a example.
Check the TinyMCE documentation for details on this plugin.

View file

@ -1,2 +1,2 @@
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('print','en,sv,zh_cn,fa,fr_ca,fr,de,pl');function TinyMCE_print_getControlHTML(control_name){switch(control_name){case "print":return '<img id="{$editor_id}_print" src="{$pluginurl}/images/print.gif" title="{$lang_print_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePrint\',true);" />';}return "";}function TinyMCE_print_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true;}return false;}
tinyMCE.importPluginLanguagePack('print','en,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl');function TinyMCE_print_getControlHTML(control_name){switch(control_name){case "print":return '<img id="{$editor_id}_print" src="{$pluginurl}/images/print.gif" title="{$lang_print_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePrint\',true);" />';}return "";}function TinyMCE_print_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true;}return false;}

View file

@ -1,5 +1,5 @@
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('print', 'en,sv,zh_cn,fa,fr_ca,fr,de,pl');
tinyMCE.importPluginLanguagePack('print', 'en,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl');
function TinyMCE_print_getControlHTML(control_name) {
switch (control_name) {

View file

@ -0,0 +1,3 @@
// CS lang variables
tinyMCELang['lang_print_desc'] = 'Tisk';

View file

@ -1,3 +1,3 @@
// CA_FR lang variables
// Canadian French lang variables by Virtuelcom last modification: 2005-06-15
tinyMCELang['lang_print_desc'] = 'Imprimer';

View file

@ -0,0 +1,3 @@
// UK lang variables
tinyMCELang['lang_print_desc'] = 'Afdrukken';

View file

@ -0,0 +1,3 @@
// pt_BR lang variables
tinyMCELang['lang_print_desc'] = 'Imprimir';

View file

@ -1,3 +1,4 @@
// Simplified Chinese lang variables contributed by cube316 (cube316@etang.com)
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
tinyMCELang['lang_print_desc'] = '´òÓ¡';

View file

@ -1,17 +1 @@
Print plugin for TinyMCE
-----------------------------
About:
This plugin adds a print button to TinyMCE.
Installation instructions:
* Copy the print directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "print".
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "print",
theme_advanced_buttons1_add : "print",
});
Check the TinyMCE documentation for details on this plugin.

View file

@ -1,2 +1,2 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('save','en,zh_cn,cs,fa,fr_ca,fr,de,pl');function TinyMCE_save_getControlHTML(control_name){switch(control_name){case "save":return '<img id="{$editor_id}_save" src="{$pluginurl}/images/save.gif" title="{$lang_save_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.switchClass(this,\'mceButtonNormal\');" onmousedown="tinyMCE.switchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSave\');" />';}return "";}function TinyMCE_save_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceSave":var formObj=tinyMCE.selectedInstance.formElement.form;if(formObj){tinyMCE.triggerSave();for(var i=0;i<formObj.elements.length;i++){var elementId=formObj.elements[i].name?formObj.elements[i].name:formObj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)formObj.elements[i].disabled=true;}tinyMCE.selectedInstance.formElement.form.submit();}else alert("Error: No form element found.");return true;}return false;}
tinyMCE.importPluginLanguagePack('save','en,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl');function TinyMCE_save_getControlHTML(control_name){switch(control_name){case "save":return '<img id="{$editor_id}_save" src="{$pluginurl}/images/save.gif" title="{$lang_save_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.switchClass(this,\'mceButtonNormal\');" onmousedown="tinyMCE.switchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSave\');" />';}return "";}function TinyMCE_save_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceSave":var formObj=tinyMCE.selectedInstance.formElement.form;if(formObj){tinyMCE.triggerSave();for(var i=0;i<formObj.elements.length;i++){var elementId=formObj.elements[i].name?formObj.elements[i].name:formObj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)formObj.elements[i].disabled=true;}tinyMCE.selectedInstance.formElement.form.submit();}else alert("Error: No form element found.");return true;}return false;}

View file

@ -1,5 +1,5 @@
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('save', 'en,zh_cn,cs,fa,fr_ca,fr,de,pl');
tinyMCE.importPluginLanguagePack('save', 'en,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl');
/**
* Returns the HTML contents of the save control.

View file

@ -1,3 +1,3 @@
// CA_FR lang variables
// Canadian French lang variables by Virtuelcom last modification: 2005-06-15
tinyMCELang['lang_save_desc'] = 'Enregistrer';

View file

@ -0,0 +1,3 @@
// UK lang variables
tinyMCELang['lang_save_desc'] = 'Opslaan';

View file

@ -0,0 +1,3 @@
// pt_BR lang variables
tinyMCELang['lang_save_desc'] = 'Salvar';

View file

@ -1,3 +1,4 @@
// UK lang variables
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
tinyMCELang['lang_save_desc'] = '±£´æ';

View file

@ -1,19 +1 @@
Save plugin for TinyMCE
(Dec 2004) by SlyD - d.herwald@dsh-elektronik.de
--------------------------
About:
Adds a "save" button that submits the form.
Installation instructions:
* Copy the save directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "save".
* Add the save button name to button list, example: theme_advanced_buttons3_add : "save".
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "save",
theme_advanced_buttons3_add : "save"
});
Check the TinyMCE documentation for details on this plugin.

View file

@ -1,2 +1,2 @@
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('searchreplace','en,sv,zh_cn,fa,fr_ca,fr,de,pl');function TinyMCE_searchreplace_getControlHTML(control_name){switch(control_name){case "search":return '<img id="{$editor_id}_search" src="{$pluginurl}/images/search.gif" title="{$lang_searchreplace_search_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearch\',true);" />';case "replace":return '<img id="{$editor_id}_replace" src="{$pluginurl}/images/replace.gif" title="{$lang_searchreplace_replace_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearchReplace\',true);" />';}return "";}function TinyMCE_searchreplace_execCommand(editor_id,element,command,user_interface,value){function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key];}function replaceSel(search_str,str){if(!tinyMCE.isMSIE){var sel=instance.contentWindow.getSelection();var rng=sel.getRangeAt(0);}else{var rng=instance.contentWindow.document.selection.createRange();}if(!tinyMCE.isMSIE){var doc=instance.contentWindow.document;if(str.indexOf(search_str)==-1){rng.deleteContents();rng.insertNode(rng.createContextualFragment(str));rng.collapse(false);}else{doc.execCommand("insertimage",false,"#mce_temp_url#");var elm=tinyMCE.getElementByAttributeValue(doc.body,"img","src","#mce_temp_url#");elm.parentNode.replaceChild(doc.createTextNode(str),elm);}}else{if(rng.item)rng.item(0).outerHTML=str;else rng.pasteHTML(str);}}var instance=tinyMCE.getInstanceById(editor_id);if(!value)value=new Array();defValue("editor_id",editor_id);defValue("searchstring","");defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);switch(command){case "mceResetSearch":tinyMCE.lastSearchRng=null;return true;case "mceSearch":if(user_interface){var template=new Array();if(value['replacestring']!=null){template['file']='../../plugins/searchreplace/replace.htm';template['width']=310;template['height']=180;}else{template['file']='../../plugins/searchreplace/search.htm';template['width']=280;template['height']=180;}tinyMCE.openWindow(template,value);}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring']);value['replacemode']="none";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}if(tinyMCE.isMSIE){var rng=tinyMCE.lastSearchRng?tinyMCE.lastSearchRng:doc.selection.createRange();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(value['replacemode']=="all"){while(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(false);replaceSel(value['string'],value['replacestring']);}alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(value['backwards']);tinyMCE.lastSearchRng=rng;}else alert(tinyMCE.getLang('lang_searchreplace_notfound'));}else{if(value['replacemode']=="all"){while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))replaceSel(value['string'],value['replacestring']);alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))alert(tinyMCE.getLang('lang_searchreplace_notfound'));}}return true;case "mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}return false;}function TinyMCE_searchreplace_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){return true;}
tinyMCE.importPluginLanguagePack('searchreplace','en,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl');function TinyMCE_searchreplace_getControlHTML(control_name){switch(control_name){case "search":return '<img id="{$editor_id}_search" src="{$pluginurl}/images/search.gif" title="{$lang_searchreplace_search_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearch\',true);" />';case "replace":return '<img id="{$editor_id}_replace" src="{$pluginurl}/images/replace.gif" title="{$lang_searchreplace_replace_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearchReplace\',true);" />';}return "";}function TinyMCE_searchreplace_execCommand(editor_id,element,command,user_interface,value){function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key];}function replaceSel(search_str,str){if(!tinyMCE.isMSIE){var sel=instance.contentWindow.getSelection();var rng=sel.getRangeAt(0);}else{var rng=instance.contentWindow.document.selection.createRange();}if(!tinyMCE.isMSIE){var doc=instance.contentWindow.document;if(str.indexOf(search_str)==-1){rng.deleteContents();rng.insertNode(rng.createContextualFragment(str));rng.collapse(false);}else{doc.execCommand("insertimage",false,"#mce_temp_url#");var elm=tinyMCE.getElementByAttributeValue(doc.body,"img","src","#mce_temp_url#");elm.parentNode.replaceChild(doc.createTextNode(str),elm);}}else{if(rng.item)rng.item(0).outerHTML=str;else rng.pasteHTML(str);}}var instance=tinyMCE.getInstanceById(editor_id);if(!value)value=new Array();defValue("editor_id",editor_id);defValue("searchstring","");defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);switch(command){case "mceResetSearch":tinyMCE.lastSearchRng=null;return true;case "mceSearch":if(user_interface){var template=new Array();if(value['replacestring']!=null){template['file']='../../plugins/searchreplace/replace.htm';template['width']=310;template['height']=180;}else{template['file']='../../plugins/searchreplace/search.htm';template['width']=280;template['height']=180;}tinyMCE.openWindow(template,value);}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;var body=tinyMCE.getInstanceById(editor_id).contentWindow.document.body;if(body.innerHTML==""){alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true;}if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring']);value['replacemode']="none";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}if(tinyMCE.isMSIE){var rng=tinyMCE.lastSearchRng?tinyMCE.lastSearchRng:doc.selection.createRange();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(value['replacemode']=="all"){while(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(false);replaceSel(value['string'],value['replacestring']);}alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(value['backwards']);tinyMCE.lastSearchRng=rng;}else alert(tinyMCE.getLang('lang_searchreplace_notfound'));}else{if(value['replacemode']=="all"){while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))replaceSel(value['string'],value['replacestring']);alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))alert(tinyMCE.getLang('lang_searchreplace_notfound'));}}return true;case "mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}return false;}function TinyMCE_searchreplace_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){return true;}

View file

@ -1,5 +1,5 @@
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('searchreplace', 'en,sv,zh_cn,fa,fr_ca,fr,de,pl');
tinyMCE.importPluginLanguagePack('searchreplace', 'en,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl');
function TinyMCE_searchreplace_getControlHTML(control_name) {
switch (control_name) {
@ -93,6 +93,13 @@ function TinyMCE_searchreplace_execCommand(editor_id, element, command, user_int
} else {
var win = tinyMCE.getInstanceById(editor_id).contentWindow;
var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document;
var body = tinyMCE.getInstanceById(editor_id).contentWindow.document.body;
// Whats the point
if (body.innerHTML == "") {
alert(tinyMCE.getLang('lang_searchreplace_notfound'));
return true;
}
// Handle replace current
if (value['replacemode'] == "current") {

View file

@ -0,0 +1,19 @@
// CS lang variables
tinyMCELang['lang_searchreplace_search_desc'] = 'Najdi';
tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Najdi znova';
tinyMCELang['lang_searchreplace_replace_desc'] = 'Najdi/Nahradit';
tinyMCELang['lang_searchreplace_notfound'] = 'Vyhledávaní ukonc(eno. R(etezec nemusel být nalezen.';
tinyMCELang['lang_searchreplace_search_title'] = 'Najdi';
tinyMCELang['lang_searchreplace_replace_title'] = 'Najdi/Nahradit';
tinyMCELang['lang_searchreplace_allreplaced'] = 'Všechny výskyty r(etezce byli zme(neny.';
tinyMCELang['lang_searchreplace_findwhat'] = 'Najít';
tinyMCELang['lang_searchreplace_replacewith'] = 'Nahradit';
tinyMCELang['lang_searchreplace_direction'] = 'Sme(r';
tinyMCELang['lang_searchreplace_up'] = 'Nahoru';
tinyMCELang['lang_searchreplace_down'] = 'Dolu*';
tinyMCELang['lang_searchreplace_case'] = 'Pr(esná zhoda';
tinyMCELang['lang_searchreplace_findnext'] = 'Najdi&nbsp;další';
tinyMCELang['lang_searchreplace_replace'] = 'Nahradit';
tinyMCELang['lang_searchreplace_replaceall'] = 'Nahradit&nbsp;vše';
tinyMCELang['lang_searchreplace_cancel'] = 'Zrušit';

View file

@ -1,4 +1,4 @@
// CA_FR lang variables
// Canadian French lang variables by Virtuelcom last modification: 2005-06-15
tinyMCELang['lang_searchreplace_search_desc'] = 'Chercher';
tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Chercher suivant';

View file

@ -0,0 +1,19 @@
// NL lang variables
tinyMCELang['lang_searchreplace_search_desc'] = 'Zoeken';
tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Opnieuw zoeken';
tinyMCELang['lang_searchreplace_replace_desc'] = 'Zoeken/Vervang';
tinyMCELang['lang_searchreplace_notfound'] = 'De zoekopdracht is klaar. Het zoekargument was niet gevonden.';
tinyMCELang['lang_searchreplace_search_title'] = 'Zoeken';
tinyMCELang['lang_searchreplace_replace_title'] = 'Zoeken/Vervangen';
tinyMCELang['lang_searchreplace_allreplaced'] = 'Alle zoekargumenten werden vervangen.';
tinyMCELang['lang_searchreplace_findwhat'] = 'Zoek argument';
tinyMCELang['lang_searchreplace_replacewith'] = 'Vervang met';
tinyMCELang['lang_searchreplace_direction'] = 'Richting';
tinyMCELang['lang_searchreplace_up'] = 'Op';
tinyMCELang['lang_searchreplace_down'] = 'Neer';
tinyMCELang['lang_searchreplace_case'] = 'Identieke hoofdletters';
tinyMCELang['lang_searchreplace_findnext'] = 'Volgende zoeken';
tinyMCELang['lang_searchreplace_replace'] = 'Vervang';
tinyMCELang['lang_searchreplace_replaceall'] = 'Vervang&nbsp;alles';
tinyMCELang['lang_searchreplace_cancel'] = 'Annuleer';

View file

@ -0,0 +1,19 @@
// pt_BR lang variables
tinyMCELang['lang_searchreplace_search_desc'] = 'Procurar';
tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Procurar novamente';
tinyMCELang['lang_searchreplace_replace_desc'] = 'Procurar/Substituir';
tinyMCELang['lang_searchreplace_notfound'] = 'A procura foi concluída. A expressão buscada não foi encontrada.';
tinyMCELang['lang_searchreplace_search_title'] = 'Procurar';
tinyMCELang['lang_searchreplace_replace_title'] = 'Procurar/Substituir';
tinyMCELang['lang_searchreplace_allreplaced'] = 'Todas as ocorrências encontradas foram substituídas.';
tinyMCELang['lang_searchreplace_findwhat'] = 'Procurar por';
tinyMCELang['lang_searchreplace_replacewith'] = 'Substituir com';
tinyMCELang['lang_searchreplace_direction'] = 'Direção';
tinyMCELang['lang_searchreplace_up'] = 'Acima';
tinyMCELang['lang_searchreplace_down'] = 'Abaixo';
tinyMCELang['lang_searchreplace_case'] = 'Procurar exatamente';
tinyMCELang['lang_searchreplace_findnext'] = 'Procurar&nbsp;próxima';
tinyMCELang['lang_searchreplace_replace'] = 'Substituir';
tinyMCELang['lang_searchreplace_replaceall'] = 'Substituir&nbsp;tudo';
tinyMCELang['lang_searchreplace_cancel'] = 'Cancelar';

View file

@ -1,4 +1,5 @@
// Simplified Chinese lang variables contributed by cube316 (cube316@etang.com)
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
tinyMCELang['lang_searchreplace_search_desc'] = '²éÕÒ';
tinyMCELang['lang_searchreplace_searchnext_desc'] = 'ÔٴβéÕÒ';

View file

@ -1,18 +1 @@
searchreplace plugin for TinyMCE
-----------------------------
About:
This plugin adds search/replace dialogs to TinyMCE.
Installation instructions:
* Copy the searchreplace directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "searchreplace".
* Add buttons "search,replace" to the button list.
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "searchreplace",
theme_advanced_buttons1_add : "search,replace",
});
Check the TinyMCE documentation for details on this plugin.

View file

@ -16,14 +16,13 @@
// formObj.wholeword.checked = tinyMCE.getWindowArg("wholeword");
tinyMCE.execInstanceCommand(tinyMCE.getWindowArg("editor_id"), "mceResetSearch", false, {dummy : ""}, false);
window.focus();
}
function searchNext(replacemode) {
var formObj = document.forms[0];
// Whats the point?
if (formObj.searchstring.value == formObj.replacestring.value)
if (formObj.searchstring.value == "" || formObj.searchstring.value == formObj.replacestring.value)
return;
// Do search
@ -39,7 +38,8 @@
}
function cancelAction() {
top.close();
// Close the dialog
tinyMCE.closeDialog();
}
//-->
</script>
@ -75,7 +75,7 @@
</table></td>
</tr>
</table>
<table border="0" width="100%" cellspacing="0" cellpadding="4">
<table border="0" width="300" cellspacing="0" cellpadding="4">
<tr>
<td><input name="findBtn" type="button" id="findBtn" value="{$lang_searchreplace_findnext}" onclick="searchNext('none');" /></td>
<td><input name="replaceBtn" type="button" id="replaceBtn" value="{$lang_searchreplace_replace}" onclick="searchNext('current');" /></td>

View file

@ -15,12 +15,14 @@
// formObj.wholeword.checked = tinyMCE.getWindowArg("wholeword");
tinyMCE.execInstanceCommand(tinyMCE.getWindowArg("editor_id"), "mceResetSearch", false, {dummy : ""}, false);
window.focus();
}
function searchNext() {
var formObj = document.forms[0];
if (formObj.searchstring.value == "")
return;
// Do search
tinyMCE.execInstanceCommand(tinyMCE.getWindowArg("editor_id"), 'mceSearch', false, {
string : formObj.searchstring.value,
@ -32,7 +34,8 @@
}
function cancelAction() {
top.close();
// Close the dialog
tinyMCE.closeDialog();
}
//-->
</script>
@ -63,7 +66,7 @@
</table></td>
</tr>
</table>
<table border="0" width="100%" cellspacing="0" cellpadding="4">
<table border="0" width="300" cellspacing="0" cellpadding="4">
<tr>
<td><input name="findBtn" type="submit" id="findBtn" value="{$lang_searchreplace_findnext}" /></td>
<td align="right"><input name="cancelBtn" type="button" id="cancelBtn" value="{$lang_searchreplace_cancel}" onclick="cancelAction();" /></td>

View file

@ -3,8 +3,6 @@
<title>{$lang_table_cell_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript">
// Disable auto resize
tinyMCE.getWindowArg('mce_windowresize', false);
function insertTable() {
if (window.opener) {
@ -19,7 +17,9 @@ function insertTable() {
args["bgcolor"] = document.forms[0].bgcolor.value;
window.opener.tinyMCE.execCommand("mceTableCellProps", false, args);
top.close();
// Close the dialog
tinyMCE.closeDialog();
}
}
@ -70,18 +70,16 @@ function init() {
var formObj = document.forms[0];
formObj.width.value = tinyMCE.getWindowArg('width');
formObj.height.value = tinyMCE.getWindowArg('height');
// Autoresize and focus
TinyMCEPopup_autoResize();
window.focus();
}
function cancelAction() {
top.close();
// Close the dialog
tinyMCE.closeDialog();
}
</script>
</head>
<body onload="window.focus();init();">
<body onload="init();">
<form onsubmit="insertTable();return false;">
<table border="0" cellpadding="0" cellspacing="0" width="200">
<tr>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

View file

@ -31,3 +31,11 @@ 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';
tinyMCELang['lang_table_insert_desc'] = 'Insert a new table';

View file

@ -31,3 +31,11 @@ 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';
tinyMCELang['lang_table_insert_desc'] = 'Insert a new table';

View file

@ -31,3 +31,11 @@ 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';
tinyMCELang['lang_table_insert_desc'] = 'Insert a new table';

View file

@ -31,3 +31,11 @@ tinyMCELang['lang_insert_table_align_bottom'] = 'Unten';
tinyMCELang['lang_table_props_desc'] = 'Tabelleneigenschaften';
tinyMCELang['lang_table_bordercolor'] = 'Rahmenfarbe';
tinyMCELang['lang_table_bgcolor'] = 'Hintergrundfarbe';
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';
tinyMCELang['lang_table_insert_desc'] = 'Insert a new table';

View file

@ -31,3 +31,11 @@ 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';
tinyMCELang['lang_table_insert_desc'] = 'Insert a new table';

View file

@ -31,3 +31,11 @@ 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';
tinyMCELang['lang_table_insert_desc'] = 'Insert a new table';

View file

@ -31,3 +31,11 @@ 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';
tinyMCELang['lang_table_insert_desc'] = 'Insert a new table';

View file

@ -35,3 +35,11 @@ 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';
tinyMCELang['lang_table_insert_desc'] = 'Insert a new table';

Some files were not shown because too many files have changed in this diff Show more