tinymce editor

This commit is contained in:
JT Smith 2004-10-30 16:36:18 +00:00
parent 6ddb7c49e6
commit 9cffe191ac
655 changed files with 16255 additions and 22045 deletions

View file

@ -0,0 +1,96 @@
<html style="width:600px; Height: 50px;">
<head>
<title>Insert WebGUI macro</title>
<script language="javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript">
function returnSelected(in_values) {
var text = in_values;
if (window.opener) {
tinyMCE.execCommand("mceInsertContent", false, text);
window.close();
}
}
</script>
</head>
<body bgcolor="#D6D3CE" topmargin=15 leftmargin=0>
<form name="macros" method=get onSubmit="Set(document.all.ColorHex.value); return false;">
<div align=center>
<select name="textPulldown" onchange="returnSelected(this.value)">
<option value=''>Collateral...</option>
<option value='^I("logo");'>Image</option>
<option value='^SI("logo","100");'>Scaled Image</option>
<option value='^Thumbnail("logo");'>Thumbnail</option>
<option value='^ThumbnailLinker("logo");'>Linked Thumbnail</option>
<option value='^File("product specs");'>File with Icon</option>
<option value='^i("status report");'>File URL</option>
<option value='^RandomImage("collateral folder");'>Random Image</option>
<option value='^RandomSnippet("collateral folder");'>Random Snippet</option>
<option value='^Snippet("flash code");'>Snippet</option>
</select>
<select name="textPulldown" onchange="returnSelected(this.value)">
<option value=''>Navigation...</option>
<option value='^Navigation(crumbTrail);'>Crumb Trail</option>
<option value='^Navigation(FlexMenu);'>FlexMenu</option>
<option value='^Navigation(dtree);'>Dynamic Tree</option>
<option value='^Navigation(coolmenu);'>Cool Menu (Horizontal)</option>
<option value='^Navigation(currentMenuVertical);'>Current Menu (Vertical)</option>
<option value='^Navigation(currentMenuHorizontal);'>Current Menu (Horizontal)</option>
<option value='^Navigation(previousMenuVertical);'>Previous Menu (Vertical)</option>
<option value='^Navigation(previousMenuHorizontal);'>Previous Menu (Horizontal)</option>
<option value='^Navigation(PreviousDropMenu);'>Previous Dropdown Menu</option>
<option value='^Navigation(SpecificMenuVertical);'>Specific SubMenu (Vertical)</option>
<option value='^Navigation(SpecificMenuHorizontal);'>Specific SubMenu (Horizontal)</option>
<option value='^Navigation(SpecificDropMenu);'>Specific Dropdown Menu</option>
<option value='^Navigation(TopLevelMenuVertical);'>Top Level Menu (Vertical)</option>
<option value='^Navigation(TopLevelMenuHorizontal);'>Top Level Menu (Horizontal)</option>
<option value='^Navigation(TopDropMenu);'>Top Dropdown Menu</option>
<option value='^Navigation(RootTab);'>Root Tabs Menu</option>
<option value='^Navigation(rootmenu);'>Root Menu (Horizontal)</option>
<option value='^H;'>Home Link</option>
<option value='^/;'>System URL</option>
<option value='^\;'>Current Page URL</option>
</select>
<select onchange="returnSelected(this.value)">
<option value=''>User...</option>
<option value='^L;'>Login Form</option>
<option value='^a("Account Info");'>My Account Link</option>
<option value='^CanEditText("You can edit this page.");'>Can Edit Page Message</option>
<option value='^AdminText("You are in admin mode!");'>Admin Mode Message</option>
<option value='^GroupAdd("Newsletter","Click here to join our newsletter.");'>Join Group</option>
<option value='^GroupDelete("Newsletter","Click here to unsubscribe from our newsletter.");'>Leave Group</option>
<option value='^GroupText("Visitors","You need an account to do anything cool on this site!");'>Group Message</option>
<option value='^EditableToggle;'>Page Editable Toggle</option>
<option value='^AdminToggle;'>Admin Toggle</option>
<option value='^LoginToggle;'>Login Toggle</option>
<option value='^@;'>Username</option>
<option value='^#;'>User ID</option>
</select>
<select onchange="returnSelected(this.value)">
<option value=''>Style...</option>
<option value='^Spacer("10","100");'>Spacer</option>
<option value='^c;'>Company Name</option>
<option value='^u;'>Company URL</option>
<option value='^e;'>Company Email Address</option>
<option value='^LastModified;'>Last Modified Date</option>
<option value='^PageTitle;'>Page Title</option>
<option value='^r;'>Make Page Printable</option>
<option value='^RootTitle;'>Root Title</option>
<option value='^Extras;'>Extras Folder</option>
<option value='^AdminBar(2);'>Admin Bar</option>
</select>
</div>
</form>
</body></html>

