upgrade tinymce to 1.40

This commit is contained in:
JT Smith 2005-01-30 23:32:49 +00:00
parent 7ceff84e8a
commit 7d9c0268ac
107 changed files with 3717 additions and 492 deletions

View file

@ -0,0 +1,18 @@
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('advlink', 'uk,se,de');
/**
* Insert link template function.
*/
function TinyMCE_advlink_getInsertLinkTemplate() {
var template = new Array();
template['file'] = '../../plugins/advlink/link.htm';
template['width'] = 440;
template['height'] = 420;
// Language specific width and height addons
template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0);
return template;
}

View file

@ -0,0 +1,20 @@
// DE lang variables
tinyMCELang['lang_insert_link_target_same'] = 'Im selben Frame öffnen';
tinyMCELang['lang_insert_link_target_parent'] = 'Im darüber liegenden Frame öffnen';
tinyMCELang['lang_insert_link_target_top']= 'Im obersten Frame öffnen';
tinyMCELang['lang_insert_link_target_blank']= 'In einem neuen Fenster öffnen';
tinyMCELang['lang_insert_link_target_named']= 'Öffnen im Fenster/Frame';
tinyMCELang['lang_insert_link_popup'] = 'JS-Popup';
tinyMCELang['lang_insert_link_popup_url'] = 'Popup URL';
tinyMCELang['lang_insert_link_popup_name']= 'Fenstername';
tinyMCELang['lang_insert_link_popup_return']= 'mit \'return false\'';
tinyMCELang['lang_insert_link_popup_scrollbars']= 'Scrollbars anzeigen';
tinyMCELang['lang_insert_link_popup_statusbar'] = 'Statusbar anzeigen';
tinyMCELang['lang_insert_link_popup_toolbar'] = 'Toolbars anzeigen';
tinyMCELang['lang_insert_link_popup_menubar'] = 'Menu anzeigen';
tinyMCELang['lang_insert_link_popup_location']= 'Adresszeile anzeigen';
tinyMCELang['lang_insert_link_popup_resizable'] = 'Größe änderbar';
tinyMCELang['lang_insert_link_popup_size']= 'Größe';
tinyMCELang['lang_insert_link_popup_position']= 'Position (X/Y)';
tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Please insert a name for the target or choose another option.';

View file

@ -0,0 +1,19 @@
// KO lang variables
tinyMCELang['lang_insert_link_target_same'] = '같은 창에서 링크/프레임 열기';
tinyMCELang['lang_insert_link_target_parent'] = '부모 창에서 링크/프레임 열기';
tinyMCELang['lang_insert_link_target_top'] = '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_url'] = '팝업 URL';
tinyMCELang['lang_insert_link_popup_name'] = '창 이름';
tinyMCELang['lang_insert_link_popup_return'] = '\'return false\' 넣기';
tinyMCELang['lang_insert_link_popup_scrollbars'] = '스크롤바를 보여줌';
tinyMCELang['lang_insert_link_popup_statusbar'] = '상태창을 보여줌';
tinyMCELang['lang_insert_link_popup_toolbar'] = '툴바를 보여줌';
tinyMCELang['lang_insert_link_popup_menubar'] = '메뉴바를 보여줌';
tinyMCELang['lang_insert_link_popup_location'] = '위치 표시줄을 보여줌';
tinyMCELang['lang_insert_link_popup_resizable'] = '크기 조절 가능한 윈도우 생성';
tinyMCELang['lang_insert_link_popup_size'] = '크기';
tinyMCELang['lang_insert_link_popup_position'] = '위치 (X/Y)';

View file

