phpcms-plugins-cvs Mailing List for phpCMS-plugins (Page 2)
Brought to you by:
mjahn
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(40) |
Jun
(38) |
Jul
(36) |
Aug
(46) |
Sep
(13) |
Oct
(1) |
Nov
|
Dec
(57) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(2) |
Feb
(19) |
Mar
|
Apr
(43) |
May
(119) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Martin J. <mj...@us...> - 2005-05-26 15:56:21
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/tools Added Files: ul2finder.js Log Message: beginning of phpcms-content and filemanager --- NEW FILE: ul2finder.js --- /* * ul2finder * written by Christian Heilmann (http://icant.co.uk) * turns the nested list with the ID "finder" into a dynamic list * uses the CSS classes defined in the variables */ function ul2finder() { // Define variables used and classes to be applied/removed var i,uls,als,finder; var parentClass='parent'; var showClass='shown'; var hideClass='hidden'; var openClass='open'; // check if our finder list exists, if not, stop all activities finder=document.getElementById('finder'); if(!finder){return;} // add the class domenabled to the body cssjs('add',document.body,'domenabled') // loop through all lists inside finder, position and hide them // by applying the class hidden uls=document.getElementById('finder').getElementsByTagName('ul'); for(i=0;i<uls.length;i++) { cssjs('add',uls[i],hideClass); } // loop through all links of inside finder lis=document.getElementById('finder').getElementsByTagName('li'); for(i=0;i<lis.length;i++) { // if the li containing the link has no nested list, skip this one if(!lis[i].getElementsByTagName('ul')[0]) { continue; } var newa=document.createElement('a'); newa.href='#'; newa.appendChild(document.createTextNode(lis[i].firstChild.nodeValue)); lis[i].replaceChild(newa,lis[i].firstChild); // otherwise apply the parent class cssjs('add',newa,parentClass); // if the user clicks on the link lis[i].getElementsByTagName('a')[0].onclick=function() { // loop through all lists inside finder for(var i=0;i<uls.length;i++) { // avoid the list connected to this link var found=false; for(j=0;j<uls[i].getElementsByTagName('ul').length;j++) { if(uls[i].getElementsByTagName('ul')[j] == this.parentNode.getElementsByTagName('ul')[0]) { found=true; break; } } // and hide all others if(!found) { cssjs('add',uls[i],hideClass) cssjs('remove',uls[i],showClass) cssjs('remove',uls[i].parentNode.getElementsByTagName('a')[0],openClass) cssjs('add',uls[i].parentNode.getElementsByTagName('a')[0],parentClass) } } // change the current link from parent to open cssjs('swap',this,parentClass,openClass) // show the current nested list cssjs('add',this.parentNode.getElementsByTagName('ul')[0],showClass) // don't follow the real HREF of the link return false; } } /* * cssjs * written by Christian Heilmann (http://icant.co.uk) * eases the dynamic application of CSS classes via DOM * parameters: action a, object o and class names c1 and c2 (c2 optional) * actions: swap exchanges c1 and c2 in object o * add adds class c1 to object o * remove removes class c1 from object o * check tests if class c1 is applied to object o * example: cssjs('swap',document.getElementById('foo'),'bar','baz'); */ function cssjs(a,o,c1,c2) { switch (a){ case 'swap': o.className=!cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2); break; case 'add': if(!cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;} break; case 'remove': var rep=o.className.match(' '+c1)?' '+c1:c1; o.className=o.className.replace(rep,''); break; case 'check': return new RegExp('\\b'+c1+'\\b').test(o.className) break; } } } // Check if the browser supports DOM, and start the script if it does. if(document.getElementById && document.createTextNode) { window.onload=ul2finder; } |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:16
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/plugins/advlink In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/plugins/advlink Added Files: readme.txt editor_plugin_src.js link.htm editor_plugin.js Log Message: beginning of phpcms-content and filemanager --- NEW FILE: editor_plugin.js --- /* Import plugin specific language pack */ tinyMCE.importPluginLanguagePack('advlink','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl');function TinyMCE_advlink_getInsertLinkTemplate(){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=400;template['height']=420;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);return template;} --- NEW FILE: link.htm --- <html> <head> <title>{$lang_insert_link_title}</title> <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript"> var url = tinyMCE.getParam("external_link_list_url"); if (url != null) document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCE.documentBasePath + "/" + url + '"></sc'+'ript>'); </script> <script language="javascript" type="text/javascript"> <!-- // Disable auto resize tinyMCE.getWindowArg('mce_windowresize', false); function myRegexpReplace(in_str, reg_exp, replace_str, opts) { if (typeof opts == "undefined") opts = 'g'; var re = new RegExp(reg_exp, opts); return in_str.replace(re, replace_str); } function init() { // modified 2004-11-10 by Michael Keck (me...@mi...) // supporting onclick event to open pop windows var formObj = document.forms[0]; var arrOnClick = new Array(), arrWinFeatures = new Array(); var strOnClick = '', strDocReturn = ''; arrOnClick = tinyMCE.getWindowArg('onclick').split(';'); for (var i=0; i<arrOnClick.length; i++) { if (arrOnClick[i].indexOf('window.open')!=-1) { strOnClick = arrOnClick[i]; strOnClick = strOnClick.substring(12,strOnClick.length-1); formObj.ispopup.checked=true; break; } } if (strOnClick!='') { for (var i=0; i<arrOnClick.length; i++) { if (arrOnClick[i].indexOf('return false')!=-1) { formObj.winreturn.checked=true; break; } } // get the win features arrWinFeatures = strOnClick.split(','); if (arrWinFeatures[0]!='') // link , url formObj.winurl.value = myRegexpReplace(arrWinFeatures[0],"'","","gi"); if (arrWinFeatures[1]!='') // link , url formObj.winname.value = myRegexpReplace(arrWinFeatures[1],"'","","gi"); for (var i=2; i<arrWinFeatures.length; i++) { // special features tmpFeature = myRegexpReplace(arrWinFeatures[i],"'","","gi"); valFeature = tmpFeature.split('='); if (valFeature[0]!='left' && valFeature[0]!='top' && valFeature[0]!='width' && valFeature[0]!='height') { if (valFeature[1]=='yes') formObj.elements['win'+valFeature[0].toLowerCase()].checked=true; else formObj.elements['win'+valFeature[0].toLowerCase()].checked=false; } else { switch (valFeature[0]) { case 'left': case 'top': if (valFeature[1].indexOf('screen.avail')!=-1) formObj.elements['win'+valFeature[0].toLowerCase()].value='c'; else formObj.elements['win'+valFeature[0].toLowerCase()].value=valFeature[1]; break; case 'width': case 'height': formObj.elements['win'+valFeature[0].toLowerCase()].value=valFeature[1]; break; } } } } var myTarget = tinyMCE.getWindowArg('target'); myTarget = myTarget != "" ? myTarget : "_self"; formObj.target.value = myTarget; formObj.href.value = tinyMCE.getWindowArg('href'); formObj.linktitle.value = tinyMCE.getWindowArg('title'); setMyTarget(myTarget); // Handle file browser if (tinyMCE.getParam("file_browser_callback") != null) { document.getElementById('href').style.width = '280px'; document.getElementById('winurl').style.width = '180px'; document.getElementById('browser1').innerHTML = getBrowserHTML('href'); document.getElementById('browser2').innerHTML = getBrowserHTML('winurl'); } // Auto select link in list if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) { for (var i=0; i<formObj.link_list.length; i++) { if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('href')) formObj.link_list.options[i].selected = true; } } // Autoresize and focus TinyMCEPopup_autoResize(); window.focus(); } function insertLink() { var formObj = document.forms[0]; if (window.opener) { var href = formObj.href.value; var target = formObj.target.value; var title = formObj.linktitle.value; var onclick = '', features = ''; var winwith = '', winheight = '', winleft = '', wintop = '', winlocation = '', winmenubar = '', wintoolbar = '', winscrollbars = '', winresizable = ''; if (formObj.ispopup.checked==true) { // building the onclick event onclick = "window.open("; // check if url given if (formObj.winurl.value=='') onclick += "this.href,"; else onclick += "'" + formObj.winurl.value + "',"; onclick += "'" + formObj.winname.value + "'"; // get/set with and height if (formObj.winwidth.value=='') formObj.winwidth.value = 640; if (formObj.winheight.value=='') formObj.winheight.value = 480; // win position if (formObj.winleft.value=='c') { if (features!='') features += ","; features += "left='+(screen.availWidth/2-" + (formObj.winwidth.value/2) + ")+'"; } else { if (formObj.winleft.value!='') { if (features!='') features += ","; features += "left=" + formObj.winleft.value; } } if (formObj.wintop.value=='c') { if (features!='') features += ","; features += "top='+(screen.availHeight/2-" + (formObj.winheight.value/2) + ")+'"; } else { if (formObj.wintop.value!='') { if (features!='') features += ","; features += "top=" + formObj.wintop.value; } } if (features!='') features += ','; features += "width=" + formObj.winwidth.value + ",height=" + formObj.winheight.value; // some window features if (formObj.winlocation.checked==true) { if (features!='') features += ','; features += "location=yes"; } if (formObj.winmenubar.checked==true) { if (features!='') features += ','; features += "menubar=yes"; } if (formObj.wintoolbar.checked==true) { if (features!='') features += ','; features += "toolbar=yes"; } if (formObj.winstatus.checked==true) { if (features!='') features += ','; features += "status=yes"; } if (formObj.winscrollbars.checked==true) { if (features!='') features += ','; features += "scrollbars=yes"; } if (formObj.winresizable.checked==true) { if (features!='') features += ','; features += "resizable=yes"; } if (features!='') onclick += ",'" + features + "'"; if (onclick!='') onclick += ");"; // return false means: open only the popup if (formObj.winreturn.checked==true) onclick += "return false;"; } if (target!='' && target!='please_insert_on_target_in_textfield') { //alert (onclick); window.opener.tinyMCE.insertLink(href, target, title, onclick); top.close(); } else { alert(tinyMCE.getLang('lang_insert_link_popup_missingtarget')); formObj.framename.select(); } } } function setMyTarget(what) { var formObj = document.forms[0]; formObj.target.value=what; switch (what) { case '': case '_self': document.getElementById('same').checked=true; formObj.framename.value='_self'; break; case '_blank': document.getElementById('blank').checked=true; formObj.framename.value=''; break; case '_parent': document.getElementById('parent').checked=true; formObj.framename.value=''; break; case '_top': document.getElementById('top').checked=true; formObj.framename.value=''; break; default: document.getElementById('named').checked=true; if (what!='please_insert_on_target_in_textfield') { formObj.framename.value=what; } break; } } function getBrowserHTML(name) { var html = ""; html += '<img id="browserBtn" src="../../themes/advanced/images/browse.gif"'; html += ' onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');"'; html += ' onmouseout="tinyMCE.restoreClass(this);"'; html += ' onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"'; html += ' onclick="javascript:tinyMCE.openFileBrowser(\'' + name + '\',document.forms[0].' + name + '.value,\'file\',window);"'; html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"'; html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" />'; return html; } function setPopupInputs() { var formObj = document.forms[0]; var ids = new Array('url','name','left','top','width','height','location','menubar','toolbar','status','scrollbars','resizable','return'); if (formObj.ispopup.checked==false) { formObj.winurl.value = ""; formObj.winname.value = ""; formObj.winwidth.value = ""; formObj.winheight.value = ""; formObj.winleft.value = ""; formObj.wintop.value = ""; formObj.winlocation.checked = false; formObj.winmenubar.checked = false; formObj.wintoolbar.checked = false; formObj.winscrollbars.checked = false; formObj.winresizable.checked = false; formObj.winstatus.checked = false; formObj.winreturn.checked = false; for (var i=0; i<ids.length; i++) { if (typeof(formObj.elements['win'+ids[i]])!='undefined') formObj.elements['win'+ids[i]].disabled = true; if (document.getElementById('label'+ids[i])) document.getElementById('label'+ids[i]).style.color = "#666666"; } } else { formObj.winreturn.checked = true; for (var i=0; i<ids.length; i++) { if (typeof(formObj.elements['win'+ids[i]])!='undefined') formObj.elements['win'+ids[i]].disabled = false; if (document.getElementById('label'+ids[i])) document.getElementById('label'+ids[i]).style.color = "#000000"; } } } function cancelAction() { top.close(); } //--> </script> <style type="text/css"> <!-- input.radio { border: 1px none #000000; background-color: transparent; vertical-align: middle; } --> </style> </head> <body onload="init();"> <form onsubmit="insertLink();return false;"> <table border="0" cellpadding="0" cellspacing="0" width="100"> <tr> <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0"> <tr> <td colspan="2" class="title" nowrap="nowrap">{$lang_insert_link_title}</td> </tr> <tr> <td align="right" nowrap="nowrap">{$lang_insert_link_url}:</td> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td><input name="href" type="text" id="href" value="" style="width: 300px;" /></td> <td id="browser1"></td> </tr> </table></td> </tr> <!-- Link list --> <script language="javascript"> if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) { var html = ""; html += '<tr><td align="right">{$lang_link_list}:</td>'; html += '<td><select name="link_list" style="width: 300px" onchange="this.form.href.value=this.options[this.selectedIndex].value;">'; html += '<option value="">---</option>'; for (var i=0; i<tinyMCELinkList.length; i++) html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>'; html += '</select></td></tr>'; document.write(html); } </script> <!-- /Link list --> <tr> <td align="right" nowrap="nowrap">{$lang_theme_insert_link_titlefield}:</td> <td><input name="linktitle" type="text" id="linktitle" value="" style="width: 300px;" /></td> </tr> <tr> <td align="right" valign="top">{$lang_insert_link_target}:<input type="hidden" name="target" id="target" value="" /></td> <td> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><input type="radio" id="same" name="linktarget" class="radio" onclick="setMyTarget('_self');" checked="checked" /></td> <td nowrap="nowrap"><label for="same">_self</label></td> <td nowrap="nowrap"> ({$lang_insert_link_target_same})</td> </tr> <tr> <td><input type="radio" id="parent" name="linktarget" class="radio" onclick="setMyTarget('_parent');" checked="checked" /></td> <td nowrap="nowrap"><label for="parent">_parent</label></td> <td nowrap="nowrap"> ({$lang_insert_link_target_parent})</td> </tr> <tr> <td><input type="radio" id="top" name="linktarget" class="radio" onclick="setMyTarget('_top');" checked="checked" /></td> <td nowrap="nowrap"><label for="top">_top</label></td> <td nowrap="nowrap"> ({$lang_insert_link_target_top})</td> </tr> <tr> <td><input type="radio" id="blank" name="linktarget" class="radio" onclick="setMyTarget('_blank');" checked="checked" /></td> <td nowrap="nowrap"><label for="blank">_blank</label></td> <td nowrap="nowrap"> ({$lang_insert_link_target_blank})</td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><input type="radio" id="named" name="linktarget" class="radio" onclick="setMyTarget('please_insert_on_target_in_textfield');" /></td> <td nowrap="nowrap"><label for="named">{$lang_insert_link_target_named}:</label> </td> <td nowrap="nowrap"><input type="text" name="framename" value="" id="framename" style="width: 120px; vertical-align: middle;" onblur="if(this.value!=''){ setMyTarget(this.value); }" onfocus="if(this.value!=''){ setMyTarget(this.value); }" maxlength="50" /></td> </tr> </table> </td> </tr> <tr> <td align="right" valign="top"><input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupInputs();" /><label for="ispopup"><b>{$lang_insert_link_popup}:</b></label></td> <td> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="right" nowrap="nowrap">{$lang_insert_link_popup_url}: </td> <td id="labelurl"><table border="0" cellspacing="0" cellpadding="0"> <tr> <td><input type="text" name="winurl" id="winurl" value="" style="width: 200px;" /></td> <td id="browser2"></td> </tr> </table></td> </tr> <tr> <td align="right" nowrap="nowrap" id="labelname">{$lang_insert_link_popup_name}: </td> <td><input type="text" name="winname" id="winname" value="" style="width: 200px;" /></td> </tr> <tr> <td align="right" nowrap="nowrap" id="labelwidth">{$lang_insert_link_popup_size}: </td> <td nowrap="nowrap" id="labelheight"> <input type="text" name="winwidth" id="winwidth" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> x <input type="text" name="winheight" id="winheight" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> px </td> </tr> <tr> <td align="right" nowrap="nowrap" id="labelleft">{$lang_insert_link_popup_position}: </td> <td nowrap="nowrap" id="labeltop"> <input type="text" name="winleft" id="winleft" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> / <input type="text" name="wintop" id="wintop" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> (c /c = center) </td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="right"><input type="checkbox" id="winlocation" name="winloaction" class="radio" /></td> <td nowrap="nowrap" id="labellocation"><label for="winloaction">{$lang_insert_link_popup_location}</label></td> <td nowrap="nowrap"> </td> <td align="right"><input type="checkbox" id="winscrollbars" name="winscrollbars" class="radio" /></td> <td nowrap="nowrap" id="labelscrollbars"><label for="winscrollbars">{$lang_insert_link_popup_scrollbars}</label></td> </tr> <tr> <td align="right"><input type="checkbox" id="winmenubar" name="winmenubar" class="radio" /></td> <td nowrap="nowrap" id="labelmenubar"><label for="winmenubar">{$lang_insert_link_popup_menubar}</label></td> <td nowrap="nowrap"> </td> <td align="right"><input type="checkbox" id="winresizable" name="winresizable" class="radio" /></td> <td nowrap="nowrap" id="labelresizable"><label for="winresizable">{$lang_insert_link_popup_resizable}</label></td> </tr> <tr> <td align="right"><input type="checkbox" id="wintoolbar" name="wintoolbar" class="radio" /></td> <td nowrap="nowrap" id="labeltoolbar"><label for="wintoolbar">{$lang_insert_link_popup_toolbar}</label></td> <td nowrap="nowrap"> </td> <td nowrap="nowrap"> </td> <td nowrap="nowrap"> </td> </tr> <tr> <td align="right"><input type="checkbox" id="winstatus" name="winstatus" class="radio" /></td> <td nowrap="nowrap" id="labelstatus"><label for="winstatus">{$lang_insert_link_popup_statusbar}</label></td> <td nowrap="nowrap"> </td> <td align="right"><input type="checkbox" id="winreturn" name="winreturn" class="radio" checked="checked" /></td> <td nowrap="nowrap" id="labelreturn"><label for="winreturn">{$lang_insert_link_popup_return}</label></td> </tr> </table> </td> </tr> <tr> <td><input type="button" name="insert" value="{$lang_insert}" onclick="insertLink();" id="insert" /></td> <td align="right"><input type="button" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" id="cancel" /></td> </tr> </table></td> </tr> </table> </form> </body> </html> --- NEW FILE: editor_plugin_src.js --- /* Import plugin specific language pack */ tinyMCE.importPluginLanguagePack('advlink', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl'); /** * Insert link template function. */ function TinyMCE_advlink_getInsertLinkTemplate() { var template = new Array(); template['file'] = '../../plugins/advlink/link.htm'; template['width'] = 400; template['height'] = 420; // Language specific width and height addons template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0); template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0); return template; } --- NEW FILE: readme.txt --- Advlink plugin for TinyMCE ----------------------------- About: This is a more advanced link dialog mostly based on code contributed by Michael Keck. This one supports popup windows and targets. Installation instructions: * Copy the advlink directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins). * Add plugin to TinyMCE plugin option list example: plugins : "advlink". * Add this "a[name|href|target|title|onclick]" to extended_valid_elements option. Initialization example: tinyMCE.init({ theme : "advanced", mode : "textareas", plugins : "advlink", extended_valid_elements : "a[name|href|target|title|onclick]" }); |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:16
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/includes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/includes Added Files: class.phpcmsMenu.php Log Message: beginning of phpcms-content and filemanager --- NEW FILE: class.phpcmsMenu.php --- <?php /** * Backend of menufile-editor * * @author Martin Jahn <mj...@us...> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright Copyright (c) 2004, Martin Jahn * @version $Id: class.phpcmsMenu.php,v 1.1 2005/05/26 15:55:55 mjahn Exp $ * @package admin4phpCMS * @subpackage module_phpcms **/ class phpcmsMenu { function phpcmsMenu () { return $this->__construct (); } function __construct () { $this->docroot = realpath($_SERVER['DOCUMENT_ROOT']); } function insert ($class, $menuEntry, $after = true, $recursive = false) { if (!isset($this->quicklink[$class])) { return false; } $parentclass = substr($class, 0, strrpos ($class, '.')); if ($parentclass == $this->root) { $menu =& $this->menu; } else { $menu =& $this->quicklink[$parentclass]['_sub_']; } for ($i = 0; $i < count ($menu); $i++) { if ($menu[$i]['CLASS'] != $class) { continue; } break; } if (isset($this->quicklink[$menuEntry['CLASS']])) { for ($j = 0; isset($this->quicklink[$menuEntry['CLASS'].$j]); $j++); $menuEntry['CLASS'] = $menuEntry['CLASS'].$j; } if ($after) { $i = ($i == count($menu)) ? count($menu) : $i + 2; array_splice($menu, $i, 0, array($menuEntry)); } else { $i = ($i == 0) ? 0 : $i; array_splice($menu, $i, 0, array($menuEntry)); } $this->quicklink[$menuEntry['CLASS']] = $menu[$i]; } function delete ($class) { if (isset($this->quicklink[$class])) { return false; } $parentclass = substr($class, 0, strrpos ($class, '.')); $menu =& $this->quicklink[$parentclass]; for ($i = 0; $i < count ($menu); $i++) { if ($menu[$i]['CLASS'] != $class) { continue; } break; } $this->quicklink['parentclass'] = array_splice($menu, $i, 1); } function load ($menufile) { if (!file_exists($menufile) || !is_file($menufile)) { return false; } $this->menufile = $menufile; $this->__parse(); } function save ($tofile, $as = 'phpcms') { if (!file_exists(dirname($tofile)) || !is_writeable($tofile)) { return false; } $this->savefile = $tofile; switch ($as) { case 'phpcms': $o = $this->__saveAsPhpCMS(); break; case 'xml': $o = $this->__saveAsXML(); break; default; } $fh = fopen ($tofile, 'wb'); fwrite ($fh, $o); fclose ($fh); } function getEntryByClass ($class) { $parentclass = substr ($class, 0, strrpos ($class, '.')); if (!isset ($this->menuclasses)) { return false; } for ($i = 0; $i < count($this->menuclasses); $i++) { if ($this->menuclasses[$i] == $parentclass) { } } } function __parse () { // check if the menufile exists if (!file_exists($this->menufile) || !is_file($this->menufile)) { return false; } // get content from menufile $data = file ($this->menufile); // initialize some variables $this->menu = array(); $new = false; $menufields = array(); $menucounter = -1; $entrycounter = 0; // walk through the lines of the menufile for ($i = 0; $i < count($data); $i++) { // remove trailing and leading whitespace $line = trim($data[$i]); // check for empty line if (trim($line) == '') { continue; } // check for comment-line if ($line[0] == ';') { countinue; } // check for menu-definition if (substr($line, 0, 5) == 'MENU:') { if (substr($line, -1) == ';') { $line = trim(substr($line, 0, strrpos($line, ';'))); } $menulevel = trim (substr($line, 5)); // increase the counter for the menublocks $menucounter++; // initialize the new element in the menuarray $this->menu[$menucounter] = array(); $entrycounter = 0; // save actual menuposition in pointer $actual =& $this->menu[$menucounter]; continue; } // check for field-definition line if (substr($line, 0, 6) == 'CLASS;') { if (substr($line, -1) == ';') { $line = trim(substr($line, 0, strrpos($line, ';'))); } // get field definitions $menufielddata = explode(';',$line); // initialize some variables $k = 0; $menufields = array(); // walk throught the array of field definitions for ($j = 0; $j < count($menufielddata); $j++) { $l = trim($menufielddata[$j]); // save name of field definition $menufields[$k++] = $l; } continue; } // now we have a menu entry, explode into field elements $entry = explode(';', $line); for ($j = 0; $j < count($menufields); $j++) { // put data of menu-entry into menu-structure $actual[$entrycounter][$menufields[$j]] = trim($entry[$j]); } $actual[$entrycounter]['_level_'] = $menulevel; // increase menucounter $entrycounter++; $this->menuclasses[$menucounter] = substr($actual[0]['CLASS'], 0, strrpos($actual[0]['CLASS'], '.')); } // sort the array with the menu-classes $temp = $this->menuclasses; sort ($temp); $this->root = $temp[0]; // complete building of menu-structure $this->menu = $this->__recurseMenu($this->root); } /** * recursive construction of the menu-tree **/ function __recurseMenu ($menuclass) { if (!in_array ($menuclass, $this->menuclasses)) { return false; } $rootmenu = $this->__getKeyByValue ($this->menuclasses, $menuclass); $menu = array(); $actual = 0; for ($i = 0; $i < count ($this->menu[$rootmenu]); $i++) { $submenuclass = $this->menu[$rootmenu][$i]['CLASS']; $this->quicklink[$submenuclass] =& $menu[$actual]; $menu[$actual] = $this->menu[$rootmenu][$i]; if ($sub = $this->__recurseMenu ($submenuclass)) { $menu[$actual]['_sub_'] = $sub; } $actual++; } return $menu; } function __getKeyByValue($array, $value) { for ($i = 0; $i < count($array); $i++) { if (isset ($array [$i]) && $array[$i] == $value) { return $i; } } } function __saveAsPhpCMS () { $i = 0; $o = ''; $menu = array($this->menu); while (isset($menu[$i])) { $o .= 'MENU:'.$menu[$i][0]['_level_']."\n"; $menuline = $menu[$i][0]; unset ($menuline['_level_']); if (isset($menuline['_sub_'])) { unset ($menuline['_sub_']); } $o .= join(';', array_keys($menuline))."\n"; for ($j = 0; $j < count ($menu[$i]); $j++) { $menuEntry = $menu[$i][$j]; if (isset($menuEntry['_sub_'])) { unset($menuEntry['_sub_']); $menu[] = $menu[$i][$j]['_sub_']; } if (isset($menuEntry['_level_'])) { unset($menuEntry['_level_']); } $o .= join (";\t", $menuEntry)."\n"; } $o .= "\n"; $i++; } return $o; } } ?> |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:16
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/log In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/log Removed Files: class.module_log.php Log Message: beginning of phpcms-content and filemanager --- class.module_log.php DELETED --- |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:15
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce Added Files: tiny_mce.js tiny_mce_popup.js tiny_mce_src.js Log Message: beginning of phpcms-content and filemanager --- NEW FILE: tiny_mce_popup.js --- // Get tinyMCE window var win = window.opener ? window.opener : window.dialogArguments; var tinyMCE = null; var tinyMCELang = null; // Use top window if not defined if (!win) win = top; var tinyMCE = win.tinyMCE; var tinyMCELang = win.tinyMCELang; if (!tinyMCE) alert("tinyMCE object reference not found from popup."); // Setup window openerer window.opener = win; // Setup title var re = new RegExp('{|\\\$|}', 'g'); var title = document.title.replace(re, ""); if (typeof tinyMCELang[title] != "undefined") { var divElm = document.createElement("div"); divElm.innerHTML = tinyMCELang[title]; document.title = divElm.innerHTML; } // Setup dir if (tinyMCELang['lang_dir']) document.dir = tinyMCELang['lang_dir']; function TinyMCEPlugin_onLoad() { if (tinyMCE.getWindowArg('mce_replacevariables', true)) document.body.innerHTML = tinyMCE.applyTemplate(document.body.innerHTML, tinyMCE.windowArgs); // Auto resize window if (tinyMCE.getWindowArg('mce_windowresize', true)) { var width = tinyMCE.isMSIE ? document.body.offsetWidth : window.innerWidth; var height = tinyMCE.isMSIE ? document.body.offsetHeight : window.innerHeight; var dx = document.body.scrollWidth - width; var dy = document.body.scrollHeight - height; if (tinyMCE.isMSIE) { window.dialogWidth = (parseInt(window.dialogWidth) + dx) + "px"; window.dialogHeight = (parseInt(window.dialogHeight) + dy + 3) + "px"; } else window.resizeBy(dx + 15, dy + 15); } } function TinyMCEPopup_autoResize() { var isMSIE = (navigator.appName == "Microsoft Internet Explorer"); var isOpera = (navigator.userAgent.indexOf("Opera") != -1); if (isOpera) return; if (isMSIE) { window.resizeTo(10, 10); var elm = document.body; var width = elm.offsetWidth; var height = elm.offsetHeight; var dx = (elm.scrollWidth - width) + 4; var dy = elm.scrollHeight - height; window.resizeBy(dx, dy); } else { window.scrollBy(1000, 1000); if (window.scrollX > 0 || window.scrollY > 0) { window.resizeBy(window.innerWidth * 2, window.innerHeight * 2); window.sizeToContent(); window.scrollTo(0, 0); var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0); var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0); window.moveTo(x, y); } } } // Add onload trigger tinyMCE.addEvent(window, "load", TinyMCEPlugin_onLoad); // Output Popup CSS class document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">'); --- NEW FILE: tiny_mce.js --- /** * $RCSfile: tiny_mce.js,v $ * $Revision: 1.1 $ * $Date: 2005/05/26 15:55:54 $ * * @author Moxiecode * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved. */ function TinyMCE(){this.instances=new Array();this.stickyClassesLookup=new Array();this.windowArgs=new Array();this.loadedFiles=new Array();this.configs=new Array();this.currentConfig=0;this.eventHandlers=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.idCounter=0;};TinyMCE.prototype.init=function(settings){var theme;this.settings=settings;function defParam(key,def_val){settings[key]=tinyMCE.getParam(key,def_val);}if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');for(var i=0;i<elements.length;i++){if(elements[i].src&&(elements[i].src.indexOf("tiny_mce.js")!=-1||elements[i].src.indexOf("tiny_mce_src.js")!=-1)){var src=elements[i].src;tinyMCE.srcMode=(src.indexOf('_src')!=-1)?'_src':'';src=src.substring(0,src.lastIndexOf('/'));tinyMCE.baseURL=src;break;}}}this.documentBasePath=document.location.href;if(this.documentBasePath.indexOf('?')!=-1)this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.indexOf('?'));this.documentURL=this.documentBasePath;this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.lastIndexOf('/'));if(tinyMCE.baseURL.indexOf('://')==-1&&tinyMCE.baseURL.charAt(0)!='/'){tinyMCE.baseURL=this.documentBasePath+"/"+tinyMCE.baseURL;}defParam("mode","none");defParam("theme","advanced");defParam("plugins","",true);defParam("language","en");defParam("docs_language",this.settings['language']);defParam("elements","");defParam("textarea_trigger","mce_editable");defParam("valid_elements","+a[name|href|target|title],strong/b[class],em/i[class],strike[class],u[class],p[class|align],ol,ul,li,br,img[class|src|border=0|alt|title|hspace|vspace|width|height|align],sub,sup,blockquote[dir|style],table[border=0|cellspacing|cellpadding|width|height|class|align],tr[class|rowspan|width|height|align|valign],td[class|colspan|rowspan|width|height|align|valign],div[class|align],span[class|align],pre[class|align],address[class|align],h1[class|align],h2[class|align],h3[class|align],h4[class|align],h5[class|align],h6[class|align],hr");defParam("extended_valid_elements","");defParam("invalid_elements","");defParam("encoding","");defParam("urlconvertor_callback","TinyMCE.prototype.convertURL");defParam("save_callback","");defParam("debug",false);defParam("force_br_newlines",false);defParam("force_p_newlines",true);defParam("add_form_submit_trigger",true);defParam("relative_urls",true);defParam("remove_script_host",true);defParam("focus_alert",true);defParam("document_base_url",this.documentURL);defParam("visual",true);defParam("visual_table_style","border: 1px dashed #BBBBBB");defParam("setupcontent_callback","");defParam("fix_content_duplication",true);defParam("custom_undo_redo",true);defParam("custom_undo_redo_levels",-1);defParam("custom_undo_redo_keyboard_shortcuts",true);defParam("verify_css_classes",false);defParam("trim_span_elements",true);defParam("verify_html",true);defParam("apply_source_formatting",false);defParam("directionality","ltr");defParam("auto_cleanup_word",false);defParam("cleanup_on_startup",false);defParam("inline_styles",false);defParam("convert_newlines_to_brs",false);defParam("auto_reset_designmode",false);defParam("entities","160,nbsp,38,amp,34,quot,162,cent,8364,euro,163,pound,165,yen,169,copy,174,reg,8482,trade,8240,permil,181,micro,183,middot,8226,bull,8230,hellip,8242,prime,8243,Prime,167,sect,182,para,223,szlig,8249,lsaquo,8250,rsaquo,171,laquo,187,raquo,8216,lsquo,8217,rsquo,8220,ldquo,8221,rdquo,8218,sbquo,8222,bdquo,60,lt,62,gt,8804,le,8805,ge,8211,ndash,8212,mdash,175,macr,8254,oline,164,curren,166,brvbar,168,uml,161,iexcl,191,iquest,710,circ,732,tilde,176,deg,8722,minus,177,plusmn,247,divide,8260,frasl,215,times,185,sup1,178,sup2,179,sup3,188,frac14,189,frac12,190,frac34,402,fnof,8747,int,8721,sum,8734,infin,8730,radic,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8712,isin,8713,notin,8715,ni,8719,prod,8743,and,8744,or,172,not,8745,cap,8746,cup,8706,part,8704,forall,8707,exist,8709,empty,8711,nabla,8727,lowast,8733,prop,8736,ang,180,acute,184,cedil,170,ordf,186,ordm,8224,dagger,8225,Dagger,192,Agrave,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,202,Ecirc,203,Euml,204,Igrave,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,212,Ocirc,213,Otilde,214,Ouml,216,Oslash,338,OElig,217,Ugrave,219,Ucirc,220,Uuml,376,Yuml,222,THORN,224,agrave,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,234,ecirc,235,euml,236,igrave,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,244,ocirc,245,otilde,246,ouml,248,oslash,339,oelig,249,ugrave,251,ucirc,252,uuml,254,thorn,255,yuml,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,8501,alefsym,982,piv,8476,real,977,thetasym,978,upsih,8472,weierp,8465,image,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8756,there4,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,173,shy,233,eacute");defParam("entity_encoding","named");defParam("cleanup_callback","");defParam("add_unload_trigger",true);defParam("ask",false);defParam("nowrap",false);defParam("auto_resize",false);defParam("auto_focus",false);defParam("cleanup",true);defParam("remove_linebreaks",true);defParam("button_tile_map",false);defParam("submit_patch",true);var baseHREF=tinyMCE.settings['document_base_url'];if(baseHREF.indexOf('?')!=-1)baseHREF=baseHREF.substring(0,baseHREF.indexOf('?'));this.settings['base_href']=baseHREF.substring(0,baseHREF.lastIndexOf('/'))+"/";theme=this.settings['theme'];this.blockRegExp=new RegExp("^(h1|h2|h3|h4|h5|h6|p|div|address|pre|form|table|li|ol|ul|td)$","i");this.settings['theme_href']=tinyMCE.baseURL+"/themes/"+theme;if(!tinyMCE.isMSIE)this.settings['force_br_newlines']=false;if(tinyMCE.getParam("content_css",false)){var cssPath=tinyMCE.getParam("content_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['content_css']=this.documentBasePath+"/"+cssPath;else this.settings['content_css']=cssPath;}else this.settings['content_css']=tinyMCE.baseURL+"/themes/"+theme+"/editor_content.css";if(tinyMCE.getParam("popups_css",false)){var cssPath=tinyMCE.getParam("popups_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['popups_css']=this.documentBasePath+"/"+cssPath;else this.settings['popups_css']=cssPath;}else this.settings['popups_css']=tinyMCE.baseURL+"/themes/"+theme+"/editor_popup.css";if(tinyMCE.getParam("editor_css",false)){var cssPath=tinyMCE.getParam("editor_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['editor_css']=this.documentBasePath+"/"+cssPath;else this.settings['editor_css']=cssPath;}else this.settings['editor_css']=tinyMCE.baseURL+"/themes/"+theme+"/editor_ui.css";if(tinyMCE.settings['debug']){var msg="Debug: \n";msg+="baseURL: "+this.baseURL+"\n";msg+="documentBasePath: "+this.documentBasePath+"\n";msg+="content_css: "+this.settings['content_css']+"\n";msg+="popups_css: "+this.settings['popups_css']+"\n";msg+="editor_css: "+this.settings['editor_css']+"\n";alert(msg);}this._initCleanup();if(this.configs.length==0){tinyMCE.addEvent(window,"load",TinyMCE.prototype.onLoad);if(tinyMCE.isMSIE){if(tinyMCE.settings['add_unload_trigger']){tinyMCE.addEvent(window,"unload",TinyMCE.prototype.unloadHandler);tinyMCE.addEvent(window.document,"beforeunload",TinyMCE.prototype.unloadHandler);}else tinyMCE.addEvent(window,"unload",TinyMCE.prototype.cleanEvents);}else{if(tinyMCE.settings['add_unload_trigger'])tinyMCE.addEvent(window,"unload",function(){tinyMCE.triggerSave(true,true);});}}this.loadScript(tinyMCE.baseURL+'/themes/'+this.settings['theme']+'/editor_template'+tinyMCE.srcMode+'.js');this.loadScript(tinyMCE.baseURL+'/langs/'+this.settings['language']+'.js');this.loadCSS(this.settings['editor_css']);var themePlugins=tinyMCE.getParam('plugins','',true,',');if(this.settings['plugins']!=''){for(var i=0;i<themePlugins.length;i++)this.loadScript(tinyMCE.baseURL+'/plugins/'+themePlugins[i]+'/editor_plugin'+tinyMCE.srcMode+'.js');}settings['index']=this.configs.length;this.configs[this.configs.length]=settings;};TinyMCE.prototype.loadScript=function(url){for(var i=0;i<this.loadedFiles.length;i++){if(this.loadedFiles[i]==url)return;}document.write('<sc'+'ript language="javascript" type="text/javascript" src="'+url+'"></script>');this.loadedFiles[this.loadedFiles.length]=url;};TinyMCE.prototype.loadCSS=function(url){for(var i=0;i<this.loadedFiles.length;i++){if(this.loadedFiles[i]==url)return;}document.write('<link href="'+url+'" rel="stylesheet" type="text/css" />');this.loadedFiles[this.loadedFiles.length]=url;};TinyMCE.prototype.importCSS=function(doc,css_file){if(tinyMCE.isMSIE)var styleSheet=doc.createStyleSheet(css_file);else{var elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if(headArr=doc.getElementsByTagName("head"));headArr[0].appendChild(elm);}};TinyMCE.prototype.confirmAdd=function(e,settings){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm']))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true');};TinyMCE.prototype.queryInstanceCommandValue=function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.getDoc().queryCommandValue(command);return null;};TinyMCE.prototype.queryInstanceCommandState=function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.getDoc().queryCommandState(command);return null;};TinyMCE.prototype.updateContent=function(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];inst.switchSettings();if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isMSIE)doc.body.innerHTML=tinyMCE._cleanupHTML(doc,this.settings,doc.body,inst.visualAid);}}};TinyMCE.prototype.addMCEControl=function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCEControl(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst.onAdd(replace_element,form_element_name,target_document);};TinyMCE.prototype.triggerSave=function(skip_cleanup,skip_callback){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];inst.switchSettings();tinyMCE.settings['preformatted']=false;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;tinyMCE._setHTML(inst.getDoc(),inst.getBody().innerHTML);var htm=skip_cleanup?inst.getBody().innerHTML:tinyMCE._cleanupHTML(inst.getDoc(),this.settings,inst.getBody(),this.visualAid,true);if(tinyMCE.settings["encoding"]=="xml"||tinyMCE.settings["encoding"]=="html")htm=tinyMCE.convertStringToXML(htm);if(!skip_callback&&tinyMCE.settings['save_callback']!="")var content=eval(tinyMCE.settings['save_callback']+"(inst.formTargetElementId,htm,inst.getBody());");if((typeof(content)!="undefined")&&content!=null)htm=content;htm=tinyMCE.regexpReplace(htm,"(","(","gi");htm=tinyMCE.regexpReplace(htm,")",")","gi");htm=tinyMCE.regexpReplace(htm,";",";","gi");htm=tinyMCE.regexpReplace(htm,""",""","gi");htm=tinyMCE.regexpReplace(htm,"^","^","gi");inst.formElement.value=htm;}};TinyMCE.prototype._convertOnClick=function(node){if(tinyMCE.isMSIE5)return;var elms=node.getElementsByTagName("a");for(var i=0;i<elms.length;i++){var onclick=elms[i].getAttribute('onclick');if(onclick&&onclick!=""){elms[i].removeAttribute("onclick");elms[i].setAttribute("mce_onclick",tinyMCE.cleanupEventStr(""+onclick));elms[i].onclick=null;}}};TinyMCE.prototype.resetForm=function(form_index){var formObj=document.forms[form_index];for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];inst.switchSettings();for(var i=0;i<formObj.elements.length;i++){if(inst.formTargetElementId==formObj.elements[i].name){inst.getBody().innerHTML=formObj.elements[i].value;return;}}}};TinyMCE.prototype.execInstanceCommand=function(editor_id,command,user_interface,value,focus){var inst=tinyMCE.getInstanceById(editor_id);if(inst){if(typeof(focus)=="undefined")focus=true;if(focus)inst.contentWindow.focus();inst.autoResetDesignMode();this.selectedElement=inst.getFocusElement();this.selectedInstance=inst;tinyMCE.execCommand(command,user_interface,value);}};TinyMCE.prototype.execCommand=function(command,user_interface,value){user_interface=user_interface?user_interface:false;value=value?value:null;if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();switch(command){case 'mceHelp':window.open(tinyMCE.themeURL+"/docs/"+this.settings['docs_language']+"/index.htm","mceHelp","menubar=yes,toolbar=yes,scrollbars=yes,left=20,top=20,width=550,height=600");return;case 'mceFocus':var inst=tinyMCE.getInstanceById(value);if(inst)inst.contentWindow.focus();return;case "mceAddControl":case "mceAddEditor":tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case "mceAddFrameControl":tinyMCE.addMCEControl(tinyMCE._getElementById(value),value['element'],value['document']);return;case "mceRemoveControl":case "mceRemoveEditor":tinyMCE.removeMCEControl(value);return;case "mceResetDesignMode":if(!tinyMCE.isMSIE){for(var n in tinyMCE.instances)tinyMCE.instances[n].getDoc().designMode="on";}return;}if(this.selectedInstance)this.selectedInstance.execCommand(command,user_interface,value);else if(tinyMCE.settings['focus_alert'])alert(tinyMCELang['lang_focus_alert']);};TinyMCE.prototype.eventPatch=function(editor_id){if(typeof(tinyMCE)=="undefined")return true;for(var i=0;i<document.frames.length;i++){if(document.frames[i].event){var event=document.frames[i].event;event.target=event.srcElement;event.target.editor_id=document.frames[i].editor_id;TinyMCE.prototype.handleEvent(event);return;}}};TinyMCE.prototype.unloadHandler=function(){tinyMCE.triggerSave(true,true);tinyMCE.cleanEvents();};TinyMCE.prototype.addEventHandlers=function(editor_id){if(tinyMCE.isMSIE){var doc=document.frames[editor_id].document;document.frames[editor_id].editor_id=editor_id;tinyMCE.addEvent(doc,"keypress",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(doc,"keyup",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(doc,"keydown",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(doc,"mouseup",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(doc,"click",TinyMCE.prototype.eventPatch);}else{var inst=tinyMCE.instances[editor_id];var doc=inst.getDoc();inst.switchSettings();doc.editor_id=editor_id;tinyMCE.addEvent(doc,"keypress",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"keypress",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"keydown",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"keyup",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"click",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"mouseup",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"mousedown",tinyMCE.handleEvent);tinyMCE.addEvent(doc,"focus",tinyMCE.handleEvent);eval('try { doc.designMode = "On"; } catch(e) {}');}};TinyMCE.prototype._createIFrame=function(replace_element){var iframe=document.createElement("iframe");var id=replace_element.getAttribute("id");iframe.setAttribute("id",id);iframe.setAttribute("className","mceEditorArea");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",tinyMCE.settings['area_width']);iframe.setAttribute("height",tinyMCE.settings['area_height']);if(tinyMCE.settings["auto_resize"])iframe.setAttribute("scrolling","no");if(tinyMCE.isMSIE)iframe.setAttribute("src",this.settings['default_document']);iframe.style.width=tinyMCE.settings['area_width'];iframe.style.height=tinyMCE.settings['area_height'];if(tinyMCE.isMSIE)replace_element.outerHTML=iframe.outerHTML;else replace_element.parentNode.replaceChild(iframe,replace_element);if(tinyMCE.isMSIE)return window.frames[id];else return iframe;};TinyMCE.prototype.setupContent=function(editor_id){var inst=tinyMCE.instances[editor_id];var doc=inst.getDoc();var head=doc.getElementsByTagName('head').item(0);var content=inst.startContent;inst.switchSettings();if(!tinyMCE.isMSIE&&doc.title!="blank_page"){doc.location.href=tinyMCE.baseURL+"/blank.htm";window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",1000);return;}if(!head){window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",10);return;}tinyMCE.importCSS(inst.getDoc(),inst.settings['content_css']);tinyMCE.executeCallback('init_instance_callback','_initInstance',0,inst);if(tinyMCE.settings['nowrap'])doc.body.style.whiteSpace="nowrap";doc.body.dir=this.settings['directionality'];doc.editorId=editor_id;if(!tinyMCE.isMSIE)doc.documentElement.editorId=editor_id;base=doc.createElement("base");base.setAttribute('href',tinyMCE.settings['base_href']);head.appendChild(base);if(tinyMCE.settings['convert_newlines_to_brs']){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi");}content=tinyMCE._customCleanup("insert_to_editor",content);if(tinyMCE.isMSIE){window.setInterval('try{tinyMCE.getCSSClasses(document.frames["'+editor_id+'"].document, "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])document.frames[editor_id].document.styleSheets[0].addRule("p","margin: 0px;");var body=document.frames[editor_id].document.body;tinyMCE.addEvent(body,"beforepaste",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(body,"beforecut",TinyMCE.prototype.eventPatch);tinyMCE.addEvent(body,"paste",TinyMCE.prototype.eventPatch);body.editorId=editor_id;}if(!tinyMCE.isMSIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.settings['force_p_newlines'])content=content.replace(new RegExp('<>','g'),"");if(tinyMCE.settings['cleanup_on_startup'])inst.getBody().innerHTML=tinyMCE._cleanupHTML(doc,this.settings,contentElement);else{content=tinyMCE.regexpReplace(content,"<strong","<b","gi");content=tinyMCE.regexpReplace(content,"<em","<i","gi");content=tinyMCE.regexpReplace(content,"</strong>","</b>","gi");content=tinyMCE.regexpReplace(content,"</em>","</i>","gi");inst.getBody().innerHTML=content;}inst.convertAllRelativeURLs();}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {inst.getBody().innerHTML = tinyMCE._cleanupHTML(inst.contentDocument, this.settings, inst.getBody());} catch(e) {}');}else inst.getBody().innerHTML=content;}tinyMCE._convertOnClick(inst.getBody());var parentElm=document.getElementById(inst.editorId+'_parent');if(parentElm.lastChild.nodeName.toLowerCase()=="input")inst.formElement=parentElm.lastChild;else inst.formElement=parentElm.nextSibling;tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual']);tinyMCE.executeCallback('setupcontent_callback','_setupContent',0,editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isMSIE)TinyMCE.prototype.addEventHandlers(editor_id);inst.startContent=inst.getBody().innerHTML;tinyMCE.selectedInstance=inst;tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE.triggerNodeChange(false,true);};TinyMCE.prototype.cancelEvent=function(e){if(tinyMCE.isMSIE){e.returnValue=false;e.cancelBubble=true;}else e.preventDefault();};TinyMCE.prototype.handleEvent=function(e){if(typeof(tinyMCE)=="undefined")return true;switch(e.type){case "submit":var formObj=tinyMCE.isMSIE?window.event.srcElement:e.target;for(var i=0;i<formObj.elements.length;i++){var elementId=formObj.elements[i].name?formObj.elements[i].name:formObj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)formObj.elements[i].disabled=true;}tinyMCE.triggerSave();return;case "reset":var formObj=tinyMCE.isMSIE?window.event.srcElement:e.target;for(var i=0;i<document.forms.length;i++){if(document.forms[i]==formObj)window.setTimeout('tinyMCE.resetForm('+i+');',10);}return;case "paste":if(tinyMCE.settings['auto_cleanup_word'])window.setTimeout("tinyMCE.execInstanceCommand('"+e.target.editorId+"', 'mceCleanupWord', false, null);",1);break;case "beforecut":case "beforepaste":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");break;case "keypress":if(e.target.editorId){tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];}else{if(e.target.ownerDocument.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.ownerDocument.editorId];}if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&e.keyCode==13&&!e.shiftKey){if(tinyMCE.selectedInstance._insertPara(e)){e.preventDefault();return false;}}if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(tinyMCE.selectedInstance._handleBackSpace(e.type)){e.preventDefault();return false;}}if(!tinyMCE.isMSIE&&e.ctrlKey&&tinyMCE.settings['custom_undo_redo']){if(e.charCode==120||e.charCode==118){tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");return;}if(tinyMCE.settings['custom_undo_redo_keyboard_shortcuts']){if(e.charCode==122){tinyMCE.selectedInstance.execCommand("Undo");e.preventDefault();return false;}if(e.charCode==121){tinyMCE.selectedInstance.execCommand("Redo");e.preventDefault();return false;}}if(e.charCode==98){tinyMCE.selectedInstance.execCommand("Bold");e.preventDefault();return false;}if(e.charCode==105){tinyMCE.selectedInstance.execCommand("Italic");e.preventDefault();return false;}if(e.charCode==117){tinyMCE.selectedInstance.execCommand("Underline");e.preventDefault();return false;}}if(tinyMCE.settings['custom_undo_redo']){var keys=new Array(13,45,36,35,33,34,37,38,39,40);var posKey=false;for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){tinyMCE.selectedInstance.typing=false;posKey=true;break;}}if(!tinyMCE.selectedInstance.typing&&!posKey){tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");tinyMCE.selectedInstance.typing=true;}}if(tinyMCE.isMSIE&&tinyMCE.settings['force_br_newlines']&&e.keyCode==13){if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];if(tinyMCE.selectedInstance){var sel=tinyMCE.selectedInstance.getDoc().selection;var rng=sel.createRange();if(tinyMCE.getParentElement(rng.parentElement(),"li")!=null)return false;e.returnValue=false;e.cancelBubble=true;rng.pasteHTML("<br />");rng.collapse(false);rng.select();tinyMCE.triggerNodeChange(false);return false;}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false);}return false;break;case "keyup":case "keydown":if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];else return;if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(tinyMCE.selectedInstance._handleBackSpace(e.type)){e.preventDefault();return false;}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual']);if(tinyMCE.isGecko&&tinyMCE.settings['document_base_url']!=""+document.location.href&&e.type=="keyup"&&e.ctrlKey&&e.keyCode==86)tinyMCE.selectedInstance.fixBrokenURLs();if(tinyMCE.isMSIE&&tinyMCE.settings['custom_undo_redo']){var keys=new Array(13,45,36,35,33,34,37,38,39,40);var posKey=false;for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){tinyMCE.selectedInstance.typing=false;posKey=true;break;}}if(!tinyMCE.selectedInstance.typing&&!posKey&&(e.keyCode<16||e.keyCode>18&&e.keyCode!=255)){tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");tinyMCE.selectedInstance.typing=true;tinyMCE.triggerNodeChange(false);}if(posKey&&e.type=="keyup")tinyMCE.triggerNodeChange(false);var keys=new Array(8,46);for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){if(!tinyMCE.selectedInstance.typing){tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");tinyMCE.selectedInstance.typing=true;}if(e.type=="keyup")tinyMCE.triggerNodeChange(false);return true;}}var ctrlKeys=new Array(66,73,85,86,88);for(var i=0;i<keys.length;i++){if(ctrlKeys[i]==e.keyCode&&e.ctrlKey){tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange(false);return true;}}if(tinyMCE.settings['custom_undo_redo_keyboard_shortcuts']){if(e.keyCode==90&&e.ctrlKey&&e.type=="keydown"){tinyMCE.selectedInstance.execCommand("Undo");tinyMCE.triggerNodeChange(false);e.returnValue=false;e.cancelBubble=true;return false;}if(e.keyCode==89&&e.ctrlKey&&e.type=="keydown"){tinyMCE.selectedInstance.execCommand("Redo");tinyMCE.triggerNodeChange(false);e.returnValue=false;e.cancelBubble=true;return false;}}}var keys=new Array(13,45,36,35,33,34,37,38,39,40);var posKey=false;for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){posKey=true;break;}}if(posKey&&e.type=="keyup")tinyMCE.triggerNodeChange(false);break;case "mousedown":case "mouseup":case "click":case "focus":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();var targetBody=tinyMCE.getParentElement(e.target,"body");for(var instanceName in tinyMCE.instances){var inst=tinyMCE.instances[instanceName];inst.autoResetDesignMode();if(inst.getBody()==targetBody){tinyMCE.selectedInstance=inst;tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");tinyMCE.imgElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"img");tinyMCE.selectedInstance.typing=false;break;}}if(e.type!="focus")tinyMCE.selectedNode=null;tinyMCE.triggerNodeChange(false);if(!tinyMCE.selectedInstance&&e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];if(e.target.nodeName.toLowerCase()=="a"&&e.type=="click"&&e.altKey){var evalCode=""+tinyMCE.cleanupEventStr(e.target.getAttribute("mce_onclick"));eval(evalCode.replace('return false;',''));}if(tinyMCE.isGecko&&tinyMCE.settings['document_base_url']!=""+document.location.href)window.setTimeout('tinyMCE.getInstanceById("'+inst.editorId+'").fixBrokenURLs();',10);return false;break;}};TinyMCE.prototype.switchClass=function(element,class_name,lock_state){var lockChanged=false;if(typeof(lock_state)!="undefined"&&element!=null){element.classLock=lock_state;lockChanged=true;}if(element!=null&&(lockChanged||!element.classLock)){element.oldClassName=element.className;element.className=class_name;}};TinyMCE.prototype.restoreAndSwitchClass=function(element,class_name){if(element!=null&&!element.classLock){this.restoreClass(element);this.switchClass(element,class_name);}};TinyMCE.prototype.switchClassSticky=function(element_name,class_name,lock_state){var element,lockChanged=false;if(!this.stickyClassesLookup[element_name])this.stickyClassesLookup[element_name]=document.getElementById(element_name);element=this.stickyClassesLookup[element_name];if(typeof(lock_state)!="undefined"&&element!=null){element.classLock=lock_state;lockChanged=true;}if(element!=null&&(lockChanged||!element.classLock)){element.className=class_name;element.oldClassName=class_name;}};TinyMCE.prototype.restoreClass=function(element){if(element!=null&&element.oldClassName&&!element.classLock){element.className=element.oldClassName;element.oldClassName=null;}};TinyMCE.prototype.setClassLock=function(element,lock_state){if(element!=null)element.classLock=lock_state;};TinyMCE.prototype.addEvent=function(obj,name,handler){if(tinyMCE.isMSIE){obj.attachEvent("on"+name,handler);this.eventHandlers[this.eventHandlers.length]={obj:obj,name:name,handler:handler};}else obj.addEventListener(name,handler,false);};TinyMCE.prototype.cleanEvents=function(){if(tinyMCE.isMSIE5)return;if(tinyMCE.eventHandlers){for(var i=0;i<tinyMCE.eventHandlers.length;i++){try{with(tinyMCE.eventHandlers[i]){obj.detachEvent("on"+name,handler);eval("obj.on"+name+" = null;");}}catch(e){}tinyMCE.eventHandlers[i]['obj']=null;tinyMCE.eventHandlers[i]['handler']=null;tinyMCE.eventHandlers[i]=null;}tinyMCE.eventHandlers=null;}};TinyMCE.prototype.onLoad=function(){for(var c=0;c<tinyMCE.configs.length;c++){tinyMCE.settings=tinyMCE.configs[c];var elementRefAr=new Array();if(document.forms&&tinyMCE.settings['add_form_submit_trigger']&&!tinyMCE.submitTriggers){for(var i=0;i<document.forms.length;i++){var form=document.forms[i];tinyMCE.addEvent(form,"submit",TinyMCE.prototype.handleEvent);tinyMCE.addEvent(form,"reset",TinyMCE.prototype.handleEvent);tinyMCE.submitTriggers=true;if(tinyMCE.settings['submit_patch']){try{form.oldSubmit=form.submit;form.submit=function(){tinyMCE.triggerSave();form.oldSubmit();};}catch(e){}}}}var mode=tinyMCE.settings['mode'];switch(mode){case "exact":var elements=tinyMCE.getParam('elements','',true,',');for(var i=0;i<elements.length;i++){var element=tinyMCE._getElementById(elements[i]);var trigger=element?element.getAttribute(tinyMCE.settings['textarea_trigger']):"";if(trigger=="false")continue;if(tinyMCE.settings['ask']&&element){elementRefAr[elementRefAr.length]=element;continue;}if(element)tinyMCE.addMCEControl(element,elements[i]);else if(tinyMCE.settings['debug'])alert("Error: Could not find element by id or name: "+elements[i]);}break;case "specific_textareas":case "textareas":var nodeList=document.getElementsByTagName("textarea");for(var i=0;i<nodeList.length;i++){var trigger=nodeList.item(i).getAttribute(tinyMCE.settings['textarea_trigger']);if((mode=="specific_textareas"&&trigger=="true")||(mode=="textareas"&&trigger!="false"))elementRefAr[elementRefAr.length]=nodeList.item(i);}break;}for(var i=0;i<elementRefAr.length;i++){var element=elementRefAr[i];var elementId=element.name?element.name:element.id;if(tinyMCE.settings['ask']){if(tinyMCE.isGecko){var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(e){window.setTimeout(function(){TinyMCE.prototype.confirmAdd(e,settings);},10);});}else{var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(){TinyMCE.prototype.confirmAdd(null,settings);});}}else tinyMCE.addMCEControl(element,elementId);}if(tinyMCE.settings['auto_focus']){window.setTimeout(function(){var inst=tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);inst.selectNode(inst.getBody(),true,true);inst.contentWindow.focus();},10);}tinyMCE.executeCallback('oninit','_oninit',0);}};TinyMCE.prototype.removeMCEControl=function(editor_id){var inst=tinyMCE.getInstanceById(editor_id);if(inst){inst.switchSettings();editor_id=inst.editorId;var html=tinyMCE.getContent(editor_id);var tmpInstances=new Array();for(var instanceName in tinyMCE.instances){var instance=tinyMCE.instances[instanceName];if(instanceName!=editor_id)tmpInstances[instanceName]=instance;}tinyMCE.instances=tmpInstances;tinyMCE.selectedElement=null;tinyMCE.selectedInstance=null;var replaceElement=document.getElementById(editor_id+"_parent");var oldTargetElement=inst.oldTargetElement;var targetName=oldTargetElement.nodeName.toLowerCase();if(targetName=="textarea"||targetName=="input"){replaceElement.parentNode.removeChild(replaceElement);oldTargetElement.style.display="inline";oldTargetElement.value=html;}else{oldTargetElement.innerHTML=html;replaceElement.parentNode.insertBefore(oldTargetElement,replaceElement);replaceElement.parentNode.removeChild(replaceElement);}}};TinyMCE.prototype._cleanupElementName=function(element_name,element){element_name=element_name.toLowerCase();if(element_name=="body")return null;if(tinyMCE.cleanup_verify_html){for(var i=0;i<tinyMCE.cleanup_invalidElements.length;i++){if(tinyMCE.cleanup_invalidElements[i]==element_name)return null;}var validElement=false;var elementAttribs=null;for(var i=0;i<tinyMCE.cleanup_validElements.length&&!elementAttribs;i++){for(var x=0,n=tinyMCE.cleanup_validElements[i][0].length;x<n;x++){var elmMatch=tinyMCE.cleanup_validElements[i][0][x];if(elmMatch.charAt(0)=='+')elmMatch=elmMatch.substring(1);if(elmMatch.match(new RegExp('\\*|\\?|\\+','g'))!=null){elmMatch=elmMatch.replace(new RegExp('\\?','g'),'(\\S?)');elmMatch=elmMatch.replace(new RegExp('\\+','g'),'(\\S+)');elmMatch=elmMatch.replace(new RegExp('\\*','g'),'(\\S*)');elmMatch="^"+elmMatch+"$";if(element_name.match(new RegExp(elmMatch,'g'))){elementAttribs=tinyMCE.cleanup_validElements[i];validElement=true;break;}}if(element_name==elmMatch){elementAttribs=tinyMCE.cleanup_validElements[i];validElement=true;element_name=elementAttribs[0][0];break;}}}if(!validElement)return null;}if(!tinyMCE.isMSIE){if(element_name=="strong"&&!tinyMCE.cleanup_on_save)element_name="b";else if(element_name=="em"&&!tinyMCE.cleanup_on_save)element_name="i";}if(tinyMCE.isMSIE){if(element_name=="table"){var attribValue=element.style.pixelWidth==0?element.getAttribute("width"):element.style.pixelWidth;element.setAttribute("width",attribValue);attribValue=element.style.pixelHeight==0?element.getAttribute("height"):element.style.pixelHeight;element.setAttribute("height",attribValue);}}var elmData=new Object();elmData.element_name=element_name;elmData.valid_attribs=elementAttribs;return elmData;};TinyMCE.prototype._fixInlineStyles=function(elm){if(elm.nodeName.toLowerCase()!="table"){var value;value=tinyMCE.isMSIE?elm.width:elm.getAttribute("width");if(value&&value!=""){if(typeof(value)!="string"||!value.indexOf("%"))value+="px";elm.style.width=value;}value=tinyMCE.isMSIE?elm.height:elm.getAttribute("height");if(value&&value!=""){if(typeof(value)!="string"||!value.indexOf("%"))value+="px";elm.style.height=value;}value=tinyMCE.isMSIE?elm.border:elm.getAttribute("border");if(value&&value!="")elm.style.borderWidth=value+"px";}value=elm.getAttribute("align");if(value&&value!=""){if(elm.nodeName.toLowerCase()=="img"){if(tinyMCE.isMSIE)elm.style.styleFloat=value;else elm.style.cssFloat=value;}else elm.style.textAlign=value;}value=elm.getAttribute("vspace");if(value&&value!=""){elm.style.marginTop=value+"px";elm.style.marginBottom=value+"px";}value=elm.getAttribute("hspace");if(value&&value!=""){elm.style.marginLeft=value+"px";elm.style.marginRight=value+"px";}};TinyMCE.prototype._cleanupAttribute=function(valid_attributes,element_name,attribute_node,element_node){var attribName=attribute_node.nodeName.toLowerCase();var attribValue=attribute_node.nodeValue;var attribMustBeValue=null;var verified=false;if(tinyMCE.cleanup_inline_styles&&element_name!="table"&&element_name!="td"){if(attribName=="width"||attribName=="height"||attribName=="border"||attribName=="align"||attribName=="valign"||attribName=="hspace"||attribName=="vspace")return null;}if(attribName.indexOf('moz_')!=-1)return null;if(!tinyMCE.isMSIE&&(attribName=="mce_real_href"||attribName=="mce_real_src")){if(!tinyMCE.cleanup_on_save){var attrib=new Object();attrib.name=attribName;attrib.value=attribValue;return attrib;}else return null;}if(attribName=="mce_onclick")verified=true;if(tinyMCE.cleanup_verify_html&&!verified){for(var i=1;i<valid_attributes.length;i++){var attribMatch=valid_attributes[i][0];var re=null;if(attribMatch.match(new RegExp('\\*|\\?|\\+','g'))!=null){attribMatch=attribMatch.replace(new RegExp('\\?','g'),'(\\S?)');attribMatch=attribMatch.replace(new RegExp('\\+','g'),'(\\S+)');attribMatch=attribMatch.replace(new RegExp('\\*','g'),'(\\S*)');attribMatch="^"+attribMatch+"$";re=new RegExp(attribMatch,'g');}if((re&&attribName.match(re)!=null)||attribName==attribMatch){verified=true;attribMustBeValue=valid_attributes[i][3];break;}}if((element_name=="table"||element_name=="td")&&attribName=="style")verified=true;if(!verified)return false;}else verified=true;switch(attribName){case "size":if(tinyMCE.isMSIE5&&element_name=="font")attribValue=element_node.size;break;case "color":if(tinyMCE.isMSIE5&&element_name=="font")attribValue=element_node.color;break;case "width":if(tinyMCE.isMSIE)attribValue=element_node.width;break;case "height":if(tinyMCE.isMSIE)attribValue=element_node.height;break;case "border":if(tinyMCE.isMSIE)attribValue=element_node.border;break;case "class":if(!tinyMCE._verifyClass(element_node))return null;break;case "style":if(element_name=="table"||element_name=="td"){if(tinyMCE.cleanup_visual_table_style!=""){var tableElement=element_node;if(element_name=="td")tableElement=tinyMCE.getParentElement(tableElement,"table");if(tableElement&&tableElement.getAttribute("border")==0){if(tinyMCE.cleanup_visual_aid)attribValue=tinyMCE.cleanup_visual_table_style;else return null;}}}else attribValue=element_node.style.cssText.toLowerCase();if(tinyMCE.isMSIE){var border=element_node.style.border;var bt=element_node.style.borderTop;var bl=element_node.style.borderLeft;var br=element_node.style.borderRight;var bb=element_node.style.borderBottom;if(border!=""&&(bt==border&&bl==border&&br==border&&bb==border)){attribValue=tinyMCE.regexpReplace(attribValue,'border-top: '+border+'?; ?','');attribValue=tinyMCE.regexpReplace(attribValue,'border-left: '+border+'?; ?','');attribValue=tinyMCE.regexpReplace(attribValue,'border-right: '+border+'?; ?','');attribValue=tinyMCE.regexpReplace(attribValue,'border-bottom: '+border+'?;( ?)','border: '+border+';$1');}}break;case "onclick":case "mce_onclick":if(tinyMCE.isMSIE5)break;if(tinyMCE.cleanup_on_save){if(element_node.getAttribute("mce_onclick")){attribName="onclick";attribValue=""+element_node.getAttribute("mce_onclick");}}else{if(attribName=="onclick"&&!tinyMCE.cleanup_on_save)return null;}break;case "href":case "src":if(!tinyMCE.isMSIE&&attribName=="href"&&element_node.getAttribute("mce_real_href"))attribValue=element_node.getAttribute("mce_real_href");if(!tinyMCE.isMSIE&&attribName=="src"&&element_node.getAttribute("mce_real_src"))attribValue=element_node.getAttribute("mce_real_src");if(tinyMCE.isGecko&&!tinyMCE.settings['relative_urls'])attribValue=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],attribValue);attribValue=eval(tinyMCE.cleanup_urlconvertor_callback+"(attribValue, element_node, tinyMCE.cleanup_on_save);");break;case "colspan":case "rowspan":if(attribValue=="1")return null;break;case "_moz-userdefined":case "editorid":case "editor_id":case "mce_real_href":case "mce_real_src":return null;}if(attribMustBeValue!=null){var isCorrect=false;for(var i=0;i<attribMustBeValue.length;i++){if(attribValue==attribMustBeValue[i]){isCorrect=true;break;}}if(!isCorrect)return null;}var attrib=new Object();attrib.name=attribName;attrib.value=attribValue;return attrib;};TinyMCE.prototype._verifyClass=function(node){if(tinyMCE.isGecko){var className=node.getAttribute('class');if(!className)return false;}if(tinyMCE.isMSIE)var className=node.getAttribute('className');if(tinyMCE.cleanup_verify_css_classes&&tinyMCE.cleanup_on_save){var csses=tinyMCE.getCSSClasses();nonDefinedCSS=true;for(var c=0;c<csses.length;c++){if(csses[c]==className){nonDefinedCSS=false;break;}}if(nonDefinedCSS&&className.indexOf('mce_')!=0){node.removeAttribute('className');node.removeAttribute('class');return false;}}return true;};TinyMCE.prototype.cleanupNode=function(node){var output="";switch(node.nodeType){case 1:var elementData=tinyMCE._cleanupElementName(node.nodeName,node);var elementName=elementData?elementData.element_name:null;var elementValidAttribs=elementData?elementData.valid_attribs:null;var elementAttribs="";var openTag=false;if(elementName!=null&&elementName.charAt(0)=='+'){elementName=elementName.substring(1);openTag=true;}if(tinyMCE.isMSIE&&tinyMCE.settings['fix_content_duplication']){var lookup=tinyMCE.cleanup_elementLookupTable;for(var i=0;i<lookup.length;i++){if(lookup[i]==node)return output;}lookup[lookup.length]=node;}if(!elementName){if(node.hasChildNodes()){for(var i=0;i<node.childNodes.length;i++)output+=this.cleanupNode(node.childNodes[i]);}return output;}if(node.style&&(node.style.cssText.indexOf('mso-')!=-1&&tinyMCE.settings['auto_cleanup_word'])||node.style.cssText==""){node.style.cssText="";node.removeAttribute("style");}if(tinyMCE.cleanup_inline_styles)tinyMCE._fixInlineStyles(node);if(elementValidAttribs){for(var a=1;a<elementValidAttribs.length;a++){var attribName,attribDefaultValue,attribForceValue,attribValue;attribName=elementValidAttribs[a][0];attribDefaultValue=elementValidAttribs[a][1];attribForceValue=elementValidAttribs[a][2];if(attribDefaultValue!=null||attribForceValue!=null){var attribValue=node.getAttribute(attribName);if(node.getAttribute(attribName)==null||node.getAttribute(attribName)=="")attribValue=attribDefaultValue;attribValue=attribForceValue?attribForceValue:attribValue;if(attribValue=="{$uid}")attribValue="uid_"+(tinyMCE.cleanup_idCount++);node.setAttribute(attribName,attribValue);}}}if(elementName=="span"&&tinyMCE.cleanup_trim_span_elements){var re=new RegExp('^[ \t]+','g');var onlyWhiteSpace=true;for(var a=0;a<node.childNodes.length;a++){var tmpNode=node.childNodes[a];if((tmpNode.nodeType==3&&!tmpNode.nodeValue.match(re))||tmpNode.nodeName.toLowerCase()!="span"){onlyWhiteSpace=false;break;}}tinyMCE._verifyClass(node);var numAttribs=0;for(var i=0;i<node.attributes.length;i++){if(node.attributes[i].specified)numAttribs++;}if(onlyWhiteSpace||numAttribs==0){if(node.hasChildNodes()){for(var i=0;i<node.childNodes.length;i++)output+=this.cleanupNode(node.childNodes[i]);}return output;}}if(elementName=="table"||elementName=="td"){if(tinyMCE.cleanup_visual_table_style!=""){var tableElement=node;if(elementName=="td")tableElement=tinyMCE.getParentElement(tableElement,"table");if(tableElement&&tableElement.getAttribute("border")==0){if(tinyMCE.cleanup_visual_aid)elementAttribs+=" style="+'"'+tinyMCE.cleanup_visual_table_style+'"';}}}if(elementName=="table"&&!node.hasChildNodes())return "";if(tinyMCE.isGecko&&elementName=="img"){var w=node.style.width;if(w!=null&&w!="")node.setAttribute("width",w);var h=node.style.height;if(h!=null&&h!="")node.setAttribute("height",h);}if(node.attributes.length>0){for(var i=0;i<node.attributes.length;i++){if(node.attributes[i].specified){var attrib=tinyMCE._cleanupAttribute(elementValidAttribs,elementName,node.attributes[i],node);if(attrib)elementAttribs+=" "+attrib.name+"="+'"'+attrib.value+'"';}}}if(tinyMCE.isMSIE&&elementName=="input"){if(node.type)elementAttribs+=" type="+'"'+node.type+'"';if(node.value)elementAttribs+=" value="+'"'+node.value+'"';}if((elementName=="p"||elementName=="td")&&(node.innerHTML==""||node.innerHTML==" "))return "<"+elementName+elementAttribs+"> </"+elementName+">";if(tinyMCE.isMSIE&&elementName=="script")return "<"+elementName+elementAttribs+">"+node.text+"</"+elementName+">";if(node.hasChildNodes()){if(elementName=="p"&&tinyMCE.cleanup_force_br_newlines)output+="<div"+elementAttribs+">";else output+="<"+elementName+elementAttribs+">";for(var i=0;i<node.childNodes.length;i++)output+=this.cleanupNode(node.childNodes[i]);if(elementName=="p"&&tinyMCE.cleanup_force_br_newlines)output+="</div><br />";else output+="</"+elementName+">";}else{if(openTag)output+="<"+elementName+elementAttribs+"></"+elementName+">";else{output+="<"+elementName+elementAttribs+" />";}}return output;case 3:if(node.parentNode.nodeName.toLowerCase()=="script")return node.nodeValue;return this.convertStringToXML(node.nodeValue);case 8:return "<!--"+node.nodeValue+"-->";default:return "[UNKNOWN NODETYPE "+node.nodeType+"]";}};TinyMCE.prototype.convertStringToXML=function(html_data){var output="";for(var i=0;i<html_data.length;i++){var chr=html_data.charCodeAt(i);if(tinyMCE.settings['entity_encoding']=="numeric"){if(chr>127)output+='&#'+chr+";";else output+=String.fromCharCode(chr);continue;}if(tinyMCE.settings['entity_encoding']=="raw"){output+=String.fromCharCode(chr);continue;}if(typeof(tinyMCE.cleanup_entities["c"+chr])!='undefined'&&tinyMCE.cleanup_entities["c"+chr]!='')output+='&'+tinyMCE.cleanup_entities["c"+chr]+';';else output+=''+String.fromCharCode(chr);}return output;};TinyMCE.prototype._initCleanup=function(){function getElementName(chunk){var pos;if(chunk.charAt(0)=='+')chunk=chunk.substring(1);if((pos=chunk.indexOf('/'))!=-1)chunk=chunk.substring(0,pos);if((pos=chunk.indexOf('['))!=-1)chunk=chunk.substring(0,pos);return chunk;}var validElements=tinyMCE.settings["valid_elements"];validElements=validElements.split(',');var extendedValidElements=tinyMCE.settings["extended_valid_elements"];extendedValidElements=extendedValidElements.split(',');for(var i=0;i<extendedValidElements.length;i++){var elementName=getElementName(extendedValidElements[i]);var skipAdd=false;for(var x=0;x<validElements.length;x++){if(getElementName(validElements[x])==elementName){validElements[x]=extendedValidElements[i];skipAdd=true;break;}}if(!skipAdd)validElements[validElements.length]=extendedValidElements[i];}for(var i=0;i<validElements.length;i++){var item=validElements[i];item=item.replace('[','|');item=item.replace(']','');var attribs=item.split('|');for(var x=0;x<attribs.length;x++)attribs[x]=attribs[x].toLowerCase();attribs[0]=attribs[0].split('/');for(var x=1;x<attribs.length;x++){var attribName=attribs[x];var attribDefault=null;var attribForce=null;var attribMustBe=null;if((pos=attribName.indexOf('='))!=-1){attribDefault=attribName.substring(pos+1);attribName=attribName.substring(0,pos);}if((pos=attribName.indexOf(':'))!=-1){attribForce=attribName.substring(pos+1);attribName=attribName.substring(0,pos);}if((pos=attribName.indexOf('<'))!=-1){attribMustBe=attribName.substring(pos+1).split('?');attribName=attribName.substring(0,pos);}attribs[x]=new Array(attribName,attribDefault,attribForce,attribMustBe);}validElements[i]=attribs;}var invalidElements=tinyMCE.settings['invalid_elements'].split(',');for(var i=0;i<invalidElements.length;i++)invalidElements[i]=invalidElements[i].toLowerCase();tinyMCE.settings['cleanup_validElements']=validElements;tinyMCE.settings['cleanup_invalidElements']=invalidElements;tinyMCE.settings['cleanup_entities']=new Array();var entities=tinyMCE.getParam('entities','',true,',');for(var i=0;i<entities.length;i+=2)tinyMCE.settings['cleanup_entities']['c'+entities[i]]=entities[i+1];};TinyMCE.prototype._cleanupHTML=function(doc,config,element,visual,on_save){if(!tinyMCE.settings['cleanup'])return element.innerHTML;tinyMCE.cleanup_validElements=tinyMCE.settings['cleanup_validElements'];tinyMCE.cleanup_entities=tinyMCE.settings['cleanup_entities'];tinyMCE.cleanup_invalidElements=tinyMCE.settings['cleanup_invalidElements'];tinyMCE.cleanup_verify_html=tinyMCE.settings['verify_html'];tinyMCE.cleanup_force_br_newlines=tinyMCE.settings['force_br_newlines'];tinyMCE.cleanup_urlconvertor_callback=tinyMCE.settings['urlconvertor_callback'];tinyMCE.cleanup_verify_css_classes=tinyMCE.settings['verify_css_classes'];tinyMCE.cleanup_visual_table_style=tinyMCE.settings['visual_table_style'];tinyMCE.cleanup_apply_source_formatting=tinyMCE.settings['apply_source_formatting'];tinyMCE.cleanup_trim_span_elements=tinyMCE.settings['trim_span_elements'];tinyMCE.cleanup_inline_styles=tinyMCE.settings['inline_styles'];tinyMCE.cleanup_visual_aid=visual;tinyMCE.cleanup_on_save=on_save;tinyMCE.cleanup_idCount=0;tinyMCE.cleanup_elementLookupTable=new Array();var startTime=new Date().getTime();tinyMCE._convertOnClick(element);if(tinyMCE.isMSIE){element.innerHTML=tinyMCE.regexpReplace(element.innerHTML,'<p>[ \n\r]*<hr id=null>[ \n\r]*</p>','<hr />','gi');element.innerHTML=tinyMCE.regexpReplace(element.innerHTML,'<!([^-(DOCTYPE)]* )|<!/[^-]*>','','gi');}var html=this.cleanupNode(element);if(tinyMCE.settings['debug'])alert("Cleanup process executed in: "+(new Date().getTime()-startTime)+" ms.");html=tinyMCE.regexpReplace(html,'<p><hr /></p>','<hr />');html=tinyMCE.regexpReplace(html,'<p> </p><hr /><p> </p>','<hr />');if(!tinyMCE.isMSIE)html=html.replace(new RegExp('<o:p _moz-userdefined="" />','g'),"");if(tinyMCE.settings['apply_source_formatting']){html=html.replace(new RegExp('<(p|div)([^>]*)>','g'),"\n<$1$2>\n");html=html.replace(new RegExp('<\/(p|div)([^>]*)>','g'),"\n</$1$2>\n");html=html.replace(new RegExp('<br />','g'),"<br />\n");}if(tinyMCE.settings['force_br_newlines']){var re=new RegExp('<p> </p>','g');html=html.replace(re,"<br />");}if(tinyMCE.settings['force_p_newlines']){var re=new RegExp('<>','g');html=html.replace(re,"");}if(tinyMCE.settings['remove_linebreaks'])html=html.replace(new RegExp('\r|\n','g'),' ');html=tinyMCE._customCleanup(on_save?"get_from_editor":"insert_to_editor",html);if(html=="<br />"||html=="<br />\n"||html=="<p> </p>")html="";if(tinyMCE.settings["preformatted"])return "<pre>"+html+"</pre>";return html;};TinyMCE.prototype.insertLink=function(href,target,title,onclick){function setAttrib(element,name,value){if(value!=null&&value!="")element.setAttribute(name,value);else element.removeAttribute(name);}this.execCommand("mceAddUndoLevel");if(this.selectedInstance&&this.selectedElement&&this.selectedElement.nodeName.toLowerCase()=="img"){var doc=this.selectedInstance.getDoc();var linkElement=doc.createElement("a");href=eval(tinyMCE.settings['urlconvertor_callback']+"(href, linkElement);");setAttrib(linkElement,'href',href);setAttrib(linkElement,'target',target);setAttrib(linkElement,'title',title);setAttrib(linkElement,'mce_onclick',onclick);linkElement.appendChild(this.selectedElement.cloneNode(true));this.selectedElement.parentNode.replaceChild(linkElement,this.selectedElement);return;}if(!this.linkElement&&this.selectedInstance){this.selectedInstance.contentDocument.execCommand("createlink",false,"#mce_temp_url#");tinyMCE.linkElement=this.getElementByAttributeValue(this.selectedInstance.contentDocument.body,"a","href","#mce_temp_url#");var elementArray=this.getElementsByAttributeValue(this.selectedInstance.contentDocument.body,"a","href","#mce_temp_url#");for(var i=0;i<elementArray.length;i++){href=eval(tinyMCE.settings['urlconvertor_callback']+"(href, elementArray[i]);");setAttrib(elementArray[i],'href',href);setAttrib(elementArray[i],'mce_real_href',href);setAttrib(elementArray[i],'target',target);setAttrib(elementArray[i],'title',title);setAttrib(elementArray[i],'mce_onclick',onclick);}tinyMCE.linkElement=elementArray[0];}if(this.linkElement){href=eval(tinyMCE.settings['urlconvertor_callback']+"(href, this.linkElement);");setAttrib(this.linkElement,'href',href);setAttrib(this.linkElement,'mce_real_href',href);setAttrib(this.linkElement,'target',target);setAttrib(this.linkElement,'title',title);setAttrib(this.linkElement,'mce_onclick',onclick);}};TinyMCE.prototype.insertImage=function(src,alt,border,hspace,vspace,width,height,align,title,onmouseover,onmouseout){if(src=="")return;this.execCommand("mceAddUndoLevel");function setAttrib(element,name,value,no_fix_value){if(!no_fix_value&&value!=null){var re=new RegExp('[^0-9%]','g');value=value.replace(re,'');}if(value!=null&&value!="")element.setAttribute(name,value);else element.removeAttribute(name);}if(!this.imgElement&&this.selectedInstance){this.selectedInstance.contentDocument.execCommand("insertimage",false,"#mce_temp_url#");tinyMCE.imgElement=this.getElementByAttributeValue(this.selectedInstance.contentDocument.body,"img","src","#mce_temp_url#");}if(this.imgElement){src=eval(tinyMCE.settings['urlconvertor_callback']+"(src, tinyMCE.imgElement);");if(typeof(title)=="undefined")title=alt;tinyMCE.setAttrib(this.imgElement,'src',src,true);tinyMCE.setAttrib(this.imgElement,'mce_real_src',src,true);tinyMCE.setAttrib(this.imgElement,'alt',alt,true);tinyMCE.setAttrib(this.imgElement,'title',title,true);tinyMCE.setAttrib(this.imgElement,'align',align,true);tinyMCE.setAttrib(this.imgElement,'border',border);tinyMCE.setAttrib(this.imgElement,'hspace',hspace);tinyMCE.setAttrib(this.imgElement,'vspace',vspace);tinyMCE.setAttrib(this.imgElement,'width',width);tinyMCE.setAttrib(this.imgElement,'height',height);tinyMCE.setAttrib(this.imgElement,'border',border);tinyMCE.setAttrib(this.imgElement,'onmouseover',onmouseover,true);tinyMCE.setAttrib(this.imgElement,'onmouseout',onmouseout,true);if(width&&width!="")this.imgElement.style.pixelWidth=width;if(height&&height!="")this.imgElement.style.pixelHeight=height;}};TinyMCE.prototype.getElementByAttributeValue=function(node,element_name,attrib,value){var elements=this.getElementsByAttributeValue(node,element_name,attrib,value);if(elements.length==0)return null;return elements[0];};TinyMCE.prototype.getElementsByAttributeValue=function(node,element_name,attrib,value){var elements=new Array();if(node&&node.nodeName.toLowerCase()==element_name){if(node.getAttribute(attrib)&&node.getAttribute(attrib).indexOf(value)!=-1)elements[elements.length]=node;}if(node.hasChildNodes){for(var x=0,n=node.childNodes.length;x<n;x++){var childElements=this.getElementsByAttributeValue(node.childNodes[x],element_name,attrib,value);for(var i=0,m=childElements.length;i<m;i++)elements[elements.length]=childElements[i];}}return elements;};TinyMCE.prototype.isBlockElement=function(node){return node!=null&&node.nodeType==1&&this.blockRegExp.test(node.nodeName);};TinyMCE.prototype.getParentBlockElement=function(node){while(node){if(this.blockRegExp.test(node.nodeName))return node;node=node.parentNode;}return null;};TinyMCE.prototype.getNodeTree=function(node,node_array,type,node_name){if(typeof(type)=="undefined"||node.nodeType==type&&(typeof(node_name)=="undefined"||node.nodeName.toLowerCase()==node_name.toLowerCase()))node_array[node_array.length]=node;if(node.hasChildNodes()){for(var i=0;i<node.childNodes.length;i++)tinyMCE.getNodeTree(node.childNodes[i],node_array,type,node_name);}return node_array;};TinyMCE.prototype.getParentElement=function(node,names,attrib_name,attrib_value){if(typeof(names)=="undefined"){if(node.nodeType==1)return node;while((node=node.parentNode)!=null&&node.nodeType!=1);return node;}var namesAr=names.split(',');if(node==null)return null;do{for(var i=0;i<namesAr.length;i++){if(node.nodeName.toLowerCase()==namesAr[i].toLowerCase()||names=="*"){if(typeof(attrib_name)=="undefined")return node;else if(node.getAttribute(attrib_name)){if(typeof(attrib_value)=="undefined"){if(node.getAttribute(attrib_name)!="")return node;}else if(node.getAttribute(attrib_name)==attrib_value)return node;}}}}while(node=node.parentNode);return null;};TinyMCE.prototype.convertURL=function(url,node,on_save){var prot=document.location.protocol;var host=document.location.hostname;var port=document.location.port;var fileProto=(prot=="file:");url=tinyMCE.regexpReplace(url,'(http|https):///','/');if(url.indexOf('mailto:')!=-1||url.indexOf('javascript:')!=-1||tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0)=="#")return url;if(!tinyMCE.isMSIE&&!on_save&&url.indexOf("://")==-1&&url.charAt(0)!='/')return tinyMCE.settings['base_href']+url;if(!tinyMCE.settings['relative_urls']){var urlParts=tinyMCE.parseURL(url);var baseUrlParts=tinyMCE.parseURL(tinyMCE.settings['base_href']);if(urlParts['anchor']&&urlParts['path']==baseUrlParts['path'])return "#"+urlParts['anchor'];}if(on_save&&tinyMCE.settings['relative_urls']){var urlParts=tinyMCE.parseURL(url);if(!urlParts['protocol']&&!tinyMCE.isMSIE){var urlPrefix="http://";urlPrefix+=host;if(port!="")urlPrefix+=":"+port;url=urlPrefix+url;urlParts=tinyMCE.parseURL(url);}var tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings['document_base_url']);if(urlParts['host']==tmpUrlParts['host']&&(!urlParts['port']||urlParts['port']==tmpUrlParts['port']))return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'],url);}if(!fileProto&&tinyMCE.settings['remove_script_host']){var start="",portPart="";if(port!="")portPart=":"+port;start=prot+"//"+host+portPart+"/";if(url.indexOf(start)==0)url=url.substring(start.length-1);if(!tinyMCE.settings['relative_urls']&&url.indexOf('://')==-1&&url.charAt(0)!='/')url='/'+url;}return url;};TinyMCE.prototype.parseURL=function(url_str){var urlParts=new Array();if(url_str){var pos,lastPos;pos=url_str.indexOf('://');if(pos!=-1){urlParts['protocol']=url_str.substring(0,pos);lastPos=pos+3;}for(var i=lastPos;i<url_str.length;i++){var chr=url_str.charAt(i);if(chr==':')break;if(chr=='/')break;}pos=i;urlParts['host']=url_str.substring(lastPos,pos);lastPos=pos;if(url_str.charAt(pos)==':'){pos=url_str.indexOf('/',lastPos);urlParts['port']=url_str.substring(lastPos+1,pos);}lastPos=pos;pos=url_str.indexOf('?',lastPos);if(pos==-1)pos=url_str.indexOf('#',lastPos);if(pos==-1)pos=url_str.length;urlParts['path']=url_str.substring(lastPos,pos);lastPos=pos;if(url_str.charAt(pos)=='?'){pos=url_str.indexOf('#');pos=(pos==-1)?url_str.length:pos;urlParts['query']=url_str.substring(lastPos+1,pos);}lastPos=pos;if(url_str.charAt(pos)=='#'){pos=url_str.length;urlParts['anchor']=url_str.substring(lastPos+1,pos);}}return urlParts;};TinyMCE.p... [truncated message content] |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:09
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/plugins/advlink/langs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/plugins/advlink/langs Added Files: zh_cn.js sv.js en.js fr.js de.js fr_ca.js fa.js cs.js pl.js ko.js Log Message: beginning of phpcms-content and filemanager --- NEW FILE: en.js --- // UK lang variables tinyMCELang['lang_insert_link_target_same'] = 'Open in this window / frame'; tinyMCELang['lang_insert_link_target_parent'] = 'Open in parent window / frame'; tinyMCELang['lang_insert_link_target_top'] = 'Open in top frame (replaces all frames)'; tinyMCELang['lang_insert_link_target_blank'] = 'Open in new window'; tinyMCELang['lang_insert_link_target_named'] = 'Open in the window'; tinyMCELang['lang_insert_link_popup'] = 'JS-Popup'; tinyMCELang['lang_insert_link_popup_url'] = 'Popup URL'; tinyMCELang['lang_insert_link_popup_name'] = 'Window name'; tinyMCELang['lang_insert_link_popup_return'] = 'insert \'return false\''; tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Show scrollbars'; tinyMCELang['lang_insert_link_popup_statusbar'] = 'Show statusbar'; tinyMCELang['lang_insert_link_popup_toolbar'] = 'Show toolbars'; tinyMCELang['lang_insert_link_popup_menubar'] = 'Show menubar'; tinyMCELang['lang_insert_link_popup_location'] = 'Show locationbar'; tinyMCELang['lang_insert_link_popup_resizable'] = 'Make window resizable'; tinyMCELang['lang_insert_link_popup_size'] = 'Size'; tinyMCELang['lang_insert_link_popup_position'] = 'Position (X/Y)'; tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Please insert a name for the target or choose another option.'; --- NEW FILE: ko.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: fr.js --- // French lang variables by Laurent Dran tinyMCELang['lang_insert_link_target_same'] = 'Ouvre dans la fenętre / Cadre(frame)'; tinyMCELang['lang_insert_link_target_parent'] = 'Ouvre dans fenętre parente / Cadres(frame)'; tinyMCELang['lang_insert_link_target_top'] = 'Ouvre dans le Top frame (remplace toutes les cadres(frames))'; tinyMCELang['lang_insert_link_target_blank'] = 'Ouvre dans la fenętre'; tinyMCELang['lang_insert_link_target_named'] = 'Ouvre dans la fenętre'; tinyMCELang['lang_insert_link_popup'] = 'JS-Popup'; tinyMCELang['lang_insert_link_popup_url'] = 'URL de la Popup'; tinyMCELang['lang_insert_link_popup_name'] = 'Nom de la fenętre'; tinyMCELang['lang_insert_link_popup_return'] = 'Insert \'return false\''; tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Montrer la barre de défilement '; tinyMCELang['lang_insert_link_popup_statusbar'] = 'Montrer la barre d\'état'; tinyMCELang['lang_insert_link_popup_toolbar'] = 'Montrer la barre d\'outils'; tinyMCELang['lang_insert_link_popup_menubar'] = 'Montrer la barre du menu'; tinyMCELang['lang_insert_link_popup_location'] = 'Montre la barre d\'adresse'; tinyMCELang['lang_insert_link_popup_resizable'] = 'Fabriquer une fenętre redimensionnable'; tinyMCELang['lang_insert_link_popup_size'] = 'Taille'; tinyMCELang['lang_insert_link_popup_position'] = 'Position (X/Y)'; tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Veuillez insérer un nom pour la cible ou choisissez une autre option.'; --- NEW FILE: cs.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: de.js --- // DE lang variables tinyMCELang['lang_insert_link_target_same'] = 'Im selben Frame öffnen'; tinyMCELang['lang_insert_link_target_parent'] = 'Im darüber liegenden Frame öffnen'; tinyMCELang['lang_insert_link_target_top']= 'Im obersten Frame öffnen'; tinyMCELang['lang_insert_link_target_blank']= 'In einem neuen Fenster öffnen'; tinyMCELang['lang_insert_link_target_named']= 'Öffnen im Fenster/Frame'; tinyMCELang['lang_insert_link_popup'] = 'JS-Popup'; tinyMCELang['lang_insert_link_popup_url'] = 'Popup URL'; tinyMCELang['lang_insert_link_popup_name']= 'Fenstername'; tinyMCELang['lang_insert_link_popup_return']= 'mit \'return false\''; tinyMCELang['lang_insert_link_popup_scrollbars']= 'Scrollbars anzeigen'; tinyMCELang['lang_insert_link_popup_statusbar'] = 'Statusbar anzeigen'; tinyMCELang['lang_insert_link_popup_toolbar'] = 'Toolbars anzeigen'; tinyMCELang['lang_insert_link_popup_menubar'] = 'Menu anzeigen'; tinyMCELang['lang_insert_link_popup_location']= 'Adresszeile anzeigen'; tinyMCELang['lang_insert_link_popup_resizable'] = 'Größe änderbar'; tinyMCELang['lang_insert_link_popup_size']= 'Größe'; tinyMCELang['lang_insert_link_popup_position']= 'Position (X/Y)'; tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Bitte geben Sie einen Namen für das Ziel an oder wählen Sie eine andere Option.'; --- NEW FILE: pl.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: fa.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: zh_cn.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: fr_ca.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: sv.js --- // SE lang variables tinyMCELang['lang_insert_link_target_same'] = 'Öppna i samma fönster / ram'; tinyMCELang['lang_insert_link_target_parent'] = 'Öppna i underliggande fönster / ram'; tinyMCELang['lang_insert_link_target_top'] = 'Öppna i toppramen (ersätter alla ramar)'; tinyMCELang['lang_insert_link_target_blank'] = 'Öppna i ett nytt fönster'; tinyMCELang['lang_insert_link_target_named'] = 'Öppna i ett specifikt fönster'; tinyMCELang['lang_insert_link_popup'] = 'JS-Popup'; tinyMCELang['lang_insert_link_popup_url'] = 'Popup URL'; tinyMCELang['lang_insert_link_popup_name'] = 'Fönstrets namn'; tinyMCELang['lang_insert_link_popup_return'] = 'Sätt in \'return false\''; tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Visa scrollbars'; tinyMCELang['lang_insert_link_popup_statusbar'] = 'Visa statusbar'; tinyMCELang['lang_insert_link_popup_toolbar'] = 'Visa toolbars'; tinyMCELang['lang_insert_link_popup_menubar'] = 'Visa menubar'; tinyMCELang['lang_insert_link_popup_location'] = 'Visa locationbar'; tinyMCELang['lang_insert_link_popup_resizable'] = 'Gör fönstret skalbart'; tinyMCELang['lang_insert_link_popup_size'] = 'Storlek'; tinyMCELang['lang_insert_link_popup_position'] = 'Position (X/Y)'; tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Var god skriv ett namn för fönstret eller välj ett annat val.'; |
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/plugins/searchreplace In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/plugins/searchreplace Added Files: editor_plugin_src.js search.htm editor_plugin.js readme.txt replace.htm Log Message: beginning of phpcms-content and filemanager --- NEW FILE: replace.htm --- <html> <head> <title>{$lang_searchreplace_replace_title}</title> <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript" type="text/javascript"> <!-- function init() { var formObj = document.forms[0]; formObj.searchstring.value = tinyMCE.getWindowArg("searchstring"); formObj.replacestring.value = tinyMCE.getWindowArg("replacestring"); formObj.casesensitivebox.checked = tinyMCE.getWindowArg("casesensitive"); formObj.backwards[0].checked = tinyMCE.getWindowArg("backwards"); formObj.backwards[1].checked = !tinyMCE.getWindowArg("backwards"); // formObj.wrapatend.checked = tinyMCE.getWindowArg("wrap"); // formObj.wholeword.checked = tinyMCE.getWindowArg("wholeword"); tinyMCE.execInstanceCommand(tinyMCE.getWindowArg("editor_id"), "mceResetSearch", false, {dummy : ""}, false); window.focus(); } function searchNext(replacemode) { var formObj = document.forms[0]; // Whats the point? if (formObj.searchstring.value == formObj.replacestring.value) return; // Do search tinyMCE.execInstanceCommand(tinyMCE.getWindowArg("editor_id"), 'mceSearch', false, { string : formObj.searchstring.value, replacestring : formObj.replacestring.value, replacemode : replacemode, casesensitive : formObj.casesensitivebox.checked, backwards : formObj.backwards[0].checked // wrap : formObj.wrapatend.checked, // wholeword : formObj.wholeword.checked }, false); } function cancelAction() { top.close(); } //--> </script> </head> <body onload="init();" style="margin: 4px;"> <form onsubmit="searchNext('none');return false;"> <table border="0" cellspacing="0" cellpadding="2"> <tr> <td>{$lang_searchreplace_findwhat}: </td> <td><input type="text" name="searchstring" style="width: 200px" /></td> </tr> <tr> <td>{$lang_searchreplace_replacewith}: </td> <td><input type="text" name="replacestring" style="width: 200px" /></td> </tr> <tr> <td colspan="2"><table border="0" cellspacing="0" cellpadding="0"> <tr> <td>{$lang_searchreplace_direction}: </td> <td><input name="backwards" class="radio" type="radio" value="true" /></td> <td>{$lang_searchreplace_up}</td> <td><input name="backwards" class="radio" type="radio" value="false" /></td> <td>{$lang_searchreplace_down}</td> </tr> </table></td> </tr> <tr> <td colspan="2"><table border="0" cellspacing="0" cellpadding="0"> <tr> <td><input class="checkbox" type="checkbox" name="casesensitivebox" value="true" /></td> <td>{$lang_searchreplace_case}</td> </tr> </table></td> </tr> </table> <table border="0" width="100%" cellspacing="0" cellpadding="4"> <tr> <td><input name="findBtn" type="button" id="findBtn" value="{$lang_searchreplace_findnext}" onclick="searchNext('none');" /></td> <td><input name="replaceBtn" type="button" id="replaceBtn" value="{$lang_searchreplace_replace}" onclick="searchNext('current');" /></td> <td><input name="replaceBtn" type="button" id="replaceAllBtn" value="{$lang_searchreplace_replaceall}" onclick="searchNext('all');" /></td> <td align="right"><input name="cancelBtn" type="button" id="cancelBtn" value="{$lang_searchreplace_cancel}" onclick="cancelAction();" /></td> </tr> </table> </form> </body> </html> --- NEW FILE: editor_plugin.js --- /* Import theme specific language pack */ tinyMCE.importPluginLanguagePack('searchreplace','en,sv,zh_cn,fa,fr_ca,fr,de,pl');function TinyMCE_searchreplace_getControlHTML(control_name){switch(control_name){case "search":return '<img id="{$editor_id}_search" src="{$pluginurl}/images/search.gif" title="{$lang_searchreplace_search_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearch\',true);" />';case "replace":return '<img id="{$editor_id}_replace" src="{$pluginurl}/images/replace.gif" title="{$lang_searchreplace_replace_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearchReplace\',true);" />';}return "";}function TinyMCE_searchreplace_execCommand(editor_id,element,command,user_interface,value){function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key];}function replaceSel(search_str,str){if(!tinyMCE.isMSIE){var sel=instance.contentWindow.getSelection();var rng=sel.getRangeAt(0);}else{var rng=instance.contentWindow.document.selection.createRange();}if(!tinyMCE.isMSIE){var doc=instance.contentWindow.document;if(str.indexOf(search_str)==-1){rng.deleteContents();rng.insertNode(rng.createContextualFragment(str));rng.collapse(false);}else{doc.execCommand("insertimage",false,"#mce_temp_url#");var elm=tinyMCE.getElementByAttributeValue(doc.body,"img","src","#mce_temp_url#");elm.parentNode.replaceChild(doc.createTextNode(str),elm);}}else{if(rng.item)rng.item(0).outerHTML=str;else rng.pasteHTML(str);}}var instance=tinyMCE.getInstanceById(editor_id);if(!value)value=new Array();defValue("editor_id",editor_id);defValue("searchstring","");defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);switch(command){case "mceResetSearch":tinyMCE.lastSearchRng=null;return true;case "mceSearch":if(user_interface){var template=new Array();if(value['replacestring']!=null){template['file']='../../plugins/searchreplace/replace.htm';template['width']=310;template['height']=180;}else{template['file']='../../plugins/searchreplace/search.htm';template['width']=280;template['height']=180;}tinyMCE.openWindow(template,value);}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring']);value['replacemode']="none";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}if(tinyMCE.isMSIE){var rng=tinyMCE.lastSearchRng?tinyMCE.lastSearchRng:doc.selection.createRange();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(value['replacemode']=="all"){while(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(false);replaceSel(value['string'],value['replacestring']);}alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(value['backwards']);tinyMCE.lastSearchRng=rng;}else alert(tinyMCE.getLang('lang_searchreplace_notfound'));}else{if(value['replacemode']=="all"){while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))replaceSel(value['string'],value['replacestring']);alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))alert(tinyMCE.getLang('lang_searchreplace_notfound'));}}return true;case "mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}return false;}function TinyMCE_searchreplace_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){return true;} --- NEW FILE: editor_plugin_src.js --- /* Import theme specific language pack */ tinyMCE.importPluginLanguagePack('searchreplace', 'en,sv,zh_cn,fa,fr_ca,fr,de,pl'); function TinyMCE_searchreplace_getControlHTML(control_name) { switch (control_name) { case "search": return '<img id="{$editor_id}_search" src="{$pluginurl}/images/search.gif" title="{$lang_searchreplace_search_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearch\',true);" />'; case "replace": return '<img id="{$editor_id}_replace" src="{$pluginurl}/images/replace.gif" title="{$lang_searchreplace_replace_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSearchReplace\',true);" />'; } return ""; } /** * Executes the search/replace commands. */ function TinyMCE_searchreplace_execCommand(editor_id, element, command, user_interface, value) { function defValue(key, default_value) { value[key] = typeof(value[key]) == "undefined" ? default_value : value[key]; } function replaceSel(search_str, str) { // Get current selection if (!tinyMCE.isMSIE) { var sel = instance.contentWindow.getSelection(); var rng = sel.getRangeAt(0); } else { var rng = instance.contentWindow.document.selection.createRange(); } // Replace current one if (!tinyMCE.isMSIE) { var doc = instance.contentWindow.document; // This way works when the replace doesn't contain the search string if (str.indexOf(search_str) == -1) { rng.deleteContents(); rng.insertNode(rng.createContextualFragment(str)); rng.collapse(false); } else { // Insert content ugly way! Needed to move selection to after replace item doc.execCommand("insertimage", false, "#mce_temp_url#"); var elm = tinyMCE.getElementByAttributeValue(doc.body, "img", "src", "#mce_temp_url#"); elm.parentNode.replaceChild(doc.createTextNode(str), elm); } } else { if (rng.item) rng.item(0).outerHTML = str; else rng.pasteHTML(str); } } var instance = tinyMCE.getInstanceById(editor_id); if (!value) value = new Array(); // Setup defualt values defValue("editor_id", editor_id); defValue("searchstring", ""); defValue("replacestring", null); defValue("replacemode", "none"); defValue("casesensitive", false); defValue("backwards", false); defValue("wrap", false); defValue("wholeword", false); // Handle commands switch (command) { case "mceResetSearch": tinyMCE.lastSearchRng = null; return true; case "mceSearch": if (user_interface) { // Open search dialog var template = new Array(); if (value['replacestring'] != null) { template['file'] = '../../plugins/searchreplace/replace.htm'; // Relative to theme template['width'] = 310; template['height'] = 180; } else { template['file'] = '../../plugins/searchreplace/search.htm'; // Relative to theme template['width'] = 280; template['height'] = 180; } tinyMCE.openWindow(template, value); } else { var win = tinyMCE.getInstanceById(editor_id).contentWindow; var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document; // Handle replace current if (value['replacemode'] == "current") { replaceSel(value['string'], value['replacestring']); // Search next one value['replacemode'] = "none"; tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false); return true; } if (tinyMCE.isMSIE) { var rng = tinyMCE.lastSearchRng ? tinyMCE.lastSearchRng : doc.selection.createRange(); var flags = 0; if (value['wholeword']) flags = flags | 2; if (value['casesensitive']) flags = flags | 4; // Handle replace all mode if (value['replacemode'] == "all") { while (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) { rng.scrollIntoView(); rng.select(); rng.collapse(false); replaceSel(value['string'], value['replacestring']); } alert(tinyMCE.getLang('lang_searchreplace_allreplaced')); return true; } if (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) { rng.scrollIntoView(); rng.select(); rng.collapse(value['backwards']); tinyMCE.lastSearchRng = rng; } else alert(tinyMCE.getLang('lang_searchreplace_notfound')); } else { if (value['replacemode'] == "all") { while (win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) replaceSel(value['string'], value['replacestring']); alert(tinyMCE.getLang('lang_searchreplace_allreplaced')); return true; } if (!win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) alert(tinyMCE.getLang('lang_searchreplace_notfound')); } } return true; case "mceSearchReplace": value['replacestring'] = ""; tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false); return true; } // Pass to next handler in chain return false; } function TinyMCE_searchreplace_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { return true; } --- NEW FILE: search.htm --- <html> <head> <title>{$lang_searchreplace_search_title}</title> <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript" type="text/javascript"> <!-- function init() { var formObj = document.forms[0]; formObj.searchstring.value = tinyMCE.getWindowArg("searchstring"); formObj.casesensitivebox.checked = tinyMCE.getWindowArg("casesensitive"); formObj.backwards[0].checked = tinyMCE.getWindowArg("backwards"); formObj.backwards[1].checked = !tinyMCE.getWindowArg("backwards"); // formObj.wrapatend.checked = tinyMCE.getWindowArg("wrap"); // formObj.wholeword.checked = tinyMCE.getWindowArg("wholeword"); tinyMCE.execInstanceCommand(tinyMCE.getWindowArg("editor_id"), "mceResetSearch", false, {dummy : ""}, false); window.focus(); } function searchNext() { var formObj = document.forms[0]; // Do search tinyMCE.execInstanceCommand(tinyMCE.getWindowArg("editor_id"), 'mceSearch', false, { string : formObj.searchstring.value, casesensitive : formObj.casesensitivebox.checked, backwards : formObj.backwards[0].checked // wrap : formObj.wrapatend.checked, // wholeword : formObj.wholeword.checked }, false); } function cancelAction() { top.close(); } //--> </script> </head> <body onload="init();" style="margin: 4px;"> <form onsubmit="searchNext();return false;"> <table border="0" cellspacing="0" cellpadding="2"> <tr> <td>{$lang_searchreplace_findwhat}: <input type="text" name="searchstring" style="width: 200px" /></td> </tr> <tr> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td>{$lang_searchreplace_direction}: </td> <td><input name="backwards" class="radio" type="radio" value="true" /></td> <td>{$lang_searchreplace_up}</td> <td><input name="backwards" class="radio" type="radio" value="false" /></td> <td>{$lang_searchreplace_down}</td> </tr> </table></td> </tr> <tr> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td><input class="checkbox" type="checkbox" name="casesensitivebox" value="true" /></td> <td>{$lang_searchreplace_case}</td> </tr> </table></td> </tr> </table> <table border="0" width="100%" cellspacing="0" cellpadding="4"> <tr> <td><input name="findBtn" type="submit" id="findBtn" value="{$lang_searchreplace_findnext}" /></td> <td align="right"><input name="cancelBtn" type="button" id="cancelBtn" value="{$lang_searchreplace_cancel}" onclick="cancelAction();" /></td> </tr> </table> </form> </body> </html> --- NEW FILE: readme.txt --- searchreplace plugin for TinyMCE ----------------------------- About: This plugin adds search/replace dialogs to TinyMCE. Installation instructions: * Copy the searchreplace directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins). * Add plugin to TinyMCE plugin option list example: plugins : "searchreplace". * Add buttons "search,replace" to the button list. Initialization example: tinyMCE.init({ theme : "advanced", mode : "textareas", plugins : "searchreplace", theme_advanced_buttons1_add : "search,replace", }); |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:09
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/plugins/insertdatetime/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/plugins/insertdatetime/images Added Files: insertdate.gif inserttime.gif Log Message: beginning of phpcms-content and filemanager --- NEW FILE: insertdate.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: inserttime.gif --- (This appears to be a binary file; contents omitted.) |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:08
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/filemanager In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/filemanager Modified Files: class.module_filemanager.php Added Files: module_filemanager_en.lng Log Message: beginning of phpcms-content and filemanager --- NEW FILE: module_filemanager_en.lng --- title_filemanager = "Filemanager" title_basedir = "Path: " Index: class.module_filemanager.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/filemanager/class.module_filemanager.php,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- class.module_filemanager.php 7 Dec 2004 06:34:49 -0000 1.9 +++ class.module_filemanager.php 26 May 2005 15:55:27 -0000 1.10 @@ -28,6 +28,9 @@ /* * $Log$ +* Revision 1.10 2005/05/26 15:55:27 mjahn +* beginning of phpcms-content and filemanager +* * Revision 1.9 2004/12/07 06:34:49 mjahn * prepration of first Alpha-Preview * @@ -61,8 +64,8 @@ /** * Include the file-utility-class **/ -include_once (dirname (__FILE__).'/class.file_util.php'); -define ('FM_IMGPATH', MODULE_PATH.'/filemanager/img/'); +include_once (dirname (__FILE__).'/includes/class.file_util.php'); +define ('FM_IMGPATH', MODULE_PATH.'/filemanager/images/'); /** * Filemanager-class for administrative work in the filesystem * @@ -74,79 +77,90 @@ * @uses file_editor **/ class module_filemanager extends module { + + var $_CONF = array (); + + var $docroot = ''; + function init () { // connect to actions - $this->_registerAction ('doParseParam', 'parseParam'); - $this->_registerAction ('doParseMenuMain', 'getMenuMain'); + $this->_registerAction('doParseParam', 'parseParam'); + $this->_registerAction('doGetMenu', 'getMenu'); - $this->docroot = realpath ($_SERVER['DOCUMENT_ROOT']); + $actiondata1 = array ('module' => 'filemanager'); + $this->_callEvent('CONFIG_GET', $actiondata1); + $this->_CONF = array_merge ($this->_CONF, $actiondata1['config']); - $actiondata1 = array ('module'=>'filemanager', 'format'=>'array'); - $this->_callEvent ('CONFIG_GET', $actiondata1); - $this->CONF =& $actiondata1 ['config']; - - include_once (dirname (__FILE__).'/config.filemanager.php'); + $this->docroot = realpath ($_SERVER['DOCUMENT_ROOT']); + return true; } /** * @param array $actiondata **/ function parseParam (&$actiondata) { - - $actiondata1 = array ('filename'=>dirname (__FILE__).'/layout.filemanager.xml'); - $this->_callEvent ('LAYOUT_ADD_TEMPLATE', $actiondata1); - + $this->display = (isset ($actiondata['request']['moduleid']) && $actiondata['request']['moduleid'] == 'filemanager'); + $actiondata1 = array(); - $this->_callEvent ('USER_GET_STATUS', $actiondata1); + $this->_callEvent('USER_GET_STATUS', $actiondata1); $this->_USER = $actiondata1; - - $this->display = (isset ($actiondata['request']['moduleid']) && $actiondata['request']['moduleid'] == 'filemanager'); - $this->viewdir = $this->viewfile = $this->editfile = $this->action = ''; if (isset ($actiondata['request']['action'])) { $this->action = $actiondata['request']['action']; } - $this->basedir = '/'; - if (isset ($actiondata['request']['basedir'])) { - $this->basedir = $actiondata['request']['basedir']; + $this->basedir = $this->docroot; + + if ($this->display && $this->_USER ['isLoggedIn']) { + $this->_registerAction ('doProcess', 'process'); + $this->_registerAction('doGetData', 'getData'); } - if ($this->action == 'viewfile' && isset ($actiondata['request']['filename'])) { - $this->viewfile = $actiondata['request']['filename']; + if (isset ($_REQUEST ['basedir'])) { + $this->basedir = $_REQUEST ['basedir']; } - if ($this->action == 'viewdir' && isset ($actiondata['request']['filename'])) { - $this->viewdir = $actiondata['request']['filename']; + } + + /** + * Get structure for menu + * + * @param array $actiondata $actiondata['_root'] must provide the id of the parental element + **/ + function getMenu(&$actiondata) { + if (!$this->_USER['isLoggedIn']) { + return true; } - if ($this->action == 'editfile' && isset ($actiondata['request']['filename'])) { - $this->editfile = $actiondata['request']['filename']; + $data = array ('name'=>'Filemanager', 'module'=>'filemanager', 'action'=>''); + $_data = array (); + + if ($this->display) { + $data ['extra'] = 'class="current"'; } - if ($this->display && $this->_USER ['isLoggedIn']) { - $this->_registerAction ('doProcess', 'processFiletree'); - } - + $actiondata [$actiondata ['tag']] ['filemanager'] = array ($data); + + return true; } - - function processFiletree (&$actiondata) { + // function getMenu () + + function process (&$actiondata) { if (!$this->display) { return true; } - $this->_registerAction ('doParseContent', 'getContentFiletree'); - if (!$this->_USER['isLoggedIn']) { return true; } + include (dirname (__FILE__).'/includes/config.filemanager.php'); if (is_dir ($this->docroot.'/'.$this->basedir.'/'.$this->viewdir)) { $this->basedir = realpath ($this->docroot.'/'.$this->basedir.'/'.$this->viewdir).'/'; if (strpos ($this->basedir, $this->docroot) === false) { $this->basedir = '/'; - $actiondata1 = array ('errortext'=>'Das angeforderte Verzeichnis liegt außerhalb des zugelassenen Bereiches!'); + $actiondata1 = array ('errortext'=>'Das angeforderte Verzeichnis liegt au�erhalb des zugelassenen Bereiches!'); $this->_callEvent ('ERROR_NOTICE', $actiondata1); } else { $this->basedir = str_replace ($this->docroot, '', $this->basedir); @@ -157,45 +171,19 @@ $actiondata1 = array ('errortext'=>'Das angeforderte Verzeichnis existiert nicht!'); $this->_callEvent ('ERROR_NOTICE', $actiondata1); } + + $this->_getFiletree (); } - /** - * @param array $actiondata - **/ - function getMenuMain (&$actiondata) { - if (!$this->_USER['isLoggedIn']) { - return true; - } - - $root = $actiondata['_root']; - $actiondata1 = array ('_type'=>'menu_main_entry', '_root'=>$root, 'name'=>'Dateimanager', 'module'=>'filemanager', '_id'=>'filemanager', '_root'=>'mainmenu'); - if ($this->display) { - $actiondata1 ['extra'] = 'class="active"'; - } - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); - } - - /** - * Generates the output for the fileviewer - * - * @param array $actiondata - **/ - function getContentViewer (&$actiondata) { - $actiondata1 = array (); - $this->_callEvent ('EDITOR_VIEW_FILE', $actiondata1); - } + function getData (&$actiondata) { + $data = array ('structure'=>$this->structure, 'action'=>$this->action, 'basedir'=>$this->basedir, 'counter'=>$this->counter); - /** - * Generates the ouput for the editor - * - * @param array $actiondata - **/ - function getContentEditor (&$actiondata) { - $actiondata1 = array (); - $this->_callEvent ('EDITOR_EDIT_FILE', $actiondata1); - } + $actiondata [$actiondata ['tag']] ['filemanager'] = $data; + return true; + } + /** * Generates the list of folders and files in the current directory. * @@ -204,8 +192,7 @@ * of filelist_entry. This enables the function to provide different buttons dependent * to the file-entry. **/ - function getContentFiletree (&$actiondata) { - $root = $actiondata ['_root']; + function _getFiletree () { $dir = $this->docroot.'/'.$this->basedir; $files = $dirs = array(); @@ -238,19 +225,12 @@ $entries = array_merge ($dirs, $files); unset ($files, $dirs); $num = count ($entries); - - $actiondata1 = array ('_type'=>'form', '_id'=>'fm_form', '_root'=>$root, - 'action'=>INDEX_FILE.'?moduleid=filemanager', 'imgpath' => FM_IMGPATH, 'method'=>'post'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - $actiondata1 = array ('_type'=>'fm_list', '_id'=>'filelist', '_root'=>'fm_form', - 'basedir'=>htmlentities ($this->basedir), 'imgpath' => FM_IMGPATH); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - $alternate = 1; $sum_size = 0; $num_files = 0; $num_dirs = 0; + + $this->structure = array (); for ($i = 0; $i < $num; $i++) { $entry = $entries[$i]; @@ -266,43 +246,45 @@ $file['uid'] = file_util::uid ($data[4]); $file['gid'] = file_util::gid ($data[5]); $file['filename'] = $entry; - $file['filemtime'] = strftime ('%d.%m.%Y %H:%M:%S', $data[9]); - $file['filectime'] = strftime ('%d.%m.%Y %H:%M:%S', $data[8]); - $file['fileatime'] = strftime ('%d.%m.%Y %H:%M:%S', $data[10]); + $file['filemtime'] = $data[9]; + $file['filectime'] = $data[8]; + $file['fileatime'] = $data[10]; $file['filesize'] = file_util::filesize ($dir.'/'.$entry); $file['chmod'] = array ('oct'=>file_util::fileperms($dir.'/'.$entry), 'str'=>file_util::fileperms ($dir.'/'.$entry, true)); + $file ['nolink'] = 0; $entrypath = realpath ($dir.'/'.$entry); // entry is directory if (is_dir ($entrypath)) { - $nolink = false; + $num_files++; + $file ['nolink'] = 0; // check if entry is parent directory if ($entry == '..') { - $type = 'parent'; + $file ['type'] = 'parent'; } elseif ($entry == '.') { - $type = 'empty'; - $nolink = true; + $file ['type'] = 'empty'; + $file ['nolink'] = 1; } else { $num_dirs++; - $type = 'folder'; + $file ['type'] = 'folder'; // check if entry has executive permission if (!@file_exists($entrypath.'/.')) { - $type = 'folder_inactive'; - $nolink = true; + $file ['type'] = 'folder_inactive'; + $file ['nolink'] = 1; } // check if entry has reading permission if (!is_readable ($entrypath)) { - $type = 'folder_inactive'; - $nolink = true; + $file ['type'] = 'folder_inactive'; + $file ['nolink'] = 1; } // check if entry is a symlink if (is_link ($dir.$entry)) { - $type = 'symlink'; + $file ['type'] = 'symlinkdir'; } @@ -310,120 +292,42 @@ // check if destination-path of entry is within the allowed path if (!file_util::checkpath ($this->docroot, $entrypath)) { - $nolink = true; + $file ['nolink'] = 1; } - $actiondata1 = array ('_root'=>'filelist', 'imgpath' => FM_IMGPATH, '_id'=>'dir-'.$entry, 'basedir'=>$this->basedir, 'filename'=>htmlentities ($entry), 'filesize'=>$file ['filesize'], 'fileatime'=>$file ['fileatime'], 'filectime'=>$file ['filectime'], 'filemtime'=>$file ['filemtime'], 'gid'=>$file ['gid'] ['str'], 'uid'=>$file ['uid'] ['str'], 'chmod'=>$file ['chmod'] ['str'], 'extra'=>'class="line'.$alternate++.'"', 'filetype'=>$type); - if ($nolink) { - // set no link for open directory - $actiondata1 ['_type'] = 'fm_dir_inactive'; - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - } else { - // set link for open directory - $actiondata1 ['_type'] = 'fm_dir'; - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - } } if (is_file ($dir.'/'.$entry)) { $num_files++; $sum_size += $data[7]; - $type = 'text.gif'; + $file ['type'] = 'text.gif'; foreach ($this->FILETYPES as $filetype) { if (eregi ($filetype[0], $entry)) { - $type = $filetype[1]; + $file ['type'] = $filetype[1]; break; } } // check if file is a symlink if (is_link ($dir.'/'.$entry)) { - $type = 'symlink.gif'; + $file ['type'] = 'symlink'; } - $actiondata1 = array ('_root'=>'filelist', 'imgpath' => FM_IMGPATH, '_id'=>'file-'.$entry, 'filename'=>$entry, 'basedir'=>$this->basedir, 'filename'=>htmlentities ($entry), 'filesize'=>$file ['filesize'], 'fileatime'=>$file ['fileatime'], 'filectime'=>$file ['filectime'], 'filemtime'=>$file ['filemtime'], 'gid'=>$file ['gid'] ['str'], 'uid'=>$file ['uid'] ['str'], 'chmod'=>$file ['chmod'] ['str'], 'extra'=>'class="line'.$alternate++.'"', 'filetype'=>$type); - // check if file is writeable if (!is_writeable ($dir.'/'.$entry)) { - $actiondata1 ['_type'] = 'fm_file_inactive'; + $file ['writeable'] = 0; } else { - $actiondata1 ['_type'] = 'fm_file'; + $file ['writeable'] = 1; } - // insert fileentry - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); } + $this->structure [] = $file; } - $actiondata1 = array ('_root'=>'filelist', 'imgpath' => FM_IMGPATH, '_id'=>'filelist-summary', '_type'=>'fm_sum', 'dirs'=>$num_dirs, 'files'=>$num_files, 'sumsize'=>file_util::filesize ($sum_size)); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - // set options-box - $actiondata1 = array ('_root'=>'fm_form', 'imgpath' => FM_IMGPATH, '_id'=>'fm-options', '_type'=>'block', 'extra'=>'id="fm-options"'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - // set tablist - $actiondata1 = array ('_root'=>'fm-options', 'imgpath' => FM_IMGPATH, '_id'=>'tablist', '_type'=>'ulist', 'extra'=>'class="tabbed"'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - // set tabbox - $actiondata1 = array ('_root'=>'fm-options', 'imgpath' => FM_IMGPATH, '_id'=>'tabbox', '_type'=>'block', 'extra'=>'class="tabbox"'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - $tabs = array ( - array ('name'=>'Neu', 'id'=>'new'), - array ('name'=>'Hochladen', 'id'=>'upload'), - array ('name'=>'Archivieren', 'id'=>'backup'), - array ('name'=>'Zwischenablage', 'id'=>'clipboard') - ); - - $num = count ($tabs); - for ($i = 0; $i < $num; $i++) { - - // set tab-list - $actiondata1 = array ('_root'=>'tablist', 'imgpath' => FM_IMGPATH, '_id'=>'tablistitem-'.$tabs [$i] ['id'], '_type'=>'list_entry'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - // set tab-script - $actiondata1 = array ('_root'=>'tablist', 'imgpath' => FM_IMGPATH, '_id'=>'tablistscript-'.$tabs [$i] ['id'], '_type'=>'script', 'content'=>'registerTab (\'tabbox-'.$tabs [$i] ['id'].'\');'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - // set the tab-link - $actiondata1 = array ('_root'=>'tablistitem-'.$tabs [$i] ['id'], 'imgpath' => FM_IMGPATH, '_id'=>'tablink-'.$tabs [$i] ['id'], '_type'=>'link', 'href'=>'#tabbox-'.$tabs [$i] ['id'], 'content'=>$tabs [$i] ['name'], 'extra'=>'class="" id="tabbox-'.$tabs [$i] ['id'].'-nav" onclick="displayTab (\'tabbox-'.$tabs [$i] ['id'].'\')" onkeypress="displayTab (\'tabbox-'.$tabs [$i] ['id'].'\')"'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - // set the tab-box container - $actiondata1 = array ('_root'=>'tabbox', 'imgpath' => FM_IMGPATH, '_id'=>'tabbox-'.$tabs [$i] ['id'], '_type'=>'block', 'extra'=>'id="tabbox-'.$tabs [$i] ['id'].'"'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - } - - // set the tab-box (new) - $actiondata1 = array ('_root'=>'tabbox-new', 'imgpath' => FM_IMGPATH, '_id'=>'tabbox-new-content', '_type'=>'fm_new'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - // set the tab-box (upload) - $actiondata1 = array ('_root'=>'tabbox-upload', 'imgpath' => FM_IMGPATH, '_id'=>'tabbox-upload-content', '_type'=>'fm_upload'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - // set the tab-box (backup) - $actiondata1 = array ('_root'=>'tabbox-backup', 'imgpath' => FM_IMGPATH, '_id'=>'tabbox-backup-content', '_type'=>'fm_backup'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - // set the tab-box (clipboard) - $actiondata1 = array ('_root'=>'tabbox-clipboard', 'imgpath' => FM_IMGPATH, '_id'=>'tabbox-clipboard-content', '_type'=>'fm_clipboard'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - + $this->counter = array ('files'=>$num_files, 'dirs'=>$num_dirs, 'sizes'=>file_util::filesize ($sum_size, 2)); } - /** - * Let the user et the chmod of a file - * - * @param array $actiondata - **/ - function getContentChmod (&$actiondata) { - } - function _userSort (&$dirs, &$files) { sort ($dirs); sort ($files); |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:08
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules Added Files: modules.ini Log Message: beginning of phpcms-content and filemanager --- NEW FILE: modules.ini --- [user] file = class.module_user.php class = module_user [layout] file = class.module_layout.php class = module_layout [filemanager] file = class.module_filemanager.php class = module_filemanager [phpcms] file = class.module_phpcms.php class = module_phpcms [phpcms-content] file = class.module_phpcms_content.php class = module_phpcms_content [statistic] file = class.module_statistic.php class = module_statistic [pluginmanager] file = class.module_pluginmanager.php class = module_pluginmanager |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:08
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/layout In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/layout Modified Files: layout.css Log Message: beginning of phpcms-content and filemanager Index: layout.css =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/layout/layout.css,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- layout.css 20 May 2005 05:54:05 -0000 1.11 +++ layout.css 26 May 2005 15:55:26 -0000 1.12 @@ -18,12 +18,25 @@ } #content table, +#content div.horizontal, #content fieldset, #content h3, #content p { margin-left:1em; } +#content p.error, +#content p.warning { + margin-left:0; + background:#f00; + color:#333; + padding:0.2em; +} + +#content p.error { + font-weight:bold; +} + h1 { font:bold 36px Georgia,sans-serif; text-align:center; @@ -161,22 +174,27 @@ } .content label input, -.content button, -.content textarea, -.content select { +.content label button, +.content label textarea, +.content label select { width:34%; margin:0; } -.content select.horizontal { +.content label select.horizontal { width:10em; } -.content label input, +.content button *, +.content button { + vertical-align:middle; +} +.content input, .content button, -.content textarea, -.content select, +.content label iframe, +.content label textarea, +.content label select, .content fieldset { border:1px solid #663; padding:0.2em; @@ -213,6 +231,11 @@ width:4em; } +.content button.hover, +.content button:hover { + border:1px outset #663; +} + .content .label.hover, .content .label:hover, .content label.hover, |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:05
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/templates Modified Files: module_phpcms-content.tpl phpcms-content_editor.tpl Added Files: phpcms_menu.tpl Log Message: beginning of phpcms-content and filemanager --- NEW FILE: phpcms_menu.tpl --- Index: module_phpcms-content.tpl =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/templates/module_phpcms-content.tpl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- module_phpcms-content.tpl 15 May 2005 12:24:03 -0000 1.2 +++ module_phpcms-content.tpl 26 May 2005 15:55:55 -0000 1.3 @@ -1 +1,3 @@ -{include file="$INDEX_PATH/modules/phpcms-content/templates/phpcms-content_editor.tpl"} \ No newline at end of file +{if $moduledata.action == 'content'} + {include file="$INDEX_PATH/modules/phpcms-content/templates/phpcms-content_editor.tpl"} +{/if} \ No newline at end of file Index: phpcms-content_editor.tpl =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/templates/phpcms-content_editor.tpl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- phpcms-content_editor.tpl 15 May 2005 12:24:03 -0000 1.1 +++ phpcms-content_editor.tpl 26 May 2005 15:55:55 -0000 1.2 @@ -1,88 +1,131 @@ - <style type="text/css"> - <!-- - @import url(/test/modules/editor/editor.css) screen; - --> - </style> - <script type="text/javascript" src="/test/modules/editor/editor.js"></script> -{if $WYSIWYG.NAME == 'HTMLAREA'} -<!-- Editorfunktionen --> -<script type="text/javascript"> - _editor_lang = "de"; - _editor_url = "{$WYSIWYG.PATH}"; -</script> -<!-- load the main HTMLArea files --> -<script type="text/javascript" src="{$WYSIWYG.PATH}/htmlarea.js"></script> -<script type="text/javascript"> - HTMLArea.loadPlugin("ImageManager"); - HTMLArea.loadPlugin("CSS"); -</script> -{/if} -{if $WYSIWYG.NAME == 'FCKEDITOR'} -<!-- load the main FCKEditor files --> -<script type="text/javascript" src="{$WYSIWYG.PATH}/fckeditor.js"></script> +{config_load file="`$MODULE_PATH`/phpcms-content/module_phpcms-content_`$LANG`.lng" section="editor" scope="local"}<h1>{#title_editor#}</h1> +<h2>{#title_menu#}</h2> +{* + *include the WYSIWYG-components + *} +{literal} +<script type="text/javascript"><!-- +/** +* display a tab and hide all other tabs +**/ +function switchTab (id) { + var i = 0; + num = tabs.length; + + for (i = 0; i < num; i++) { + if (tabs [i] != id) { + hideTab (tabs [i]); + continue; + } + if (document.getElementById (id).style.display != 'block') { + showTab (tabs [i]); + } else { + hideTab (tabs [i]); + } + } +} -{/if} +/** + * helper-function to hide a tab + **/ +function hideTab (id) { + document.getElementById (id).style.display = 'none'; +} -{if $WYSIWYG.NAME == 'WYSIWYM'} -<script type="text/javascript" src="{$WYSIWYG.PATH}/online-editor.js"></script> -{/if} -<div id="editor" > - <form action="{$INDEX_FILE}?moduleid=phpcms&action=phpcms-content" method="post" id="editor_main" class="editor"> - <fieldset> - <legend>Allgemeines</legend> - <h3>Optionen</h3> - <div class="label"> - <input type="button" name="editor-newfile" class="editor-newfile" onclick="displayTab('new')" value="Neue Datei anlegen" /> - <input type="button" name="editor-openfile" class="editor-openfile" onclick="displayTab('open')" value="Datei zum Editieren öffnen" /> - <input type="submit" name="editor-savefile" class="editor-savefile" value="Datei speichern" /> - <input type="button" name="editor-delfile" class="editor-delfile" onclick="displayTab('delete')" value="Datei löschen" /> - <input type="submit" name="editor-saveexit" class="editor-exit" value="Speichern und Datei schließen" /> +/** +* helper-function to display a tab +**/ +function showTab (id) { + document.getElementById (id).style.display = 'block'; +} + +/** +* register a tabbox +**/ +function registerTab (id) { + tabs.push (id); +} + +window.onload = function onloadHide () { + registerTab ('new'); + registerTab ('open'); + registerTab ('delete'); +/* registerTab ('upload'); + registerTab ('image');*/ + + displayTab ('xyz'); +} +--></script> +{/literal} + <form action="{$INDEX_FILE}?moduleid=phpcms-content" method="post" id="editor_main" class="editor"> + <div class="horizontal"> + <button type="button" name="action" value="new" onclick="switchTab('new');"><img src="{$MODULE_WEB}/phpcms-content/images/editor_new.png" alt="" /> {#button_new_file#} {#button_new#}</button> + <button type="button" name="action" value="open" onclick="switchTab('open');"><img src="{$MODULE_WEB}/phpcms-content/images/editor_edit.png" alt="" /> {#button_open_file#} {#button_open#}</button> + <button type="submit" name="action" value="save"><img src="{$MODULE_WEB}/phpcms-content/images/editor_save.png" alt="" /> {#button_save_file#} {#button_save#}</button> + <button type="button" name="action" value="delete" onclick="switchTab('delete');return false;"><img src="{$MODULE_WEB}/phpcms-content/images/editor_delete.png" alt="" /> {#button_delete#}</button> + <button type="submit" name="action" value="savexit"><img src="{$MODULE_WEB}/phpcms-content/images/editor_exit.png" alt="" /> {#button_save_file_exit#} {#button_saveexit#}</button> </div> {$EDITOR.ERROR} - <div id="new" style="display:block;"> - <h3>Neue Datei anlegen</h3> - <label for="input-newfile"> - <span><a href="{$HELP}#filename" onclick="return pop(this,'width=350,height=500,scrollbars,resizable','Hilfe');" onkeypress="verifyKey(this,event);">Dateiname</a></span> - <input type="text" name="input-newfile" id="input-newfile" /> - </label> - <label for="input-template"> - <span><a href="{$HELP}#selectstyle" onclick="return pop(this,'width=350,height=500,scrollbars,resizable','Hilfe');" onkeypress="verifyKey(this,event);">Vorlage wählen</a></span> - <select name="input-template" id="input-template"> - {$EDITOR.TPLSELECT} - </select> - </label> - <label for="input-newmenu"> - <span><a href="{$HELP}#selectdoc" onclick="return pop(this,'width=350,height=500,scrollbars,resizable','Hilfe');" onkeypress="verifyKey(this,event);">Menüpunkt auswählen</a></span> - <select name="input-newmenu" id="input-newmenu"> - {$MENUS} - </select> - </label> - <div class="label"> - <input type="radio" name="input-newmenu-position" id="input-newmenu-position" value="before" /><span>davor einfügen</span> - </div> - <div class="label"> - <input type="radio" name="input-newmenu-position" id="input-newmenu-position" value="after" selected="selected" /><span>dahinter einfügen</span> - </div> - <label for="input-newfile-submit"> - <input type="submit" name="input-newfile-submit" id="input-newfile-submit" class="editor-newfile" value="Datei anlegen" /> - </label> - </div> + <div id="new" class="hidden"> + <fieldset> + <legend>{#title_new_file#} Neue Datei anlegen</legend> + <label for="input-newfile"> + <span> + {#label_new_filename#} + </span> + <input type="text" name="input-newfile" id="input-newfile" /> + </label> + <label for="input-template"> + <span> + {#label_new_template#} + </span> + <select name="input-template" id="input-template"> + {$EDITOR.TPLSELECT} + </select> + </label> + <label for="input-newmenu"> + <span> + {#labelnew_menu#} + </span> + <select name="input-newmenu" id="input-newmenu"> + {foreach from=$moduledata.menus key=id item=menu} + <option value="{$id}">{$menu}</option> + {/foreach} + </select> + </label> + <div class="label"> + <span>davor einfügen</span> + <input type="radio" name="input-newmenu-position" id="input-newmenu-position" value="before" /> + </div> + <div class="label"> + <span>dahinter einfügen</span> + <input type="radio" name="input-newmenu-position" id="input-newmenu-position" value="after" selected="selected" /> + </div> + <label for="input-newfile-submit"> + <input type="submit" name="input-newfile-submit" id="input-newfile-submit" class="editor-newfile" value="Datei anlegen" /> + </label> + </fieldset> + </div> - <div id="open" style="display:block;"> - <h3>Dokument öffnen und editieren</h3> + <div id="open" class="hidden"> + <fieldset> + <legend>Dokument öffnen und editieren</legend> <label for="input-openfile"> - <span><a href="{$HELP}#selectdoc" onclick="return pop(this,'width=350,height=500,scrollbars,resizable','Hilfe');" onkeypress="verifyKey(this,event);">Dokument auswählen</a></span> - <select name="input-openfile" id="input-openfile"> - {$MENUS1} + <span>Dokument auswählen</span> + <div class="dialogue"> + {$MENUS1} + </div> </select> </label> <label for="input-openfile-submit"> <input type="submit" name="input-openfile-submit" id="input-openfile-submit" class="editor-openfile" value="Datei öffnen" /> </label> + </fieldset> </div> - <div id="delete" style="display:block;"> - <h3>Dokument löschen</h3> + <div id="delete" class="hidden"> + <fieldset> + <legend>Dokument löschen</legend> <label for="input-delfile"> <span><a href="{$HELP}#del" onclick="return pop(this,'width=350,height=500,scrollbars,resizable','Hilfe');" onkeypress="verifyKey(this,event);">Dokument auswählen</a></span> <select name="input-delfile" id="input-delfile"> @@ -98,38 +141,133 @@ <label for="input-delfile-submit"> <input type="submit" name="input-delfile-submit" id="input-delfile-submit" class="editor-delfile" value="Datei löschen" /> </label> + </fieldset> </div> </fieldset> + <script src="{$MODULE_WEB}/phpcms-content/wysiwyg/tiny_mce/tiny_mce.js" type="text/javascript"></script> +<h2>Contentfields</h2> + {literal} + <script type="text/javascript"> + <!-- + tinyMCE.init({ + mode : "textareas", + theme : "advanced", + plugins : "table,advimage,advlink,insertdatetime,flash,searchreplace", + theme_advanced_buttons1_add_before : "cut,copy,paste,separator,search,replace,separator", + theme_advanced_buttons2_add : "flash,separator,insertdate,inserttime,separator,forecolor,backcolor", + theme_advanced_buttons3_add_before : "tablecontrols,separator", + theme_advanced_toolbar_location : "top", + theme_advanced_toolbar_align : "left", + theme_advanced_path_location : "bottom", + content_css : "example_full.css", + plugin_insertdate_dateFormat : "%Y-%m-%d", + plugin_insertdate_timeFormat : "%H:%M:%S", + extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]", + external_link_list_url : "example_link_list.js", + external_image_list_url : "example_image_list.js", + flash_external_list_url : "example_flash_list.js", + file_browser_callback : "fileBrowserCallBack" + }); - {if $WYSIWYG.NAME == 'HTMLAREA'} <textarea name="input-content-{$INPUT.ID}" id="input-content-{$INPUT.ID}" rows="20" cols="40">{$INPUT.VALUE}</textarea> - <script language='javascript1.2'>HTMLArea.replace('input-content-{$FIELD}')</script> - {/if} - {if $WYSIWYG.NAME == 'FCKEDITOR'} <textarea name="input-content-{$INPUT.ID}" id="input-content-{$INPUT.ID}" rows="20" cols="40">{$INPUT.VALUE}</textarea> - <script type="text/javascript"> - var oFCKEditor = new FCKEditor ('input-content-{$FIELD}'); - oFCKEditor.ReplaceTextarea (); - </script> - {/if} - {if $WYSIWYG.NAME == 'WYSIWYM'} - <div class="label"> - <img src="{$WYSIWYG.PATH}/edit/boldbtn.gif" width="18" height="18" title="Highlight some text and click for bold" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapTag(document.getElementById('input-content-{$INPUT.ID}'), '<b>', '</b>');" /> - <img src="{$WYSIWYG.PATH}/edit/italicbtn.gif" width="18" height="18" title="Highlight some text and click for italic" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapTag(document.getElementById('input-content-{$INPUT.ID}'), '<em>', '</em>')" /> - <img src="{$WYSIWYG.PATH}/edit/underlinebtn.gif" width="18" height="18" title="Highlight some text and click for underlined" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapTag(document.getElementById('input-content-{$INPUT.ID}'), '<u>', '</u>')" /> - <img src="{$WYSIWYG.PATH}/edit/centerbtn.gif" width="18" height="18" title="Highlight some text and click to center" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapTag(document.getElementById('input-content-{$INPUT.ID}'), '<p class=%22center%22>', '</p>')" /> - <img src="{$WYSIWYG.PATH}/edit/rightbtn.gif" width="18" height="18" title="Highlight some text and click to right align" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapTag(document.getElementById('input-content-{$INPUT.ID}'), '<p class=%22right%22>', '</p>')" /> - <img src="{$WYSIWYG.PATH}/edit/blockquotebtn.gif" width="18" height="18" title="Highlight some text and click for a blockquote" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapTag(document.getElementById('input-content-{$INPUT.ID}'), '<blockquote>', '</blockquote>')" /> - <img src="{$WYSIWYG.PATH}/edit/blistbtn.gif" width="18" height="18" title="Highlight some text and click for a bulleted list" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapTag(document.getElementById('input-content-{$INPUT.ID}'), '<li>', '</li>')" /> - <img src="{$WYSIWYG.PATH}/edit/prebtn.gif" width="18" height="18" title="Highlight some text and click for pre" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapTag(document.getElementById('input-content-{$INPUT.ID}'), '<pre>', '</pre>')" /> - <img src="{$WYSIWYG.PATH}/edit/rulebtn.gif" width="18" height="18" title="Insert a horizontal rule" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="insertTag(document.getElementById('input-content-{$INPUT.ID}'),'<hr />');" /> - <img src="{$WYSIWYG.PATH}/edit/picbtn.gif" width="18" height="18" title="Insert an image" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="insertImage(document.getElementById('input-content-{$INPUT.ID}'));" /> - <img src="{$WYSIWYG.PATH}/edit/linkbtn.gif" width="18" height="18" title="Highlight some text and click to add a link" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapWithLink(document.getElementById('input-content-{$INPUT.ID}'));" /> - <img src="{$WYSIWYG.PATH}/edit/acronymbtn.gif" width="18" height="18" title="Highlight some text and click to add a acronym" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapWithTitle(document.getElementById('input-content-{$INPUT.ID}'), 'acronym');"> - <img src="{$WYSIWYG.PATH}/edit/abbrbtn.gif" width="23" height="18" title="Highlight some text and click to add a abbr" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapWithTitle(document.getElementById('input-content-{$INPUT.ID}'), 'abbr');"> - <img src="{$WYSIWYG.PATH}/edit/quotebtn.gif" width="18" height="18" title="Highlight some text and click for q" class="buttons" onmouseover="mouseover(this);" onmouseout="mouseout(this);" onmousedown="mousedown(this);" onmouseup="mouseup(this);" onclick="wrapTag(document.getElementById('input-content-{$INPUT.ID}'), '<q>', '</q>')"> - </div> - <textarea name="input-content-{$INPUT.ID}" id="input-content-{$INPUT.ID}" rows="20" cols="40">{$INPUT.VALUE}</textarea> - {/if} + function fileBrowserCallBack(field_name, url, type) { + // This is where you insert your custom filebrowser logic + alert("Filebrowser callback: " + field_name + "," + url + "," + type); + } + --> + </script> + {/literal} + <h3>CONTENT</h3> + <textarea name="contentfield-" rows="35" cols="120"> +<h1>phpCMS-Demo - Home » Startseite</h1> + + <h2>Willkommen bei <strong><em>php</em>CMS</strong>!</h2> + +<p>Wenn Sie diese Seite inklusive der Menüs am oberen Rand sehen, läuft der Parser!</p> + + +<p><strong>Sie können mit den Menüs auf die anderen Seiten wechseln.</strong></p> + +<!-- PHPCMS_NOINDEX --> +<p>Diese Textzeile ist in einem Noindex-Tag eingeschlossen und sollte vom HTTP-Indexer nicht indiziert werden.<!-- /PHPCMS_NOINDEX --> +<br />Dieser (tote) <!-- PHPCMS_NOFOLLOW --><a href="/parser/parser.php?file=/demo-de/deadlink.htm">Link</a><!-- /PHPCMS_NOFOLLOW --> ist in einem Nofollow-Tag eingeschlossen und sollte vom HTTP-Indexer nicht gespidert werden.</p> + +phpCMS Plugin-Test + +<p>Viel Spaß mit <strong><em>php</em>CMS</strong>!</p> +<hr /> +<h2 style="text-align:center"><strong>phpMail2Crypt</strong></h2> +<p style="text-align:center">SPAM Schutz durch automatische „Verschlüsselung” von E-Mail Adressen. + +<br /> +<span style="color:red">NEU!</span> phpMail2Crypt arbeitet jetzt unabhängig von PAX! <span style="color:red">NEU!</span></p> + +<p>phpMail2Crypt verwendet eine Kombination verschiedener Techniken, um es sogenannten Spambots zu erschweren, E-Mail Adressen zu sammeln:</p> +<ul> +<li>JavaScript Ver- und Entschlüsselung</li> +<li>ASCII-Verschlüsselung</li> + +<li>Bild-Datei</li> +</ul> +<p>Zwar kann es keinen 100%igen Schutz gegen Spambots geben, mit phpMail2Crypt machen Sie ihnen das Leben aber erheblich schwerer!</p> +<br /> +<p>Einfaches Beispiel: +</p> +<dl> + <dt> + <strong>Schritt 1:</strong> E-Mail Adresse (z.B. "no...@ph...") in Content Datei schreiben: + </dt> + <dd><br /><strong><!-- MAIL2CRYPT no...@ph... --></strong><br /> + + </dd> + + <dt> + <br /><strong>Schritt 2:</strong> Automatische Umwandlung: <br /><br /> + </dt> + <dd><script type="text/javascript" ><!--//--><![CDATA[//><!-- + <br /><strong>showmail( "87889289748641898189768692237778")</strong> + + <br />//--><!]]></script><br /><br /></dd> + + <dt> + <strong>Schritt 3:</strong> Ausgabe im Browser:<br /><br /> + </dt> + <dd>Variante A: <strong><!-- MAIL2CRYPT no...@ph... --></strong> + + <br />Ausgabe: <script type="text/javascript" ><!--//--><![CDATA[//><!-- +showmail("87889289748641898189768692237778", "", "", "", "") +//--><!]]></script><noscript>nospam<img src="/parser/gif/at.gif" width="11" height="12" border="0" alt="@" />phpcms.de</noscript><br /><br /> + </dd> + <dd>Variante B: <strong><!-- MAIL2CRYPT no...@ph...,Schreib mir --></strong> + <br />Ausgabe: <script type="text/javascript" ><!--//--><![CDATA[//><!-- +showmail("87889289748641898189768692237778", "Schreib mir", "", "", "") +//--><!]]></script><noscript>Schreib mir (nospam<img src="/parser/gif/at.gif" width="11" height="12" border="0" alt="@" />phpcms.de)</noscript><br /><br /> + </dd> + + <dd>Variante C: <strong><!-- MAIL2CRYPT no...@ph...,Schreib mir,icon --></strong> + <br />Ausgabe: <script type="text/javascript" ><!--//--><![CDATA[//><!-- +showmail("87889289748641898189768692237778", "Schreib mir", "/parser/gif/mail.gif", "14", "10") +//--><!]]></script><noscript>Schreib mir <img src="/parser/gif/mail.gif" width="14" height="10" border="0" alt="" /> (nospam<img src="/parser/gif/at.gif" width="11" height="12" border="0" alt="@" />phpcms.de)</noscript><br /><br /> + </dd> + <dd><noscript> nospam<img src="/demo-de/gif/at.gif" width="11" height="12" align="bottom" border="0" alt="@" />phpcms.de</dd> + +</dl> +<p>Ist "Mail2Crypt" im GUI ausgeschaltet, werden E-Mail Adressen normal im Text dargestellt. +</p> +<p> </p> +<p> </p> + + + <p>Output of embedded script / Ausgabe eines eingebetteten Scripts:</p><p>Browser: Mozilla/5.0 (X11; U; Linux i686; de-DE; rv:1.7.8) Gecko/20050517 Firefox/1.0.4 (Debian package 1.0.4-2)<br /> +IP-Nummer: 84.179.186.127<br /> +SCRIPT_FILENAME: /var/kunden/web3/html/phpcms-demo/parser/parser.php<br /> +SCRIPT_NAME: /parser/parser.php<br /> + +QUERY_STRING: file=/demo-de/index.htm<br /> +PATH_INFO: <br /> +PATH_TRANSLATED: /var/kunden/web3/html/phpcms-demo/parser/parser.php<br /> +Testvariable: Kuckuck! +</p> </textarea> {$EDITOR.EDIT} </form> </div> |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:04
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/filemanager/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/filemanager/templates Added Files: module_filemanager.tpl Log Message: beginning of phpcms-content and filemanager --- NEW FILE: module_filemanager.tpl --- {config_load file="`$MODULE_PATH`/filemanager/module_filemanager_`$LANG`.lng" scope="local"} <h1>{#title_filemanager#}</h1> <h3>{#title_basedir#} {$moduledata.basedir}</h3> {literal} <style type="text/css"> <!-- input.image { border:0; padding:0; } td em { color:#029544; font-weight:bold; font-style:normal; } --> </style> {/literal} <form action="{$INDEX_FILE}?moduleid=filemanager" method="post"> <table id="table_filemanager"> <thead> <tr> <th colspan="3"> </th> <th>Filename</th> <th>Modified</th> <th>Size</th> <th>Perm</th> </tr> </thead> <tfoot> <tr> <td colspan="3"> <input type="image" class="image" src="{$MODULE_WEB}/filemanager/images/delete.gif" alt="del" /> </td> <td>{$moduledata.counter.dirs} directories and {$moduledata.counter.files} files</td> <td> </td> <td style="text-align:right">{$moduledata.counter.sizes}</td> <td> </td> </tr> </tfoot> <tbody> {assign var=i value=1} {foreach from=$moduledata.structure item=file} {if ($i == 2)} {assign var=i value=1} {else} {assign var=i value=2} {/if} {if $file.type == 'parent'} {assign var=viewimage value="parent.gif"} {else} {if $file.type == 'folder'} {if $file.nolink == 1} {assign var=viewimage value="folder_inactive.gif"} {else} {assign var=viewimage value="folder.gif"} {/if} {else} {if $file.type == 'symlinkdir'} {assign var=viewimage value="symlink.gif"} {else} {assign var=viewimage value="`$file.type`"} {/if} {/if} {/if} <tr class="line{$i}"> <td><input type="checkbox" name="select-file[{$file.filename}]" value="1" /></td> {if $file.nolink == 1} {if $file.type == 'symlink' || $file.type == 'symlinkdir'} <td><img src="{$MODULE_WEB}/filemanager/images/filetypes/symlink.gif" width="16" alt="16" alt="" /></td> {else} <td><img src="{$MODULE_WEB}/filemanager/images/empty.gif" width="16" alt="16" alt="" /></td> {/if} {else} {if $file.type == 'folder' || $file.type == 'parent' || $file.type == 'symlinkdir'} <td><input type="image" class="image" src="{$MODULE_WEB}/filemanager/images/filetypes/{$viewimage}" name="basedir" value="{$moduledata.basedir}{$file.filename}" alt="view" /></td> {else} <td><input type="image" class="image" src="{$MODULE_WEB}/filemanager/images/filetypes/{$viewimage}" name="viewfile" value="{$moduledata.basedir}{$file.filename}" alt="view" /></td> {/if} {/if} {if $file.nolink == 1 || $file.writeable == 0 || $file.type == 'folder' || $file == 'parent'} <td><img src="{$MODULE_WEB}/filemanager/images/empty.gif" width="16" alt="16" alt="view" /></td> {else} <td><input type="image" class="image" src="{$MODULE_WEB}/filemanager/images/edit.gif" name="edit-file" value="{$file.filename}" alt="edit" /></td> {/if} <td width="80%">{$file.filename}</td> <td style="text-align:right">{$file.filemtime|date_format:"%d.%m.%G %H:%M:%S"}</td> <td style="text-align:right" nowrap="nowrap">{$file.filesize}</td> <td style="text-align:right">{$file.chmod.oct}</td> </tr> {/foreach} </tbody> </table> </form> |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:03
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/error In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/error Removed Files: class.module_error.php Log Message: beginning of phpcms-content and filemanager --- class.module_error.php DELETED --- |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:03
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/config In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/config Removed Files: class.module_config.php config.dtd config.xml modules.ini Log Message: beginning of phpcms-content and filemanager --- config.xml DELETED --- --- class.module_config.php DELETED --- --- modules.ini DELETED --- --- config.dtd DELETED --- |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:02
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/plugins/table/langs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/plugins/table/langs Added Files: readme.txt de.js pt.js ja.js fi.js fa.js sv.js fr.js cs.js hu.js ar.js ko.js it.js el.js pl.js no.js da.js zh_cn.js tw.js es.js nl.js fr_ca.js en.js Log Message: beginning of phpcms-content and filemanager --- NEW FILE: ar.js --- // Arabic lang variables tinyMCELang['lang_table_desc'] = 'إدراج/تحرير جدول'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Insert row before'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Insert row after'; tinyMCELang['lang_table_delete_row_desc'] = 'حذف صفوف'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Insert column before'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Insert column after'; tinyMCELang['lang_table_delete_col_desc'] = 'حذف أعمدة'; tinyMCELang['lang_insert_table_title'] = 'إدراج/تحرير جدول'; tinyMCELang['lang_insert_table_width'] = 'العرض'; tinyMCELang['lang_insert_table_height'] = 'الارتفاع'; tinyMCELang['lang_insert_table_cols'] = 'أعمدة'; tinyMCELang['lang_insert_table_rows'] = 'صفوف'; tinyMCELang['lang_insert_table_cellspacing'] = 'تباعد الخلايا'; tinyMCELang['lang_insert_table_cellpadding'] = 'المسافة البادئة'; tinyMCELang['lang_insert_table_border'] = 'سمك الحدود'; tinyMCELang['lang_insert_table_align'] = 'المحاذاة'; tinyMCELang['lang_insert_table_align_default'] = 'Default'; tinyMCELang['lang_insert_table_align_left'] = 'يسار'; tinyMCELang['lang_insert_table_align_right'] = 'يمين'; tinyMCELang['lang_insert_table_align_middle'] = 'وسط'; tinyMCELang['lang_insert_table_class'] = 'Class'; tinyMCELang['lang_table_row_title'] = 'Table row properties'; tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; tinyMCELang['lang_table_row_desc'] = 'Table row properties'; tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; tinyMCELang['lang_insert_table_align_top'] = 'Top'; tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; tinyMCELang['lang_table_props_desc'] = 'Table properties'; tinyMCELang['lang_table_bordercolor'] = 'Border color'; tinyMCELang['lang_table_bgcolor'] = 'Bg color'; --- NEW FILE: tw.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: nl.js --- // NL lang variables tinyMCELang['lang_table_desc'] = 'Voeg een nieuwe tabel in'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Voeg rij in voor ...'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Voeg rij in na ...'; tinyMCELang['lang_table_delete_row_desc'] = 'Verwijder rij'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Voeg kolom in voor ...'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Voeg kolom in na ...'; tinyMCELang['lang_table_delete_col_desc'] = 'Verwijder kolom'; tinyMCELang['lang_insert_table_title'] = 'Invoegen/Bewerken tabel'; tinyMCELang['lang_insert_table_width'] = 'Breedte'; tinyMCELang['lang_insert_table_height'] = 'Hoogte'; tinyMCELang['lang_insert_table_cols'] = 'Kolommen'; tinyMCELang['lang_insert_table_rows'] = 'Rijen'; tinyMCELang['lang_insert_table_cellspacing'] = 'Celafstand'; tinyMCELang['lang_insert_table_cellpadding'] = 'Celvulling'; tinyMCELang['lang_insert_table_border'] = 'Omranding'; tinyMCELang['lang_insert_table_align'] = 'Positionering'; tinyMCELang['lang_insert_table_align_default'] = 'Standaard'; tinyMCELang['lang_insert_table_align_left'] = 'Links'; tinyMCELang['lang_insert_table_align_right'] = 'Rechts'; tinyMCELang['lang_insert_table_align_middle'] = 'Midden'; tinyMCELang['lang_insert_table_class'] = 'CSS-Stijl'; tinyMCELang['lang_table_row_title'] = 'Table row properties'; tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; tinyMCELang['lang_table_row_desc'] = 'Table row properties'; tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; tinyMCELang['lang_insert_table_align_top'] = 'Top'; tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; tinyMCELang['lang_table_props_desc'] = 'Table properties'; tinyMCELang['lang_table_bordercolor'] = 'Border color'; tinyMCELang['lang_table_bgcolor'] = 'Bg color'; --- NEW FILE: no.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: it.js --- // Variabili di lingua IT - fab...@lo... tinyMCELang['lang_table_desc'] = 'Inserisci una nuova tabella'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Inserisci una riga prima'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Inserisci una riga dopo'; tinyMCELang['lang_table_delete_row_desc'] = 'Cancella riga'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Inserisci colonna prima'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Inserisci colonna dopo'; tinyMCELang['lang_table_delete_col_desc'] = 'Rimuovi colonna'; tinyMCELang['lang_insert_table_title'] = 'Inserisci/modifica tabella'; tinyMCELang['lang_insert_table_width'] = 'Larghezza'; tinyMCELang['lang_insert_table_height'] = 'Altezza'; tinyMCELang['lang_insert_table_cols'] = 'Colonne'; tinyMCELang['lang_insert_table_rows'] = 'Righe'; tinyMCELang['lang_insert_table_cellspacing'] = 'Cellspacing'; tinyMCELang['lang_insert_table_cellpadding'] = 'Cellpadding'; tinyMCELang['lang_insert_table_border'] = 'Bordo'; tinyMCELang['lang_insert_table_align'] = 'Allineamento'; tinyMCELang['lang_insert_table_align_default'] = 'Default'; tinyMCELang['lang_insert_table_align_left'] = 'Sinistra'; tinyMCELang['lang_insert_table_align_right'] = 'Destra'; tinyMCELang['lang_insert_table_align_middle'] = 'Centro'; tinyMCELang['lang_insert_table_class'] = 'Classe'; tinyMCELang['lang_table_row_title'] = 'Table row properties'; tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; tinyMCELang['lang_table_row_desc'] = 'Table row properties'; tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; tinyMCELang['lang_insert_table_align_top'] = 'Top'; tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; tinyMCELang['lang_table_props_desc'] = 'Table properties'; tinyMCELang['lang_table_bordercolor'] = 'Border color'; tinyMCELang['lang_table_bgcolor'] = 'Bg color'; --- NEW FILE: fr.js --- // French lang variables by Laurent Dran tinyMCELang['lang_table_desc'] = 'Insérer un nouveau tableau'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Insérer une ligne avant'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Insérer une ligne aprés'; tinyMCELang['lang_table_delete_row_desc'] = 'Supprimer la ligne'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Insérer une colonne avant'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Insérer une colonne aprés'; tinyMCELang['lang_table_delete_col_desc'] = 'Supprimer la colonne'; tinyMCELang['lang_insert_table_title'] = 'Insérer/Modifier le tableau'; tinyMCELang['lang_insert_table_width'] = 'Largeur'; tinyMCELang['lang_insert_table_height'] = 'Hauteur'; tinyMCELang['lang_insert_table_cols'] = 'Colonnes'; tinyMCELang['lang_insert_table_rows'] = 'Lignes'; tinyMCELang['lang_insert_table_cellspacing'] = 'Cellspacing'; tinyMCELang['lang_insert_table_cellpadding'] = 'Cellpadding'; tinyMCELang['lang_insert_table_border'] = 'Bordure'; tinyMCELang['lang_insert_table_align'] = 'Alignement'; tinyMCELang['lang_insert_table_align_default'] = 'Défaut'; tinyMCELang['lang_insert_table_align_left'] = 'Gauche'; tinyMCELang['lang_insert_table_align_right'] = 'Droit'; tinyMCELang['lang_insert_table_align_middle'] = 'Milieu'; tinyMCELang['lang_insert_table_class'] = 'Classe CSS'; tinyMCELang['lang_table_row_title'] = 'Propriétés de la rangée'; tinyMCELang['lang_table_cell_title'] = 'Propriétés de la cellule'; tinyMCELang['lang_table_row_desc'] = 'Propriétés de la rangée'; tinyMCELang['lang_table_cell_desc'] = 'Propriétés de la cellule'; tinyMCELang['lang_insert_table_valign'] = 'Alignement Vertical'; tinyMCELang['lang_insert_table_align_top'] = 'Haut'; tinyMCELang['lang_insert_table_align_bottom'] = 'Bas'; tinyMCELang['lang_table_props_desc'] = 'Table properties'; tinyMCELang['lang_table_bordercolor'] = 'Border color'; tinyMCELang['lang_table_bgcolor'] = 'Bg color'; --- NEW FILE: pl.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: readme.txt --- Theme specific language packs. The language pack codes are based on ISO-639-2 http://www.loc.gov/standards/iso639-2/englangn.html --- NEW FILE: hu.js --- // HU lang variables, Edited by 2XP (2x...@di...) tinyMCELang['lang_table_desc'] = 'Új táblázat beillesztése'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Sor beillesztése elé'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Sor beillesztése utána'; tinyMCELang['lang_table_delete_row_desc'] = 'Sor törlése'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Oszlop beillsztése elé'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Oszlop beillesztése utána'; tinyMCELang['lang_table_delete_col_desc'] = 'Oszlop eltávolítása'; tinyMCELang['lang_insert_table_title'] = 'Tábla beillesztése/módosítása'; tinyMCELang['lang_insert_table_width'] = 'Szélesség'; tinyMCELang['lang_insert_table_height'] = 'Magasság'; tinyMCELang['lang_insert_table_cols'] = 'Oszlopok'; tinyMCELang['lang_insert_table_rows'] = 'Sorok'; tinyMCELang['lang_insert_table_cellspacing'] = 'Cellspacing'; tinyMCELang['lang_insert_table_cellpadding'] = 'Cellpadding'; tinyMCELang['lang_insert_table_border'] = 'Keret'; tinyMCELang['lang_insert_table_align'] = 'Igazítás'; tinyMCELang['lang_insert_table_align_default'] = 'Alapértelmezett'; tinyMCELang['lang_insert_table_align_left'] = 'Balra'; tinyMCELang['lang_insert_table_align_right'] = 'Jobbra'; tinyMCELang['lang_insert_table_align_middle'] = 'Középre'; tinyMCELang['lang_insert_table_class'] = 'Class'; tinyMCELang['lang_table_row_title'] = 'Table row properties'; tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; tinyMCELang['lang_table_row_desc'] = 'Table row properties'; tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; tinyMCELang['lang_insert_table_align_top'] = 'Top'; tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; tinyMCELang['lang_table_props_desc'] = 'Table properties'; tinyMCELang['lang_table_bordercolor'] = 'Border color'; tinyMCELang['lang_table_bgcolor'] = 'Bg color'; --- NEW FILE: ko.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: da.js --- // DK lang variables contributed by Jan Moelgaard tinyMCELang['lang_table_desc'] = 'Indsætter en ny tabel'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Indsæt række foran'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Indsæt række efter'; tinyMCELang['lang_table_delete_row_desc'] = 'Slet række'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Indsæt kolonne foran'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Indslt kolonne efter'; tinyMCELang['lang_table_delete_col_desc'] = 'Fjern kolonne'; tinyMCELang['lang_insert_table_title'] = 'Indsæt/rediger tabel'; tinyMCELang['lang_insert_table_width'] = 'Bredde'; tinyMCELang['lang_insert_table_height'] = 'Højde'; tinyMCELang['lang_insert_table_cols'] = 'Kolonner'; tinyMCELang['lang_insert_table_rows'] = 'Rækker'; tinyMCELang['lang_insert_table_cellspacing'] = 'Afstand mellem celler'; tinyMCELang['lang_insert_table_cellpadding'] = 'Cellemargen'; tinyMCELang['lang_insert_table_border'] = 'Kant'; tinyMCELang['lang_insert_table_align'] = 'Justering'; tinyMCELang['lang_insert_table_align_default'] = 'Standard'; tinyMCELang['lang_insert_table_align_left'] = 'Venstre'; tinyMCELang['lang_insert_table_align_right'] = 'Højre'; tinyMCELang['lang_insert_table_align_middle'] = 'Midt i'; tinyMCELang['lang_insert_table_class'] = 'Klasse'; tinyMCELang['lang_table_row_title'] = 'Table row properties'; tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; tinyMCELang['lang_table_row_desc'] = 'Table row properties'; tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; tinyMCELang['lang_insert_table_align_top'] = 'Top'; tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; tinyMCELang['lang_table_props_desc'] = 'Table properties'; tinyMCELang['lang_table_bordercolor'] = 'Border color'; tinyMCELang['lang_table_bgcolor'] = 'Bg color'; --- NEW FILE: cs.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: de.js --- // DE lang variables tinyMCELang['lang_table_desc'] = 'Neue Tabelle einfügen / Tabelle bearbeiten'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Zeile davor einfügen'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Zeile danach einfügen'; tinyMCELang['lang_table_delete_row_desc'] = 'Zeile löschen'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Spalte davor einfügen'; tinyMCELang['lang_table_insert_col_after_desc'] = ' Spalte danach einfügen'; tinyMCELang['lang_table_delete_col_desc'] = 'Spalte löschen'; tinyMCELang['lang_insert_table_title'] = 'Tabelle Einfügen/Bearbeiten'; tinyMCELang['lang_insert_table_width'] = 'Breite'; tinyMCELang['lang_insert_table_height'] = 'Höhe'; tinyMCELang['lang_insert_table_cols'] = 'Spalten'; tinyMCELang['lang_insert_table_rows'] = 'Zeilen'; tinyMCELang['lang_insert_table_cellspacing'] = 'Außenabstand'; tinyMCELang['lang_insert_table_cellpadding'] = 'Innenabstand'; tinyMCELang['lang_insert_table_border'] = 'Rahmen'; tinyMCELang['lang_insert_table_align'] = 'Ausrichten'; tinyMCELang['lang_insert_table_align_default'] = 'Normal'; tinyMCELang['lang_insert_table_align_left'] = 'Links'; tinyMCELang['lang_insert_table_align_right'] = 'Rechts'; tinyMCELang['lang_insert_table_align_middle'] = 'Zentriert'; tinyMCELang['lang_insert_table_class'] = 'Klasse'; tinyMCELang['lang_table_row_title'] = 'Zeileneigenschaften'; tinyMCELang['lang_table_cell_title'] = 'Zelleneigenschaften'; tinyMCELang['lang_table_row_desc'] = 'Reiheneigenschaften'; tinyMCELang['lang_table_cell_desc'] = 'Zelleneigenschaften'; tinyMCELang['lang_insert_table_valign'] = 'Vertikale Ausrichtung'; tinyMCELang['lang_insert_table_align_top'] = 'Oben'; tinyMCELang['lang_insert_table_align_bottom'] = 'Unten'; tinyMCELang['lang_table_props_desc'] = 'Tabelleneigenschaften'; tinyMCELang['lang_table_bordercolor'] = 'Rahmenfarbe'; tinyMCELang['lang_table_bgcolor'] = 'Hintergrundfarbe'; --- NEW FILE: el.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: zh_cn.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ja.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: en.js --- // UK lang variables tinyMCELang['lang_table_desc'] = 'Inserts a new table'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Insert row before'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Insert row after'; tinyMCELang['lang_table_delete_row_desc'] = 'Delete row'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Insert column before'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Insert column after'; tinyMCELang['lang_table_delete_col_desc'] = 'Remove col'; tinyMCELang['lang_insert_table_title'] = 'Insert/Modify table'; tinyMCELang['lang_insert_table_width'] = 'Width'; tinyMCELang['lang_insert_table_height'] = 'Height'; tinyMCELang['lang_insert_table_cols'] = 'Columns'; tinyMCELang['lang_insert_table_rows'] = 'Rows'; tinyMCELang['lang_insert_table_cellspacing'] = 'Cellspacing'; tinyMCELang['lang_insert_table_cellpadding'] = 'Cellpadding'; tinyMCELang['lang_insert_table_border'] = 'Border'; tinyMCELang['lang_insert_table_align'] = 'Alignment'; tinyMCELang['lang_insert_table_align_default'] = 'Default'; tinyMCELang['lang_insert_table_align_left'] = 'Left'; tinyMCELang['lang_insert_table_align_right'] = 'Right'; tinyMCELang['lang_insert_table_align_middle'] = 'Center'; tinyMCELang['lang_insert_table_class'] = 'Class'; tinyMCELang['lang_table_row_title'] = 'Table row properties'; tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; tinyMCELang['lang_table_row_desc'] = 'Table row properties'; tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; tinyMCELang['lang_insert_table_align_top'] = 'Top'; tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; tinyMCELang['lang_table_props_desc'] = 'Table properties'; tinyMCELang['lang_table_bordercolor'] = 'Border color'; tinyMCELang['lang_table_bgcolor'] = 'Bg color'; --- NEW FILE: pt.js --- // PT lang variables tinyMCELang['lang_table_desc'] = 'Insere uma nova tabela'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Inserir linha antes'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Inserir linha depois'; tinyMCELang['lang_table_delete_row_desc'] = 'Eliminar linha'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Inserir coluna antes'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Inserir coluna depois'; tinyMCELang['lang_table_delete_col_desc'] = 'Remover coluna'; tinyMCELang['lang_insert_table_title'] = 'Inserir/Modificar tabela'; tinyMCELang['lang_insert_table_width'] = 'Largura'; tinyMCELang['lang_insert_table_height'] = 'Altura'; tinyMCELang['lang_insert_table_cols'] = 'Colunas'; tinyMCELang['lang_insert_table_rows'] = 'Linhas'; tinyMCELang['lang_insert_table_cellspacing'] = 'Espaça<br/>mento'; tinyMCELang['lang_insert_table_cellpadding'] = 'Margem interior'; tinyMCELang['lang_insert_table_border'] = 'Borda'; tinyMCELang['lang_insert_table_align'] = 'Alinhamento'; tinyMCELang['lang_insert_table_align_default'] = 'Por omissão'; tinyMCELang['lang_insert_table_align_left'] = 'Esquerda'; tinyMCELang['lang_insert_table_align_right'] = 'Direita'; tinyMCELang['lang_insert_table_align_middle'] = 'Centrado'; tinyMCELang['lang_insert_table_class'] = 'Classe de CSS'; tinyMCELang['lang_table_row_title'] = 'Table row properties'; tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; tinyMCELang['lang_table_row_desc'] = 'Table row properties'; tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; tinyMCELang['lang_insert_table_align_top'] = 'Top'; tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; tinyMCELang['lang_table_props_desc'] = 'Table properties'; tinyMCELang['lang_table_bordercolor'] = 'Border color'; tinyMCELang['lang_table_bgcolor'] = 'Bg color'; --- NEW FILE: fi.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: es.js --- // ES lang variables by Alvaro Velasco tinyMCELang['lang_table_desc'] = 'Insertar una tabla nueva'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Insertar una fila antes'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Insertar una fila despues'; tinyMCELang['lang_table_delete_row_desc'] = 'Eliminar una fila'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Insertar una columna before'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Insertar columna after'; tinyMCELang['lang_table_delete_col_desc'] = 'Eliminar una columna'; tinyMCELang['lang_insert_table_title'] = 'Insertar/Modificar tabla'; tinyMCELang['lang_insert_table_width'] = 'Anchura'; tinyMCELang['lang_insert_table_height'] = 'Altura'; tinyMCELang['lang_insert_table_cols'] = 'Columnas'; tinyMCELang['lang_insert_table_rows'] = 'Filas'; tinyMCELang['lang_insert_table_cellspacing'] = 'Espacio entre celdas'; tinyMCELang['lang_insert_table_cellpadding'] = 'Desplazamiento entre celdas'; tinyMCELang['lang_insert_table_border'] = 'Borde'; tinyMCELang['lang_insert_table_align'] = 'Alineamiento'; tinyMCELang['lang_insert_table_align_default'] = 'Por defecto'; tinyMCELang['lang_insert_table_align_left'] = 'Izquierda'; tinyMCELang['lang_insert_table_align_right'] = 'Derecha'; tinyMCELang['lang_insert_table_align_middle'] = 'Centro'; tinyMCELang['lang_insert_table_class'] = 'Class'; tinyMCELang['lang_table_row_title'] = 'Table row properties'; tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; tinyMCELang['lang_table_row_desc'] = 'Table row properties'; tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; tinyMCELang['lang_insert_table_align_top'] = 'Top'; tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; tinyMCELang['lang_table_props_desc'] = 'Table properties'; tinyMCELang['lang_table_bordercolor'] = 'Border color'; tinyMCELang['lang_table_bgcolor'] = 'Bg color'; --- NEW FILE: fa.js --- // IR lang variables // Persian (Farsi) language pack (for IRAN) // By: Morteza Zafari // Lo...@Lo... // http://www.LostLord.com tinyMCELang['lang_table_desc'] = '??? ???? ????'; tinyMCELang['lang_table_insert_row_before_desc'] = '??? ??? ???? ??? ?? ??? ????'; tinyMCELang['lang_table_insert_row_after_desc'] = '??? ??? ???? ?? ?? ??? ????'; tinyMCELang['lang_table_delete_row_desc'] = '??? ???'; tinyMCELang['lang_table_insert_col_before_desc'] = '??? ???? ???? ??? ?? ???? ????'; tinyMCELang['lang_table_insert_col_after_desc'] = '??? ???? ???? ?? ?? ???? ????'; tinyMCELang['lang_table_delete_col_desc'] = '??? ????'; tinyMCELang['lang_insert_table_title'] = '??? ? ?????? ????'; tinyMCELang['lang_insert_table_width'] = '???'; tinyMCELang['lang_insert_table_height'] = '??????'; tinyMCELang['lang_insert_table_cols'] = '????? ??????'; tinyMCELang['lang_insert_table_rows'] = '????? ?????'; tinyMCELang['lang_insert_table_cellspacing'] = '????? ?? ???? ????'; tinyMCELang['lang_insert_table_cellpadding'] = '????? ??? ?? ?????? ????'; tinyMCELang['lang_insert_table_border'] = '?????'; tinyMCELang['lang_insert_table_align'] = '??? ???? ????'; tinyMCELang['lang_insert_table_align_default'] = '??? ???'; tinyMCELang['lang_insert_table_align_left'] = '??'; tinyMCELang['lang_insert_table_align_right'] = '????'; tinyMCELang['lang_insert_table_align_middle'] = '???'; tinyMCELang['lang_insert_table_class'] = '????'; tinyMCELang['lang_table_row_title'] = 'Table row properties'; tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; tinyMCELang['lang_table_row_desc'] = 'Table row properties'; tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; tinyMCELang['lang_insert_table_align_top'] = 'Top'; tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; tinyMCELang['lang_table_props_desc'] = 'Table properties'; tinyMCELang['lang_table_bordercolor'] = 'Border color'; tinyMCELang['lang_table_bgcolor'] = 'Bg color'; --- NEW FILE: fr_ca.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: sv.js --- // SE lang variables tinyMCELang['lang_table_desc'] = 'Skapa ny tabell'; tinyMCELang['lang_table_insert_row_before_desc'] = 'Skapa rad före'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Skapa rad efter'; tinyMCELang['lang_table_delete_row_desc'] = 'Ta bort rad'; tinyMCELang['lang_table_insert_col_before_desc'] = 'Skapa kolumn före'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Skapa kolumn efter'; tinyMCELang['lang_table_delete_col_desc'] = 'Ta bort kolumn'; tinyMCELang['lang_insert_table_title'] = 'Skapa/Redigera tabell'; tinyMCELang['lang_insert_table_width'] = 'Bredd'; tinyMCELang['lang_insert_table_height'] = 'Höjd'; tinyMCELang['lang_insert_table_cols'] = 'Kolumner'; tinyMCELang['lang_insert_table_rows'] = 'Rader'; tinyMCELang['lang_insert_table_cellspacing'] = 'Cellmellanrum'; tinyMCELang['lang_insert_table_cellpadding'] = 'Cellutfyllnad'; tinyMCELang['lang_insert_table_border'] = 'Rambredd'; tinyMCELang['lang_insert_table_align'] = 'Justering'; tinyMCELang['lang_insert_table_align_default'] = 'Ingen'; tinyMCELang['lang_insert_table_align_left'] = 'Vänster'; tinyMCELang['lang_insert_table_align_right'] = 'Höger'; tinyMCELang['lang_insert_table_align_middle'] = 'Mitten'; tinyMCELang['lang_insert_table_class'] = 'Stil'; tinyMCELang['lang_table_row_title'] = 'Tabellradsinställningar'; tinyMCELang['lang_table_cell_title'] = 'Tabellcellsinställningar'; tinyMCELang['lang_table_row_desc'] = 'Tabellradsinställningar'; tinyMCELang['lang_table_cell_desc'] = 'Tabellcellsinställningar'; tinyMCELang['lang_insert_table_valign'] = 'Vertikal justering'; tinyMCELang['lang_insert_table_align_top'] = 'Toppen'; tinyMCELang['lang_insert_table_align_bottom'] = 'Botten'; tinyMCELang['lang_table_props_desc'] = 'Tabell egenskaper'; tinyMCELang['lang_table_bordercolor'] = 'Ramfärg'; tinyMCELang['lang_table_bgcolor'] = 'Bakgrundsfärd'; |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:02
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/plugins/searchreplace/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/plugins/searchreplace/images Added Files: search.gif replace.gif Log Message: beginning of phpcms-content and filemanager --- NEW FILE: search.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: replace.gif --- (This appears to be a binary file; contents omitted.) |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:01
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/plugins/flash/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/plugins/flash/images Added Files: flash.gif Log Message: beginning of phpcms-content and filemanager --- NEW FILE: flash.gif --- (This appears to be a binary file; contents omitted.) |
From: Martin J. <mj...@us...> - 2005-05-26 15:56:01
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/statistik In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/statistik Removed Files: layout.xml config.tpl.xml config.statistic.xml class.statistic_common.php Log Message: beginning of phpcms-content and filemanager --- class.statistic_common.php DELETED --- --- layout.xml DELETED --- --- config.tpl.xml DELETED --- --- config.statistic.xml DELETED --- |
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/filemanager/images/filetypes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/filemanager/images/filetypes Added Files: folder_inactive.gif help.gif acrobat.gif flash.gif word.gif security.gif audio.gif csv.gif richtext.gif phpcms.menu.gif serverscript.gif archive.gif targa.gif realmedia.gif phpcms.template.gif access.gif css.gif xml.gif clientscript.gif bitmap.gif winmedia.gif powerpoint.gif phpcms.project.gif folder.gif excel.gif text.gif webimage.gif midi.gif quicktime.gif movie.gif phpcms.tag.gif parent.gif symlink.gif phpcms.menutemplate.gif photoshop.gif webpage.gif wap.gif executable.gif Log Message: beginning of phpcms-content and filemanager --- NEW FILE: archive.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: folder_inactive.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: word.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: audio.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: serverscript.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: webimage.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: richtext.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: excel.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: midi.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: csv.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: winmedia.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: wap.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: css.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: photoshop.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: folder.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: bitmap.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: phpcms.project.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: executable.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: flash.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: clientscript.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: realmedia.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: phpcms.menutemplate.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: phpcms.menu.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: security.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: movie.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: xml.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: symlink.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: phpcms.tag.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: phpcms.template.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: webpage.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: parent.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: quicktime.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: access.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: text.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: powerpoint.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: targa.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: acrobat.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: help.gif --- (This appears to be a binary file; contents omitted.) |
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/plugins/searchreplace/langs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/plugins/searchreplace/langs Added Files: fr.js zh_cn.js fa.js fr_ca.js pl.js en.js sv.js de.js Log Message: beginning of phpcms-content and filemanager --- NEW FILE: en.js --- // UK lang variables tinyMCELang['lang_searchreplace_search_desc'] = 'Find'; tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Find again'; tinyMCELang['lang_searchreplace_replace_desc'] = 'Find/Replace'; tinyMCELang['lang_searchreplace_notfound'] = 'The search has been compleated. The search string could not be found.'; tinyMCELang['lang_searchreplace_search_title'] = 'Find'; tinyMCELang['lang_searchreplace_replace_title'] = 'Find/Replace'; tinyMCELang['lang_searchreplace_allreplaced'] = 'All occurrences of the search string was replaced.'; tinyMCELang['lang_searchreplace_findwhat'] = 'Find what'; tinyMCELang['lang_searchreplace_replacewith'] = 'Replace with'; tinyMCELang['lang_searchreplace_direction'] = 'Direction'; tinyMCELang['lang_searchreplace_up'] = 'Up'; tinyMCELang['lang_searchreplace_down'] = 'Down'; tinyMCELang['lang_searchreplace_case'] = 'Match case'; tinyMCELang['lang_searchreplace_findnext'] = 'Find next'; tinyMCELang['lang_searchreplace_replace'] = 'Replace'; tinyMCELang['lang_searchreplace_replaceall'] = 'Replace all'; tinyMCELang['lang_searchreplace_cancel'] = 'Cancel'; --- NEW FILE: fr.js --- // Franch lang variables by Laurent Dran tinyMCELang['lang_searchreplace_search_desc'] = 'Trouver'; tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Trouver encore'; tinyMCELang['lang_searchreplace_replace_desc'] = 'Trouver/Remplacer'; tinyMCELang['lang_searchreplace_notfound'] = 'Votre recherche a été compléé. La recherche de la chaine pourra ne pas aboutir.'; tinyMCELang['lang_searchreplace_search_title'] = 'Trouver'; tinyMCELang['lang_searchreplace_replace_title'] = 'Trouver/Remplacer'; tinyMCELang['lang_searchreplace_allreplaced'] = 'Toutes les occurences de la chaine ont été remplcées.'; tinyMCELang['lang_searchreplace_findwhat'] = 'Trouver le mot'; tinyMCELang['lang_searchreplace_replacewith'] = 'Remplacer avec'; tinyMCELang['lang_searchreplace_direction'] = 'Direction'; tinyMCELang['lang_searchreplace_up'] = 'Haut'; tinyMCELang['lang_searchreplace_down'] = 'Base'; tinyMCELang['lang_searchreplace_case'] = 'Respecter la casse'; tinyMCELang['lang_searchreplace_findnext'] = 'Trouver le prochain'; tinyMCELang['lang_searchreplace_replace'] = 'Remplacer'; tinyMCELang['lang_searchreplace_replaceall'] = 'Remplacer tout'; tinyMCELang['lang_searchreplace_cancel'] = 'Annuler'; --- NEW FILE: de.js --- // DE lang variables tinyMCELang['lang_searchreplace_search_desc'] = 'Suchen'; tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Erneut suchen'; tinyMCELang['lang_searchreplace_replace_desc'] = 'Suchen/Ersetzen'; tinyMCELang['lang_searchreplace_notfound'] = 'Die Suche wurde abgeschlossen. Das Suchwort wurde nicht gefunden.'; tinyMCELang['lang_searchreplace_search_title'] = 'Suchen'; tinyMCELang['lang_searchreplace_replace_title'] = 'Suchen/Ersetzen'; tinyMCELang['lang_searchreplace_allreplaced'] = 'Die Suche wurde abgeschlossen. Alle Vorkommen wurden ersetzt.'; tinyMCELang['lang_searchreplace_findwhat'] = 'Suchen nach'; tinyMCELang['lang_searchreplace_replacewith'] = 'Ersetzem durch'; tinyMCELang['lang_searchreplace_direction'] = 'Suchrichtung'; tinyMCELang['lang_searchreplace_up'] = 'Rückwärts'; tinyMCELang['lang_searchreplace_down'] = 'Vorwärts'; tinyMCELang['lang_searchreplace_case'] = 'Groß-/Kleinschreibung beachten'; tinyMCELang['lang_searchreplace_findnext'] = 'Weiter suchen'; tinyMCELang['lang_searchreplace_replace'] = 'Ersetzen'; tinyMCELang['lang_searchreplace_replaceall'] = 'Alle ersetzen'; tinyMCELang['lang_searchreplace_cancel'] = 'Abbrechen'; --- NEW FILE: pl.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: fa.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: zh_cn.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: fr_ca.js --- // CA_FR lang variables tinyMCELang['lang_searchreplace_search_desc'] = 'Chercher'; tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Chercher suivant'; tinyMCELang['lang_searchreplace_replace_desc'] = 'Chercher/Remplacer'; tinyMCELang['lang_searchreplace_notfound'] = 'La recherche est terminée. Aucune occurence trouvée.'; tinyMCELang['lang_searchreplace_search_title'] = 'Chercher'; tinyMCELang['lang_searchreplace_replace_title'] = 'Chercher/Remplacer'; tinyMCELang['lang_searchreplace_allreplaced'] = 'Toutes les occurences ont été remplacées.'; tinyMCELang['lang_searchreplace_findwhat'] = 'Chercher quoi'; tinyMCELang['lang_searchreplace_replacewith'] = 'Remplacer par'; tinyMCELang['lang_searchreplace_direction'] = 'Direction'; tinyMCELang['lang_searchreplace_up'] = 'Monter'; tinyMCELang['lang_searchreplace_down'] = 'Descendre'; tinyMCELang['lang_searchreplace_case'] = 'Sensible à la case'; tinyMCELang['lang_searchreplace_findnext'] = 'Chercher suivant'; tinyMCELang['lang_searchreplace_replace'] = 'Remplacer'; tinyMCELang['lang_searchreplace_replaceall'] = 'Remplacer tous'; tinyMCELang['lang_searchreplace_cancel'] = 'Annuler'; --- NEW FILE: sv.js --- (This appears to be a binary file; contents omitted.) |
From: Martin J. <mj...@us...> - 2005-05-26 15:55:58
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/hilfe In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/hilfe Removed Files: class.module_hilfe.php Log Message: beginning of phpcms-content and filemanager --- class.module_hilfe.php DELETED --- |
From: Martin J. <mj...@us...> - 2005-05-26 15:55:56
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/plugins/insertdatetime/langs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/plugins/insertdatetime/langs Added Files: fr.js en.js fr_ca.js it.js cs.js el.js pl.js sv.js zh_cn.js de.js fa.js ko.js Log Message: beginning of phpcms-content and filemanager --- NEW FILE: ko.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: it.js --- // IT lang variables tinyMCELang['lang_insertdate_desc'] = 'Inserisci data'; tinyMCELang['lang_inserttime_desc'] = 'Inserisci ora'; tinyMCELang['lang_inserttime_months_long'] = new Array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"); tinyMCELang['lang_inserttime_months_short'] = new Array("Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"); tinyMCELang['lang_inserttime_day_long'] = new Array("Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"); tinyMCELang['lang_inserttime_day_short'] = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"); --- NEW FILE: de.js --- // DE lang variables tinyMCELang['lang_insertdate_desc'] = 'Datum einfügen'; tinyMCELang['lang_inserttime_desc'] = 'Zeit einfügen'; tinyMCELang['lang_inserttime_months_long'] = new Array("Januar", "Februar", "M\u00e4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); tinyMCELang['lang_inserttime_months_short'] = new Array("Jan", "Feb", "M\u00e4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"); tinyMCELang['lang_inserttime_day_long'] = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"); tinyMCELang['lang_inserttime_day_short'] = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"); --- NEW FILE: el.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: zh_cn.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: en.js --- // UK lang variables tinyMCELang['lang_insertdate_desc'] = 'Insert date'; tinyMCELang['lang_inserttime_desc'] = 'Insert time'; tinyMCELang['lang_inserttime_months_long'] = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); tinyMCELang['lang_inserttime_months_short'] = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); tinyMCELang['lang_inserttime_day_long'] = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"); tinyMCELang['lang_inserttime_day_short'] = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"); --- NEW FILE: cs.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: fr.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: pl.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: fa.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: fr_ca.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: sv.js --- // SE lang variables tinyMCELang['lang_insertdate_desc'] = 'Klistra in datum'; tinyMCELang['lang_inserttime_desc'] = 'Klistra in tid'; tinyMCELang['lang_inserttime_months_long'] = new Array("Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"); tinyMCELang['lang_inserttime_months_short'] = new Array("Jan","Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"); tinyMCELang['lang_inserttime_day_long'] = new Array("Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"); tinyMCELang['lang_inserttime_day_short'] = new Array("Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"); |
From: Martin J. <mj...@us...> - 2005-05-26 15:55:44
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/wysiwyg/tiny_mce/plugins/flash In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19290/modules/phpcms-content/wysiwyg/tiny_mce/plugins/flash Added Files: editor_plugin.js flash.htm readme.txt flash.css editor_plugin_src.js Log Message: beginning of phpcms-content and filemanager --- NEW FILE: flash.css --- .mce_plugin_flash { border: 1px dotted #cc0000; background-image: url(images/flash.gif); background-position: center; background-repeat: no-repeat; background-color: #ffffcc; } --- NEW FILE: editor_plugin.js --- /* Import plugin specific language pack */ tinyMCE.importPluginLanguagePack('flash','en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl');function TinyMCE_flash_initInstance(inst){if(!tinyMCE.settings['flash_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/flash/flash.css");}function TinyMCE_flash_getControlHTML(control_name){switch(control_name){case "flash":return '<img id="{$editor_id}_flash" src="{$pluginurl}/images/flash.gif" title="{$lang_insert_flash}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceFlash\');" />';}return "";}function TinyMCE_flash_parseAttributes(attribute_string){var attributeName="";var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue)withInValue=true;else if((chr=='"'||chr=="'")&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1).toLowerCase();attributeName="";attributeValue="";}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr;}return attributes;}function TinyMCE_flash_execCommand(editor_id,element,command,user_interface,value){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}switch(command){case "mceFlash":var name="",swffile="",swfwidth="",swfheight="",action="insert";var template=new Array();var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();template['file']='../../plugins/flash/flash.htm';template['width']=400;template['height']=195;if(focusElm!=null&&focusElm.nodeName.toLowerCase()=="img"){name=getAttrib(focusElm,'name');if(name!='mce_plugin_flash')return true;swffile=getAttrib(focusElm,'title');swfwidth=getAttrib(focusElm,'width');swfheight=getAttrib(focusElm,'height');action="update";}tinyMCE.openWindow(template,{editor_id:editor_id,swffile:swffile,swfwidth:swfwidth,swfheight:swfheight,action:action});return true;}return false;}function TinyMCE_flash_cleanup(type,content){switch(type){case "insert_to_editor":var startPos=0;var embedList=new Array();content=content.replace(new RegExp('<[ ]*embed','gi'),'<embed');content=content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');content=content.replace(new RegExp('<[ ]*object','gi'),'<object');content=content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');while((startPos=content.indexOf('<embed',startPos+1))!=-1){var endPos=content.indexOf('>',startPos);var attribs=TinyMCE_flash_parseAttributes(content.substring(startPos+6,endPos));embedList[embedList.length]=attribs;}var index=0;while((startPos=content.indexOf('<object',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('</object>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img name="mce_plugin_flash" width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mce_plugin_flash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++;}break;case "get_from_editor":var startPos=-1;while((startPos=content.indexOf('<img',startPos+1))!=-1){var endPos=content.indexOf('/>',startPos);var attribs=TinyMCE_flash_parseAttributes(content.substring(startPos+4,endPos));if(attribs['name']!="mce_plugin_flash")continue;endPos+=2;var embedHTML='';embedHTML+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';embedHTML+=' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';embedHTML+=' width="'+attribs["width"]+'" height="'+attribs["height"]+'">';embedHTML+='<param name="movie" value="'+attribs["title"]+'" />';embedHTML+='<param name="quality" value="high" />';embedHTML+='<param name="menu" value="false" />';embedHTML+='<embed src="'+attribs["title"]+'" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+attribs["width"]+'" height="'+attribs["height"]+'"></embed></object>';chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter;}break;}return content;}function TinyMCE_flash_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}tinyMCE.switchClassSticky(editor_id+'_flash','mceButtonNormal');if(node==null)return;do{if(node.nodeName.toLowerCase()=="img"&&getAttrib(node,'name').indexOf('mce_plugin_flash')==0)tinyMCE.switchClassSticky(editor_id+'_flash','mceButtonSelected');}while((node=node.parentNode));return true;} --- NEW FILE: editor_plugin_src.js --- /* Import plugin specific language pack */ tinyMCE.importPluginLanguagePack('flash', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr,pl'); function TinyMCE_flash_initInstance(inst) { if (!tinyMCE.settings['flash_skip_plugin_css']) tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/flash/flash.css"); } function TinyMCE_flash_getControlHTML(control_name) { switch (control_name) { case "flash": return '<img id="{$editor_id}_flash" src="{$pluginurl}/images/flash.gif" title="{$lang_insert_flash}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceFlash\');" />'; } return ""; } function TinyMCE_flash_parseAttributes(attribute_string) { var attributeName = ""; var attributeValue = ""; var withInName; var withInValue; var attributes = new Array(); var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g'); if (attribute_string == null || attribute_string.length < 2) return null; withInName = withInValue = false; for (var i=0; i<attribute_string.length; i++) { var chr = attribute_string.charAt(i); if ((chr == '"' || chr == "'") && !withInValue) withInValue = true; else if ((chr == '"' || chr == "'") && withInValue) { withInValue = false; var pos = attributeName.lastIndexOf(' '); if (pos != -1) attributeName = attributeName.substring(pos+1); attributes[attributeName.toLowerCase()] = attributeValue.substring(1).toLowerCase(); attributeName = ""; attributeValue = ""; } else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue) withInName = true; if (chr == '=' && withInName) withInName = false; if (withInName) attributeName += chr; if (withInValue) attributeValue += chr; } return attributes; } function TinyMCE_flash_execCommand(editor_id, element, command, user_interface, value) { function getAttrib(elm, name) { return elm.getAttribute(name) ? elm.getAttribute(name) : ""; } // Handle commands switch (command) { case "mceFlash": var name = "", swffile = "", swfwidth = "", swfheight = "", action = "insert"; var template = new Array(); var inst = tinyMCE.getInstanceById(editor_id); var focusElm = inst.getFocusElement(); template['file'] = '../../plugins/flash/flash.htm'; // Relative to theme template['width'] = 400; template['height'] = 195; // Is selection a image if (focusElm != null && focusElm.nodeName.toLowerCase() == "img") { name = getAttrib(focusElm, 'name'); if (name != 'mce_plugin_flash') // Not a Flash return true; // Get rest of Flash items swffile = getAttrib(focusElm, 'title'); //swffile = eval(tinyMCE.settings['urlconvertor_callback'] + "(swffile, null, true);"); swfwidth = getAttrib(focusElm, 'width'); swfheight = getAttrib(focusElm, 'height'); action = "update"; } tinyMCE.openWindow(template, {editor_id : editor_id, swffile : swffile, swfwidth : swfwidth, swfheight : swfheight, action : action}); return true; } // Pass to next handler in chain return false; } function TinyMCE_flash_cleanup(type, content) { switch (type) { case "insert_to_editor": var startPos = 0; var embedList = new Array(); // Fix the embed and object elements content = content.replace(new RegExp('<[ ]*embed','gi'),'<embed'); content = content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>'); content = content.replace(new RegExp('<[ ]*object','gi'),'<object'); content = content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>'); // Parse all embed tags while ((startPos = content.indexOf('<embed', startPos+1)) != -1) { var endPos = content.indexOf('>', startPos); var attribs = TinyMCE_flash_parseAttributes(content.substring(startPos + 6, endPos)); embedList[embedList.length] = attribs; } // Parse all object tags and replace them with images from the embed data var index = 0; while ((startPos = content.indexOf('<object', startPos)) != -1) { if (index >= embedList.length) break; var attribs = embedList[index]; // Find end of object endPos = content.indexOf('</object>', startPos); endPos += 9; // Insert image var contentAfter = content.substring(endPos); content = content.substring(0, startPos); content += '<img name="mce_plugin_flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"'; content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"'; content += ' alt="' + attribs["src"] + '" class="mce_plugin_flash" />' + content.substring(endPos); content += contentAfter; index++; startPos++; } break; case "get_from_editor": // Parse all img tags and replace them with object+embed var startPos = -1; while ((startPos = content.indexOf('<img', startPos+1)) != -1) { var endPos = content.indexOf('/>', startPos); var attribs = TinyMCE_flash_parseAttributes(content.substring(startPos + 4, endPos)); // Is not flash, skip it if (attribs['name'] != "mce_plugin_flash") continue; endPos += 2; var embedHTML = ''; // Insert object + embed embedHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'; embedHTML += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"'; embedHTML += ' width="' + attribs["width"] + '" height="' + attribs["height"] + '">'; embedHTML += '<param name="movie" value="' + attribs["title"] + '" />'; embedHTML += '<param name="quality" value="high" />'; embedHTML += '<param name="menu" value="false" />'; embedHTML += '<embed src="' + attribs["title"] + '" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"></embed></object>'; // Insert embed/object chunk chunkBefore = content.substring(0, startPos); chunkAfter = content.substring(endPos); content = chunkBefore + embedHTML + chunkAfter; } break; } // Pass through to next handler in chain return content; } function TinyMCE_flash_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { function getAttrib(elm, name) { return elm.getAttribute(name) ? elm.getAttribute(name) : ""; } tinyMCE.switchClassSticky(editor_id + '_flash', 'mceButtonNormal'); if (node == null) return; do { if (node.nodeName.toLowerCase() == "img" && getAttrib(node, 'name').indexOf('mce_plugin_flash') == 0) tinyMCE.switchClassSticky(editor_id + '_flash', 'mceButtonSelected'); } while ((node = node.parentNode)); return true; } --- NEW FILE: flash.htm --- <html> <head> <title>{$lang_insert_flash}</title> <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript"> var url = tinyMCE.getParam("flash_external_list_url"); if (url != null) document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCE.documentBasePath + "/" + url + '"></sc'+'ript>'); </script> <script language="javascript" type="text/javascript"> <!-- function init() { // modified 2004-11-10 by Michael Keck (me...@mi...) // supporting onclick event to open pop windows var formObj = document.forms[0]; var swffile = tinyMCE.getWindowArg('swffile'); var swfwidth = '' + tinyMCE.getWindowArg('swfwidth'); var swfheight = '' + tinyMCE.getWindowArg('swfheight'); if (swfwidth.indexOf('%')!=-1) { formObj.width2.value = "%"; formObj.width.value = swfwidth.substring(0,swfwidth.length-1); } else { formObj.width2.value = "px"; formObj.width.value = swfwidth; } if (swfheight.indexOf('%')!=-1) { formObj.height2.value = "%"; formObj.height.value = swfheight.substring(0,swfheight.length-1); } else { formObj.height2.value = "px"; formObj.height.value = swfheight; } formObj.file.value = swffile; formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); // Handle file browser if (tinyMCE.getParam("file_browser_callback") != null) { document.getElementById('file').style.width = '230px'; var html = ''; html += '<img id="browserBtn" src="../../themes/advanced/images/browse.gif"'; html += ' onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');"'; html += ' onmouseout="tinyMCE.restoreClass(this);"'; html += ' onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"'; html += ' onclick="javascript:tinyMCE.openFileBrowser(\'file\',document.forms[0].file.value,\'flash\',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 flash in list if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) { for (var i=0; i<formObj.link_list.length; i++) { if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('swffile')) formObj.link_list.options[i].selected = true; } } window.focus(); } function insertFlash() { var formObj = document.forms[0]; if (window.opener) { var html = ''; var file = formObj.file.value; var width = formObj.width.value; var height = formObj.height.value; if (formObj.width2.value=='%') { width = width + '%'; } if (formObj.height2.value=='%') { height = height + '%'; } if (width == "") width = 100; if (height == "") height = 100; html += '' + '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" ' + 'width="' + width + '" height="' + height + '" ' + 'border="0" alt="' + file + '" title="' + file + '" class="mce_plugin_flash" name="mce_plugin_flash" />'; tinyMCE.execCommand("mceInsertContent",true,html); top.close(); } } function cancelAction() { top.close(); } //--> </script> <style type="text/css"> <!-- input.radio { border: 1px none #000000; background-color: transparent; vertical-align: middle; } --> </style> </head> <body onload="init();"> <form onsubmit="insertFlash();return false;"> <table border="0" cellpadding="0" cellspacing="4" width="100%"> <tr> <td class="title">{$lang_insert_flash}</td> </tr> <tr> <td><hr size="1" noshade="noshade" /></td> </tr> <tr> <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0"> <tr> <td align="right">{$lang_insert_flash_file}:</td> <td nowrap="nowrap"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><input name="file" type="text" id="file" value="" onfocus="this.select();" style="width: 250px; vertical-align: middle;" /></td> <td id="browser"></td> </tr> </table> </td> </tr> <!-- Link list --> <script language="javascript"> if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) { var html = ""; html += '<tr><td align="right">{$lang_insert_flash_list}:</td>'; html += '<td><select name="link_list" style="width: 250px" onchange="this.form.file.value=this.options[this.selectedIndex].value;">'; html += '<option value="">---</option>'; for (var i=0; i<tinyMCEFlashList.length; i++) html += '<option value="' + tinyMCEFlashList[i][1] + '">' + tinyMCEFlashList[i][0] + '</option>'; html += '</select></td></tr>'; document.write(html); } </script> <!-- /Link list --> <tr> <td align="right">{$lang_insert_flash_size}:</td> <td nowrap="nowrap"> <input name="width" type="text" id="width" value="" onfocus="this.select();" style="width: 50px; vertical-align: middle;" /> <select name="width2" id="width2" style="width: 50px; vertical-align: middle;"> <option value="">px</option> <option value="%">%</option> </select> x <input name="height" type="text" id="height" value="" onfocus="this.select();" style="width: 50px; vertical-align: middle;" /> <select name="height2" id="height2" style="width: 50px; vertical-align: middle;"> <option value="">px</option> <option value="%">%</option> </select> </td> </tr> </table></td> <tr> <td><hr size="1" noshade="noshade" /></td> </tr> <tr> <td nowrap="nowrap" align="left"> <input style="float:left" type="button" name="insert" value="{$lang_insert}" onclick="insertFlash();" id="insert" /><input style="float:right" type="button" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" id="cancel" /> </td> </tr> </table> </form> </body> </html> --- NEW FILE: readme.txt --- FLASH plugin for TinyMCE ----------------------------- About: This is the INSERT FLASH Dialog contributed by Michael Keck. This one supports popup windows and targets. Note: The placeholder for Flash is called 'mce_plugin_flash' and needs a class 'mce_plugin_flash' in the 'css_-style'. Do not name another image 'name="mce_plugin_flash"! Installation instructions: * Copy the flash directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins). * Add plugin to TinyMCE plugin option list example: plugins : "flash". * Add this "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]" to extended_valid_elements option. Initialization example: tinyMCE.init({ theme : "advanced", mode : "textareas", plugins : "flash", extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]" flash_external_list_url : "example_flash_list.js" // Optional URL to a list of Flash movies }); ---------------------------------------------------------------- ADDITIONAL NOTE: The flash plugin has been heavily modified (the original is editor_plugin_original.js) since the original did not play nicely with html content that already contained existing flash tags and in fact stripped out the object tags for existing flash html. The rewrite corrects this as well attempts to preserve the existing flash tags where possible. The tinyMCE.init call should be be something like: Initialization example: tinyMCE.init({ theme : "advanced", mode : "textareas", plugins : "flash", extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|obj|param|embed]" }); Note the extra obj,param,embed attributes for the img tag. These attributes are used to serialize data from existing flash tags so that they can be properly restored. Editing a flash tag with the plugin will cause this information to be lost (sorry !) but still produces a working flash nevertheless. |
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] |