View file

@ -0,0 +1,36 @@
/* Import theme specific language pack */
//tinyMCE.importPluginLanguagePack('emotions', 'uk,se');
/**
* Returns the HTML contents of the emotions control.
*/
function TinyMCE_collateral_getControlHTML(control_name) {
switch (control_name) {
case "collateral":
return '<img id="{$editor_id}_collateral" src="{$pluginurl}/images/macro.gif" title="Add a WebGUI macro" 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}\',\'wgCollateral\');">';
}
return "";
}
/**
* Executes the mceEmotion command.
*/
function TinyMCE_collateral_execCommand(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "wgCollateral":
var template = new Array();
template['file'] = '../../plugins/collateral/collateral.html'; // Relative to theme
template['width'] = 600;
template['height'] = 50;
tinyMCE.openWindow(template, {editor_id : editor_id});
return true;
}
// Pass to next handler in chain
return false;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

View file

@ -0,0 +1,36 @@
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('emotions', 'uk,se');
/**
* 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\');" onclick="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'] = 170;
tinyMCE.openWindow(template, {editor_id : editor_id});
return true;
}
// Pass to next handler in chain
return false;
}

View file

@ -0,0 +1,36 @@
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('emotions', 'uk,se');
/**
* 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\');" onclick="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'] = 170;
tinyMCE.openWindow(template, {editor_id : editor_id});
return true;
}
// Pass to next handler in chain
return false;
}

View 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="window.focus();">
<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:insertEmotion('smiley-cool.gif');"><img src="images/smiley-cool.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-cry.gif');"><img src="images/smiley-cry.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-embarassed.gif');"><img src="images/smiley-embarassed.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript: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:insertEmotion('smiley-frown.gif');"><img src="images/smiley-frown.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-innocent.gif');"><img src="images/smiley-innocent.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-kiss.gif');"><img src="images/smiley-kiss.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-laughing.gif');"><img src="images/smiley-laughing.gif" width="18" height="18" border="0" /></a></td>
</tr>
<tr>
<td><a href="javascript:insertEmotion('smiley-money-mouth.gif');"><img src="images/smiley-money-mouth.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-sealed.gif');"><img src="images/smiley-sealed.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-smile.gif');"><img src="images/smiley-smile.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-surprised.gif');"><img src="images/smiley-surprised.gif" width="18" height="18" border="0" /></a></td>
</tr>
<tr>
<td><a href="javascript:insertEmotion('smiley-tongue-out.gif');"><img src="images/smiley-tongue-out.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-undecided.gif');"><img src="images/smiley-undecided.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-wink.gif');"><img src="images/smiley-wink.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-yell.gif');"><img src="images/smiley-yell.gif" width="18" height="18" border="0" /></a></td>
</tr>
</table>
</div>
</body>
</html>

View 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="window.focus();">
<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:insertEmotion('smiley-cool.gif');"><img src="images/smiley-cool.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-cry.gif');"><img src="images/smiley-cry.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-embarassed.gif');"><img src="images/smiley-embarassed.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript: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:insertEmotion('smiley-frown.gif');"><img src="images/smiley-frown.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-innocent.gif');"><img src="images/smiley-innocent.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-kiss.gif');"><img src="images/smiley-kiss.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-laughing.gif');"><img src="images/smiley-laughing.gif" width="18" height="18" border="0" /></a></td>
</tr>
<tr>
<td><a href="javascript:insertEmotion('smiley-money-mouth.gif');"><img src="images/smiley-money-mouth.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-sealed.gif');"><img src="images/smiley-sealed.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-smile.gif');"><img src="images/smiley-smile.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-surprised.gif');"><img src="images/smiley-surprised.gif" width="18" height="18" border="0" /></a></td>
</tr>
<tr>
<td><a href="javascript:insertEmotion('smiley-tongue-out.gif');"><img src="images/smiley-tongue-out.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-undecided.gif');"><img src="images/smiley-undecided.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-wink.gif');"><img src="images/smiley-wink.gif" width="18" height="18" border="0" /></a></td>
<td><a href="javascript:insertEmotion('smiley-yell.gif');"><img src="images/smiley-yell.gif" width="18" height="18" border="0" /></a></td>
</tr>
</table>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View 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.

View 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,4 @@
// SE lang variables
tinyMCELang['lang_insert_emotions_title'] = 'Klistain kännsla';
tinyMCELang['lang_emotions_desc'] = 'Kännslor';

View file

@ -0,0 +1,4 @@
// SE lang variables
tinyMCELang['lang_insert_emotions_title'] = 'Klistain kännsla';
tinyMCELang['lang_emotions_desc'] = 'Kännslor';

View file

@ -0,0 +1,5 @@
// UK lang variables
tinyMCELang['lang_insert_emotions_title'] = 'Insert emotion';
tinyMCELang['lang_emotions_desc'] = 'Emotions';

View file

@ -0,0 +1,5 @@
// UK lang variables
tinyMCELang['lang_insert_emotions_title'] = 'Insert emotion';
tinyMCELang['lang_emotions_desc'] = 'Emotions';

View 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.

View 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.

View file

@ -0,0 +1,38 @@
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('iespell', 'uk,se');
/**
* Returns the HTML contents of the iespell control.
*/
function TinyMCE_iespell_getControlHTML(control_name) {
// Is it the iespell control and is the brower MSIE.
if (control_name == "iespell" && tinyMCE.isMSIE)
return '<img id="{$editor_id}_iespell" src="{$pluginurl}/images/iespell.gif" title="{$lang_iespell_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceIESpell\');">';
return "";
}
/**
* Executes the mceIESpell command.
*/
function TinyMCE_iespell_execCommand(editor_id, element, command, user_interface, value) {
// Handle ieSpellCommand
if (command == "mceIESpell") {
try {
var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension");
ieSpell.CheckDocumentNode(tinyMCE._getInstanceById(editor_id).contentDocument.documentElement);
} catch (e) {
if (e.number == -2146827859) {
if (confirm("ieSpell not detected. Click OK to go to download page."))
window.open('http://www.iespell.com/download.php','Download','');
else
alert("Error Loading ieSpell: Exception " + exception.number);
}
}
return true;
}
// Pass to next handler in chain
return false;
}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 B

