init import from old mailr project (http://svn.littlegreen.org/mailr/trunk)
118
public/tiny_mce/plugins/_template/editor_plugin.js
vendored
Normal file
|
@ -0,0 +1,118 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('template', 'en'); // <- Add a comma separated list of all supported languages
|
||||
|
||||
/****
|
||||
* Steps for creating a plugin from this template:
|
||||
*
|
||||
* 1. Change all "template" to the name of your plugin.
|
||||
* 2. Remove all the callbacks in this file that you don't need.
|
||||
* 3. Remove the popup.htm file if you don't need any popups.
|
||||
* 4. Add your custom logic to the callbacks you needed.
|
||||
* 5. Write documentation in a readme.txt file on how to use the plugin.
|
||||
* 6. Upload it under the "Plugins" section at sourceforge.
|
||||
*
|
||||
****/
|
||||
|
||||
/**
|
||||
* Gets executed when a editor instance is initialized
|
||||
*/
|
||||
function TinyMCE_template_initInstance(inst) {
|
||||
// You can take out plugin specific parameters
|
||||
alert("Initialization parameter:" + tinyMCE.getParam("template_someparam", false));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets executed when a editor needs to generate a button.
|
||||
*/
|
||||
function TinyMCE_template_getControlHTML(control_name) {
|
||||
switch (control_name) {
|
||||
case "template":
|
||||
return '<img id="{$editor_id}_template" src="{$pluginurl}/images/template.gif" title="{$lang_template_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}\',\'mceTemplate\', true);" />';
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets executed when a command is called.
|
||||
*/
|
||||
function TinyMCE_template_execCommand(editor_id, element, command, user_interface, value) {
|
||||
// Handle commands
|
||||
switch (command) {
|
||||
// Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser.
|
||||
case "mceTemplate":
|
||||
// Show UI/Popup
|
||||
if (user_interface) {
|
||||
// Open a popup window and send in some custom data in a window argument
|
||||
var template = new Array();
|
||||
|
||||
template['file'] = '../../plugins/template/popup.htm'; // Relative to theme
|
||||
template['width'] = 150;
|
||||
template['height'] = 180;
|
||||
|
||||
tinyMCE.openWindow(template, {editor_id : editor_id, some_custom_arg : "somecustomdata"});
|
||||
|
||||
// Let TinyMCE know that something was modified
|
||||
tinyMCE.triggerNodeChange(false);
|
||||
} else {
|
||||
// Do a command this gets called from the template popup
|
||||
alert("execCommand: mceTemplate gets called from popup.");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Pass to next handler in chain
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets executed when the selection/cursor position was changed.
|
||||
*/
|
||||
function TinyMCE_template_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
|
||||
// Deselect template button
|
||||
tinyMCE.switchClassSticky(editor_id + '_template', 'mceButtonNormal');
|
||||
|
||||
// Select template button if parent node is a strong or b
|
||||
if (node.parentNode.nodeName == "STRONG" || node.parentNode.nodeName == "B")
|
||||
tinyMCE.switchClassSticky(editor_id + '_template', 'mceButtonSelected');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets executed when contents is inserted / retrived.
|
||||
*/
|
||||
function TinyMCE_template_cleanup(type, content) {
|
||||
switch (type) {
|
||||
case "get_from_editor":
|
||||
alert("[FROM] Value HTML string: " + content);
|
||||
|
||||
// Do custom cleanup code here
|
||||
|
||||
break;
|
||||
|
||||
case "insert_to_editor":
|
||||
alert("[TO] Value HTML string: " + content);
|
||||
|
||||
// Do custom cleanup code here
|
||||
|
||||
break;
|
||||
|
||||
case "get_from_editor_dom":
|
||||
alert("[FROM] Value DOM Element " + content.innerHTML);
|
||||
|
||||
// Do custom cleanup code here
|
||||
|
||||
break;
|
||||
|
||||
case "insert_to_editor_dom":
|
||||
alert("[TO] Value DOM Element: " + content.innerHTML);
|
||||
|
||||
// Do custom cleanup code here
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return content;
|
||||
}
|
BIN
public/tiny_mce/plugins/_template/images/template.gif
vendored
Normal file
After Width: | Height: | Size: 879 B |
6
public/tiny_mce/plugins/_template/langs/en.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// UK lang variables
|
||||
|
||||
/* Remember to namespace the language parameters lang_<your plugin>_<some name> */
|
||||
|
||||
tinyMCELang['lang_template_title'] = 'This is just a template popup';
|
||||
tinyMCELang['lang_template_desc'] = 'This is just a template button';
|
7
public/tiny_mce/plugins/_template/langs/zh_cn.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
|
||||
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
|
||||
|
||||
/* Remember to namespace the language parameters lang_<your plugin>_<some name> */
|
||||
|
||||
tinyMCELang['lang_template_title'] = '这仅是模板的弹出窗口';
|
||||
tinyMCELang['lang_template_desc'] = '这仅是模板的按钮';
|
31
public/tiny_mce/plugins/_template/popup.htm
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>{$lang_template_title}</title>
|
||||
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
|
||||
<script language="javascript" type="text/javascript">
|
||||
<!--
|
||||
function init() {
|
||||
alert("Got a window argument from plugin: " + tinyMCE.getWindowArg('some_custom_arg'));
|
||||
}
|
||||
|
||||
function insertSomething() {
|
||||
// Execute the mceTemplate command without UI this time
|
||||
tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'), 'mceTemplate');
|
||||
|
||||
// Close the dialog
|
||||
tinyMCE.closeDialog();
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init();">
|
||||
<h3>{$lang_template_title}</h3>
|
||||
|
||||
<form onsubmit="insert();return false;">
|
||||
<!-- Just a simple insert button -->
|
||||
<input type="button" name="insert" value="{$lang_insert}" onclick="insertSomething();" id="insert" />
|
||||
</form>
|
||||
|
||||
<br />
|
||||
</body>
|
||||
</html>
|
1
public/tiny_mce/plugins/_template/readme.txt
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
This is a template/tutorial plugin that where created to help you in the development of own plugins for TinyMCE.
|
2
public/tiny_mce/plugins/advhr/editor_plugin.js
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('advhr','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br');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;}
|
58
public/tiny_mce/plugins/advhr/editor_plugin_src.js
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('advhr', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br');
|
||||
|
||||
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 "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Executes the mceAdvanceHr command.
|
||||
*/
|
||||
function TinyMCE_advhr_execCommand(editor_id, element, command, user_interface, value) {
|
||||
// Handle commands
|
||||
switch (command) {
|
||||
case "mceAdvancedHr":
|
||||
var template = new Array();
|
||||
template['file'] = '../../plugins/advhr/rule.htm'; // Relative to theme
|
||||
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;
|
||||
}
|
||||
// Pass to next handler in chain
|
||||
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;
|
||||
}
|
BIN
public/tiny_mce/plugins/advhr/images/advhr.gif
vendored
Normal file
After Width: | Height: | Size: 209 B |
6
public/tiny_mce/plugins/advhr/langs/cs.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// UK lang variables
|
||||
|
||||
tinyMCELang['lang_insert_advhr_desc'] = 'Vložit/editovat vodorovný oddìlovaè'
|
||||
tinyMCELang['lang_insert_advhr_width'] = 'Šíøka';
|
||||
tinyMCELang['lang_insert_advhr_size'] = 'Výška';
|
||||
tinyMCELang['lang_insert_advhr_noshade'] = 'Nestínovat';
|
6
public/tiny_mce/plugins/advhr/langs/de.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// DE lang variables
|
||||
|
||||
tinyMCELang['lang_insert_advhr_desc'] = 'Horizontale Linie einfügen / bearbeiten'
|
||||
tinyMCELang['lang_insert_advhr_width'] = 'Breite';
|
||||
tinyMCELang['lang_insert_advhr_size'] = 'Höhe';
|
||||
tinyMCELang['lang_insert_advhr_noshade'] = 'Keinen Schatten';
|
6
public/tiny_mce/plugins/advhr/langs/en.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// UK lang variables
|
||||
|
||||
tinyMCELang['lang_insert_advhr_desc'] = 'Insert / edit Horizontale Rule'
|
||||
tinyMCELang['lang_insert_advhr_width'] = 'Width';
|
||||
tinyMCELang['lang_insert_advhr_size'] = 'Height';
|
||||
tinyMCELang['lang_insert_advhr_noshade'] = 'No shadow';
|
11
public/tiny_mce/plugins/advhr/langs/fa.js
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
// IR lang variables
|
||||
// Persian (Farsi) language pack (for IRAN)
|
||||
// By: Morteza Zafari
|
||||
// Lost@LostLord.com
|
||||
// http://www.LostLord.com
|
||||
|
||||
tinyMCELang['lang_dir'] = 'rtl';
|
||||
tinyMCELang['lang_insert_advhr_desc'] = 'درج و ویرایش خط افقی'
|
||||
tinyMCELang['lang_insert_advhr_width'] = 'عرض';
|
||||
tinyMCELang['lang_insert_advhr_size'] = 'ارتفاع';
|
||||
tinyMCELang['lang_insert_advhr_noshade'] = 'بدون سایه';
|
6
public/tiny_mce/plugins/advhr/langs/fr.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// French lang variables by Laurent Dran
|
||||
|
||||
tinyMCELang['lang_insert_advhr_desc'] = 'Insérer / éditer une Rčgle Horizontale'
|
||||
tinyMCELang['lang_insert_advhr_width'] = 'Largeur';
|
||||
tinyMCELang['lang_insert_advhr_size'] = 'Hauteur';
|
||||
tinyMCELang['lang_insert_advhr_noshade'] = 'Sans ombre';
|
6
public/tiny_mce/plugins/advhr/langs/fr_ca.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// CA_FR lang variables
|
||||
|
||||
tinyMCELang['lang_insert_advhr_desc'] = 'Insérer / Modifier Séparateur Horizontal';
|
||||
tinyMCELang['lang_insert_advhr_width'] = 'Largeur';
|
||||
tinyMCELang['lang_insert_advhr_size'] = 'Hauteur';
|
||||
tinyMCELang['lang_insert_advhr_noshade'] = 'Sans ombrage';
|
6
public/tiny_mce/plugins/advhr/langs/pl.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// PL lang variables
|
||||
|
||||
tinyMCELang['lang_insert_advhr_desc'] = 'Wstaw/Edytuj poziomą linię'
|
||||
tinyMCELang['lang_insert_advhr_width'] = 'Szerokość';
|
||||
tinyMCELang['lang_insert_advhr_size'] = 'Wysokość';
|
||||
tinyMCELang['lang_insert_advhr_noshade'] = 'Brak cienia';
|
6
public/tiny_mce/plugins/advhr/langs/pt_br.js
vendored
Normal 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';
|
6
public/tiny_mce/plugins/advhr/langs/sv.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// SE lang variables
|
||||
|
||||
tinyMCELang['lang_insert_advhr_desc'] = 'Skapa/Redigera horisontell linje'
|
||||
tinyMCELang['lang_insert_advhr_width'] = 'Bredd';
|
||||
tinyMCELang['lang_insert_advhr_size'] = 'Höjd';
|
||||
tinyMCELang['lang_insert_advhr_noshade'] = 'Ingen skugga';
|
7
public/tiny_mce/plugins/advhr/langs/zh_cn.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
// 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'] = '宽度';
|
||||
tinyMCELang['lang_insert_advhr_size'] = '高度';
|
||||
tinyMCELang['lang_insert_advhr_noshade'] = '无阴影';
|
20
public/tiny_mce/plugins/advhr/readme.txt
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
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]"
|
||||
});
|
107
public/tiny_mce/plugins/advhr/rule.htm
vendored
Normal file
|
@ -0,0 +1,107 @@
|
|||
<html>
|
||||
<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 init() {
|
||||
// modified 2004-11-10 by Michael Keck (me@michaelkeck.de)
|
||||
// supporting onclick event to open pop windows
|
||||
var formObj = document.forms[0];
|
||||
formObj.width.value = tinyMCE.getWindowArg('width');
|
||||
formObj.size.value = tinyMCE.getWindowArg('size');
|
||||
formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo'));
|
||||
if (tinyMCE.getWindowArg('noshade')) {
|
||||
formObj.noshade.checked = true;
|
||||
}
|
||||
if (tinyMCE.getWindowArg('width').lastIndexOf('%')!=-1) {
|
||||
formObj.width2.value = "%";
|
||||
formObj.width.value = formObj.width.value.substring(0,formObj.width.value.length-1);
|
||||
}
|
||||
}
|
||||
|
||||
function insertHR() {
|
||||
var formObj = document.forms[0];
|
||||
if (window.opener) {
|
||||
var width = formObj.width.value;
|
||||
var size = formObj.size.value;
|
||||
var html = '<hr';
|
||||
if (size!='' && size!=0) {
|
||||
html += ' size="' + size + '"';
|
||||
}
|
||||
if (width!='' && width!=0) {
|
||||
html += ' width="' + width;
|
||||
if (formObj.width2.value=='%') {
|
||||
html += '%';
|
||||
}
|
||||
html += '"';
|
||||
}
|
||||
if (formObj.noshade.checked==true) {
|
||||
html += ' noshade';
|
||||
}
|
||||
html += ' />';
|
||||
tinyMCE.execCommand("mceInsertContent",true,html);
|
||||
|
||||
// Close the dialog
|
||||
tinyMCE.closeDialog();
|
||||
}
|
||||
}
|
||||
|
||||
function cancelAction() {
|
||||
// Close the dialog
|
||||
tinyMCE.closeDialog();
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
input.radio {
|
||||
border: 1px none #000000;
|
||||
background-color: transparent;
|
||||
vertical-align: middle;
|
||||
}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body onload="init();">
|
||||
<form onsubmit="insertHR();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_advhr_desc}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">{$lang_insert_advhr_width}:</td>
|
||||
<td nowrap="nowrap">
|
||||
<input name="width" type="text" id="width" value="" style="width: 50px; vertical-align: middle;" />
|
||||
<select name="width2" id="width2" style="width: 50px; vertical-align: middle;">
|
||||
<option value="">px</option>
|
||||
<option value="%">%</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" valign="top">{$lang_insert_advhr_size}:</td>
|
||||
<td><select name="size" type="text" id="size" value="" style="width: 100px;">
|
||||
<option value="">Normal</option>
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
<option value="4">4</option>
|
||||
<option value="5">5</option>
|
||||
</select></td>
|
||||
<tr>
|
||||
<td align="right" valign="top"><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
|
||||
<td><label for="noshade">{$lang_insert_advhr_noshade}</label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="button" name="insert" value="{$lang_insert}" onclick="insertHR();" 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>
|
2
public/tiny_mce/plugins/advimage/editor_plugin.js
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('advimage','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br');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;}
|
61
public/tiny_mce/plugins/advimage/editor_plugin_src.js
vendored
Normal file
|
@ -0,0 +1,61 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('advimage', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br');
|
||||
|
||||
/**
|
||||
* Insert image template function.
|
||||
*/
|
||||
function TinyMCE_advimage_getInsertImageTemplate() {
|
||||
var template = new Array();
|
||||
|
||||
template['file'] = '../../plugins/advimage/image.htm';
|
||||
template['width'] = 430;
|
||||
template['height'] = 380;
|
||||
|
||||
// Language specific width and height addons
|
||||
template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0);
|
||||
template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0);
|
||||
|
||||
return template;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
371
public/tiny_mce/plugins/advimage/image.htm
vendored
Normal file
|
@ -0,0 +1,371 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>{$lang_insert_image_title}</title>
|
||||
<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) {
|
||||
// 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">
|
||||
<!--
|
||||
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 insertImage() {
|
||||
var formObj = document.forms[0];
|
||||
|
||||
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);
|
||||
|
||||
// Close the dialog
|
||||
tinyMCE.closeDialog();
|
||||
}
|
||||
}
|
||||
|
||||
function init() {
|
||||
var formObj = document.forms[0];
|
||||
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');
|
||||
formObj.border.value = tinyMCE.getWindowArg('border');
|
||||
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.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
|
||||
|
||||
strOnOver = tinyMCE.getWindowArg('onmouseover');
|
||||
strOnOut = tinyMCE.getWindowArg('onmouseout');
|
||||
|
||||
if (strOnOver != '' && strOnOut != '') {
|
||||
setOnMouseInput('enabled');
|
||||
formObj.onmousemove.checked = true;
|
||||
formObj.onmouseover.value = strOnOver;
|
||||
formObj.onmouseout.value = strOnOut;
|
||||
} else {
|
||||
setOnMouseInput('disabled');
|
||||
formObj.onmousemove.checked = false;
|
||||
formObj.onmouseover.value = '';
|
||||
formObj.onmouseout.value = '';
|
||||
}
|
||||
|
||||
// Handle file browser
|
||||
if (tinyMCE.getParam("file_browser_callback") != null) {
|
||||
document.getElementById('src').style.width = '260px';
|
||||
document.getElementById('onmouseover').style.width = '260px';
|
||||
document.getElementById('onmouseout').style.width = '260px';
|
||||
|
||||
document.getElementById('browser1').innerHTML = getBrowserHTML('src');
|
||||
document.getElementById('browser2').innerHTML = getBrowserHTML('onmouseover');
|
||||
document.getElementById('browser3').innerHTML = getBrowserHTML('onmouseout');
|
||||
}
|
||||
|
||||
// Auto select image in list
|
||||
selectByValue(formObj, "image_list", tinyMCE.getWindowArg('src'));
|
||||
selectByValue(formObj, "image_list2", strOnOver);
|
||||
selectByValue(formObj, "image_list3", strOnOut);
|
||||
|
||||
// Handle preview
|
||||
var htmlprev = '';
|
||||
|
||||
var src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
|
||||
if (src == "")
|
||||
src = "about:blank";
|
||||
|
||||
htmlprev += ' <iframe id="preview" name="preview" scrolling="auto" '
|
||||
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;
|
||||
|
||||
getImageData();
|
||||
}
|
||||
|
||||
function selectByValue(form_obj, field_name, value) {
|
||||
if (!form_obj || !form_obj.elements[field_name])
|
||||
return;
|
||||
|
||||
for (var i=0; i<form_obj.elements[field_name].options.length; i++) {
|
||||
var option = form_obj.elements[field_name].options[i];
|
||||
if (option.value == value)
|
||||
option.selected = true;
|
||||
}
|
||||
}
|
||||
|
||||
function getBrowserHTML(name) {
|
||||
var html = "";
|
||||
|
||||
html += '<img id="browserBtn" src="../../themes/advanced/images/browse.gif"';
|
||||
html += ' onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');"';
|
||||
html += ' onmouseout="tinyMCE.restoreClass(this);"';
|
||||
html += ' onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"';
|
||||
html += ' onclick="javascript:tinyMCE.openFileBrowser(\'' + name + '\',document.forms[0].' + name + '.value,\'image\',window);"';
|
||||
html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
|
||||
html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" />';
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function setOnMouseInput(stat){
|
||||
var formObj = document.forms[0];
|
||||
if (stat=='enabled') {
|
||||
formObj.onmouseover.disabled = false;
|
||||
formObj.onmouseout.disabled = false;
|
||||
if (document.getElementById) {
|
||||
document.getElementById('showInput1').style.color="#000000";
|
||||
document.getElementById('showInput2').style.color="#000000";
|
||||
}
|
||||
formObj.onmouseout.value = formObj.src.value;
|
||||
} else {
|
||||
formObj.onmouseover.disabled = true;
|
||||
formObj.onmouseout.disabled = true;
|
||||
if (document.getElementById) {
|
||||
document.getElementById('showInput1').style.color="#666666";
|
||||
document.getElementById('showInput2').style.color="#666666";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function cancelAction() {
|
||||
// Close the dialog
|
||||
tinyMCE.closeDialog();
|
||||
}
|
||||
|
||||
var preloadImg = new Image();
|
||||
|
||||
function resetImageData() {
|
||||
var formObj = document.forms[0];
|
||||
formObj.width.value = formObj.height.value = "";
|
||||
}
|
||||
|
||||
function updateImageData() {
|
||||
var formObj = document.forms[0];
|
||||
|
||||
if (formObj.width.value == "")
|
||||
formObj.width.value = preloadImg.width;
|
||||
|
||||
if (formObj.height.value == "")
|
||||
formObj.height.value = preloadImg.height;
|
||||
}
|
||||
|
||||
function getImageData() {
|
||||
if (document.forms[0].src.value == "") {
|
||||
self.preview.location = "about:blank";
|
||||
return;
|
||||
}
|
||||
|
||||
preloadImg = new Image();
|
||||
|
||||
tinyMCE.addEvent(preloadImg, "load", updateImageData);
|
||||
tinyMCE.addEvent(preloadImg, "error", function () {var formObj = document.forms[0];formObj.width.value = formObj.height.value = "";});
|
||||
|
||||
preloadImg.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
|
||||
|
||||
var src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
|
||||
if (src == "")
|
||||
src = "about:blank";
|
||||
|
||||
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="init();">
|
||||
<form onsubmit="insertImage();return false;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="300">
|
||||
<tr>
|
||||
<td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
|
||||
<tr>
|
||||
<td colspan="3" class="title">{$lang_insert_image_title}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap">{$lang_insert_image_src}:</td>
|
||||
<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td><input name="src" type="text" id="src" value="" style="width: 280px" onchange="resetImageData();getImageData();" /></td>
|
||||
<td id="browser1"></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<!-- Image list -->
|
||||
<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.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++)
|
||||
html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
|
||||
|
||||
html += '</select></td></tr>';
|
||||
|
||||
document.write(html);
|
||||
}
|
||||
</script>
|
||||
<!-- /Image list -->
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap">{$lang_insert_image_alt}:</td>
|
||||
<td colspan="2"><input name="alt" type="text" id="alt" value="" style="width: 280px" onblur="if(document.forms[0].title.value==''){ document.forms[0].title.value=this.value; }" onfocus="if(document.forms[0].title.value==''){ document.forms[0].title.value=this.value; }" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap">{$lang_insert_image_alt2}:</td>
|
||||
<td colspan="2"><input name="title" type="text" id="title" value="" style="width: 280px" /></td>
|
||||
</tr>
|
||||
<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;" 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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap">{$lang_insert_image_border}:</td>
|
||||
<td colspan="2"><input name="border" type="text" id="border" value="" size="3" maxlength="3" style="vertical-align: middle; width: 30px; text-align: center;" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap">{$lang_insert_image_align}:</td>
|
||||
<td><select name="align" style="width: 100px">
|
||||
<option value="">{$lang_insert_image_align_default}</option>
|
||||
<option value="baseline">{$lang_insert_image_align_baseline}</option>
|
||||
<option value="top">{$lang_insert_image_align_top}</option>
|
||||
<option value="middle">{$lang_insert_image_align_middle}</option>
|
||||
<option value="bottom">{$lang_insert_image_align_bottom}</option>
|
||||
<option value="texttop">{$lang_insert_image_align_texttop}</option>
|
||||
<option value="absmiddle">{$lang_insert_image_align_absmiddle}</option>
|
||||
<option value="absbottom">{$lang_insert_image_align_absbottom}</option>
|
||||
<option value="left">{$lang_insert_image_align_left}</option>
|
||||
<option value="right">{$lang_insert_image_align_right}</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap">{$lang_insert_image_vspace}:</td>
|
||||
<td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" style="vertical-align: middle; width: 30px; text-align: center;" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap">{$lang_insert_image_hspace}:</td>
|
||||
<td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" style="vertical-align: middle; width: 30px; text-align: center;" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" nowrap="nowrap"><input type="checkbox" name="onmousemove" id="onmousemove" style="border: 1px none #000000; background-color: transparent; vertical-align: middle;" onclick="if(this.checked==true){ setOnMouseInput('enabled'); }else{ setOnMouseInput('enable'); }" /><label for="onmousemove"><b>{$lang_insert_image_onmousemove}</b>:</label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap" id="showInput1">{$lang_insert_image_mouseover}:</td>
|
||||
<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td><input name="onmouseover" type="text" id="onmouseover" value="" style="width: 280px" /></td>
|
||||
<td id="browser2"></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<!-- Image list -->
|
||||
<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_list2" style="width: 280px" onchange="this.form.onmouseover.value=this.options[this.selectedIndex].value;">';
|
||||
html += '<option value="">---</option>';
|
||||
|
||||
for (var i=0; i<tinyMCEImageList.length; i++)
|
||||
html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
|
||||
|
||||
html += '</select></td></tr>';
|
||||
|
||||
document.write(html);
|
||||
}
|
||||
</script>
|
||||
<!-- /Image list -->
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap" id="showInput2">{$lang_insert_image_mouseout}:</td>
|
||||
<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td><input name="onmouseout" type="text" id="onmouseout" value="" style="width: 280px" /></td>
|
||||
<td id="browser3"></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<!-- Image list -->
|
||||
<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_list3" style="width: 280px" onchange="this.form.onmouseout.value=this.options[this.selectedIndex].value;">';
|
||||
html += '<option value="">---</option>';
|
||||
|
||||
for (var i=0; i<tinyMCEImageList.length; i++)
|
||||
html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
|
||||
|
||||
html += '</select></td></tr>';
|
||||
|
||||
document.write(html);
|
||||
}
|
||||
</script>
|
||||
<!-- /Image list -->
|
||||
<tr>
|
||||
<td><input type="button" name="insert" value="{$lang_insert}" onclick="insertImage();" id="insert" /></td>
|
||||
<td> </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>
|
6
public/tiny_mce/plugins/advimage/langs/cs.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// UK lang variables
|
||||
|
||||
tinyMCELang['lang_insert_image_alt2'] = 'Název obrázku';
|
||||
tinyMCELang['lang_insert_image_onmousemove'] = 'Alternativní obrázek'
|
||||
tinyMCELang['lang_insert_image_mouseover'] = 'pøi najetí myši';
|
||||
tinyMCELang['lang_insert_image_mouseout'] = 'pøi odjetí myši';
|
6
public/tiny_mce/plugins/advimage/langs/de.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// DE lang variables
|
||||
|
||||
tinyMCELang['lang_insert_image_alt2'] = 'Titel des Bildes';
|
||||
tinyMCELang['lang_insert_image_onmousemove'] = 'Alternatives Bild'
|
||||
tinyMCELang['lang_insert_image_mouseover'] = 'für Maus darüber';
|
||||
tinyMCELang['lang_insert_image_mouseout'] = 'für Maus ausserhalb';
|
6
public/tiny_mce/plugins/advimage/langs/en.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// UK lang variables
|
||||
|
||||
tinyMCELang['lang_insert_image_alt2'] = 'Image title';
|
||||
tinyMCELang['lang_insert_image_onmousemove'] = 'Alternative image'
|
||||
tinyMCELang['lang_insert_image_mouseover'] = 'for mouse over';
|
||||
tinyMCELang['lang_insert_image_mouseout'] = 'for mouse out';
|
11
public/tiny_mce/plugins/advimage/langs/fa.js
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
// IR lang variables
|
||||
// Persian (Farsi) language pack (for IRAN)
|
||||
// By: Morteza Zafari
|
||||
// Lost@LostLord.com
|
||||
// http://www.LostLord.com
|
||||
|
||||
tinyMCELang['lang_dir'] = 'rtl';
|
||||
tinyMCELang['lang_insert_image_alt2'] = 'عنوان عکس';
|
||||
tinyMCELang['lang_insert_image_onmousemove'] = 'عکس جایگزین'
|
||||
tinyMCELang['lang_insert_image_mouseover'] = 'عکس جایگزین هنگام ورود نشانگر ماوس';
|
||||
tinyMCELang['lang_insert_image_mouseout'] = 'عکس جایگزین هنگام خروج نشانگر ماوس';
|
6
public/tiny_mce/plugins/advimage/langs/fr.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// French lang variables by Laurent Dran
|
||||
|
||||
tinyMCELang['lang_insert_image_alt2'] = 'Titre de l\'image';
|
||||
tinyMCELang['lang_insert_image_onmousemove'] = 'Image alternative'
|
||||
tinyMCELang['lang_insert_image_mouseover'] = 'Pour la souris au dessus';
|
||||
tinyMCELang['lang_insert_image_mouseout'] = 'Pour la souris en dehors';
|
6
public/tiny_mce/plugins/advimage/langs/fr_ca.js
vendored
Normal 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»';
|
6
public/tiny_mce/plugins/advimage/langs/ko.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// KO lang variables
|
||||
|
||||
tinyMCELang['lang_insert_image_alt2'] = '그림 제목';
|
||||
tinyMCELang['lang_insert_image_onmousemove'] = '대체 이미지'
|
||||
tinyMCELang['lang_insert_image_mouseover'] = '마우스를 올렸을 때';
|
||||
tinyMCELang['lang_insert_image_mouseout'] = '마우스를 내렸을 때';
|
6
public/tiny_mce/plugins/advimage/langs/pl.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// PL lang variables
|
||||
|
||||
tinyMCELang['lang_insert_image_alt2'] = 'Tytuł obrazka';
|
||||
tinyMCELang['lang_insert_image_onmousemove'] = 'Obrazek zastępczy'
|
||||
tinyMCELang['lang_insert_image_mouseover'] = 'po najechaniu myszy';
|
||||
tinyMCELang['lang_insert_image_mouseout'] = 'po odjechaniu myszy';
|
6
public/tiny_mce/plugins/advimage/langs/pt_br.js
vendored
Normal 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';
|
6
public/tiny_mce/plugins/advimage/langs/sv.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// SE lang variables
|
||||
|
||||
tinyMCELang['lang_insert_image_alt2'] = 'Bildentitel';
|
||||
tinyMCELang['lang_insert_image_onmousemove'] = 'Alternativ bild'
|
||||
tinyMCELang['lang_insert_image_mouseover'] = 'när pekaren är över';
|
||||
tinyMCELang['lang_insert_image_mouseout'] = 'när pekaren är utanför';
|
7
public/tiny_mce/plugins/advimage/langs/zh_cn.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
// 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'] = '替代图像'
|
||||
tinyMCELang['lang_insert_image_mouseover'] = '鼠标移上时';
|
||||
tinyMCELang['lang_insert_image_mouseout'] = '鼠标移开时';
|
19
public/tiny_mce/plugins/advimage/readme.txt
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
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]"
|
||||
});
|
2
public/tiny_mce/plugins/advlink/editor_plugin.js
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('advlink','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br');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;}
|
18
public/tiny_mce/plugins/advlink/editor_plugin_src.js
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('advlink', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br');
|
||||
|
||||
/**
|
||||
* Insert link template function.
|
||||
*/
|
||||
function TinyMCE_advlink_getInsertLinkTemplate() {
|
||||
var template = new Array();
|
||||
template['file'] = '../../plugins/advlink/link.htm';
|
||||
template['width'] = 400;
|
||||
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;
|
||||
}
|
20
public/tiny_mce/plugins/advlink/langs/cs.js
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
// CZ lang variables
|
||||
|
||||
tinyMCELang['lang_insert_link_target_same'] = 'Otevøít ve stejném oknì/rámu';
|
||||
tinyMCELang['lang_insert_link_target_parent'] = 'Otevøít v rodièovském oknì/rámu';
|
||||
tinyMCELang['lang_insert_link_target_top'] = 'Otevøít v nejvyšším rámu (pøepíše všechny rámy)';
|
||||
tinyMCELang['lang_insert_link_target_blank'] = 'Otevøít v novém oknì';
|
||||
tinyMCELang['lang_insert_link_target_named'] = 'Otevøít v oknì';
|
||||
tinyMCELang['lang_insert_link_popup'] = 'JS-Popup';
|
||||
tinyMCELang['lang_insert_link_popup_url'] = 'Popup URL';
|
||||
tinyMCELang['lang_insert_link_popup_name'] = 'Název okna';
|
||||
tinyMCELang['lang_insert_link_popup_return'] = 'insert \'return false\'';
|
||||
tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Ukázat posuvníky';
|
||||
tinyMCELang['lang_insert_link_popup_statusbar'] = 'Ukázat stavový øádek';
|
||||
tinyMCELang['lang_insert_link_popup_toolbar'] = 'Ukázat ovl. lištu';
|
||||
tinyMCELang['lang_insert_link_popup_menubar'] = 'Ukázat menu';
|
||||
tinyMCELang['lang_insert_link_popup_location'] = 'Ukázat lištu umístìní';
|
||||
tinyMCELang['lang_insert_link_popup_resizable'] = 'Promìnná velikost okna';
|
||||
tinyMCELang['lang_insert_link_popup_size'] = 'Velikost';
|
||||
tinyMCELang['lang_insert_link_popup_position'] = 'Umístìní (X/Y)';
|
||||
tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Vložte název cíle nebo vyberte jinou volbu.';
|
20
public/tiny_mce/plugins/advlink/langs/de.js
vendored
Normal 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'] = 'Bitte geben Sie einen Namen für das Ziel an oder wählen Sie eine andere Option.';
|
20
public/tiny_mce/plugins/advlink/langs/en.js
vendored
Normal 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.';
|
25
public/tiny_mce/plugins/advlink/langs/fa.js
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
// IR lang variables
|
||||
// Persian (Farsi) language pack (for IRAN)
|
||||
// By: Morteza Zafari
|
||||
// Lost@LostLord.com
|
||||
// http://www.LostLord.com
|
||||
|
||||
tinyMCELang['lang_dir'] = 'rtl';
|
||||
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_url'] = 'URL پنجره';
|
||||
tinyMCELang['lang_insert_link_popup_name'] = 'نام پنجره';
|
||||
tinyMCELang['lang_insert_link_popup_return'] = 'افزودن \'return false\'';
|
||||
tinyMCELang['lang_insert_link_popup_scrollbars'] = 'نمایش scrollbars';
|
||||
tinyMCELang['lang_insert_link_popup_statusbar'] = 'نمایش statusbar';
|
||||
tinyMCELang['lang_insert_link_popup_toolbar'] = 'نمایش toolbars';
|
||||
tinyMCELang['lang_insert_link_popup_menubar'] = 'نمایش menubar';
|
||||
tinyMCELang['lang_insert_link_popup_location'] = 'نمایش locationbar';
|
||||
tinyMCELang['lang_insert_link_popup_resizable'] = 'قابل تغییر اندازه باشد';
|
||||
tinyMCELang['lang_insert_link_popup_size'] = 'اندازه';
|
||||
tinyMCELang['lang_insert_link_popup_position'] = 'موقعیت (X/Y)';
|
||||
tinyMCELang['lang_insert_link_popup_missingtarget'] = 'لطفا یک نام برای مقصد انتخاب کنید در غیر این صورت گزینه دیگری را انتخاب نمایید.';
|
20
public/tiny_mce/plugins/advlink/langs/fr.js
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
// French lang variables by Laurent Dran
|
||||
|
||||
tinyMCELang['lang_insert_link_target_same'] = 'Ouvre dans la fenętre / Cadre(frame)';
|
||||
tinyMCELang['lang_insert_link_target_parent'] = 'Ouvre dans fenętre parente / Cadres(frame)';
|
||||
tinyMCELang['lang_insert_link_target_top'] = 'Ouvre dans le Top frame (remplace toutes les cadres(frames))';
|
||||
tinyMCELang['lang_insert_link_target_blank'] = 'Ouvre dans la fenętre';
|
||||
tinyMCELang['lang_insert_link_target_named'] = 'Ouvre dans la fenętre';
|
||||
tinyMCELang['lang_insert_link_popup'] = 'JS-Popup';
|
||||
tinyMCELang['lang_insert_link_popup_url'] = 'URL de la Popup';
|
||||
tinyMCELang['lang_insert_link_popup_name'] = 'Nom de la fenętre';
|
||||
tinyMCELang['lang_insert_link_popup_return'] = 'Insert \'return false\'';
|
||||
tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Montrer la barre de défilement ';
|
||||
tinyMCELang['lang_insert_link_popup_statusbar'] = 'Montrer la barre d\'état';
|
||||
tinyMCELang['lang_insert_link_popup_toolbar'] = 'Montrer la barre d\'outils';
|
||||
tinyMCELang['lang_insert_link_popup_menubar'] = 'Montrer la barre du menu';
|
||||
tinyMCELang['lang_insert_link_popup_location'] = 'Montre la barre d\'adresse';
|
||||
tinyMCELang['lang_insert_link_popup_resizable'] = 'Fabriquer une fenętre redimensionnable';
|
||||
tinyMCELang['lang_insert_link_popup_size'] = 'Taille';
|
||||
tinyMCELang['lang_insert_link_popup_position'] = 'Position (X/Y)';
|
||||
tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Veuillez insérer un nom pour la cible ou choisissez une autre option.';
|
20
public/tiny_mce/plugins/advlink/langs/fr_ca.js
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
// CA_FR lang variables
|
||||
|
||||
tinyMCELang['lang_insert_link_target_same'] = 'Ouvrir dans la même fenêtre';
|
||||
tinyMCELang['lang_insert_link_target_parent'] = 'Ouvrir dans la fenêtre parent';
|
||||
tinyMCELang['lang_insert_link_target_top'] = 'Ouvrir dans le cadre supérieur';
|
||||
tinyMCELang['lang_insert_link_target_blank'] = 'Ouvrir dans une nouvelle fenêtre';
|
||||
tinyMCELang['lang_insert_link_target_named'] = 'Ouvrir à la destination';
|
||||
tinyMCELang['lang_insert_link_popup'] = 'JS-Popup';
|
||||
tinyMCELang['lang_insert_link_popup_url'] = 'URL du popup';
|
||||
tinyMCELang['lang_insert_link_popup_name'] = 'Nom de la fenêtre';
|
||||
tinyMCELang['lang_insert_link_popup_return'] = 'Insérer le script \'return false\'';
|
||||
tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Barres de défilement';
|
||||
tinyMCELang['lang_insert_link_popup_statusbar'] = 'Barre de statut';
|
||||
tinyMCELang['lang_insert_link_popup_toolbar'] = 'Barres d\'outils';
|
||||
tinyMCELang['lang_insert_link_popup_menubar'] = 'Barre de menu';
|
||||
tinyMCELang['lang_insert_link_popup_location'] = 'Barre d\'adresse';
|
||||
tinyMCELang['lang_insert_link_popup_resizable'] = 'Fenêtre redimensionnable';
|
||||
tinyMCELang['lang_insert_link_popup_size'] = 'Dimensions';
|
||||
tinyMCELang['lang_insert_link_popup_position'] = 'Position (X/Y)';
|
||||
tinyMCELang['lang_insert_link_popup_missingtarget'] = 'S.v.p., entrer un nom de destination ou choisir une autre option.';
|
19
public/tiny_mce/plugins/advlink/langs/ko.js
vendored
Normal 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)';
|
23
public/tiny_mce/plugins/advlink/langs/pl.js
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
// PL lang variables
|
||||
|
||||
tinyMCELang['lang_insert_link_target_same'] = 'Otwórz w tym samym oknie';
|
||||
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'] = 'Otwórz w nowym oknie';
|
||||
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.';
|
||||
tinyMCELang['lang_insert_link_url'] = 'Adres URL';
|
||||
tinyMCELang['lang_insert_link_target'] = 'Cel';
|
||||
|
20
public/tiny_mce/plugins/advlink/langs/pt_br.js
vendored
Normal 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.';
|
20
public/tiny_mce/plugins/advlink/langs/sv.js
vendored
Normal 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 toppramen (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ätt in \'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 fönstret eller välj ett annat val.';
|
21
public/tiny_mce/plugins/advlink/langs/zh_cn.js
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
// 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'] = 'JavaScript弹出窗口';
|
||||
tinyMCELang['lang_insert_link_popup_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)';
|
||||
tinyMCELang['lang_insert_link_popup_missingtarget'] = '请插入目标名称或者选择另外的选项。';
|
444
public/tiny_mce/plugins/advlink/link.htm
vendored
Normal file
|
@ -0,0 +1,444 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>{$lang_insert_link_title}</title>
|
||||
<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) {
|
||||
// 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">
|
||||
<!--
|
||||
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);
|
||||
|
||||
// Handle file browser
|
||||
if (tinyMCE.getParam("file_browser_callback") != null) {
|
||||
document.getElementById('href').style.width = '280px';
|
||||
document.getElementById('winurl').style.width = '180px';
|
||||
document.getElementById('browser1').innerHTML = getBrowserHTML('href');
|
||||
document.getElementById('browser2').innerHTML = getBrowserHTML('winurl');
|
||||
}
|
||||
|
||||
// Auto select link in list
|
||||
if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
|
||||
for (var i=0; i<formObj.link_list.length; i++) {
|
||||
if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('href'))
|
||||
formObj.link_list.options[i].selected = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
// Close the dialog
|
||||
tinyMCE.closeDialog();
|
||||
} 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 getBrowserHTML(name) {
|
||||
var html = "";
|
||||
|
||||
html += '<img id="browserBtn" src="../../themes/advanced/images/browse.gif"';
|
||||
html += ' onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');"';
|
||||
html += ' onmouseout="tinyMCE.restoreClass(this);"';
|
||||
html += ' onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"';
|
||||
html += ' onclick="javascript:tinyMCE.openFileBrowser(\'' + name + '\',document.forms[0].' + name + '.value,\'file\',window);"';
|
||||
html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
|
||||
html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" />';
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
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() {
|
||||
// Close the dialog
|
||||
tinyMCE.closeDialog();
|
||||
}
|
||||
//-->
|
||||
</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" nowrap="nowrap">{$lang_insert_link_title}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap">{$lang_insert_link_url}:</td>
|
||||
<td><table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td><input name="href" type="text" id="href" value="" style="width: 300px;" /></td>
|
||||
<td id="browser1"></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<!-- Link list -->
|
||||
<script language="javascript">
|
||||
if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
|
||||
var html = "";
|
||||
|
||||
html += '<tr><td align="right">{$lang_link_list}:</td>';
|
||||
html += '<td><select name="link_list" style="width: 300px" onchange="this.form.href.value=this.options[this.selectedIndex].value;">';
|
||||
html += '<option value="">---</option>';
|
||||
|
||||
for (var i=0; i<tinyMCELinkList.length; i++)
|
||||
html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
|
||||
|
||||
html += '</select></td></tr>';
|
||||
|
||||
document.write(html);
|
||||
}
|
||||
</script>
|
||||
<!-- /Link list -->
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap">{$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"> ({$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"> ({$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"> ({$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"> ({$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> </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}: </td>
|
||||
<td id="labelurl"><table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td><input type="text" name="winurl" id="winurl" value="" style="width: 200px;" /></td>
|
||||
<td id="browser2"></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap="nowrap" id="labelname">{$lang_insert_link_popup_name}: </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}: </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}: </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"> </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"> </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"> </td>
|
||||
<td nowrap="nowrap"> </td>
|
||||
<td nowrap="nowrap"> </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"> </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>
|
19
public/tiny_mce/plugins/advlink/readme.txt
vendored
Normal 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]"
|
||||
});
|
60
public/tiny_mce/plugins/contextmenu/contextmenu.css
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
.contextMenuIEPopup {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
border: 0px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.contextMenu {
|
||||
position: absolute;
|
||||
cursor: default;
|
||||
z-index: 1000;
|
||||
border: 1px solid #D4D0C8;
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.contextMenuItem, .contextMenuItemOver {
|
||||
}
|
||||
|
||||
.contextMenuItemOver {
|
||||
background-color: #B6BDD2;
|
||||
}
|
||||
|
||||
.contextMenuSeparator {
|
||||
width: 100%;
|
||||
background-color: #D4D0C8;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.contextMenuImage, .contextMenuItemDisabled {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.contextMenuIcon {
|
||||
background-color: #F0F0EE;
|
||||
}
|
||||
|
||||
.contextMenuItemOver .contextMenuIcon {
|
||||
background-color: #B6BDD2;
|
||||
}
|
||||
|
||||
.contextMenuIcon {
|
||||
background-color: #F0F0EE;
|
||||
}
|
||||
|
||||
.contextMenuItemDisabled img {
|
||||
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
|
||||
-moz-opacity:0.3;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.contextMenuText {
|
||||
font-family: Tahoma, Verdana, Arial, Helvetica;
|
||||
font-size: 11px;
|
||||
margin-left: 5px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.contextMenuItemDisabled {
|
||||
color: #AAAAAA;
|
||||
}
|
2
public/tiny_mce/plugins/contextmenu/editor_plugin.js
vendored
Normal file
289
public/tiny_mce/plugins/contextmenu/editor_plugin_src.js
vendored
Normal file
|
@ -0,0 +1,289 @@
|
|||
/* Import plugin specific language pack */
|
||||
//tinyMCE.importPluginLanguagePack('contextmenu', 'en,zh_cn,cs,fa,fr_ca,fr,de');
|
||||
if (!tinyMCE.settings['contextmenu_skip_plugin_css'])
|
||||
tinyMCE.loadCSS(tinyMCE.baseURL + "/plugins/contextmenu/contextmenu.css");
|
||||
|
||||
// Global contextmenu class instance
|
||||
var TinyMCE_contextmenu_contextMenu = null;
|
||||
|
||||
function TinyMCE_contextmenu_initInstance(inst) {
|
||||
// Is not working on MSIE 5.0
|
||||
if (tinyMCE.isMSIE5_0)
|
||||
return;
|
||||
|
||||
// Add hide event handles
|
||||
tinyMCE.addEvent(inst.getDoc(), "click", TinyMCE_contextmenu_hideContextMenu);
|
||||
tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_contextmenu_hideContextMenu);
|
||||
tinyMCE.addEvent(inst.getDoc(), "keydown", TinyMCE_contextmenu_hideContextMenu);
|
||||
tinyMCE.addEvent(document, "click", TinyMCE_contextmenu_hideContextMenu);
|
||||
tinyMCE.addEvent(document, "keypress", TinyMCE_contextmenu_hideContextMenu);
|
||||
tinyMCE.addEvent(document, "keydown", TinyMCE_contextmenu_hideContextMenu);
|
||||
|
||||
var contextMenu = new ContextMenu({
|
||||
commandhandler : "TinyMCE_contextmenu_commandHandler",
|
||||
spacer_image : tinyMCE.baseURL + "/plugins/contextmenu/images/spacer.gif"
|
||||
});
|
||||
|
||||
// Register global reference
|
||||
TinyMCE_contextmenu_contextMenu = contextMenu;
|
||||
|
||||
// Attach contextmenu event
|
||||
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);
|
||||
|
||||
x = tinyMCE.isMSIE ? e.screenX : pos.absLeft + (e.pageX - inst.getBody().scrollLeft);
|
||||
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/" + 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,table,td");
|
||||
if (elm) {
|
||||
switch (elm.nodeName) {
|
||||
case "IMG":
|
||||
contextMenu.addSeparator();
|
||||
|
||||
// If flash
|
||||
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/" + 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/" + 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();
|
||||
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_row_props.gif", "$lang_table_row_desc", "mceTableRowProps");
|
||||
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_before.gif", "$lang_table_insert_row_before_desc", "mceTableInsertRowBefore");
|
||||
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_after.gif", "$lang_table_insert_row_after_desc", "mceTableInsertRowAfter");
|
||||
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_row.gif", "$lang_table_delete_row_desc", "mceTableDeleteRow");
|
||||
contextMenu.addSeparator();
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
contextMenu.show(x, y);
|
||||
}, 10);
|
||||
|
||||
// Cancel default handeling
|
||||
tinyMCE.cancelEvent(e);
|
||||
return false;
|
||||
}
|
||||
|
||||
function TinyMCE_contextmenu_hideContextMenu() {
|
||||
TinyMCE_contextmenu_contextMenu.hide();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function TinyMCE_contextmenu_commandHandler(command, value) {
|
||||
TinyMCE_contextmenu_contextMenu.hide();
|
||||
|
||||
// UI must be true on these
|
||||
var ui = false;
|
||||
if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells")
|
||||
ui = true;
|
||||
|
||||
TinyMCE_contextmenu_contextMenu.inst.execCommand(command, ui, value);
|
||||
}
|
||||
|
||||
// Context menu class
|
||||
|
||||
function ContextMenu(settings) {
|
||||
// Default value function
|
||||
function defParam(key, def_val) {
|
||||
settings[key] = typeof(settings[key]) != "undefined" ? settings[key] : def_val;
|
||||
}
|
||||
|
||||
var self = this;
|
||||
|
||||
this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
|
||||
|
||||
// Setup contextmenu div
|
||||
this.contextMenuDiv = document.createElement("div");
|
||||
this.contextMenuDiv.className = "contextMenu";
|
||||
this.contextMenuDiv.setAttribute("class", "contextMenu");
|
||||
this.contextMenuDiv.style.display = "none";
|
||||
this.contextMenuDiv.style.position = 'absolute';
|
||||
this.contextMenuDiv.style.zindex = 1000;
|
||||
this.contextMenuDiv.style.left = '0px';
|
||||
this.contextMenuDiv.style.top = '0px';
|
||||
this.contextMenuDiv.unselectable = "on";
|
||||
|
||||
document.body.appendChild(this.contextMenuDiv);
|
||||
|
||||
// Setup default values
|
||||
defParam("commandhandler", "");
|
||||
defParam("spacer_image", "images/spacer.gif");
|
||||
|
||||
this.items = new Array();
|
||||
this.settings = settings;
|
||||
this.html = "";
|
||||
|
||||
// IE Popup
|
||||
if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0) {
|
||||
this.pop = window.createPopup();
|
||||
doc = this.pop.document;
|
||||
doc.open();
|
||||
doc.write('<html><head><link href="' + tinyMCE.baseURL + '/plugins/contextmenu/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');
|
||||
doc.close();
|
||||
}
|
||||
};
|
||||
|
||||
ContextMenu.prototype.clearAll = function() {
|
||||
this.html = "";
|
||||
this.contextMenuDiv.innerHTML = "";
|
||||
};
|
||||
|
||||
ContextMenu.prototype.addSeparator = function() {
|
||||
this.html += '<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="' + this.settings['spacer_image'] + '" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="' + this.settings['spacer_image'] + '" /></td></tr>';
|
||||
};
|
||||
|
||||
ContextMenu.prototype.addItem = function(icon, title, command, value, disabled) {
|
||||
if (title.charAt(0) == '$')
|
||||
title = tinyMCE.getLang(title.substring(1));
|
||||
|
||||
var onMouseDown = '';
|
||||
var html = '';
|
||||
|
||||
if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0)
|
||||
onMouseDown = 'contextMenu.execCommand(\'' + command + '\', \'' + value + '\');return false;';
|
||||
else
|
||||
onMouseDown = this.settings['commandhandler'] + '(\'' + command + '\', \'' + value + '\');return false;';
|
||||
|
||||
if (icon == "")
|
||||
icon = this.settings['spacer_image'];
|
||||
|
||||
if (!disabled)
|
||||
html += '<tr class="contextMenuItem" onmousedown="' + onMouseDown + '" onmouseover="tinyMCE.switchClass(this,\'contextMenuItemOver\');" onmouseout="tinyMCE.switchClass(this,\'contextMenuItem\');">';
|
||||
else
|
||||
html += '<tr class="contextMenuItemDisabled">';
|
||||
|
||||
html += '<td class="contextMenuIcon"><img src="' + icon + '" width="20" height="20" class="contextMenuImage" /></td>';
|
||||
html += '<td><div class="contextMenuText">';
|
||||
|
||||
// Add text
|
||||
html += title;
|
||||
|
||||
html += '</div></td>';
|
||||
html += '</tr>';
|
||||
|
||||
// Add to main
|
||||
this.html += html;
|
||||
};
|
||||
|
||||
ContextMenu.prototype.show = function(x, y) {
|
||||
if (this.html == "")
|
||||
return;
|
||||
|
||||
var html = '';
|
||||
|
||||
html += '<table border="0" cellpadding="0" cellspacing="0">';
|
||||
html += this.html;
|
||||
html += '</table>';
|
||||
|
||||
this.contextMenuDiv.innerHTML = html;
|
||||
|
||||
if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0) {
|
||||
var width, height;
|
||||
|
||||
// Get dimensions
|
||||
this.contextMenuDiv.style.display = "block";
|
||||
width = this.contextMenuDiv.offsetWidth;
|
||||
height = this.contextMenuDiv.offsetHeight;
|
||||
this.contextMenuDiv.style.display = "none";
|
||||
|
||||
// Setup popup and show
|
||||
this.pop.document.body.innerHTML = '<div class="contextMenu">' + html + "</div>";
|
||||
this.pop.document.tinyMCE = tinyMCE;
|
||||
this.pop.document.contextMenu = this;
|
||||
this.pop.show(x, y, width, height);
|
||||
} else {
|
||||
this.contextMenuDiv.style.left = x + 'px';
|
||||
this.contextMenuDiv.style.top = y + 'px';
|
||||
this.contextMenuDiv.style.display = "block";
|
||||
}
|
||||
};
|
||||
|
||||
ContextMenu.prototype.hide = function() {
|
||||
if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0)
|
||||
this.pop.hide();
|
||||
else
|
||||
this.contextMenuDiv.style.display = "none";
|
||||
};
|
||||
|
||||
ContextMenu.prototype.execCommand = function(command, value) {
|
||||
eval(this.settings['commandhandler'] + "(command, value);");
|
||||
};
|
BIN
public/tiny_mce/plugins/contextmenu/images/spacer.gif
vendored
Normal file
After Width: | Height: | Size: 43 B |
2
public/tiny_mce/plugins/directionality/editor_plugin.js
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('directionality','en,sv');function TinyMCE_directionality_getControlHTML(control_name){var safariPatch='" onclick="';if(tinyMCE.isSafari)safariPatch="";switch(control_name){case "ltr":return '<img id="{$editor_id}_ltr" src="{$pluginurl}/images/ltr.gif" title="{$lang_directionality_ltr_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}\',\'mceDirectionLTR\');" />';case "rtl":return '<img id="{$editor_id}_rtl" src="{$pluginurl}/images/rtl.gif" title="{$lang_directionality_rtl_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}\',\'mceDirectionRTL\');" />';}return "";}function TinyMCE_directionality_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceDirectionLTR":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","ltr");tinyMCE.triggerNodeChange(false);return true;case "mceDirectionRTL":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","rtl");tinyMCE.triggerNodeChange(false);return true;}return false;}function TinyMCE_directionality_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}tinyMCE.switchClassSticky(editor_id+'_ltr','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_rtl','mceButtonNormal');if(node==null)return;var elm=tinyMCE.getParentElement(node,"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(!elm)return;var dir=getAttrib(elm,"dir");if(dir=="ltr"||dir=="")tinyMCE.switchClassSticky(editor_id+'_ltr','mceButtonSelected');else tinyMCE.switchClassSticky(editor_id+'_rtl','mceButtonSelected');return true;}
|
71
public/tiny_mce/plugins/directionality/editor_plugin_src.js
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('directionality', 'en,sv');
|
||||
|
||||
function TinyMCE_directionality_getControlHTML(control_name) {
|
||||
var safariPatch = '" onclick="';
|
||||
|
||||
if (tinyMCE.isSafari)
|
||||
safariPatch = "";
|
||||
|
||||
switch (control_name) {
|
||||
case "ltr":
|
||||
return '<img id="{$editor_id}_ltr" src="{$pluginurl}/images/ltr.gif" title="{$lang_directionality_ltr_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}\',\'mceDirectionLTR\');" />';
|
||||
|
||||
case "rtl":
|
||||
return '<img id="{$editor_id}_rtl" src="{$pluginurl}/images/rtl.gif" title="{$lang_directionality_rtl_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}\',\'mceDirectionRTL\');" />';
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
function TinyMCE_directionality_execCommand(editor_id, element, command, user_interface, value) {
|
||||
// Handle commands
|
||||
switch (command) {
|
||||
case "mceDirectionLTR":
|
||||
var inst = tinyMCE.getInstanceById(editor_id);
|
||||
var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
|
||||
|
||||
if (elm)
|
||||
elm.setAttribute("dir", "ltr");
|
||||
|
||||
tinyMCE.triggerNodeChange(false);
|
||||
return true;
|
||||
|
||||
case "mceDirectionRTL":
|
||||
var inst = tinyMCE.getInstanceById(editor_id);
|
||||
var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
|
||||
|
||||
if (elm)
|
||||
elm.setAttribute("dir", "rtl");
|
||||
|
||||
tinyMCE.triggerNodeChange(false);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Pass to next handler in chain
|
||||
return false;
|
||||
}
|
||||
|
||||
function TinyMCE_directionality_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
|
||||
function getAttrib(elm, name) {
|
||||
return elm.getAttribute(name) ? elm.getAttribute(name) : "";
|
||||
}
|
||||
|
||||
tinyMCE.switchClassSticky(editor_id + '_ltr', 'mceButtonNormal');
|
||||
tinyMCE.switchClassSticky(editor_id + '_rtl', 'mceButtonNormal');
|
||||
|
||||
if (node == null)
|
||||
return;
|
||||
|
||||
var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
|
||||
if (!elm)
|
||||
return;
|
||||
|
||||
var dir = getAttrib(elm, "dir");
|
||||
if (dir == "ltr" || dir == "")
|
||||
tinyMCE.switchClassSticky(editor_id + '_ltr', 'mceButtonSelected');
|
||||
else
|
||||
tinyMCE.switchClassSticky(editor_id + '_rtl', 'mceButtonSelected');
|
||||
|
||||
return true;
|
||||
}
|
BIN
public/tiny_mce/plugins/directionality/images/ltr.gif
vendored
Normal file
After Width: | Height: | Size: 314 B |
BIN
public/tiny_mce/plugins/directionality/images/rtl.gif
vendored
Normal file
After Width: | Height: | Size: 314 B |
4
public/tiny_mce/plugins/directionality/langs/en.js
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
// UK lang variables
|
||||
|
||||
tinyMCELang['lang_directionality_ltr_desc'] = 'Direction left to right'
|
||||
tinyMCELang['lang_directionality_rtl_desc'] = 'Direction right to left';
|
4
public/tiny_mce/plugins/directionality/langs/sv.js
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
// SV lang variables
|
||||
|
||||
tinyMCELang['lang_directionality_ltr_desc'] = 'Riktning från vänster till höger'
|
||||
tinyMCELang['lang_directionality_rtl_desc'] = 'Riktning från höger till vänster';
|
5
public/tiny_mce/plugins/directionality/langs/zh_cn.js
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
|
||||
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
|
||||
|
||||
tinyMCELang['lang_directionality_ltr_desc'] = '从左往右的方向'
|
||||
tinyMCELang['lang_directionality_rtl_desc'] = '从右往左的方向';
|
16
public/tiny_mce/plugins/directionality/readme.txt
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
Directionality plugin for TinyMCE
|
||||
------------------------------
|
||||
|
||||
This plugin adds directionality icons to TinyMCE that enables TinyMCE to better handle languages that is written from right to left.
|
||||
|
||||
Installation instructions:
|
||||
* Add plugin to TinyMCE plugin option list example: plugins : "directionality".
|
||||
* Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "ltr,rtl".
|
||||
|
||||
Initialization example:
|
||||
tinyMCE.init({
|
||||
theme : "advanced",
|
||||
mode : "textareas",
|
||||
plugins : "directionality",
|
||||
theme_advanced_buttons3_add : "ltr,rtl"
|
||||
});
|
2
public/tiny_mce/plugins/emotions/editor_plugin.js
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('emotions','en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br');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;}
|
36
public/tiny_mce/plugins/emotions/editor_plugin_src.js
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('emotions', 'en,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br');
|
||||
|
||||
/**
|
||||
* Returns the HTML contents of the emotions control.
|
||||
*/
|
||||
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 "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Executes the mceEmotion command.
|
||||
*/
|
||||
function TinyMCE_emotions_execCommand(editor_id, element, command, user_interface, value) {
|
||||
// Handle commands
|
||||
switch (command) {
|
||||
case "mceEmotion":
|
||||
var template = new Array();
|
||||
|
||||
template['file'] = '../../plugins/emotions/emotions.htm'; // Relative to theme
|
||||
template['width'] = 150;
|
||||
template['height'] = 180;
|
||||
|
||||
tinyMCE.openWindow(template, {editor_id : editor_id});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Pass to next handler in chain
|
||||
return false;
|
||||
}
|
45
public/tiny_mce/plugins/emotions/emotions.htm
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>{$lang_insert_emotions_title}</title>
|
||||
<script language="javascript" src="../../tiny_mce_popup.js"></script>
|
||||
<script language="javascript">
|
||||
function insertEmotion(file_name) {
|
||||
if (window.opener) {
|
||||
tinyMCE.insertImage(tinyMCE.baseURL + "/plugins/emotions/images/" + file_name);
|
||||
window.close();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="">
|
||||
<div align="center">
|
||||
<div class="title">{$lang_insert_emotions_title}:<br /><br /></div>
|
||||
<table border="0" cellspacing="0" cellpadding="4">
|
||||
<tr>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-cool.gif');"><img src="images/smiley-cool.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-cry.gif');"><img src="images/smiley-cry.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-embarassed.gif');"><img src="images/smiley-embarassed.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-foot-in-mouth.gif');"><img src="images/smiley-foot-in-mouth.gif" width="18" height="18" border="0" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-frown.gif');"><img src="images/smiley-frown.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-innocent.gif');"><img src="images/smiley-innocent.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-kiss.gif');"><img src="images/smiley-kiss.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-laughing.gif');"><img src="images/smiley-laughing.gif" width="18" height="18" border="0" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-money-mouth.gif');"><img src="images/smiley-money-mouth.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-sealed.gif');"><img src="images/smiley-sealed.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-smile.gif');"><img src="images/smiley-smile.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-surprised.gif');"><img src="images/smiley-surprised.gif" width="18" height="18" border="0" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-tongue-out.gif');"><img src="images/smiley-tongue-out.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-undecided.gif');"><img src="images/smiley-undecided.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-wink.gif');"><img src="images/smiley-wink.gif" width="18" height="18" border="0" /></a></td>
|
||||
<td><a href="javascript:void(0);" onmousedown="insertEmotion('smiley-yell.gif');"><img src="images/smiley-yell.gif" width="18" height="18" border="0" /></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
BIN
public/tiny_mce/plugins/emotions/images/emotions.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
2
public/tiny_mce/plugins/emotions/images/readme.txt
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
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.
|
BIN
public/tiny_mce/plugins/emotions/images/smiley-cool.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-cry.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-frown.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-innocent.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-kiss.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-laughing.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-sealed.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-smile.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-surprised.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-undecided.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-wink.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/tiny_mce/plugins/emotions/images/smiley-yell.gif
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
4
public/tiny_mce/plugins/emotions/langs/cs.js
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
// UK lang variables
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'Vložit emotikon';
|
||||
tinyMCELang['lang_emotions_desc'] = 'Emotikony';
|
6
public/tiny_mce/plugins/emotions/langs/de.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// DE lang variables
|
||||
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'Emotion einfügen';
|
||||
tinyMCELang['lang_emotions_desc'] = 'Emotion';
|
||||
|
5
public/tiny_mce/plugins/emotions/langs/el.js
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
// Greek lang variables by Jacaranda Bill
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'ÅéóáãùãÞ åíüò åéêïíéäßïõ emoticon';
|
||||
tinyMCELang['lang_emotions_desc'] = 'Åéêïíßäéá emoticons';
|
||||
|
5
public/tiny_mce/plugins/emotions/langs/en.js
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
// UK lang variables
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'Insert emotion';
|
||||
tinyMCELang['lang_emotions_desc'] = 'Emotions';
|
||||
|
10
public/tiny_mce/plugins/emotions/langs/fa.js
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
// IR lang variables
|
||||
// Persian (Farsi) language pack (for IRAN)
|
||||
// By: Morteza Zafari
|
||||
// Lost@LostLord.com
|
||||
// http://www.LostLord.com
|
||||
|
||||
tinyMCELang['lang_dir'] = 'rtl';
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'افزودن شکلک';
|
||||
tinyMCELang['lang_emotions_desc'] = 'شکلکها';
|
||||
|
5
public/tiny_mce/plugins/emotions/langs/fr.js
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
// French lang variables by Laurent Dran
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'Insèrer un émoticon';
|
||||
tinyMCELang['lang_emotions_desc'] = 'Émoticons';
|
||||
|
5
public/tiny_mce/plugins/emotions/langs/fr_ca.js
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
// CAN_FR lang variables
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'Insérer un émoticon';
|
||||
tinyMCELang['lang_emotions_desc'] = 'Émoticons';
|
||||
|
5
public/tiny_mce/plugins/emotions/langs/it.js
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
//IT lang variables
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'Inserisci una emoticon';
|
||||
tinyMCELang['lang_emotions_desc'] = 'Emoticon';
|
||||
|
5
public/tiny_mce/plugins/emotions/langs/ko.js
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
// KO lang variables
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = '이모티콘 넣기';
|
||||
tinyMCELang['lang_emotions_desc'] = '이모티콘';
|
||||
|
4
public/tiny_mce/plugins/emotions/langs/pl.js
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
// PL lang variables
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'Wstaw emtoiconę';
|
||||
tinyMCELang['lang_emotions_desc'] = 'Emtoicony';
|
5
public/tiny_mce/plugins/emotions/langs/pt_br.js
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
// pt_BR lang variables
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'Inserir Emoticon';
|
||||
tinyMCELang['lang_emotions_desc'] = 'Emoticons';
|
||||
|
4
public/tiny_mce/plugins/emotions/langs/sv.js
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
// SE lang variables
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = 'Klistra in känsla';
|
||||
tinyMCELang['lang_emotions_desc'] = 'Känslor';
|
6
public/tiny_mce/plugins/emotions/langs/zh_cn.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com)
|
||||
//请访问 http://www.cube316.net/ 以获取TinyMCE的中文支持
|
||||
|
||||
tinyMCELang['lang_insert_emotions_title'] = '插入表情';
|
||||
tinyMCELang['lang_emotions_desc'] = '表情';
|
||||
|
20
public/tiny_mce/plugins/emotions/readme.txt
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
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.
|
2
public/tiny_mce/plugins/flash/editor_plugin.js
vendored
Normal file
225
public/tiny_mce/plugins/flash/editor_plugin_src.js
vendored
Normal file
|
@ -0,0 +1,225 @@
|
|||
/* Import plugin specific language pack */
|
||||
tinyMCE.importPluginLanguagePack('flash', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br');
|
||||
|
||||
function TinyMCE_flash_initInstance(inst) {
|
||||
if (!tinyMCE.settings['flash_skip_plugin_css'])
|
||||
tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/flash/flash.css");
|
||||
}
|
||||
|
||||
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\');tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceFlash\');" />';
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
function TinyMCE_flash_parseAttributes(attribute_string) {
|
||||
var attributeName = "";
|
||||
var attributeValue = "";
|
||||
var withInName;
|
||||
var withInValue;
|
||||
var attributes = new Array();
|
||||
var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
|
||||
|
||||
if (attribute_string == null || attribute_string.length < 2)
|
||||
return null;
|
||||
|
||||
withInName = withInValue = false;
|
||||
|
||||
for (var i=0; i<attribute_string.length; i++) {
|
||||
var chr = attribute_string.charAt(i);
|
||||
|
||||
if ((chr == '"' || chr == "'") && !withInValue)
|
||||
withInValue = true;
|
||||
else if ((chr == '"' || chr == "'") && withInValue) {
|
||||
withInValue = false;
|
||||
|
||||
var pos = attributeName.lastIndexOf(' ');
|
||||
if (pos != -1)
|
||||
attributeName = attributeName.substring(pos+1);
|
||||
|
||||
attributes[attributeName.toLowerCase()] = attributeValue.substring(1).toLowerCase();
|
||||
|
||||
attributeName = "";
|
||||
attributeValue = "";
|
||||
} else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
|
||||
withInName = true;
|
||||
|
||||
if (chr == '=' && withInName)
|
||||
withInName = false;
|
||||
|
||||
if (withInName)
|
||||
attributeName += chr;
|
||||
|
||||
if (withInValue)
|
||||
attributeValue += chr;
|
||||
}
|
||||
|
||||
return attributes;
|
||||
}
|
||||
|
||||
function TinyMCE_flash_execCommand(editor_id, element, command, user_interface, value) {
|
||||
function getAttrib(elm, name) {
|
||||
return elm.getAttribute(name) ? elm.getAttribute(name) : "";
|
||||
}
|
||||
|
||||
// Handle commands
|
||||
switch (command) {
|
||||
case "mceFlash":
|
||||
var name = "", swffile = "", swfwidth = "", swfheight = "", action = "insert";
|
||||
var template = new Array();
|
||||
var inst = tinyMCE.getInstanceById(editor_id);
|
||||
var focusElm = inst.getFocusElement();
|
||||
|
||||
template['file'] = '../../plugins/flash/flash.htm'; // Relative to theme
|
||||
template['width'] = 400;
|
||||
template['height'] = 195;
|
||||
|
||||
// Is selection a image
|
||||
if (focusElm != null && focusElm.nodeName.toLowerCase() == "img") {
|
||||
name = getAttrib(focusElm, 'name');
|
||||
|
||||
if (name != 'mce_plugin_flash') // Not a Flash
|
||||
return true;
|
||||
|
||||
// Get rest of Flash items
|
||||
swffile = getAttrib(focusElm, 'alt');
|
||||
swffile = eval(tinyMCE.settings['urlconverter_callback'] + "(swffile, null, true);");
|
||||
swfwidth = getAttrib(focusElm, 'width');
|
||||
swfheight = getAttrib(focusElm, 'height');
|
||||
action = "update";
|
||||
}
|
||||
|
||||
tinyMCE.openWindow(template, {editor_id : editor_id, swffile : swffile, swfwidth : swfwidth, swfheight : swfheight, action : action});
|
||||
return true;
|
||||
}
|
||||
|
||||
// Pass to next handler in chain
|
||||
return false;
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
// Fix the embed and object elements
|
||||
content = content.replace(new RegExp('<[ ]*embed','gi'),'<embed');
|
||||
content = content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');
|
||||
content = content.replace(new RegExp('<[ ]*object','gi'),'<object');
|
||||
content = content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');
|
||||
|
||||
// Parse all embed tags
|
||||
while ((startPos = content.indexOf('<embed', startPos+1)) != -1) {
|
||||
var endPos = content.indexOf('>', startPos);
|
||||
var attribs = TinyMCE_flash_parseAttributes(content.substring(startPos + 6, endPos));
|
||||
embedList[embedList.length] = attribs;
|
||||
}
|
||||
|
||||
// Parse all object tags and replace them with images from the embed data
|
||||
var index = 0;
|
||||
while ((startPos = content.indexOf('<object', startPos)) != -1) {
|
||||
if (index >= embedList.length)
|
||||
break;
|
||||
|
||||
var attribs = embedList[index];
|
||||
|
||||
// Find end of object
|
||||
endPos = content.indexOf('</object>', startPos);
|
||||
endPos += 9;
|
||||
|
||||
// Insert image
|
||||
var contentAfter = content.substring(endPos);
|
||||
content = content.substring(0, startPos);
|
||||
content += '<img name="mce_plugin_flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
|
||||
content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
|
||||
content += ' alt="' + attribs["src"] + '" class="mce_plugin_flash" />' + content.substring(endPos);
|
||||
content += contentAfter;
|
||||
index++;
|
||||
|
||||
startPos++;
|
||||
}
|
||||
break;
|
||||
|
||||
case "get_from_editor":
|
||||
// Parse all img tags and replace them with object+embed
|
||||
var startPos = -1;
|
||||
while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
|
||||
var endPos = content.indexOf('/>', startPos);
|
||||
var attribs = TinyMCE_flash_parseAttributes(content.substring(startPos + 4, endPos));
|
||||
|
||||
// Is not flash, skip it
|
||||
if (attribs['name'] != "mce_plugin_flash")
|
||||
continue;
|
||||
|
||||
endPos += 2;
|
||||
|
||||
var embedHTML = '';
|
||||
|
||||
// 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>';
|
||||
|
||||
// Insert embed/object chunk
|
||||
chunkBefore = content.substring(0, startPos);
|
||||
chunkAfter = content.substring(endPos);
|
||||
content = chunkBefore + embedHTML + chunkAfter;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// Pass through to next handler in chain
|
||||
return content;
|
||||
}
|
||||
|
||||
function TinyMCE_flash_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
|
||||
function getAttrib(elm, name) {
|
||||
return elm.getAttribute(name) ? elm.getAttribute(name) : "";
|
||||
}
|
||||
|
||||
tinyMCE.switchClassSticky(editor_id + '_flash', 'mceButtonNormal');
|
||||
|
||||
if (node == null)
|
||||
return;
|
||||
|
||||
do {
|
||||
if (node.nodeName.toLowerCase() == "img" && getAttrib(node, 'name').indexOf('mce_plugin_flash') == 0)
|
||||
tinyMCE.switchClassSticky(editor_id + '_flash', 'mceButtonSelected');
|
||||
} while ((node = node.parentNode));
|
||||
|
||||
return true;
|
||||
}
|