@ -0,0 +1,20 @@
// SE lang variables
tinyMCELang['lang_insert_link_target_same'] = 'Öppna i samma fönster / ram';
tinyMCELang['lang_insert_link_target_parent'] = 'Öppna i underliggande fönster / ram';
tinyMCELang['lang_insert_link_target_top'] = 'Öppna i topp ramen (ersätter alla ramar)';
tinyMCELang['lang_insert_link_target_blank'] = 'Öppna i ett nytt fönster';
tinyMCELang['lang_insert_link_target_named'] = 'Öppna i ett specifikt fönster';
tinyMCELang['lang_insert_link_popup'] = 'JS-Popup';
tinyMCELang['lang_insert_link_popup_url'] = 'Popup URL';
tinyMCELang['lang_insert_link_popup_name'] = 'Fönstrets namn';
tinyMCELang['lang_insert_link_popup_return'] = 'Sättin \'return false\'';
tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Visa scrollbars';
tinyMCELang['lang_insert_link_popup_statusbar'] = 'Visa statusbar';
tinyMCELang['lang_insert_link_popup_toolbar'] = 'Visa toolbars';
tinyMCELang['lang_insert_link_popup_menubar'] = 'Visa menubar';
tinyMCELang['lang_insert_link_popup_location'] = 'Visa locationbar';
tinyMCELang['lang_insert_link_popup_resizable'] = 'Gör fönstret skalbart';
tinyMCELang['lang_insert_link_popup_size'] = 'Storlek';
tinyMCELang['lang_insert_link_popup_position'] = 'Position (X/Y)';
tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Var god skriv ett namn för målet eller välj ett annat val.';

View file

@ -0,0 +1,20 @@
// UK lang variables
tinyMCELang['lang_insert_link_target_same'] = 'Open in this window / frame';
tinyMCELang['lang_insert_link_target_parent'] = 'Open in parent window / frame';
tinyMCELang['lang_insert_link_target_top'] = 'Open in top frame (replaces all frames)';
tinyMCELang['lang_insert_link_target_blank'] = 'Open in new window';
tinyMCELang['lang_insert_link_target_named'] = 'Open in the window';
tinyMCELang['lang_insert_link_popup'] = 'JS-Popup';
tinyMCELang['lang_insert_link_popup_url'] = 'Popup URL';
tinyMCELang['lang_insert_link_popup_name'] = 'Window name';
tinyMCELang['lang_insert_link_popup_return'] = 'insert \'return false\'';
tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Show scrollbars';
tinyMCELang['lang_insert_link_popup_statusbar'] = 'Show statusbar';
tinyMCELang['lang_insert_link_popup_toolbar'] = 'Show toolbars';
tinyMCELang['lang_insert_link_popup_menubar'] = 'Show menubar';
tinyMCELang['lang_insert_link_popup_location'] = 'Show locationbar';
tinyMCELang['lang_insert_link_popup_resizable'] = 'Make window resizable';
tinyMCELang['lang_insert_link_popup_size'] = 'Size';
tinyMCELang['lang_insert_link_popup_position'] = 'Position (X/Y)';
tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Please insert a name for the target or choose another option.';

View file