View file

@ -0,0 +1,3 @@
// SE lang variables
tinyMCELang['lang_iespell_desc'] = 'Kör rättstavningskontroll';

View file

@ -0,0 +1,3 @@
// UK lang variables
tinyMCELang['lang_iespell_desc'] = 'Run spell checking';

View file

@ -0,0 +1,20 @@
ieSpell plugin for TinyMCE
----------------------------
Installation instructions:
* Copy the iespell directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "iespell".
* Add the iespell button name to button list, example: theme_advanced_buttons3_add : "iespell".
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "iespell",
theme_advanced_buttons3_add : "iespell"
});
Requirements:
The end user will need MSIE on Windows with the ieSpell installed. This can be downloaded
from http://www.iespell.com/download.php. Notice on other browsers than MSIE the spellchecking
button will not be visible.

View file

@ -0,0 +1,35 @@
/* Import theme specific language pack */
/**
* Returns the HTML contents of the emotions control.
*/
function TinyMCE_insertImage_getControlHTML(control_name) {
switch (control_name) {
case "insertImage":
return '<img id="{$editor_id}_insertImage" src="{$pluginurl}/images/insertImage.gif" title="Insert a WebGUI collateral image" 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}\',\'insertImage\');">';
}
return "";
}
/**
* Executes the mceEmotion command.
*/
function TinyMCE_insertImage_execCommand(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "insertImage":
var template = new Array();
template['file'] = '../../plugins/insertImage/insertImage.html'; // Relative to theme
template['width'] = 505;
template['height'] = 520;
tinyMCE.openWindow(template, {editor_id : editor_id});
return true;
}
// Pass to next handler in chain
return false;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

