[Phpcms-plugins-cvs] admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/themes/advanced editor_con
Brought to you by:
mjahn
From: Martin J. <mj...@us...> - 2005-05-26 15:55:42
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/themes/advanced In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/themes/advanced Added Files: editor_content.css anchor.htm editor_ui.css image.htm charmap.htm editor_template.js editor_template_src.js editor_popup.css link.htm source_editor.htm color_picker.htm Log Message: beginning of phpcms-content and filemanager --- NEW FILE: image.htm --- <html> <head> <title>{$lang_insert_image_title}</title> <script language="javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript"> var url = tinyMCE.getParam("external_image_list_url"); if (url != null) document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCE.documentBasePath + "/" + url + '"></sc'+'ript>'); </script> <script language="javascript"> // Disable auto resize tinyMCE.getWindowArg('mce_windowresize', false); function insertImage() { if (window.opener) { var src = document.forms[0].src.value; var alt = document.forms[0].alt.value; var border = document.forms[0].border.value; var vspace = document.forms[0].vspace.value; var hspace = document.forms[0].hspace.value; var width = document.forms[0].width.value; var height = document.forms[0].height.value; var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value; window.opener.tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align); top.close(); } } function init() { var formObj = document.forms[0]; 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.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); // Handle file browser if (tinyMCE.getParam("file_browser_callback") != null) { document.getElementById('src').style.width = '180px'; var html = ''; html += '<img id="browserBtn" src="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(\'src\',document.forms[0].src.value,\'image\',window);"'; html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"'; html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" />'; document.getElementById('browser').innerHTML = html; } // Auto select image in list if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) { for (var i=0; i<formObj.image_list.length; i++) { if (formObj.image_list.options[i].value == tinyMCE.getWindowArg('src')) formObj.image_list.options[i].selected = true; } } // Autoresize and focus TinyMCEPopup_autoResize(); window.focus(); } function cancelAction() { top.close(); } 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() { 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); } </script> </head> <body onload="window.focus();init();"> <form onsubmit="insertImage();return false;"> <table border="0" cellpadding="0" cellspacing="0" width="200"> <tr> <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0"> <tr> <td colspan="2" class="title" nowrap="nowrap">{$lang_insert_image_title}</td> </tr> <tr> <td nowrap="nowrap">{$lang_insert_image_src}:</td> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td><input name="src" type="text" id="src" value="" style="width: 200px" onchange="getImageData();"></td> <td id="browser"></td> </tr> </table></td> </tr> <!-- Image list --> <script language="javascript"> if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) { var html = ""; html += '<tr><td>{$lang_image_list}:</td>'; html += '<td><select name="image_list" style="width: 200px" onchange="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 nowrap="nowrap">{$lang_insert_image_alt}:</td> <td><input name="alt" type="text" id="alt" value="" style="width: 200px"></td> </tr> <tr> <td nowrap="nowrap">{$lang_insert_image_align}:</td> <td><select name="align"> <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 nowrap="nowrap">{$lang_insert_image_dimensions}:</td> <td><input name="width" type="text" id="width" value="" size="3" maxlength="3"> x <input name="height" type="text" id="height" value="" size="3" maxlength="3"></td> </tr> <tr> <td nowrap="nowrap">{$lang_insert_image_border}:</td> <td><input name="border" type="text" id="border" value="" size="3" maxlength="3"></td> </tr> <tr> <td nowrap="nowrap">{$lang_insert_image_vspace}:</td> <td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3"></td> </tr> <tr> <td nowrap="nowrap">{$lang_insert_image_hspace}:</td> <td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3"></td> </tr> <tr> <td nowrap="nowrap"><input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertImage();"> </td> <td align="right"><input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();"></td> </tr> </table></td> </tr> </table> </form> </body> </html> --- NEW FILE: editor_ui.css --- .mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected { margin-top: 1px; margin-left: 1px; } .mceButtonNormal { border-top: 1px solid; border-left: 1px solid; border-bottom: 1px solid; border-right: 1px solid; border-color: #F0F0EE; cursor: arrow; } .mceButtonOver { /* border-top: 1px solid buttonhighlight; border-left: 1px solid buttonhighlight; border-bottom: 1px solid buttonshadow; border-right: 1px solid buttonshadow;*/ border: 1px outset #333; cursor: arrow; background-color: #efebf7; } .mceButtonDown { /* border-bottom: 1px solid buttonhighlight; border-right: 1px solid buttonhighlight; border-top: 1px solid buttonshadow; border-left: 1px solid buttonshadow;*/ cursor: arrow; border: 1px inset #333; background-color: #efebf7; } .mceButtonSelected { border: 1px inset #333; cursor: arrow; } .mceButtonDisabled { filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); -moz-opacity:0.3; opacity: 0.3; border-top: 1px solid; border-left: 1px solid; border-bottom: 1px solid; border-right: 1px solid; border-color: #F0F0EE; cursor: arrow; } .mceSeparator { border-top: 1px solid buttonhighlight; border-left: 1px solid buttonhighlight; border-bottom: 1px solid buttonshadow; border-right: 1px solid buttonshadow; margin-right: 2px; margin-left: 2px; } .mceSeparatorLine { margin:2px; margin-left: 4px; background-color: #F0F0EE; border-top: 1px solid buttonshadow; border-left: 1px solid buttonshadow; border-bottom: 1px solid buttonhighlight; border-right: 1px solid buttonhighlight; width: 0px; height: 15px; } .mceSelectList { font-family: "MS Sans Serif"; font-size: 7pt; font-weight: normal; margin-top: 3px; padding: 0px; display: inline; vertical-align: top; background-color: #fff; } .mceLabel, .mceLabelDisabled { font-family: "MS Sans Serif"; font-size: 9pt; } .mceLabel { color: #000000; } .mceLabelDisabled { cursor: text; color: #999999; } .mceEditor { background: #fff; border: 0; } .mceEditor div, .mceEditor iframe { width:100%; border:1px solid #333; } .mceEditor iframe { padding:0.3%; width:99.4%; } .mceEditorArea { font-family: "MS Sans Serif"; background: #fff; } .mceToolbarTop, .mceToolbarBottom { background: #f0f0f0; } .mceToolbarTop { border: 1px solid #333; } .mceToolbarBottom { border: 1px solid #333; } .mcePathTop, .mcePathBottom, .mcePath { font-family: "MS Sans Serif"; font-size: 9pt; padding: 2px; } .mcePathTop { border: 1px solid #333; background: #f0f0f0; } .mcePathBottom { border: 1px solid #333; background: #f0f0f0; } .mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover { text-decoration: none; font-family: "MS Sans Serif"; font-size: 9pt; } .mcePathItem:hover { text-decoration: underline; } .mcePath { border-bottom: 1px solid #333; } --- NEW FILE: link.htm --- <html> <head> <title>{$lang_insert_link_title}</title> <script language="javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript"> var url = tinyMCE.getParam("external_link_list_url"); if (url != null) document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCE.documentBasePath + "/" + url + '"></sc'+'ript>'); </script> <script language="javascript"> // Disable auto resize tinyMCE.getWindowArg('mce_windowresize', false); function init() { for (var i=0; i<document.forms[0].target.options.length; i++) { var option = document.forms[0].target.options[i]; if (option.value == tinyMCE.getWindowArg('target')) option.selected = true; } document.forms[0].href.value = tinyMCE.getWindowArg('href'); document.forms[0].linktitle.value = tinyMCE.getWindowArg('title'); document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); // Handle file browser if (tinyMCE.getParam("file_browser_callback") != null) { document.getElementById('href').style.width = '180px'; var html = ''; html += '<img id="browserBtn" src="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(\'href\',document.forms[0].href.value,\'file\',window);"'; html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"'; html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" />'; document.getElementById('browser').innerHTML = html; } // Auto select link in list if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) { var formObj = document.forms[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; } } // Autoresize and focus TinyMCEPopup_autoResize(); window.focus(); } function insertLink() { if (window.opener) { var href = document.forms[0].href.value; var target = document.forms[0].target.options[document.forms[0].target.selectedIndex].value; var title = document.forms[0].linktitle.value; window.opener.tinyMCE.insertLink(href, target, title); top.close(); } } function cancelAction() { top.close(); } </script> </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 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: 200px"></td> <td id="browser"></td> </tr> </table></td> </tr> <!-- Link list --> <script language="javascript"> if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) { var html = ""; html += '<tr><td>{$lang_link_list}:</td>'; html += '<td><select name="link_list" style="width: 200px" 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 nowrap="nowrap">{$lang_insert_link_target}:</td> <td><select name="target" style="width: 200px"> <option value="_self">{$lang_insert_link_target_same}</option> <option value="_blank">{$lang_insert_link_target_blank}</option> </select></td> </tr> <tr> <td nowrap="nowrap">{$lang_theme_insert_link_titlefield}:</td> <td><input name="linktitle" type="text" id="linktitle" value="" style="width: 200px"></td> </tr> <tr> <td><input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertLink();"> </td> <td align="right"><input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();"></td> </tr> </table></td> </tr> </table> </form> </body> </html> --- NEW FILE: editor_content.css --- body { background-color: #FFFFFF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; scrollbar-3dlight-color: #F0F0EE; scrollbar-arrow-color: #676662; scrollbar-base-color: #F0F0EE; scrollbar-darkshadow-color: #DDDDDD; scrollbar-face-color: #E0E0DD; scrollbar-highlight-color: #F0F0EE; scrollbar-shadow-color: #F0F0EE; scrollbar-track-color: #F5F5F5; } td { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; } pre { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; } --- NEW FILE: color_picker.htm --- <html> <head> <title>{$lang_theme_colorpicker_title}</title> <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript" type="text/javascript"> <!-- function selectColor() { var color = document.getElementById("selectedColorBox").value; if (window.opener) window.opener.tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'),tinyMCE.getWindowArg('command'),false,color); window.close(); } function showColor(color) { document.getElementById("selectedColor").style.backgroundColor = color; document.getElementById("selectedColorBox").value = color; } window.focus(); var colorPicker = ""; var colors = new Array( "#000000", "#000033", "#000066", "#000099", "#0000cc", "#0000ff", "#330000", "#330033", "#330066", "#330099", "#3300cc", "#3300ff", "#660000", "#660033", "#660066", "#660099", "#6600cc", "#6600ff", "#990000", "#990033", "#990066", "#990099", "#9900cc", "#9900ff", "#cc0000", "#cc0033", "#cc0066", "#cc0099", "#cc00cc", "#cc00ff", "#ff0000", "#ff0033", "#ff0066", "#ff0099", "#ff00cc", "#ff00ff", "#003300", "#003333", "#003366", "#003399", "#0033cc", "#0033ff", "#333300", "#333333", "#333366", "#333399", "#3333cc", "#3333ff", "#663300", "#663333", "#663366", "#663399", "#6633cc", "#6633ff", "#993300", "#993333", "#993366", "#993399", "#9933cc", "#9933ff", "#cc3300", "#cc3333", "#cc3366", "#cc3399", "#cc33cc", "#cc33ff", "#ff3300", "#ff3333", "#ff3366", "#ff3399", "#ff33cc", "#ff33ff", "#006600", "#006633", "#006666", "#006699", "#0066cc", "#0066ff", "#336600", "#336633", "#336666", "#336699", "#3366cc", "#3366ff", "#666600", "#666633", "#666666", "#666699", "#6666cc", "#6666ff", "#996600", "#996633", "#996666", "#996699", "#9966cc", "#9966ff", "#cc6600", "#cc6633", "#cc6666", "#cc6699", "#cc66cc", "#cc66ff", "#ff6600", "#ff6633", "#ff6666", "#ff6699", "#ff66cc", "#ff66ff", "#009900", "#009933", "#009966", "#009999", "#0099cc", "#0099ff", "#339900", "#339933", "#339966", "#339999", "#3399cc", "#3399ff", "#669900", "#669933", "#669966", "#669999", "#6699cc", "#6699ff", "#999900", "#999933", "#999966", "#999999", "#9999cc", "#9999ff", "#cc9900", "#cc9933", "#cc9966", "#cc9999", "#cc99cc", "#cc99ff", "#ff9900", "#ff9933", "#ff9966", "#ff9999", "#ff99cc", "#ff99ff", "#00cc00", "#00cc33", "#00cc66", "#00cc99", "#00cccc", "#00ccff", "#33cc00", "#33cc33", "#33cc66", "#33cc99", "#33cccc", "#33ccff", "#66cc00", "#66cc33", "#66cc66", "#66cc99", "#66cccc", "#66ccff", "#99cc00", "#99cc33", "#99cc66", "#99cc99", "#99cccc", "#99ccff", "#cccc00", "#cccc33", "#cccc66", "#cccc99", "#cccccc", "#ccccff", "#ffcc00", "#ffcc33", "#ffcc66", "#ffcc99", "#ffcccc", "#ffccff", "#00ff00", "#00ff33", "#00ff66", "#00ff99", "#00ffcc", "#00ffff", "#33ff00", "#33ff33", "#33ff66", "#33ff99", "#33ffcc", "#33ffff", "#66ff00", "#66ff33", "#66ff66", "#66ff99", "#66ffcc", "#66ffff", "#99ff00", "#99ff33", "#99ff66", "#99ff99", "#99ffcc", "#99ffff", "#ccff00", "#ccff33", "#ccff66", "#ccff99", "#ccffcc", "#ccffff", "#ffff00", "#ffff33", "#ffff66", "#ffff99", "#ffffcc", "#ffffff" ); colorPicker += '<table border="0" cellspacing="1" cellpadding="0">' + '<tr>'; for (var i=0; i<colors.length; i++) { colorPicker += '<td bgcolor="' + colors[i] + '">' + '<a href="#top" onclick="selectColor();return false;" onmouseover="showColor(\'' + colors[i] + '\');">' + '<img border="0" src="images/spacer.gif" width="10" height="10" /></a></td>'; if ((i+1) % 18 == 0) colorPicker += '</tr><tr>'; } colorPicker += '<tr><td colspan="18">' + '<table width="100%" border="0" cellspacing="0" cellpadding="0">' + '<tr><td>' + '<img id="selectedColor" style="background-color:' + tinyMCE.getWindowArg('input_color') + '" border="0" src="images/spacer.gif" width="80" height="16" />' + '</td><td align="right">' + '<input id="selectedColorBox" name="selectedColorBox" type="text" size="7" maxlength="7" style="width:65px" value="' + tinyMCE.getWindowArg('input_color') + '" />' + '</td></tr>' + '</table>' + '<input type="button" id="insert" name="insert" value="{$lang_theme_colorpicker_apply}" style="margin-top:3px" onclick="selectColor();">' + '</td></tr>' + '</table>'; //--> </script> </head> <body marginheight="3" topmargin="3" leftmargin="3" marginwidth="3"> <div align="center"> <script language="javascript" type="text/javascript"> <!-- document.write(colorPicker); //--> </script> </div> </body> </html> --- NEW FILE: charmap.htm --- <html> <head> <title>{$lang_theme_charmap_title}</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript" type="text/javascript"> <!-- var charmap = new Array(); // for mor details please see w3c.org // now here is the complete list ;) charmap = [ [' ', ' ', true, 'no-break space'], ['&', '&', true, 'ampersand'], ['"', '"', true, 'quotation mark'], // finance ['¢', '¢', true, 'cent sign'], ['€', '€', true, 'euro sign'], ['£', '£', true, 'pound sign'], ['¥', '¥', true, 'yen sign'], // signs ['©', '©', true, 'copyright sign'], ['®', '®', true, 'registered sign'], ['™', '™', true, 'trade mark sign'], ['‰', '‰', true, 'per mille sign'], ['µ', 'µ', true, 'micro sign'], ['·', '·', true, 'middle dot'], ['•', '•', true, 'bullet'], ['…', '…', true, 'three dot leader'], ['′', '′', true, 'minutes / feet'], ['″', '″', true, 'seconds / inches'], ['§', '§', true, 'section sign'], ['¶', '¶', true, 'paragraph sign'], ['ß', 'ß', true, 'sharp s / ess-zed'], // quotations ['‹', '‹', true, 'single left-pointing angle quotation mark'], ['›', '›', true, 'single right-pointing angle quotation mark'], ['«', '«', true, 'left pointing guillemet'], ['»', '»', true, 'right pointing guillemet'], ['‘', '‘', true, 'left single quotation mark'], ['’', '’', true, 'right single quotation mark'], ['“', '“', true, 'left double quotation mark'], ['”', '”', true, 'right double quotation mark'], ['‚', '‚', true, 'single low-9 quotation mark'], ['„', '„', true, 'double low-9 quotation mark'], ['<', '<', true, 'less-than sign'], ['>', '>', true, 'greater-than sign'], ['≤', '≤', true, 'less-than or equal to'], ['≥', '≥', true, 'greater-than or equal to'], ['–', '–', true, 'en dash'], ['—', '—', true, 'em dash'], ['¯', '¯', true, 'macron'], ['‾', '‾', true, 'overline'], ['¤', '¤', true, 'currency sign'], ['¦', '¦', true, 'broken bar'], ['¨', '¨', true, 'diaeresis'], ['¡', '¡', true, 'inverted exclamation mark'], ['¿', '¿', true, 'turned question mark'], ['ˆ', 'ˆ', true, 'circumflex accent'], ['˜', '˜', true, 'small tilde'], ['°', '°', true, 'degree sign'], ['−', '−', true, 'minus sign'], ['±', '±', true, 'plus-minus sign'], ['÷', '÷', true, 'division sign'], ['⁄', '⁄', true, 'fraction slash'], ['×', '×', true, 'multiplication sign'], ['¹', '¹', true, 'superscript one'], ['²', '²', true, 'superscript two'], ['³', '³', true, 'superscript three'], ['¼', '¼', true, 'fraction one quarter'], ['½', '½', true, 'fraction one half'], ['¾', '¾', true, 'fraction three quarters'], // math / logical ['ƒ', 'ƒ', true, 'function / florin'], ['∫', '∫', true, 'integral'], ['∑', '∑', true, 'n-ary sumation'], ['∞', '∞', true, 'infinity'], ['√', '√', true, 'square root'], ['∼', '∼', false,'similar to'], ['≅', '≅', false,'approximately equal to'], ['≈', '≈', true, 'almost equal to'], ['≠', '≠', true, 'not equal to'], ['≡', '≡', true, 'identical to'], ['∈', '∈', false,'element of'], ['∉', '∉', false,'not an element of'], ['∋', '∋', false,'contains as member'], ['∏', '∏', true, 'n-ary product'], ['∧', '∧', false,'logical and'], ['∨', '∨', false,'logical or'], ['¬', '¬', true, 'not sign'], ['∩', '∩', true, 'intersection'], ['∪', '∪', false,'union'], ['∂', '∂', true, 'partial differential'], ['∀', '∀', false,'for all'], ['∃', '∃', false,'there exists'], ['∅', '∅', false,'diameter'], ['∇', '∇', false,'backward difference'], ['∗', '∗', false,'asterisk operator'], ['∝', '∝', false,'proportional to'], ['∠', '∠', false,'angle'], // undefined ['´', '´', true, 'acute accent'], ['¸', '¸', true, 'cedilla'], ['ª', 'ª', true, 'feminine ordinal indicator'], ['º', 'º', true, 'masculine ordinal indicator'], ['†', '†', true, 'dagger'], ['‡', '‡', true, 'double dagger'], // alphabetical special chars ['À', 'À', true, 'A - grave'], ['Á', 'Á', true, 'A - acute'], ['Â', 'Â', true, 'A - circumflex'], ['Ã', 'Ã', true, 'A - tilde'], ['Ä', 'Ä', true, 'A - diaeresis'], ['Å', 'Å', true, 'A - ring above'], ['Æ', 'Æ', true, 'ligature AE'], ['Ç', 'Ç', true, 'C - cedilla'], ['È', 'È', true, 'E - grave'], ['É', 'É', true, 'E - acute'], ['Ê', 'Ê', true, 'E - circumflex'], ['Ë', 'Ë', true, 'E - diaeresis'], ['Ì', 'Ì', true, 'I - grave'], ['Í', 'Í', true, 'I - acute'], ['Î', 'Î', true, 'I - circumflex'], ['Ï', 'Ï', true, 'I - diaeresis'], ['Ð', 'Ð', true, 'ETH'], ['Ñ', 'Ñ', true, 'N - tilde'], ['Ò', 'Ò', true, 'O - grave'], ['Ó', 'Ó', true, 'O - acute'], ['Ô', 'Ô', true, 'O - circumflex'], ['Õ', 'Õ', true, 'O - tilde'], ['Ö', 'Ö', true, 'O - diaeresis'], ['Ø', 'Ø', true, 'O - slash'], ['Œ', 'Œ', true, 'ligature OE'], ['Š', 'Š', true, 'S - caron'], ['Ù', 'Ù', true, 'U - grave'], ['Ú', 'Ú', true, 'U - acute'], ['Û', 'Û', true, 'U - circumflex'], ['Ü', 'Ü', true, 'U - diaeresis'], ['Ý', 'Ý', true, 'Y - acute'], ['Ÿ', 'Ÿ', true, 'Y - diaeresis'], ['Þ', 'Þ', true, 'THORN'], ['à', 'à', true, 'a - grave'], ['á', 'á', true, 'a - acute'], ['â', 'â', true, 'a - circumflex'], ['ã', 'ã', true, 'a - tilde'], ['ä', 'ä', true, 'a - diaeresis'], ['å', 'å', true, 'a - ring above'], ['æ', 'æ', true, 'ligature ae'], ['ç', 'ç', true, 'c - cedilla'], ['è', 'è', true, 'e - grave'], ['é', 'é', true, 'e - acute'], ['ê', 'ê', true, 'e - circumflex'], ['ë', 'ë', true, 'e - diaeresis'], ['ì', 'ì', true, 'i - grave'], ['í', 'í', true, 'i - acute'], ['î', 'î', true, 'i - circumflex'], ['ï', 'ï', true, 'i - diaeresis'], ['ð', 'ð', true, 'eth'], ['ñ', 'ñ', true, 'n - tilde'], ['ò', 'ò', true, 'o - grave'], ['ó', 'ó', true, 'o - acute'], ['ô', 'ô', true, 'o - circumflex'], ['õ', 'õ', true, 'o - tilde'], ['ö', 'ö', true, 'o - diaeresis'], ['ø', 'ø', true, 'o slash'], ['œ', 'œ', true, 'ligature oe'], ['š', 'š', true, 's - caron'], ['ù', 'ù', true, 'u - grave'], ['ú', 'ú', true, 'u - acute'], ['û', 'û', true, 'u - circumflex'], ['ü', 'ü', true, 'u - diaeresis'], ['ý', 'ý', true, 'y - acute'], ['þ', 'þ', true, 'thorn'], ['ÿ', 'ÿ', true, 'y - diaeresis'], // ['Α', 'Α', true, 'Alpha'], ['Β', 'Β', true, 'Beta'], ['Γ', 'Γ', true, 'Gamma'], ['Δ', 'Δ', true, 'Delta'], ['Ε', 'Ε', true, 'Epsilon'], ['Ζ', 'Ζ', true, 'Zeta'], ['Η', 'Η', true, 'Eta'], ['Θ', 'Θ', true, 'Theta'], ['Ι', 'Ι', true, 'Iota'], ['Κ', 'Κ', true, 'Kappa'], ['Λ', 'Λ', true, 'Lambda'], ['Μ', 'Μ', true, 'Mu'], ['Ν', 'Ν', true, 'Nu'], ['Ξ', 'Ξ', true, 'Xi'], ['Ο', 'Ο', true, 'Omicron'], ['Π', 'Π', true, 'Pi'], ['Ρ', 'Ρ', true, 'Rho'], ['Σ', 'Σ', true, 'Sigma'], ['Τ', 'Τ', true, 'Tau'], ['Υ', 'Υ', true, 'Upsilon'], ['Φ', 'Φ', true, 'Phi'], ['Χ', 'Χ', true, 'Chi'], ['Ψ', 'Ψ', true, 'Psi'], ['Ω', 'Ω', true, 'Omega'], ['α', 'α', true, 'alpha'], ['β', 'β', true, 'beta'], ['γ', 'γ', true, 'gamma'], ['δ', 'δ', true, 'delta'], ['ε', 'ε', true, 'epsilon'], ['ζ', 'ζ', true, 'zeta'], ['η', 'η', true, 'eta'], ['θ', 'θ', true, 'theta'], ['ι', 'ι', true, 'iota'], ['κ', 'κ', true, 'kappa'], ['λ', 'λ', true, 'lambda'], ['μ', 'μ', true, 'mu'], ['ν', 'ν', true, 'nu'], ['ξ', 'ξ', true, 'xi'], ['ο', 'ο', true, 'omicron'], ['π', 'π', true, 'pi'], ['ρ', 'ρ', true, 'rho'], ['ς', 'ς', true, 'final sigma'], ['σ', 'σ', true, 'sigma'], ['τ', 'τ', true, 'tau'], ['υ', 'υ', true, 'upsilon'], ['φ', 'φ', true, 'phi'], ['χ', 'χ', true, 'chi'], ['ψ', 'ψ', true, 'psi'], ['ω', 'ω', true, 'omega'], // symbols ['ℵ', 'ℵ', false,'alef symbol'], ['ϖ', 'ϖ', false,'pi symbol'], ['ℜ', 'ℜ', false,'real part symbol'], ['ϑ','ϑ', false,'theta symbol'], ['ϒ', 'ϒ', false,'upsilon - hook symbol'], ['℘', '℘', false,'Weierstrass p'], ['ℑ', 'ℑ', false,'imaginary part'], // arrows ['←', '←', true, 'leftwards arrow'], ['↑', '↑', true, 'upwards arrow'], ['→', '→', true, 'rightwards arrow'], ['↓', '↓', true, 'downwards arrow'], ['↔', '↔', true, 'left right arrow'], ['↵', '↵', false,'carriage return'], ['⇐', '⇐', false,'leftwards double arrow'], ['⇑', '⇑', false,'upwards double arrow'], ['⇒', '⇒', false,'rightwards double arrow'], ['⇓', '⇓', false,'downwards double arrow'], ['⇔', '⇔', false,'left right double arrow'], ['∴', '∴', false,'therefore'], ['⊂', '⊂', false,'subset of'], ['⊃', '⊃', false,'superset of'], ['⊄', '⊄', false,'not a subset of'], ['⊆', '⊆', false,'subset of or equal to'], ['⊇', '⊇', false,'superset of or equal to'], ['⊕', '⊕', false,'circled plus'], ['⊗', '⊗', false,'circled times'], ['⊥', '⊥', false,'perpendicular'], ['⋅', '⋅', false,'dot operator'], ['⌈', '⌈', false,'left ceiling'], ['⌉', '⌉', false,'right ceiling'], ['⌊', '⌊', false,'left floor'], ['⌋', '⌋', false,'right floor'], ['⟨', '〈', false,'left-pointing angle bracket'], ['⟩', '〉', false,'right-pointing angle bracket'], ['◊', '◊', true,'lozenge'], ['♠', '♠', false,'black spade suit'], ['♣', '♣', true, 'black club suit'], ['♥', '♥', true, 'black heart suit'], ['♦', '♦', true, 'black diamond suit'], [' ', ' ', false,'en space'], [' ', ' ', false,'em space'], [' ', ' ', false,'thin space'], ['‌', '‌', false,'zero width non-joiner'], ['‍', '‍', false,'zero width joiner'], ['‎', '‎', false,'left-to-right mark'], ['‏', '‏', false,'right-to-left mark'], ['­', '­', false,'soft hyphen'] ]; function renderCharMapHTML() { var charsPerRow = 20, tdWidth=20, tdHeight=20; var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">'; var cols=-1; for (var i=0; i<charmap.length; i++) { if (charmap[i][2]==true) { cols++; html += '' + '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"' + ' onmouseover="tinyMCE.switchClass(this,\'charmapOver\');' + 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"' + ' onmouseout="tinyMCE.restoreClass(this,\'charmapOver\');"' + ' onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');return false;"' + ' title="' + charmap[i][3] + '" nowrap="nowrap">' + charmap[i][1] + '</td>'; if ((cols+1) % charsPerRow == 0) html += '</tr><tr height="' + tdHeight + '">'; } } if (cols % charsPerRow > 0) { var padd = charsPerRow - (cols % charsPerRow); for (var i=0; i<padd-1; i++) html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"> </td>'; } html += '</tr></table>'; document.write(html); } function insertChar(chr) { tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'), 'mceInsertContent', false, '\&#' + chr + ';'); //window.close(); self.focus(); } function previewChar(codeA, codeB, codeN) { var elmA = document.getElementById('codeA'); var elmB = document.getElementById('codeB'); var elmV = document.getElementById('codeV'); var elmN = document.getElementById('codeN'); if (codeA=='#160;') { elmV.innerHTML = '__'; } else { elmV.innerHTML = '&' + codeA; } elmB.innerHTML = '&' + codeA; elmA.innerHTML = '&' + codeB; elmN.innerHTML = codeN; } window.focus(); //--> </script> </head> <body> <table align="center" border="0" cellspacing="0" cellpadding="2"> <tr> <td colspan="2" class="title">{$lang_theme_charmap_title}</td> </tr> <tr> <td rowspan="2" align="left" valign="top"> <script language="javascript" type="text/javascript"> <!-- renderCharMapHTML(); //--> </script> </td> <td width="100" align="center" valign="top"> <table border="0" cellpadding="0" cellspacing="0" width="100" height="100"> <tr> <td class="charmapOver" style="font-size: 40px; height:80px;" id="codeV"> </td> </tr> <tr> <td style="font-size: 10px; font-family: Arial, Helvetica, sans-serif; text-align:center;" id="codeN"> </td> </tr> </table> </td> </tr> <tr> <td valign="bottom" style="padding-bottom: 3px;"> <table width="100" align="center" border="0" cellpadding="2" cellspacing="0"> <tr> <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">HTML-Code</td> </tr> <tr> <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center"> </td> </tr> <tr> <td style="font-size: 1px;"> </td> </tr> <tr> <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">NUM-Code</td> </tr> <tr> <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center"> </td> </tr> </table> </td> </tr> </table> </body> </html> --- NEW FILE: editor_popup.css --- body { background-color: #F0F0EE; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; scrollbar-3dlight-color: #F0F0EE; scrollbar-arrow-color: #676662; scrollbar-base-color: #F0F0EE; scrollbar-darkshadow-color: #DDDDDD; scrollbar-face-color: #E0E0DD; scrollbar-highlight-color: #F0F0EE; scrollbar-shadow-color: #F0F0EE; scrollbar-track-color: #F5F5F5; } td { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; } input { background: #FFFFFF; border: 1px solid #cccccc; } td, input, select, textarea { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; } input, select, textarea { border: 1px solid #808080; } .input_noborder { border: 0px solid #808080; } #insert { font-weight: bold; } #cancel { font-weight: bold; } .title { font-size: 12px; font-weight: bold; } table.charmap { border-style: solid; border-width: 1px; border-color: #AAAAAA; } td.charmap, td.charmapOver { color: #000000; border-color: #AAAAAA; border-style: solid; border-width: 1px; text-align: center; font-size: 12px; } td.charmapOver { background-color: #CCCCCC; cursor: arrow; } a.charmap { color: #000000; text-decoration: none } .wordWrapCode { vertical-align: middle; border: 1px none #000000; background-color: transparent; } input.radio { border: 1px none #000000; background-color: transparent; vertical-align: middle; } input.checkbox { border: 1px none #000000; background-color: transparent; vertical-align: middle; } .mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected { margin-left: 1px; } .mceButtonNormal { border-top: 1px solid; border-left: 1px solid; border-bottom: 1px solid; border-right: 1px solid; border-color: #F0F0EE; cursor: arrow; } .mceButtonOver { border: 1px solid #0A246A; cursor: arrow; background-color: #B6BDD2; } .mceButtonDown { cursor: arrow; border: 1px solid #0A246A; background-color: #8592B5; } --- NEW FILE: source_editor.htm --- <html> <head> <title>{$lang_theme_code_title}</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript" type="text/javascript"> <!-- tinyMCE.setWindowArg('mce_windowresize', false); function saveContent() { if (window.opener) { window.opener.tinyMCE.setContent(document.getElementById('htmlSource').value); window.close(); } } // Fixes some charcode issues function fixContent(html) { html = html.replace(new RegExp('<(p|hr|table|tr|td|ol|ul|object|embed|li|blockquote)', 'gi'),'\n<$1'); html = html.replace(new RegExp('<\/(p|ol|ul|li|table|tr|td|blockquote|object)>', 'gi'),'</$1>\n'); html = tinyMCE.regexpReplace(html, '<br />','<br />\n','gi'); html = tinyMCE.regexpReplace(html, '\n\n','\n','gi'); return html; } function onLoadInit() { document.forms[0].htmlSource.value = fixContent(tinyMCE.getContent(tinyMCE.getWindowArg('editor_id'))); resizeInputs(); setWrap('off'); } function setWrap(val) { // hard soft off document.forms[0].htmlSource.wrap = val; } function toggleWordWrap(elm) { if (elm.checked) setWrap('soft'); else setWrap('off'); } var wHeight=0, wWidth=0, owHeight=0, owWidth=0; function resizeInputs() { if (!tinyMCE.isMSIE) { wHeight = self.innerHeight-80; wWidth = self.innerWidth-25; } else { wHeight = document.body.clientHeight-80; wWidth = document.body.clientWidth-25; } document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px'; document.forms[0].htmlSource.style.width = Math.abs(wWidth) + 'px'; } window.focus(); //--> </script> </head> <body scroll="no" onload="onLoadInit();" onresize="resizeInputs();"> <form name="source" onsubmit="saveContent();"> <table border="0" cellpadding="0" cellspacing="2" align="center"> <tr> <td class="title">{$lang_theme_code_title}</td> <td align="right"><script language="javascript" type="text/javascript"> <!-- if (tinyMCE.isMSIE) { document.write('<input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{$lang_theme_code_wordwrap}</label>'); } //--> </script></td> </tr> <tr> <td colspan="2" align="center"> <textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft"></textarea> </td> </tr> <tr> <td colspan="2" align="right"><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="saveContent();" /></td> </tr> </table> </form> </body> </html> --- NEW FILE: anchor.htm --- <html> <head> <title>{$lang_insert_anchor_title}</title> <script language="javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript"> // Disable auto resize tinyMCE.getWindowArg('mce_windowresize', false); function init() { document.forms[0].anchorName.value = tinyMCE.getWindowArg('name'); document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); // Autoresize and focus TinyMCEPopup_autoResize(); window.focus(); } function insertAnchor() { if (window.opener) { tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'), 'mceAnchor', false, document.forms[0].anchorName.value); top.close(); } } function cancelAction() { top.close(); } </script> </head> <body onload="init();"> <form onsubmit="insertAnchor();return false;"> <table border="0" cellpadding="0" cellspacing="0" width="200"> <tr> <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0"> <tr> <td colspan="2" class="title">{$lang_insert_anchor_title}</td> </tr> <tr> <td nowrap="nowrap">{$lang_insert_anchor_name}:</td> <td><input name="anchorName" type="text" id="anchorName" value="" style="width: 200px"></td> </tr> <tr> <td><input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAnchor();"> </td> <td align="right"><input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();"></td> </tr> </table></td> </tr> </table> </form> </body> </html> --- NEW FILE: editor_template_src.js --- /* Import theme specific language pack */ tinyMCE.importThemeLanguagePack('advanced'); // Variable declarations var TinyMCE_advanced_autoImportCSSClasses = true; var TinyMCE_advanced_foreColor = "#000000"; var TinyMCE_advanced_anchorName = ""; var TinyMCE_advanced_buttons = [ // Control id, button img, button title, command, user_interface, value ['bold', '{$lang_bold_img}', '{$lang_bold_desc}', 'Bold'], ['italic', '{$lang_italic_img}', '{$lang_italic_desc}', 'Italic'], ['underline', '{$lang_underline_img}', '{$lang_underline_desc}', 'Underline'], ['strikethrough', 'strikethrough.gif', '{$lang_striketrough_desc}', 'Strikethrough'], ['justifyleft', 'left.gif', '{$lang_justifyleft_desc}', 'JustifyLeft'], ['justifycenter', 'center.gif', '{$lang_justifycenter_desc}', 'JustifyCenter'], ['justifyright', 'right.gif', '{$lang_justifyright_desc}', 'JustifyRight'], ['justifyfull', 'full.gif', '{$lang_justifyfull_desc}', 'JustifyFull'], ['bullist', 'bullist.gif', '{$lang_bullist_desc}', 'InsertUnorderedList'], ['numlist', 'numlist.gif', '{$lang_numlist_desc}', 'InsertOrderedList'], ['outdent', 'outdent.gif', '{$lang_outdent_desc}', 'Outdent'], ['indent', 'indent.gif', '{$lang_indent_desc}', 'Indent'], ['cut', 'cut.gif', '{$lang_cut_desc}', 'Cut'], ['copy', 'copy.gif', '{$lang_copy_desc}', 'Copy'], ['paste', 'paste.gif', '{$lang_paste_desc}', 'Paste'], ['undo', 'undo.gif', '{$lang_undo_desc}', 'Undo'], ['redo', 'redo.gif', '{$lang_redo_desc}', 'Redo'], ['link', 'link.gif', '{$lang_link_desc}', 'mceLink', true], ['unlink', 'unlink.gif', '{$lang_unlink_desc}', 'unlink'], ['image', 'image.gif', '{$lang_image_desc}', 'mceImage', true], ['cleanup', 'cleanup.gif', '{$lang_cleanup_desc}', 'mceCleanup'], ['help', 'help.gif', '{$lang_help_desc}', 'mceHelp'], ['code', 'code.gif', '{$lang_theme_code_desc}', 'mceCodeEditor'], ['hr', 'hr.gif', '{$lang_theme_hr_desc}', 'inserthorizontalrule'], ['removeformat', 'removeformat.gif', '{$lang_theme_removeformat_desc}', 'removeformat'], ['sub', 'sub.gif', '{$lang_theme_sub_desc}', 'subscript'], ['sup', 'sup.gif', '{$lang_theme_sup_desc}', 'superscript'], ['forecolor', 'forecolor.gif', '{$lang_theme_forecolor_desc}', 'mceForeColor', true], ['backcolor', 'backcolor.gif', '{$lang_theme_backcolor_desc}', 'mceBackColor', true], ['charmap', 'charmap.gif', '{$lang_theme_charmap_desc}', 'mceCharMap'], ['visualaid', 'visualaid.gif', '{$lang_theme_visualaid_desc}', 'mceToggleVisualAid'], ['anchor', 'anchor.gif', '{$lang_theme_anchor_desc}', 'mceInsertAnchor'] ]; /** * Returns HTML code for the specificed control. */ function TinyMCE_advanced_getControlHTML(button_name) { var buttonTileMap = new Array('anchor.gif','backcolor.gif','bullist.gif','center.gif','charmap.gif','cleanup.gif','code.gif','copy.gif','custom_1.gif','cut.gif','forecolor.gif','full.gif','help.gif','hr.gif','image.gif','indent.gif','left.gif','link.gif','numlist.gif','outdent.gif','paste.gif','redo.gif','removeformat.gif','right.gif','strikethrough.gif','sub.gif','sup.gif','undo.gif','unlink.gif','visualaid.gif'); // Lookup button in button list for (var i=0; i<TinyMCE_advanced_buttons.length; i++) { var but = TinyMCE_advanced_buttons[i]; if (but[0] == button_name) { // Check for it in tilemap if (tinyMCE.settings['button_tile_map']) { for (var x=0; !tinyMCE.isMSIE && x<buttonTileMap.length; x++) { if (buttonTileMap[x] == but[1]) return '<img id="{$editor_id}_' + but[0] + '" src="{$themeurl}/images/spacer.gif" style="background-image:url({$themeurl}/images/buttons.gif); background-position: ' + (0-(x*20)) + 'px 0px" title="' + but[2] + '" 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}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ')">'; } } // Old style return '<img id="{$editor_id}_' + but[0] + '" src="{$themeurl}/images/' + but[1] + '" title="' + but[2] + '" 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}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ')">'; } } // Custom controlls other than buttons switch (button_name) { case "formatselect": var html = '<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'; var formats = tinyMCE.getParam("theme_advanced_blockformats", "p,address,pre,h1,h2,h3,h4,h5,h6", true).split(','); var lookup = [ ['p', '{$lang_theme_paragraph}'], ['address', '{$lang_theme_address}'], ['pre', '{$lang_theme_pre}'], ['h1', '{$lang_theme_h1}'], ['h2', '{$lang_theme_h2}'], ['h3', '{$lang_theme_h3}'], ['h4', '{$lang_theme_h4}'], ['h5', '{$lang_theme_h5}'], ['h6', '{$lang_theme_h6}'] ]; // Build format select for (var i=0; i<formats.length; i++) { for (var x=0; x<lookup.length; x++) { if (formats[i] == lookup[x][0]) html += '<option value="<' + lookup[x][0] + '>">' + lookup[x][1] + '</option>'; } } html += '</select>'; return html; case "styleselect": return '<select id="{$editor_id}_styleSelect" onmousedown="TinyMCE_advanced_setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>'; case "fontselect": return '<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList">\ <option value="">{$lang_theme_fontdefault}</option>\ <option value="arial,helvetica,sans-serif">Arial</option>\ <option value="times new roman,times,serif">Times New Roman</option>\ <option value="verdana,arial,helvetica,sans-serif">Verdana</option>\ <option value="courier new,courier,monospace">Courier</option>\ <option value="georgia,times new roman,times,serif">Georgia</option>\ <option value="tahoma,arial,helvetica,sans-serif">Tahoma</option>\ </select>'; case "fontsizeselect": return '<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">\ <option value="0">-- {$lang_theme_font_size} --</option>\ <option value="1">1 (8 pt)</option>\ <option value="2">2 (10 pt)</option>\ <option value="3">3 (12 pt)</option>\ <option value="4">4 (14 pt)</option>\ <option value="5">5 (18 pt)</option>\ <option value="6">6 (24 pt)</option>\ <option value="7">7 (36 pt)</option>\ </select>'; case "|": case "separator": return '<img src="{$themeurl}/images/spacer.gif" width="1" height="15" class="mceSeparatorLine">'; case "spacer": return '<img src="{$themeurl}/images/spacer.gif" width="1" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />'; case "rowseparator": return '<br />'; } return ""; } /** * Theme specific exec command handeling. */ function TinyMCE_advanced_execCommand(editor_id, element, command, user_interface, value) { switch (command) { case "mceForeColor": var template = new Array(); var inputColor = TinyMCE_advanced_foreColor; if (!inputColor) inputColor = "#000000"; template['file'] = 'color_picker.htm'; template['width'] = 210; template['height'] = 200; tinyMCE.openWindow(template, {editor_id : editor_id, command : "forecolor", input_color : inputColor}); return true; case "mceBackColor": var template = new Array(); var inputColor = TinyMCE_advanced_foreColor; if (!inputColor) inputColor = "#000000"; template['file'] = 'color_picker.htm'; template['width'] = 210; template['height'] = 200; tinyMCE.openWindow(template, {editor_id : editor_id, command : "HiliteColor", input_color : inputColor}); return true; case "mceCodeEditor": var template = new Array(); template['file'] = 'source_editor.htm'; template['width'] = tinyMCE.getParam("theme_advanced_source_editor_width", 500); template['height'] = tinyMCE.getParam("theme_advanced_source_editor_height", 400); tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no"}); return true; case "mceCharMap": var template = new Array(); template['file'] = 'charmap.htm'; template['width'] = 550; template['height'] = 280; tinyMCE.openWindow(template, {editor_id : editor_id}); return true; case "mceInsertAnchor": var template = new Array(); template['file'] = 'anchor.htm'; template['width'] = 320; template['height'] = 130; tinyMCE.openWindow(template, {editor_id : editor_id, name : TinyMCE_advanced_anchorName, action : (TinyMCE_advanced_anchorName == "" ? "insert" : "update")}); return true; } // Default behavior return false; } /** * Editor instance template function. */ function TinyMCE_advanced_getEditorTemplate(settings) { function removeFromArray(in_array, remove_array) { var outArray = new Array(); for (var i=0; i<in_array.length; i++) { skip = false; for (var j=0; j<remove_array.length; j++) { if (in_array[i] == remove_array[j]) skip = true; } if (!skip) outArray[outArray.length] = in_array[i]; } return outArray; } function addToArray(in_array, add_array) { for (var i=0; i<add_array.length; i++) in_array[in_array.length] = add_array[i]; return in_array; } var template = new Array(); var deltaHeight = 0; //########################################################################################################### // <Layout Manager Modification by SlyD, 14.1.2005> //########################################################################################################### var pathHTML = '{$lang_theme_path}: <span id="{$editor_id}_path"> </span>'; var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout"); switch(layoutManager) { case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)... var toolbarHTML = ""; var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom"); var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center"); var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); // Render row 1 var buttonNamesRow1 = tinyMCE.getParam("theme_advanced_buttons1", "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect", true, ','); buttonNamesRow1 = removeFromArray(buttonNamesRow1, tinyMCE.getParam("theme_advanced_disable", "", true, ',')); buttonNamesRow1 = addToArray(buttonNamesRow1, tinyMCE.getParam("theme_advanced_buttons1_add", "", true, ',')); buttonNamesRow1 = addToArray(tinyMCE.getParam("theme_advanced_buttons1_add_before", "", true, ','), buttonNamesRow1); for (var i=0; i<buttonNamesRow1.length; i++) toolbarHTML += tinyMCE.getControlHTML(buttonNamesRow1[i]); if (buttonNamesRow1.length > 0) { toolbarHTML += "<br />"; deltaHeight -= 23; } // Render row 2 var buttonNamesRow2 = tinyMCE.getParam("theme_advanced_buttons2", "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code", true, ','); buttonNamesRow2 = removeFromArray(buttonNamesRow2, tinyMCE.getParam("theme_advanced_disable", "", true, ',')); buttonNamesRow2 = addToArray(buttonNamesRow2, tinyMCE.getParam("theme_advanced_buttons2_add", "", true, ',')); buttonNamesRow2 = addToArray(tinyMCE.getParam("theme_advanced_buttons2_add_before", "", true, ','), buttonNamesRow2); for (var i=0; i<buttonNamesRow2.length; i++) toolbarHTML += tinyMCE.getControlHTML(buttonNamesRow2[i]); if (buttonNamesRow2.length > 0) { toolbarHTML += "<br />"; deltaHeight -= 23; } // Render row 3 var buttonNamesRow3 = tinyMCE.getParam("theme_advanced_buttons3", "hr,removeformat,visualaid,separator,sub,sup,separator,charmap", true, ','); buttonNamesRow3 = removeFromArray(buttonNamesRow3, tinyMCE.getParam("theme_advanced_disable", "", true, ',')); ... [truncated message content] |