@ -0,0 +1,376 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_insert_link_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript">
<!--
function myRegexpReplace(in_str, reg_exp, replace_str, opts) {
if (typeof opts == "undefined")
opts = 'g';
var re = new RegExp(reg_exp, opts);
return in_str.replace(re, replace_str);
}
function init() {
// modified 2004-11-10 by Michael Keck (me@michaelkeck.de)
// supporting onclick event to open pop windows
var formObj = document.forms[0];
var arrOnClick = new Array(), arrWinFeatures = new Array();
var strOnClick = '', strDocReturn = '';
arrOnClick = tinyMCE.getWindowArg('onclick').split(';');
for (var i=0; i<arrOnClick.length; i++) {
if (arrOnClick[i].indexOf('window.open')!=-1) {
strOnClick = arrOnClick[i];
strOnClick = strOnClick.substring(12,strOnClick.length-1);
formObj.ispopup.checked=true;
break;
}
}
if (strOnClick!='') {
for (var i=0; i<arrOnClick.length; i++) {
if (arrOnClick[i].indexOf('return false')!=-1) {
formObj.winreturn.checked=true;
break;
}
}
// get the win features
arrWinFeatures = strOnClick.split(',');
if (arrWinFeatures[0]!='') // link , url
formObj.winurl.value = myRegexpReplace(arrWinFeatures[0],"'","","gi");
if (arrWinFeatures[1]!='') // link , url
formObj.winname.value = myRegexpReplace(arrWinFeatures[1],"'","","gi");
for (var i=2; i<arrWinFeatures.length; i++) { // special features
tmpFeature = myRegexpReplace(arrWinFeatures[i],"'","","gi");
valFeature = tmpFeature.split('=');
if (valFeature[0]!='left' && valFeature[0]!='top' && valFeature[0]!='width' && valFeature[0]!='height') {
if (valFeature[1]=='yes')
formObj.elements['win'+valFeature[0].toLowerCase()].checked=true;
else
formObj.elements['win'+valFeature[0].toLowerCase()].checked=false;
} else {
switch (valFeature[0]) {
case 'left':
case 'top':
if (valFeature[1].indexOf('screen.avail')!=-1)
formObj.elements['win'+valFeature[0].toLowerCase()].value='c';
else
formObj.elements['win'+valFeature[0].toLowerCase()].value=valFeature[1];
break;
case 'width':
case 'height':
formObj.elements['win'+valFeature[0].toLowerCase()].value=valFeature[1];
break;
}
}
}
}
var myTarget = tinyMCE.getWindowArg('target');
myTarget = myTarget != "" ? myTarget : "_self";
formObj.target.value = myTarget;
formObj.href.value = tinyMCE.getWindowArg('href');
formObj.linktitle.value = tinyMCE.getWindowArg('title');
setMyTarget(myTarget);
window.focus();
}
function insertLink() {
var formObj = document.forms[0];
if (window.opener) {
var href = formObj.href.value;
var target = formObj.target.value;
var title = formObj.linktitle.value;
var onclick = '', features = '';
var winwith = '', winheight = '', winleft = '', wintop = '', winlocation = '', winmenubar = '', wintoolbar = '', winscrollbars = '', winresizable = '';
if (formObj.ispopup.checked==true) {
// building the onclick event
onclick = "window.open(";
// check if url given
if (formObj.winurl.value=='')
onclick += "this.href,";
else
onclick += "'" + formObj.winurl.value + "',";
onclick += "'" + formObj.winname.value + "'";
// get/set with and height
if (formObj.winwidth.value=='')
formObj.winwidth.value = 640;
if (formObj.winheight.value=='')
formObj.winheight.value = 480;
// win position
if (formObj.winleft.value=='c') {
if (features!='')
features += ",";
features += "left='+(screen.availWidth/2-" + (formObj.winwidth.value/2) + ")+'";
} else {
if (formObj.winleft.value!='') {
if (features!='')
features += ",";
features += "left=" + formObj.winleft.value;
}
}
if (formObj.wintop.value=='c') {
if (features!='')
features += ",";
features += "top='+(screen.availHeight/2-" + (formObj.winheight.value/2) + ")+'";
} else {
if (formObj.wintop.value!='') {
if (features!='')
features += ",";
features += "top=" + formObj.wintop.value;
}
}
if (features!='')
features += ',';
features += "width=" + formObj.winwidth.value + ",height=" + formObj.winheight.value;
// some window features
if (formObj.winlocation.checked==true) {
if (features!='')
features += ',';
features += "location=yes";
}
if (formObj.winmenubar.checked==true) {
if (features!='')
features += ',';
features += "menubar=yes";
}
if (formObj.wintoolbar.checked==true) {
if (features!='')
features += ',';
features += "toolbar=yes";
}
if (formObj.winstatus.checked==true) {
if (features!='')
features += ',';
features += "status=yes";
}
if (formObj.winscrollbars.checked==true) {
if (features!='')
features += ',';
features += "scrollbars=yes";
}
if (formObj.winresizable.checked==true) {
if (features!='')
features += ',';
features += "resizable=yes";
}
if (features!='')
onclick += ",'" + features + "'";
if (onclick!='')
onclick += ");";
// return false means: open only the popup
if (formObj.winreturn.checked==true)
onclick += "return false;";
}
if (target!='' && target!='please_insert_on_target_in_textfield') {
//alert (onclick);
window.opener.tinyMCE.insertLink(href, target, title, onclick);
top.close();
} else {
alert(tinyMCE.getLang('lang_insert_link_popup_missingtarget'));
formObj.framename.select();
}
}
}
function setMyTarget(what) {
var formObj = document.forms[0];
formObj.target.value=what;
switch (what) {
case '':
case '_self':
document.getElementById('same').checked=true;
formObj.framename.value='_self';
break;
case '_blank':
document.getElementById('blank').checked=true;
formObj.framename.value='';
break;
case '_parent':
document.getElementById('parent').checked=true;
formObj.framename.value='';
break;
case '_top':
document.getElementById('top').checked=true;
formObj.framename.value='';
break;
default:
document.getElementById('named').checked=true;
if (what!='please_insert_on_target_in_textfield') {
formObj.framename.value=what;
}
break;
}
}
function setPopupInputs() {
var formObj = document.forms[0];
var ids = new Array('url','name','left','top','width','height','location','menubar','toolbar','status','scrollbars','resizable','return');
if (formObj.ispopup.checked==false) {
formObj.winurl.value = "";
formObj.winname.value = "";
formObj.winwidth.value = "";
formObj.winheight.value = "";
formObj.winleft.value = "";
formObj.wintop.value = "";
formObj.winlocation.checked = false;
formObj.winmenubar.checked = false;
formObj.wintoolbar.checked = false;
formObj.winscrollbars.checked = false;
formObj.winresizable.checked = false;
formObj.winstatus.checked = false;
formObj.winreturn.checked = false;
for (var i=0; i<ids.length; i++) {
if (typeof(formObj.elements['win'+ids[i]])!='undefined')
formObj.elements['win'+ids[i]].disabled = true;
if (document.getElementById('label'+ids[i]))
document.getElementById('label'+ids[i]).style.color = "#666666";
}
} else {
formObj.winreturn.checked = true;
for (var i=0; i<ids.length; i++) {
if (typeof(formObj.elements['win'+ids[i]])!='undefined')
formObj.elements['win'+ids[i]].disabled = false;
if (document.getElementById('label'+ids[i]))
document.getElementById('label'+ids[i]).style.color = "#000000";
}
}
}
function cancelAction() {
top.close();
}
//-->
</script>
<style type="text/css">
<!--
input.radio {
border: 1px none #000000;
background-color: transparent;
vertical-align: middle;
}
-->
</style>
</head>
<body onload="init();">
<form onsubmit="insertLink();return false;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
<tr>
<td colspan="2" class="title">{$lang_insert_link_title}</td>
</tr>
<tr>
<td align="right">{$lang_insert_link_url}:</td>
<td><input name="href" type="text" id="href" value="" style="width: 300px;" /></td>
</tr>
<tr>
<td align="right">{$lang_theme_insert_link_titlefield}:</td>
<td><input name="linktitle" type="text" id="linktitle" value="" style="width: 300px;" /></td>
</tr>
<tr>
<td align="right" valign="top">{$lang_insert_link_target}:<input type="hidden" name="target" id="target" value="" /></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="radio" id="same" name="linktarget" class="radio" onclick="setMyTarget('_self');" checked="checked" /></td>
<td nowrap="nowrap"><label for="same">_self</label></td>
<td nowrap="nowrap">&nbsp;({$lang_insert_link_target_same})</td>
</tr>
<tr>
<td><input type="radio" id="parent" name="linktarget" class="radio" onclick="setMyTarget('_parent');" checked="checked" /></td>
<td nowrap="nowrap"><label for="parent">_parent</label></td>
<td nowrap="nowrap">&nbsp;({$lang_insert_link_target_parent})</td>
</tr>
<tr>
<td><input type="radio" id="top" name="linktarget" class="radio" onclick="setMyTarget('_top');" checked="checked" /></td>
<td nowrap="nowrap"><label for="top">_top</label></td>
<td nowrap="nowrap">&nbsp;({$lang_insert_link_target_top})</td>
</tr>
<tr>
<td><input type="radio" id="blank" name="linktarget" class="radio" onclick="setMyTarget('_blank');" checked="checked" /></td>
<td nowrap="nowrap"><label for="blank">_blank</label></td>
<td nowrap="nowrap">&nbsp;({$lang_insert_link_target_blank})</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="radio" id="named" name="linktarget" class="radio" onclick="setMyTarget('please_insert_on_target_in_textfield');" /></td>
<td nowrap="nowrap"><label for="named">{$lang_insert_link_target_named}:</label>&nbsp;</td>
<td nowrap="nowrap"><input type="text" name="framename" value="" id="framename" style="width: 120px; vertical-align: middle;" onblur="if(this.value!=''){ setMyTarget(this.value); }" onfocus="if(this.value!=''){ setMyTarget(this.value); }" maxlength="50" /></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="right" valign="top"><input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupInputs();" /><label for="ispopup"><b>{$lang_insert_link_popup}:</b></label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_link_popup_url}:&nbsp;</td>
<td id="labelurl"><input type="text" name="winurl" id="winurl" value="" style="width: 200px;" /></td>
</tr>
<tr>
<td align="right" nowrap="nowrap" id="labelname">{$lang_insert_link_popup_name}:&nbsp;</td>
<td><input type="text" name="winname" id="winname" value="" style="width: 200px;" /></td>
</tr>
<tr>
<td align="right" nowrap="nowrap" id="labelwidth">{$lang_insert_link_popup_size}:&nbsp;</td>
<td nowrap="nowrap" id="labelheight">
<input type="text" name="winwidth" id="winwidth" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> x
<input type="text" name="winheight" id="winheight" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> px
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap" id="labelleft">{$lang_insert_link_popup_position}:&nbsp;</td>
<td nowrap="nowrap" id="labeltop">
<input type="text" name="winleft" id="winleft" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> /
<input type="text" name="wintop" id="wintop" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> (c /c = center)
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right"><input type="checkbox" id="winlocation" name="winloaction" class="radio" /></td>
<td nowrap="nowrap" id="labellocation"><label for="winloaction">{$lang_insert_link_popup_location}</label></td>
<td nowrap="nowrap">&nbsp;&nbsp;</td>
<td align="right"><input type="checkbox" id="winscrollbars" name="winscrollbars" class="radio" /></td>
<td nowrap="nowrap" id="labelscrollbars"><label for="winscrollbars">{$lang_insert_link_popup_scrollbars}</label></td>
</tr>
<tr>
<td align="right"><input type="checkbox" id="winmenubar" name="winmenubar" class="radio" /></td>
<td nowrap="nowrap" id="labelmenubar"><label for="winmenubar">{$lang_insert_link_popup_menubar}</label></td>
<td nowrap="nowrap">&nbsp;</td>
<td align="right"><input type="checkbox" id="winresizable" name="winresizable" class="radio" /></td>
<td nowrap="nowrap" id="labelresizable"><label for="winresizable">{$lang_insert_link_popup_resizable}</label></td>
</tr>
<tr>
<td align="right"><input type="checkbox" id="wintoolbar" name="wintoolbar" class="radio" /></td>
<td nowrap="nowrap" id="labeltoolbar"><label for="wintoolbar">{$lang_insert_link_popup_toolbar}</label></td>
<td nowrap="nowrap">&nbsp;</td>
<td nowrap="nowrap">&nbsp;</td>
<td nowrap="nowrap">&nbsp;</td>
</tr>
<tr>
<td align="right"><input type="checkbox" id="winstatus" name="winstatus" class="radio" /></td>
<td nowrap="nowrap" id="labelstatus"><label for="winstatus">{$lang_insert_link_popup_statusbar}</label></td>
<td nowrap="nowrap">&nbsp;</td>
<td align="right"><input type="checkbox" id="winreturn" name="winreturn" class="radio" checked="checked" /></td>
<td nowrap="nowrap" id="labelreturn"><label for="winreturn">{$lang_insert_link_popup_return}</label></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><input type="button" name="insert" value="{$lang_insert}" onclick="insertLink();" id="insert" /></td>
<td align="right"><input type="button" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" id="cancel" /></td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>

View file

@ -0,0 +1,19 @@
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]"
});