View file

@ -0,0 +1,331 @@
<html> <!-- ALL features enabled -->
<head>
<title>WebGUI Collateral -- Insert Image</title>
<script language="javascript" src="../../tiny_mce_popup.js"></script>
<style type="text/css">
BODY { font-size: 9; font-family: Verdana,Helvetica, sans-serif; }
#INPUT { font-size: 9; font-family: Verdana,Helvetica, sans-serif; }
#TD { font-size: 9; font-family: Verdana,Helvetica, sans-serif; }
</style>
<!-- script copied from original "insert_image.html" -->
<script>
window.onerror = HandleError;
function HandleError(message, url, line) {
var str = "An error has occurred in this dialog." + "\n\n"
+ "Error: " + line + "\n" + message;
alert(str);
window.close();
return true;
}
function Init() {
var pageURL = window.opener.getWebguiProperty("pageURL");
if(document.getElementById("dpicheck")) {
dpi = document.getElementById("dpicheck").width;
}
document.getElementById("lister").src = pageURL + '?op=htmlArealistCollateral&DPI=' + dpi;
document.getElementById("viewer").src = pageURL + '?op=htmlAreaviewCollateral&DPI=' + dpi;
var txtFileName = document.getElementById("txtFileName");
if ((!txtFileName.value) || (txtFileName.value== "")) {
txtFileName.value = "http://";
}
}
function _isValidNumber(txtBox) {
var val = parseInt(txtBox);
if(isNaN(val) || val < 0 || val > 999) {
return false;
}
return true;
}
function OKClick() {
var pageURL = window.opener.getWebguiProperty("pageURL");
// error checking
if(!document.getElementById("txtFileName").value || document.getElementById("txtFileName").value == "http://") {
alert("Image URL must be specified.");
document.getElementById("txtFileName").focus();
return;
}
if(document.getElementById("txtHorizontal").value && !_isValidNumber(document.getElementById("txtHorizontal").value)) {
alert("Horizontal spacing must be a number between 0 and 999.");
document.getElementById("txtHorizontal").focus();
return;
}
if(document.getElementById("txtBorder").value && !_isValidNumber(document.getElementById("txtBorder").value)) {
alert("Border thickness must be a number between 0 and 999.");
document.getElementById("txtBorder").focus();
return;
}
if(document.getElementById("txtVertical").value && !_isValidNumber(document.getElementById("txtVertical").value)) {
alert("Vertical spacing must be a number between 0 and 999.");
document.getElementById("txtVertical").focus();
return;
}
if(document.getElementById("txtFileName").value.length > 2040) {
document.getElementById("txtFileName").value = document.getElementById("txtFileName").value.substring(0,2040);
}
src = document.getElementById("txtFileName").value;
if(document.getElementById("txtHorizontal").value != "") {
hspace = parseInt(document.getElementById("txtHorizontal").value);
}
else {
hspace = 0;
}
if(document.getElementById("txtVertical").value != "") {
vspace = parseInt(txtVertical.value);
}
else {
vspace = 0;
}
alt = document.getElementById("txtAltText").value;
if(document.getElementById("txtBorder").value != "") {
border = parseInt(document.getElementById("txtBorder").value);
}
else {
border = 0;
}
align = document.getElementById("selAlignment").value;
width="";
height="";
tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align);
window.close();
}
var initialLoad = true;
function resetForm() {
if (!initialLoad) {
document.getElementById("name").value = '';
document.getElementById("thumbnailSize").value = '';
document.getElementById("description").value = '';
document.getElementById("folder").value = '';
document.getElementById("viewer").src=window.opener.getWebguiProperty("pageURL") + "?op=htmlAreaviewCollateral";
}else {
initialLoad=false;
}
}
</script>
</head>
<body onLoad="Init()">
<img id="dpicheck" style="position: absolute; left: 1; top: 1; width: 1in; height: 1; visibility: hidden;" src="dpi.gif">
<table border="0" cellpadding="0" cellspacing="5">
<tr>
<td>
<table name="manager" id="manager" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3" align="center" valign="middle">
<fieldset>
<legend align="left">WebGUI Collateral Image Manager</legend>
<table name="wrapper" id="wrapper" border="1" cellpadding="2" cellspacing="0" width="300">
<tr>
<td>
<iframe width="215" height="150" name="lister" id="lister">lister</iframe>
</td>
<td>
<iframe width="215" height="150" name="viewer" id="viewer">viewer</iframe>
</td>
</tr>
<tr>
<td colspan="3">
<script>
document.write('<form name="actions" id="actions" method="POST" action="'+ window.opener.getWebguiProperty("pageURL") +'" enctype="multipart/form-data" target="lister">');
</script>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">
<fieldset>
<legend align="left">Upload New Image</legend>
<table border="0" cellpadding="1" cellspacing="0">
<tr>
<td align="left" valign="middle">
<input type="submit" value="Upload" onclick="this.form.op.value='htmlAreaUpload'">&nbsp;
</td>
<td colspan="2">
<input type="file" name="image" id="image" size="54">
</td>
</tr>
<tr>
<td align="left" valign="middle">
Name as:
</td>
<td colspan="2">
<input type="input" name="name" id="name" size="54">
</td>
</tr>
<tr>
<td align="left" valign="middle">
Thumbnail:
</td>
<td align="left" valign="middle">
<input type="input" name="thumbnailSize" id="thumbnailSize" size="10">
<i>
&nbsp;(size in pixels)&nbsp;
</i>
</td>
</tr>
</table>
</fieldset>
</td>
</tr>
<!-- END 'UPLOAD' HTML -->
<!-- BEGIN 'CREATE' HTML (delete the '>' at the end of this comment to disable the 'CREATE' feature) -->
<tr>
<td colspan="2">
<fieldset>
<legend align="left">Create New Folder</legend>
<table border="0" cellpadding="1" cellspacing="0">
<tr>
<td align="left" valign="middle">
Name:
</td>
<td colspan="2">
<input type="input" name="folder" id="folder" size="54">
</td>
</tr>
<tr>
<td align="left" valign="middle">
Description:
</td>
<td>
<input type="input" name="description" id="description" size="54">
</td>
<td align="left" valign="top">
&nbsp;<input type="submit" value="Create" onclick="this.form.op.value='htmlAreaCreateFolder'">
</td>
</table>
</fieldset>
</td>
</tr>
<!-- END 'UPLOAD' HTML -->
</table>
<input type="hidden" name="DPI" value="96" id="DPI">
<input type="hidden" name="action" value="" id="action">
<input type="hidden" name="path" value="0" id="path">
<input type="hidden" name="op" value="" id="op">
</form>
</td>
</tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td colspan="3" valign="middle">
<fieldset>
<legend align="left">Selected Image</legend>
<table border="0" cellpadding="1" cellspacing="0">
<tr>
<td valign="middle">Image URL:&nbsp;&nbsp;</td>
<td valign="middle">
<input type="text" name="txtFileName" id="txtFileName" onfocus="select()" value="http://" size="54">
</td>
</tr>
<tr>
<td valign="middle">Alt Text:</td>
<td valign="middle">
<input type="text" name="txtAltText" id="txtAltText" onfocus="select()" size="54">
</td>
</tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td >
<fieldset name="fldLayout" id="fldLayout">
<legend align="left">Layout</legend>
<table border="0" cellpadding="1" cellspacing="0">
<tr>
<td valign="middle">Alignment:</td>
<td valign="middle">
<select size="1" name="selAlignment" id="selAlignment">
<OPTION id="optNotSet" value="">(none)</OPTION>
<OPTION id="optAbsBottom" value="absbottom">absbottom</OPTION>
<OPTION id="optAbsMiddle" value="absmiddle">absmiddle</OPTION>
<OPTION id="optBaseline" value="baseline" selected>baseline</OPTION>
<OPTION id="optBottom" value="bottom">bottom</OPTION>
<OPTION id="optLeft" value="left">left</OPTION>
<OPTION id="optMiddle" value="middle">middle</OPTION>
<OPTION id="optRight" value="right">right</OPTION>
<OPTION id="optTexttop" value="texttop">texttop</OPTION>
<OPTION id="optTop" value="top">top</OPTION>
</select>
</td>
</tr>
<tr>
<td valign="middle">Border:</td>
<td valign="middle">
<input type="text" name="txtBorder" id="txtBorder" size="5" maxlength="3" onfocus="select()">
</td>
</tr>
</table
</fieldset>
</td>
<td >
<fieldset name="fldSpacing" id="fldSpacing">
<legend align="left">Spacing</legend>
<table border="0" cellpadding="1" cellspacing="0">
<tr>
<td valign="middle">Horizontal:</td>
<td valign="middle">
<input type="text" name="txtHorizontal" id="txtHorizontal" size="5" maxlength="3" onfocus="select()">
</td>
</tr>
<tr>
<td valign="middle">Vertical:</td>
<td valign="middle">
<input type="text" name="txtVertical" id="txtVertical" size="5" maxlength="3" onfocus="select()">
</td>
</tr>
</table
</fieldset>
</td>
<td valign="bottom">
<table align="right" border="0" cellpadding="2" cellspacing="0">
<tr>
<td valign="middle">
<input type="submit" value="OK" name="btnOK" id="btnOK" onClick="OKClick()">
</td>
</tr>
<tr>
<td valign="middle">
<input type="reset" value="Cancel" name="btnCancel" id="btnCancel" onClick="window.close();">
</td>
</tr>
</table
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

View file

@ -0,0 +1,63 @@
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('insertdatetime', 'uk,se');
/**
* Returns the HTML contents of the insertdate, inserttime controls.
*/
function TinyMCE_insertdatetime_getControlHTML(control_name) {
switch (control_name) {
case "insertdate":
return '<img id="{$editor_id}_insertdate" src="{$pluginurl}/images/insertdate.gif" title="{$lang_insertdate_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertDate\');">';
case "inserttime":
return '<img id="{$editor_id}_inserttime" src="{$pluginurl}/images/inserttime.gif" title="{$lang_inserttime_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceInsertTime\');">';
}
return "";
}
/**
* Executes the mceInsertDate command.
*/
function TinyMCE_insertdatetime_execCommand(editor_id, element, command, user_interface, value) {
/* Adds zeros infront of value */
function addZeros(value, len) {
value = "" + value;
if (value.length < len) {
for (var i=0; i<(len-value.length); i++)
value = "0" + value;
}
return value;
}
/* Returns the date object in the specified format */
function getDateTime(date, format) {
format = tinyMCE.regexpReplace(format, "%D", "%m/%d/%y");
format = tinyMCE.regexpReplace(format, "%Y", "" + date.getFullYear());
format = tinyMCE.regexpReplace(format, "%y", "" + date.getYear());
format = tinyMCE.regexpReplace(format, "%m", addZeros(date.getMonth()+1, 2));
format = tinyMCE.regexpReplace(format, "%d", addZeros(date.getDate(), 2));
format = tinyMCE.regexpReplace(format, "%H", "" + addZeros(date.getHours(), 2));
format = tinyMCE.regexpReplace(format, "%M", "" + addZeros(date.getMinutes(), 2));
format = tinyMCE.regexpReplace(format, "%S", "" + addZeros(date.getSeconds(), 2));
format = tinyMCE.regexpReplace(format, "%%", "%");
return format;
}
// Handle commands
switch (command) {
case "mceInsertDate":
tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_dateFormat", "%Y-%m-%d")));
return true;
case "mceInsertTime":
tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_timeFormat", "%H:%M:%S")));
return true;
}
// Pass to next handler in chain
return false;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

View file

@ -0,0 +1,4 @@
// SE lang variables
tinyMCELang['lang_insertdate_desc'] = 'Klistra in datum';
tinyMCELang['lang_inserttime_desc'] = 'Klistra in tid';

View file

@ -0,0 +1,4 @@
// UK lang variables
tinyMCELang['lang_insertdate_desc'] = 'Insert date';
tinyMCELang['lang_inserttime_desc'] = 'Insert time';

View file

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

View file

@ -0,0 +1,35 @@
/* Import theme specific language pack */
/**
* Returns the HTML contents of the emotions control.
*/
function TinyMCE_pagetree_getControlHTML(control_name) {
switch (control_name) {
case "pagetree":
return '<img id="{$editor_id}_collateral" src="{$pluginurl}/images/pagetree.gif" title="Link to a page in the WebGUI page tree" 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}\',\'wgPageTree\');">';
}
return "";
}
/**
* Executes the mceEmotion command.
*/
function TinyMCE_pagetree_execCommand(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "wgPageTree":
var template = new Array();
template['file'] = getWebguiProperty ("pageURL") + '?op=richEditPageTree'; // Relative to theme
template['width'] = 500;
template['height'] = 500;
tinyMCE.openWindow(template, {editor_id : editor_id});
return true;
}
// Pass to next handler in chain
return false;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 B

View file

@ -0,0 +1,96 @@
<html style="width:600px; Height: 50px;">
<head>
<title>Insert WebGUI macro</title>
<script language="javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript">
function returnSelected(in_values) {
var text = in_values;
if (window.opener) {
tinyMCE.execCommand("mceInsertContent", false, text);
window.close();
}
}
</script>
</head>
<body bgcolor="#D6D3CE" topmargin=15 leftmargin=0>
<form name="macros" method=get onSubmit="Set(document.all.ColorHex.value); return false;">
<div align=center>
<select name="textPulldown" onchange="returnSelected(this.value)">
<option value=''>Collateral...</option>
<option value='^I("logo");'>Image</option>
<option value='^SI("logo","100");'>Scaled Image</option>
<option value='^Thumbnail("logo");'>Thumbnail</option>
<option value='^ThumbnailLinker("logo");'>Linked Thumbnail</option>
<option value='^File("product specs");'>File with Icon</option>
<option value='^i("status report");'>File URL</option>
<option value='^RandomImage("collateral folder");'>Random Image</option>
<option value='^RandomSnippet("collateral folder");'>Random Snippet</option>
<option value='^Snippet("flash code");'>Snippet</option>
</select>
<select name="textPulldown" onchange="returnSelected(this.value)">
<option value=''>Navigation...</option>
<option value='^Navigation(crumbTrail);'>Crumb Trail</option>
<option value='^Navigation(FlexMenu);'>FlexMenu</option>
<option value='^Navigation(dtree);'>Dynamic Tree</option>
<option value='^Navigation(coolmenu);'>Cool Menu (Horizontal)</option>
<option value='^Navigation(currentMenuVertical);'>Current Menu (Vertical)</option>
<option value='^Navigation(currentMenuHorizontal);'>Current Menu (Horizontal)</option>
<option value='^Navigation(previousMenuVertical);'>Previous Menu (Vertical)</option>
<option value='^Navigation(previousMenuHorizontal);'>Previous Menu (Horizontal)</option>
<option value='^Navigation(PreviousDropMenu);'>Previous Dropdown Menu</option>
<option value='^Navigation(SpecificMenuVertical);'>Specific SubMenu (Vertical)</option>
<option value='^Navigation(SpecificMenuHorizontal);'>Specific SubMenu (Horizontal)</option>
<option value='^Navigation(SpecificDropMenu);'>Specific Dropdown Menu</option>
<option value='^Navigation(TopLevelMenuVertical);'>Top Level Menu (Vertical)</option>
<option value='^Navigation(TopLevelMenuHorizontal);'>Top Level Menu (Horizontal)</option>
<option value='^Navigation(TopDropMenu);'>Top Dropdown Menu</option>
<option value='^Navigation(RootTab);'>Root Tabs Menu</option>
<option value='^Navigation(rootmenu);'>Root Menu (Horizontal)</option>
<option value='^H;'>Home Link</option>
<option value='^/;'>System URL</option>
<option value='^\;'>Current Page URL</option>
</select>
<select onchange="returnSelected(this.value)">
<option value=''>User...</option>
<option value='^L;'>Login Form</option>
<option value='^a("Account Info");'>My Account Link</option>
<option value='^CanEditText("You can edit this page.");'>Can Edit Page Message</option>
<option value='^AdminText("You are in admin mode!");'>Admin Mode Message</option>
<option value='^GroupAdd("Newsletter","Click here to join our newsletter.");'>Join Group</option>
<option value='^GroupDelete("Newsletter","Click here to unsubscribe from our newsletter.");'>Leave Group</option>
<option value='^GroupText("Visitors","You need an account to do anything cool on this site!");'>Group Message</option>
<option value='^EditableToggle;'>Page Editable Toggle</option>
<option value='^AdminToggle;'>Admin Toggle</option>
<option value='^LoginToggle;'>Login Toggle</option>
<option value='^@;'>Username</option>
<option value='^#;'>User ID</option>
</select>
<select onchange="returnSelected(this.value)">
<option value=''>Style...</option>
<option value='^Spacer("10","100");'>Spacer</option>
<option value='^c;'>Company Name</option>
<option value='^u;'>Company URL</option>
<option value='^e;'>Company Email Address</option>
<option value='^LastModified;'>Last Modified Date</option>
<option value='^PageTitle;'>Page Title</option>
<option value='^r;'>Make Page Printable</option>
<option value='^RootTitle;'>Root Title</option>
<option value='^Extras;'>Extras Folder</option>
<option value='^AdminBar(2);'>Admin Bar</option>
</select>
</div>
</form>
</body></html>

View file

@ -0,0 +1,46 @@
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('preview', 'uk,se');
/**
* Returns the HTML contents of the preview control.
*/
function TinyMCE_preview_getControlHTML(control_name) {
switch (control_name) {
case "preview":
return '<img id="{$editor_id}_preview" src="{$pluginurl}/images/preview.gif" title="{$lang_preview_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcePreview\');">';
}
return "";
}
/**
* Executes the mcePreview command.
*/
function TinyMCE_preview_execCommand(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mcePreview":
var win = window.open("", "mcePreview", "menubar=yes,toolbar=yes,scrollbars=yes,left=20,top=20,width=" + tinyMCE.getParam("plugin_preview_width", "550") + ",height=" + tinyMCE.getParam("plugin_preview_height", "600"));
var html = "";
html += '<!doctype html public "-//w3c//dtd html 4.0 transitional//en">';
html += '<html>';
html += '<head>';
html += '<title>' + tinyMCE.getLang('lang_preview_desc') + '</title>';
html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
html += '<link href="' + tinyMCE.getParam("content_css") + '" rel="stylesheet" type="text/css">';
html += '</head>';
html += '<body>';
html += tinyMCE.getContent();
html += '</body>';
html += '</html>';
win.document.write(html);
win.document.close();
return true;
}
// Pass to next handler in chain
return false;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

View file

@ -0,0 +1,3 @@
// SE lang variables
tinyMCELang['lang_preview_desc'] = 'Förhandsgranska';

View file

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

View file

@ -0,0 +1,21 @@
Preview plugin for TinyMCE
-----------------------------------
Installation instructions:
* Copy the preview directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "preview".
* Add the preview button name to button list, example: theme_advanced_buttons3_add : "preview".
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "preview",
theme_advanced_buttons3_add : "preview",
plugin_preview_width : "500",
plugin_preview_height : "600"
});
Configuration:
plugin_preview_width - Preview window width. Defaults to 550.
plugin_preview_height - Preview window height. Defaults to 600.

View file

@ -0,0 +1 @@
This is the location you place TinyMCE plugins.

View file

@ -0,0 +1,35 @@
/**
* Returns the HTML contents of the zoom control.
*/
function TinyMCE_zoom_getControlHTML(control_name) {
if (!tinyMCE.isMSIE)
return "";
switch (control_name) {
case "zoom":
return '<select id="{$editor_id}_formatSelect" name="{$editor_id}_zoomSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">\
<option value="100%">100%</option>\
<option value="150%">150%</option>\
<option value="200%">200%</option>\
<option value="250%">250%</option>\
</select>';
}
return "";
}
/**
* Executes the mceZoom command.
*/
function TinyMCE_zoom_execCommand(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mceZoom":
tinyMCE._getInstanceById(editor_id).contentDocument.body.style.zoom = value;
tinyMCE._getInstanceById(editor_id).contentDocument.body.style.mozZoom = value;
return true;
}
// Pass to next handler in chain
return false;
}

View file

@ -0,0 +1,22 @@
Zoom plugin for TinyMCE
--------------------------
About:
Adds a zoom drop list in MSIE, this plugin was mostly created to
show how to add custom droplists as plugins.
Installation instructions:
* Copy the zoom directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
* Add plugin to TinyMCE plugin option list example: plugins : "zoom".
* Add the preview button name to button list, example: theme_advanced_buttons3_add : "zoom".
Initialization example:
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "preview",
theme_advanced_buttons3_add : "zoom"
});
Requirement:
This plugin requires MSIE on Mozilla the button will not be visible.