diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js new file mode 100644 index 00000000..7f1fe261 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js @@ -0,0 +1 @@ +(function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.explode;tinymce.create("tinymce.plugins.TabFocusPlugin",{init:function(f,g){function e(i,j){if(j.keyCode===9){return a.cancel(j)}}function h(l,p){var j,m,o,n,k;function q(i){o=c.getParent(l.id,"form");n=o.elements;if(o){d(n,function(s,r){if(s.id==l.id){j=r;return false}});if(i>0){for(m=j+1;m=0;m--){if(n[m].type!="hidden"){return n[m]}}}}return null}if(p.keyCode===9){k=b(l.getParam("tab_focus",l.getParam("tabfocus_elements",":prev,:next")));if(k.length==1){k[1]=k[0];k[0]=":prev"}if(p.shiftKey){if(k[0]==":prev"){n=q(-1)}else{n=c.get(k[0])}}else{if(k[1]==":next"){n=q(1)}else{n=c.get(k[1])}}if(n){if(l=tinymce.EditorManager.get(n.id||n.name)){l.focus()}else{window.setTimeout(function(){window.focus();n.focus()},10)}return a.cancel(p)}}}f.onKeyUp.add(e);if(tinymce.isGecko){f.onKeyPress.add(h);f.onKeyDown.add(e)}else{f.onKeyDown.add(h)}f.onInit.add(function(){d(c.select("a:first,a:last",f.getContainer()),function(i){a.add(i,"focus",function(){f.focus()})})})},getInfo:function(){return{longname:"Tabfocus",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("tabfocus",tinymce.plugins.TabFocusPlugin)})(); \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js new file mode 100644 index 00000000..0fa8d815 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js @@ -0,0 +1,109 @@ +/** + * $Id: editor_plugin_src.js 787 2008-04-10 11:40:57Z spocke $ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, explode = tinymce.explode; + + tinymce.create('tinymce.plugins.TabFocusPlugin', { + init : function(ed, url) { + function tabCancel(ed, e) { + if (e.keyCode === 9) + return Event.cancel(e); + }; + + function tabHandler(ed, e) { + var x, i, f, el, v; + + function find(d) { + f = DOM.getParent(ed.id, 'form'); + el = f.elements; + + if (f) { + each(el, function(e, i) { + if (e.id == ed.id) { + x = i; + return false; + } + }); + + if (d > 0) { + for (i = x + 1; i < el.length; i++) { + if (el[i].type != 'hidden') + return el[i]; + } + } else { + for (i = x - 1; i >= 0; i--) { + if (el[i].type != 'hidden') + return el[i]; + } + } + } + + return null; + }; + + if (e.keyCode === 9) { + v = explode(ed.getParam('tab_focus', ed.getParam('tabfocus_elements', ':prev,:next'))); + + if (v.length == 1) { + v[1] = v[0]; + v[0] = ':prev'; + } + + // Find element to focus + if (e.shiftKey) { + if (v[0] == ':prev') + el = find(-1); + else + el = DOM.get(v[0]); + } else { + if (v[1] == ':next') + el = find(1); + else + el = DOM.get(v[1]); + } + + if (el) { + if (ed = tinymce.EditorManager.get(el.id || el.name)) + ed.focus(); + else + window.setTimeout(function() {window.focus();el.focus();}, 10); + + return Event.cancel(e); + } + } + }; + + ed.onKeyUp.add(tabCancel); + + if (tinymce.isGecko) { + ed.onKeyPress.add(tabHandler); + ed.onKeyDown.add(tabCancel); + } else + ed.onKeyDown.add(tabHandler); + + ed.onInit.add(function() { + each(DOM.select('a:first,a:last', ed.getContainer()), function(n) { + Event.add(n, 'focus', function() {ed.focus();}); + }); + }); + }, + + getInfo : function() { + return { + longname : 'Tabfocus', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('tabfocus', tinymce.plugins.TabFocusPlugin); +})(); \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tabfocus/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tabfocus/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tabfocus/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm new file mode 100644 index 00000000..1fabc8dc --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm @@ -0,0 +1,183 @@ + + + + {#table_dlg.cell_title} + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ +
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
 
+
+ + + + + +
 
+
+ + + + + +
 
+
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css new file mode 100644 index 00000000..a067ecdf --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css @@ -0,0 +1,17 @@ +/* CSS file for cell dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#class { + width: 150px; +} \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css new file mode 100644 index 00000000..1f7755da --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css @@ -0,0 +1,25 @@ +/* CSS file for row dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#rowtype,#align,#valign,#class,#height { + width: 150px; +} + +#height { + width: 50px; +} + +.col2 { + padding-left: 20px; +} diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css new file mode 100644 index 00000000..d11c3f69 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css @@ -0,0 +1,13 @@ +/* CSS file for table dialog in the table plugin */ + +.panel_wrapper div.current { + height: 245px; +} + +.advfield { + width: 200px; +} + +#class { + width: 150px; +} diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js new file mode 100644 index 00000000..95d599e9 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.TablePlugin",{init:function(b,c){var d=this;d.editor=b;d.url=c;a([["table","table.desc","mceInsertTable",true],["delete_table","table.del","mceTableDelete"],["delete_col","table.delete_col_desc","mceTableDeleteCol"],["delete_row","table.delete_row_desc","mceTableDeleteRow"],["col_after","table.col_after_desc","mceTableInsertColAfter"],["col_before","table.col_before_desc","mceTableInsertColBefore"],["row_after","table.row_after_desc","mceTableInsertRowAfter"],["row_before","table.row_before_desc","mceTableInsertRowBefore"],["row_props","table.row_desc","mceTableRowProps",true],["cell_props","table.cell_desc","mceTableCellProps",true],["split_cells","table.split_cells_desc","mceTableSplitCells",true],["merge_cells","table.merge_cells_desc","mceTableMergeCells",true]],function(e){b.addButton(e[0],{title:e[1],cmd:e[2],ui:e[3]})});if(b.getParam("inline_styles")){b.onPreProcess.add(function(e,g){var f=e.dom;a(f.select("table",g.node),function(i){var h;if(h=f.getAttrib(i,"width")){f.setStyle(i,"width",h);f.setAttrib(i,"width")}if(h=f.getAttrib(i,"height")){f.setStyle(i,"height",h);f.setAttrib(i,"height")}})})}b.onInit.add(function(){if(b&&b.plugins.contextmenu){b.plugins.contextmenu.onContextMenu.add(function(h,f,j){var k,i=b.selection,g=i.getNode()||b.getBody();if(b.dom.getParent(j,"td")||b.dom.getParent(j,"th")){f.removeAll();if(g.nodeName=="A"&&!b.dom.getAttrib(g,"name")){f.add({title:"advanced.link_desc",icon:"link",cmd:b.plugins.advlink?"mceAdvLink":"mceLink",ui:true});f.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"});f.addSeparator()}if(g.nodeName=="IMG"&&g.className.indexOf("mceItem")==-1){f.add({title:"advanced.image_desc",icon:"image",cmd:b.plugins.advimage?"mceAdvImage":"mceImage",ui:true});f.addSeparator()}f.add({title:"table.desc",icon:"table",cmd:"mceInsertTable",ui:true,value:{action:"insert"}});f.add({title:"table.props_desc",icon:"table_props",cmd:"mceInsertTable",ui:true});f.add({title:"table.del",icon:"delete_table",cmd:"mceTableDelete",ui:true});f.addSeparator();k=f.addMenu({title:"table.cell"});k.add({title:"table.cell_desc",icon:"cell_props",cmd:"mceTableCellProps",ui:true});k.add({title:"table.split_cells_desc",icon:"split_cells",cmd:"mceTableSplitCells",ui:true});k.add({title:"table.merge_cells_desc",icon:"merge_cells",cmd:"mceTableMergeCells",ui:true});k=f.addMenu({title:"table.row"});k.add({title:"table.row_desc",icon:"row_props",cmd:"mceTableRowProps",ui:true});k.add({title:"table.row_before_desc",icon:"row_before",cmd:"mceTableInsertRowBefore"});k.add({title:"table.row_after_desc",icon:"row_after",cmd:"mceTableInsertRowAfter"});k.add({title:"table.delete_row_desc",icon:"delete_row",cmd:"mceTableDeleteRow"});k.addSeparator();k.add({title:"table.cut_row_desc",icon:"cut",cmd:"mceTableCutRow"});k.add({title:"table.copy_row_desc",icon:"copy",cmd:"mceTableCopyRow"});k.add({title:"table.paste_row_before_desc",icon:"paste",cmd:"mceTablePasteRowBefore"});k.add({title:"table.paste_row_after_desc",icon:"paste",cmd:"mceTablePasteRowAfter"});k=f.addMenu({title:"table.col"});k.add({title:"table.col_before_desc",icon:"col_before",cmd:"mceTableInsertColBefore"});k.add({title:"table.col_after_desc",icon:"col_after",cmd:"mceTableInsertColAfter"});k.add({title:"table.delete_col_desc",icon:"delete_col",cmd:"mceTableDeleteCol"})}else{f.add({title:"table.desc",icon:"table",cmd:"mceInsertTable",ui:true})}})}});b.onKeyDown.add(function(f,g){if(g.keyCode==9&&f.dom.getParent(f.selection.getNode(),"TABLE")){if(!tinymce.isGecko&&!tinymce.isOpera){tinyMCE.execInstanceCommand(f.editorId,"mceTableMoveToNextRow",true);return tinymce.dom.Event.cancel(g)}f.undoManager.add()}});if(!tinymce.isIE){if(b.getParam("table_selection",true)){b.onClick.add(function(f,g){g=g.target;if(g.nodeName==="TABLE"){f.selection.select(g)}})}}b.onNodeChange.add(function(f,e,h){var g=f.dom.getParent(h,"td,th,caption");e.setActive("table",h.nodeName==="TABLE"||!!g);if(g&&g.nodeName==="CAPTION"){g=null}e.setDisabled("delete_table",!g);e.setDisabled("delete_col",!g);e.setDisabled("delete_table",!g);e.setDisabled("delete_row",!g);e.setDisabled("col_after",!g);e.setDisabled("col_before",!g);e.setDisabled("row_after",!g);e.setDisabled("row_before",!g);e.setDisabled("row_props",!g);e.setDisabled("cell_props",!g);e.setDisabled("split_cells",!g||(parseInt(f.dom.getAttrib(g,"colspan","1"))<2&&parseInt(f.dom.getAttrib(g,"rowspan","1"))<2));e.setDisabled("merge_cells",!g)});if(!tinymce.isIE){b.onBeforeSetContent.add(function(e,f){if(f.initial){f.content=f.content.replace(/<(td|th)([^>]+|)>\s*<\/(td|th)>/g,tinymce.isOpera?"<$1$2> ":'<$1$2>
')}})}},execCommand:function(f,e,g){var d=this.editor,c;switch(f){case"mceTableMoveToNextRow":case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":d.execCommand("mceBeginUndoLevel");this._doExecCommand(f,e,g);d.execCommand("mceEndUndoLevel");return true}return false},getInfo:function(){return{longname:"Tables",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_doExecCommand:function(r,Z,ae){var V=this.editor,au=V,g=this.url;var n=V.selection.getNode();var W=V.dom.getParent(n,"tr");var aq=V.dom.getParent(n,"td,th");var F=V.dom.getParent(n,"table");var k=V.contentWindow.document;var av=F?F.getAttribute("border"):"";if(W&&aq==null){aq=W.cells[0]}function ap(y,x){for(var ax=0;ax0&&ap(y[ax],x)){return true}if(y[ax]==x){return true}}return false}function aj(x,i){var y;ad=e(F);x=x||0;i=i||0;x=Math.max(o.cellindex+x,0);i=Math.max(o.rowindex+i,0);V.execCommand("mceRepaint");y=d(ad,i,x);if(y){V.selection.select(y.firstChild||y);V.selection.collapse(1)}}function ah(){var i=k.createElement("td");if(!tinymce.isIE){i.innerHTML='
'}}function j(y){var x=V.dom.getAttrib(y,"colspan");var i=V.dom.getAttrib(y,"rowspan");x=x==""?1:parseInt(x);i=i==""?1:parseInt(i);return{colspan:x,rowspan:i}}function al(ax,az){var i,ay;for(ay=0;ay1){for(var az=aE;az1){ay.rowSpan=aB.rowspan+1}aC=ay}B(F)}}function O(x,i){while((x=x.previousSibling)!=null){if(x.nodeName==i){return x}}return null}function af(ax,ay){var x=ay.split(",");while((ax=ax.nextSibling)!=null){for(var y=0;y1){do{var i=af(ay,"TD,TH");if(ay._delete){ay.parentNode.removeChild(ay)}}while((ay=i)!=null)}}while((y=x)!=null)}function p(ax,aA,az){ax.rowSpan=1;var x=af(aA,"TR");for(var ay=1;ay'}if(tinymce.isIE){x.insertBefore(y,x.cells(ax.cellIndex))}else{x.insertBefore(y,x.cells[ax.cellIndex])}x=af(x,"TR")}}function S(aF,aH,aB){var y=e(aH);var ax=aB.cloneNode(false);var aG=al(y,aB.cells[0]);var aC=null;var aA=V.dom.getAttrib(aH,"border");var az=null;for(var aE=0;az=d(y,aG.rowindex,aE);aE++){var aD=null;if(aC!=az){for(var ay=0;ay'}}aD.colSpan=1;aD.rowSpan=1;ax.appendChild(aD);aC=az}return ax}switch(r){case"mceTableMoveToNextRow":var L=A(F,aq);if(!L){V.execCommand("mceTableInsertRowAfter",aq);L=A(F,aq)}V.selection.select(L);V.selection.collapse(true);return true;case"mceTableRowProps":if(W==null){return true}if(Z){V.windowManager.open({url:g+"/row.htm",width:400+parseInt(V.getLang("table.rowprops_delta_width",0)),height:295+parseInt(V.getLang("table.rowprops_delta_height",0)),inline:1},{plugin_url:g})}return true;case"mceTableCellProps":if(aq==null){return true}if(Z){V.windowManager.open({url:g+"/cell.htm",width:400+parseInt(V.getLang("table.cellprops_delta_width",0)),height:295+parseInt(V.getLang("table.cellprops_delta_height",0)),inline:1},{plugin_url:g})}return true;case"mceInsertTable":if(Z){V.windowManager.open({url:g+"/table.htm",width:400+parseInt(V.getLang("table.table_delta_width",0)),height:320+parseInt(V.getLang("table.table_delta_height",0)),inline:1},{plugin_url:g,action:ae?ae.action:0})}return true;case"mceTableDelete":var G=V.dom.getParent(V.selection.getNode(),"table");if(G){G.parentNode.removeChild(G);V.execCommand("mceRepaint")}return true;case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":if(!F){return true}if(W&&F!=W.parentNode){F=W.parentNode}if(F&&W){switch(r){case"mceTableCutRow":if(!W||!aq){return true}V.tableRowClipboard=S(k,F,W);V.execCommand("mceTableDeleteRow");break;case"mceTableCopyRow":if(!W||!aq){return true}V.tableRowClipboard=S(k,F,W);break;case"mceTablePasteRowBefore":if(!W||!aq){return true}var v=V.tableRowClipboard.cloneNode(true);var h=O(W,"TR");if(h!=null){m(F,h,h.cells[0],v)}W.parentNode.insertBefore(v,W);break;case"mceTablePasteRowAfter":if(!W||!aq){return true}var X=af(W,"TR");var v=V.tableRowClipboard.cloneNode(true);m(F,W,aq,v);if(X==null){W.parentNode.appendChild(v)}else{X.parentNode.insertBefore(v,X)}break;case"mceTableInsertRowBefore":if(!W||!aq){return true}var ad=e(F);var o=al(ad,aq);var v=k.createElement("tr");var u=null;o.rowindex--;if(o.rowindex<0){o.rowindex=0}for(var ac=0;aq=d(ad,o.rowindex,ac);ac++){if(aq!=u){var E=j(aq);if(E.rowspan==1){var J=k.createElement("td");if(!tinymce.isIE){J.innerHTML='
'}J.colSpan=aq.colSpan;v.appendChild(J)}else{aq.rowSpan=E.rowspan+1}u=aq}}W.parentNode.insertBefore(v,W);aj(0,1);break;case"mceTableInsertRowAfter":if(!W||!aq){return true}var ad=e(F);var o=al(ad,aq);var v=k.createElement("tr");var u=null;for(var ac=0;aq=d(ad,o.rowindex,ac);ac++){if(aq!=u){var E=j(aq);if(E.rowspan==1){var J=k.createElement("td");if(!tinymce.isIE){J.innerHTML='
'}J.colSpan=aq.colSpan;v.appendChild(J)}else{aq.rowSpan=E.rowspan+1}u=aq}}if(v.hasChildNodes()){var X=af(W,"TR");if(X){X.parentNode.insertBefore(v,X)}else{F.appendChild(v)}}aj(0,1);break;case"mceTableDeleteRow":if(!W||!aq){return true}var ad=e(F);var o=al(ad,aq);if(ad.length==1&&F.nodeName=="TBODY"){V.dom.remove(V.dom.getParent(F,"table"));return true}var D=W.cells;var X=af(W,"TR");for(var ac=0;ac1){var J=D[ac].cloneNode(true);var E=j(D[ac]);J.rowSpan=E.rowspan-1;var ak=X.cells[ac];if(ak==null){X.appendChild(J)}else{X.insertBefore(J,ak)}}}var u=null;for(var ac=0;aq=d(ad,o.rowindex,ac);ac++){if(aq!=u){var E=j(aq);if(E.rowspan>1){aq.rowSpan=E.rowspan-1}else{W=aq.parentNode;if(W.parentNode){W._delete=true}}u=aq}}B(F);aj(0,-1);break;case"mceTableInsertColBefore":if(!W||!aq){return true}var ad=e(V.dom.getParent(F,"table"));var o=al(ad,aq);var u=null;for(var aa=0;aq=d(ad,aa,o.cellindex);aa++){if(aq!=u){var E=j(aq);if(E.colspan==1){var J=k.createElement(aq.nodeName);if(!tinymce.isIE){J.innerHTML='
'}J.rowSpan=aq.rowSpan;aq.parentNode.insertBefore(J,aq)}else{aq.colSpan++}u=aq}}aj();break;case"mceTableInsertColAfter":if(!W||!aq){return true}var ad=e(V.dom.getParent(F,"table"));var o=al(ad,aq);var u=null;for(var aa=0;aq=d(ad,aa,o.cellindex);aa++){if(aq!=u){var E=j(aq);if(E.colspan==1){var J=k.createElement(aq.nodeName);if(!tinymce.isIE){J.innerHTML='
'}J.rowSpan=aq.rowSpan;var ak=af(aq,"TD,TH");if(ak==null){aq.parentNode.appendChild(J)}else{ak.parentNode.insertBefore(J,ak)}}else{aq.colSpan++}u=aq}}aj(1);break;case"mceTableDeleteCol":if(!W||!aq){return true}var ad=e(F);var o=al(ad,aq);var u=null;if((ad.length>1&&ad[0].length<=1)&&F.nodeName=="TBODY"){V.dom.remove(V.dom.getParent(F,"table"));return true}for(var aa=0;aq=d(ad,aa,o.cellindex);aa++){if(aq!=u){var E=j(aq);if(E.colspan>1){aq.colSpan=E.colspan-1}else{if(aq.parentNode){aq.parentNode.removeChild(aq)}}u=aq}}aj(-1);break;case"mceTableSplitCells":if(!W||!aq){return true}var l=j(aq);var C=l.colspan;var H=l.rowspan;if(C>1||H>1){aq.colSpan=1;for(var am=1;am'}W.insertBefore(J,af(aq,"TD,TH"));if(H>1){p(J,W,H)}}p(aq,W,H)}F=V.dom.getParent(V.selection.getNode(),"table");break;case"mceTableMergeCells":var ao=[];var R=V.selection.getSel();var ad=e(F);if(tinymce.isIE||R.rangeCount==1){if(Z){var t=j(aq);V.windowManager.open({url:g+"/merge_cells.htm",width:240+parseInt(V.getLang("table.merge_cells_delta_width",0)),height:110+parseInt(V.getLang("table.merge_cells_delta_height",0)),inline:1},{action:"update",numcols:t.colspan,numrows:t.rowspan,plugin_url:g});return true}else{var U=parseInt(ae.numrows);var c=parseInt(ae.numcols);var o=al(ad,aq);if((""+U)=="NaN"){U=1}if((""+c)=="NaN"){c=1}var b=F.rows;for(var aa=o.rowindex;aa0){ao[ao.length]=ag}var f=d(ad,o.rowindex,o.cellindex);a(au.dom.select("br",f),function(y,x){if(x>0&&au.dom.getAttrib("mce_bogus")){au.dom.remove(y)}})}}}else{var D=[];var R=V.selection.getSel();var Y=null;var an=null;var z=-1,aw=-1,w,at;if(R.rangeCount<2){return true}for(var am=0;am0){ao[ao.length]=ag}}var an=[];var Y=null;for(var aa=0;aaq){q=I}T=-1}var Q=-1;for(var ac=0;acs){s=M}Q=-1}aq=ao[0][0];aq.rowSpan=s;aq.colSpan=q;for(var aa=0;aa0)){aq.innerHTML+=P}if(ao[aa][ac]!=aq&&!ao[aa][ac]._deleted){var o=al(ad,ao[aa][ac]);var ar=ao[aa][ac].parentNode;ar.removeChild(ao[aa][ac]);ao[aa][ac]._deleted=true;if(!ar.hasChildNodes()){ar.parentNode.removeChild(ar);var ab=null;for(var ac=0;cellElm=d(ad,o.rowindex,ac);ac++){if(cellElm!=ab&&cellElm.rowSpan>1){cellElm.rowSpan--}ab=cellElm}if(aq.rowSpan>1){aq.rowSpan--}}}}}a(au.dom.select("br",aq),function(y,x){if(x>0&&au.dom.getAttrib(y,"mce_bogus")){au.dom.remove(y)}});break}F=V.dom.getParent(V.selection.getNode(),"table");V.addVisual(F);V.nodeChanged()}return true}return false}});tinymce.PluginManager.add("table",tinymce.plugins.TablePlugin)})(); \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js new file mode 100644 index 00000000..80cf748a --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js @@ -0,0 +1,1136 @@ +/** + * $Id: editor_plugin_src.js 953 2008-11-04 10:16:50Z spocke $ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var each = tinymce.each; + + tinymce.create('tinymce.plugins.TablePlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + t.url = url; + + // Register buttons + each([ + ['table', 'table.desc', 'mceInsertTable', true], + ['delete_table', 'table.del', 'mceTableDelete'], + ['delete_col', 'table.delete_col_desc', 'mceTableDeleteCol'], + ['delete_row', 'table.delete_row_desc', 'mceTableDeleteRow'], + ['col_after', 'table.col_after_desc', 'mceTableInsertColAfter'], + ['col_before', 'table.col_before_desc', 'mceTableInsertColBefore'], + ['row_after', 'table.row_after_desc', 'mceTableInsertRowAfter'], + ['row_before', 'table.row_before_desc', 'mceTableInsertRowBefore'], + ['row_props', 'table.row_desc', 'mceTableRowProps', true], + ['cell_props', 'table.cell_desc', 'mceTableCellProps', true], + ['split_cells', 'table.split_cells_desc', 'mceTableSplitCells', true], + ['merge_cells', 'table.merge_cells_desc', 'mceTableMergeCells', true] + ], function(c) { + ed.addButton(c[0], {title : c[1], cmd : c[2], ui : c[3]}); + }); + + if (ed.getParam('inline_styles')) { + // Force move of attribs to styles in strict mode + ed.onPreProcess.add(function(ed, o) { + var dom = ed.dom; + + each(dom.select('table', o.node), function(n) { + var v; + + if (v = dom.getAttrib(n, 'width')) { + dom.setStyle(n, 'width', v); + dom.setAttrib(n, 'width'); + } + + if (v = dom.getAttrib(n, 'height')) { + dom.setStyle(n, 'height', v); + dom.setAttrib(n, 'height'); + } + }); + }); + } + + ed.onInit.add(function() { + if (ed && ed.plugins.contextmenu) { + ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { + var sm, se = ed.selection, el = se.getNode() || ed.getBody(); + + if (ed.dom.getParent(e, 'td') || ed.dom.getParent(e, 'th')) { + m.removeAll(); + + if (el.nodeName == 'A' && !ed.dom.getAttrib(el, 'name')) { + m.add({title : 'advanced.link_desc', icon : 'link', cmd : ed.plugins.advlink ? 'mceAdvLink' : 'mceLink', ui : true}); + m.add({title : 'advanced.unlink_desc', icon : 'unlink', cmd : 'UnLink'}); + m.addSeparator(); + } + + if (el.nodeName == 'IMG' && el.className.indexOf('mceItem') == -1) { + m.add({title : 'advanced.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true}); + m.addSeparator(); + } + + m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable', ui : true, value : {action : 'insert'}}); + m.add({title : 'table.props_desc', icon : 'table_props', cmd : 'mceInsertTable', ui : true}); + m.add({title : 'table.del', icon : 'delete_table', cmd : 'mceTableDelete', ui : true}); + m.addSeparator(); + + // Cell menu + sm = m.addMenu({title : 'table.cell'}); + sm.add({title : 'table.cell_desc', icon : 'cell_props', cmd : 'mceTableCellProps', ui : true}); + sm.add({title : 'table.split_cells_desc', icon : 'split_cells', cmd : 'mceTableSplitCells', ui : true}); + sm.add({title : 'table.merge_cells_desc', icon : 'merge_cells', cmd : 'mceTableMergeCells', ui : true}); + + // Row menu + sm = m.addMenu({title : 'table.row'}); + sm.add({title : 'table.row_desc', icon : 'row_props', cmd : 'mceTableRowProps', ui : true}); + sm.add({title : 'table.row_before_desc', icon : 'row_before', cmd : 'mceTableInsertRowBefore'}); + sm.add({title : 'table.row_after_desc', icon : 'row_after', cmd : 'mceTableInsertRowAfter'}); + sm.add({title : 'table.delete_row_desc', icon : 'delete_row', cmd : 'mceTableDeleteRow'}); + sm.addSeparator(); + sm.add({title : 'table.cut_row_desc', icon : 'cut', cmd : 'mceTableCutRow'}); + sm.add({title : 'table.copy_row_desc', icon : 'copy', cmd : 'mceTableCopyRow'}); + sm.add({title : 'table.paste_row_before_desc', icon : 'paste', cmd : 'mceTablePasteRowBefore'}); + sm.add({title : 'table.paste_row_after_desc', icon : 'paste', cmd : 'mceTablePasteRowAfter'}); + + // Column menu + sm = m.addMenu({title : 'table.col'}); + sm.add({title : 'table.col_before_desc', icon : 'col_before', cmd : 'mceTableInsertColBefore'}); + sm.add({title : 'table.col_after_desc', icon : 'col_after', cmd : 'mceTableInsertColAfter'}); + sm.add({title : 'table.delete_col_desc', icon : 'delete_col', cmd : 'mceTableDeleteCol'}); + } else + m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable', ui : true}); + }); + } + }); + + // Add undo level when new rows are created using the tab key + ed.onKeyDown.add(function(ed, e) { + if (e.keyCode == 9 && ed.dom.getParent(ed.selection.getNode(), 'TABLE')) { + if (!tinymce.isGecko && !tinymce.isOpera) { + tinyMCE.execInstanceCommand(ed.editorId, "mceTableMoveToNextRow", true); + return tinymce.dom.Event.cancel(e); + } + + ed.undoManager.add(); + } + }); + + // Select whole table is a table border is clicked + if (!tinymce.isIE) { + if (ed.getParam('table_selection', true)) { + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'TABLE') + ed.selection.select(e); + }); + } + } + + ed.onNodeChange.add(function(ed, cm, n) { + var p = ed.dom.getParent(n, 'td,th,caption'); + + cm.setActive('table', n.nodeName === 'TABLE' || !!p); + if (p && p.nodeName === 'CAPTION') + p = null; + + cm.setDisabled('delete_table', !p); + cm.setDisabled('delete_col', !p); + cm.setDisabled('delete_table', !p); + cm.setDisabled('delete_row', !p); + cm.setDisabled('col_after', !p); + cm.setDisabled('col_before', !p); + cm.setDisabled('row_after', !p); + cm.setDisabled('row_before', !p); + cm.setDisabled('row_props', !p); + cm.setDisabled('cell_props', !p); + cm.setDisabled('split_cells', !p || (parseInt(ed.dom.getAttrib(p, 'colspan', '1')) < 2 && parseInt(ed.dom.getAttrib(p, 'rowspan', '1')) < 2)); + cm.setDisabled('merge_cells', !p); + }); + + // Padd empty table cells + if (!tinymce.isIE) { + ed.onBeforeSetContent.add(function(ed, o) { + if (o.initial) + o.content = o.content.replace(/<(td|th)([^>]+|)>\s*<\/(td|th)>/g, tinymce.isOpera ? '<$1$2> ' : '<$1$2>
'); + }); + } + }, + + execCommand : function(cmd, ui, val) { + var ed = this.editor, b; + + // Is table command + switch (cmd) { + case "mceTableMoveToNextRow": + case "mceInsertTable": + case "mceTableRowProps": + case "mceTableCellProps": + case "mceTableSplitCells": + case "mceTableMergeCells": + case "mceTableInsertRowBefore": + case "mceTableInsertRowAfter": + case "mceTableDeleteRow": + case "mceTableInsertColBefore": + case "mceTableInsertColAfter": + case "mceTableDeleteCol": + case "mceTableCutRow": + case "mceTableCopyRow": + case "mceTablePasteRowBefore": + case "mceTablePasteRowAfter": + case "mceTableDelete": + ed.execCommand('mceBeginUndoLevel'); + this._doExecCommand(cmd, ui, val); + ed.execCommand('mceEndUndoLevel'); + + return true; + } + + // Pass to next handler in chain + return false; + }, + + getInfo : function() { + return { + longname : 'Tables', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private plugin internal methods + + /** + * Executes the table commands. + */ + _doExecCommand : function(command, user_interface, value) { + var inst = this.editor, ed = inst, url = this.url; + var focusElm = inst.selection.getNode(); + var trElm = inst.dom.getParent(focusElm, "tr"); + var tdElm = inst.dom.getParent(focusElm, "td,th"); + var tableElm = inst.dom.getParent(focusElm, "table"); + var doc = inst.contentWindow.document; + var tableBorder = tableElm ? tableElm.getAttribute("border") : ""; + + // Get first TD if no TD found + if (trElm && tdElm == null) + tdElm = trElm.cells[0]; + + function inArray(ar, v) { + for (var i=0; i 0 && inArray(ar[i], v)) + return true; + + // Found value + if (ar[i] == v) + return true; + } + + return false; + } + + function select(dx, dy) { + var td; + + grid = getTableGrid(tableElm); + dx = dx || 0; + dy = dy || 0; + dx = Math.max(cpos.cellindex + dx, 0); + dy = Math.max(cpos.rowindex + dy, 0); + + // Recalculate grid and select + inst.execCommand('mceRepaint'); + td = getCell(grid, dy, dx); + + if (td) { + inst.selection.select(td.firstChild || td); + inst.selection.collapse(1); + } + }; + + function makeTD() { + var newTD = doc.createElement("td"); + + if (!tinymce.isIE) + newTD.innerHTML = '
'; + } + + function getColRowSpan(td) { + var colspan = inst.dom.getAttrib(td, "colspan"); + var rowspan = inst.dom.getAttrib(td, "rowspan"); + + colspan = colspan == "" ? 1 : parseInt(colspan); + rowspan = rowspan == "" ? 1 : parseInt(rowspan); + + return {colspan : colspan, rowspan : rowspan}; + } + + function getCellPos(grid, td) { + var x, y; + + for (y=0; y 1) { // Remove due to colspan + for (var i=x; i 1) + td.rowSpan = sd.rowspan + 1; + + lastElm = td; + } + + deleteMarked(tableElm); + } + } + + function prevElm(node, name) { + while ((node = node.previousSibling) != null) { + if (node.nodeName == name) + return node; + } + + return null; + } + + function nextElm(node, names) { + var namesAr = names.split(','); + + while ((node = node.nextSibling) != null) { + for (var i=0; i 1) { + do { + var nexttd = nextElm(td, "TD,TH"); + + if (td._delete) + td.parentNode.removeChild(td); + } while ((td = nexttd) != null); + } + } while ((tr = next) != null); + } + + function addRows(td_elm, tr_elm, rowspan) { + // Add rows + td_elm.rowSpan = 1; + var trNext = nextElm(tr_elm, "TR"); + for (var i=1; i 1) { + var newTD = cells[x].cloneNode(true); + var sd = getColRowSpan(cells[x]); + + newTD.rowSpan = sd.rowspan - 1; + + var nextTD = nextTR.cells[x]; + + if (nextTD == null) + nextTR.appendChild(newTD); + else + nextTR.insertBefore(newTD, nextTD); + } + } + + // Delete cells + var lastTDElm = null; + for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd.rowspan > 1) { + tdElm.rowSpan = sd.rowspan - 1; + } else { + trElm = tdElm.parentNode; + + if (trElm.parentNode) + trElm._delete = true; + } + + lastTDElm = tdElm; + } + } + + deleteMarked(tableElm); + + select(0, -1); + break; + + case "mceTableInsertColBefore": + if (!trElm || !tdElm) + return true; + + var grid = getTableGrid(inst.dom.getParent(tableElm, "table")); + var cpos = getCellPos(grid, tdElm); + var lastTDElm = null; + + for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd['colspan'] == 1) { + var newTD = doc.createElement(tdElm.nodeName); + + if (!tinymce.isIE) + newTD.innerHTML = '
'; + + newTD.rowSpan = tdElm.rowSpan; + + tdElm.parentNode.insertBefore(newTD, tdElm); + } else + tdElm.colSpan++; + + lastTDElm = tdElm; + } + } + + select(); + break; + + case "mceTableInsertColAfter": + if (!trElm || !tdElm) + return true; + + var grid = getTableGrid(inst.dom.getParent(tableElm, "table")); + var cpos = getCellPos(grid, tdElm); + var lastTDElm = null; + + for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd['colspan'] == 1) { + var newTD = doc.createElement(tdElm.nodeName); + + if (!tinymce.isIE) + newTD.innerHTML = '
'; + + newTD.rowSpan = tdElm.rowSpan; + + var nextTD = nextElm(tdElm, "TD,TH"); + if (nextTD == null) + tdElm.parentNode.appendChild(newTD); + else + nextTD.parentNode.insertBefore(newTD, nextTD); + } else + tdElm.colSpan++; + + lastTDElm = tdElm; + } + } + + select(1); + break; + + case "mceTableDeleteCol": + if (!trElm || !tdElm) + return true; + + var grid = getTableGrid(tableElm); + var cpos = getCellPos(grid, tdElm); + var lastTDElm = null; + + // Only one col, remove whole table + if ((grid.length > 1 && grid[0].length <= 1) && tableElm.nodeName == 'TBODY') { + inst.dom.remove(inst.dom.getParent(tableElm, "table")); + return true; + } + + // Delete cells + for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd['colspan'] > 1) + tdElm.colSpan = sd['colspan'] - 1; + else { + if (tdElm.parentNode) + tdElm.parentNode.removeChild(tdElm); + } + + lastTDElm = tdElm; + } + } + + select(-1); + break; + + case "mceTableSplitCells": + if (!trElm || !tdElm) + return true; + + var spandata = getColRowSpan(tdElm); + + var colspan = spandata["colspan"]; + var rowspan = spandata["rowspan"]; + + // Needs splitting + if (colspan > 1 || rowspan > 1) { + // Generate cols + tdElm.colSpan = 1; + for (var i=1; i 1) + addRows(newTD, trElm, rowspan); + } + + addRows(tdElm, trElm, rowspan); + } + + // Apply visual aids + tableElm = inst.dom.getParent(inst.selection.getNode(), "table"); + break; + + case "mceTableMergeCells": + var rows = []; + var sel = inst.selection.getSel(); + var grid = getTableGrid(tableElm); + + if (tinymce.isIE || sel.rangeCount == 1) { + if (user_interface) { + // Setup template + var sp = getColRowSpan(tdElm); + + inst.windowManager.open({ + url : url + '/merge_cells.htm', + width : 240 + parseInt(inst.getLang('table.merge_cells_delta_width', 0)), + height : 110 + parseInt(inst.getLang('table.merge_cells_delta_height', 0)), + inline : 1 + }, { + action : "update", + numcols : sp.colspan, + numrows : sp.rowspan, + plugin_url : url + }); + + return true; + } else { + var numRows = parseInt(value['numrows']); + var numCols = parseInt(value['numcols']); + var cpos = getCellPos(grid, tdElm); + + if (("" + numRows) == "NaN") + numRows = 1; + + if (("" + numCols) == "NaN") + numCols = 1; + + // Get rows and cells + var tRows = tableElm.rows; + for (var y=cpos.rowindex; y 0) + rows[rows.length] = rowCells; + + var td = getCell(grid, cpos.rowindex, cpos.cellindex); + each(ed.dom.select('br', td), function(e, i) { + if (i > 0 && ed.dom.getAttrib('mce_bogus')) + ed.dom.remove(e); + }); + } + + //return true; + } + } else { + var cells = []; + var sel = inst.selection.getSel(); + var lastTR = null; + var curRow = null; + var x1 = -1, y1 = -1, x2, y2; + + // Only one cell selected, whats the point? + if (sel.rangeCount < 2) + return true; + + // Get all selected cells + for (var i=0; i 0) + rows[rows.length] = rowCells; + } + + // Find selected cells in grid and box + var curRow = []; + var lastTR = null; + for (var y=0; y colSpan) + colSpan = rowColSpan; + + lastRowSpan = -1; + } + + // Validate vertical and get total rowspan + var lastColSpan = -1; + for (var x=0; x rowSpan) + rowSpan = colRowSpan; + + lastColSpan = -1; + } + + // Setup td + tdElm = rows[0][0]; + tdElm.rowSpan = rowSpan; + tdElm.colSpan = colSpan; + + // Merge cells + for (var y=0; y 0)) + tdElm.innerHTML += html; + + // Not current cell + if (rows[y][x] != tdElm && !rows[y][x]._deleted) { + var cpos = getCellPos(grid, rows[y][x]); + var tr = rows[y][x].parentNode; + + tr.removeChild(rows[y][x]); + rows[y][x]._deleted = true; + + // Empty TR, remove it + if (!tr.hasChildNodes()) { + tr.parentNode.removeChild(tr); + + var lastCell = null; + for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) { + if (cellElm != lastCell && cellElm.rowSpan > 1) + cellElm.rowSpan--; + + lastCell = cellElm; + } + + if (tdElm.rowSpan > 1) + tdElm.rowSpan--; + } + } + } + } + + // Remove all but one bogus br + each(ed.dom.select('br', tdElm), function(e, i) { + if (i > 0 && ed.dom.getAttrib(e, 'mce_bogus')) + ed.dom.remove(e); + }); + + break; + } + + tableElm = inst.dom.getParent(inst.selection.getNode(), "table"); + inst.addVisual(tableElm); + inst.nodeChanged(); + } + + return true; + } + + // Pass to next handler in chain + return false; + } + }); + + // Register plugin + tinymce.PluginManager.add('table', tinymce.plugins.TablePlugin); +})(); \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif new file mode 100644 index 00000000..56a7396b Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table.gif new file mode 100644 index 00000000..2911830c Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif new file mode 100644 index 00000000..bee7ed65 Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete.gif new file mode 100644 index 00000000..2a00e6ad Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif new file mode 100644 index 00000000..260aa04c Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif new file mode 100644 index 00000000..2fb5f2ba Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif new file mode 100644 index 00000000..85058080 Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif new file mode 100644 index 00000000..b669d4fa Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif new file mode 100644 index 00000000..b9c14466 Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif new file mode 100644 index 00000000..157d3736 Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif new file mode 100644 index 00000000..6834e611 Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif new file mode 100644 index 00000000..e5c7cc37 Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif new file mode 100644 index 00000000..8ccb1b5f Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js new file mode 100644 index 00000000..f23b0675 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js @@ -0,0 +1,269 @@ +tinyMCEPopup.requireLangPack(); + +var ed; + +function init() { + ed = tinyMCEPopup.editor; + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') + + var inst = ed; + var tdElm = ed.dom.getParent(ed.selection.getNode(), "td,th"); + var formObj = document.forms[0]; + var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style")); + + // Get table cell data + var celltype = tdElm.nodeName.toLowerCase(); + var align = ed.dom.getAttrib(tdElm, 'align'); + var valign = ed.dom.getAttrib(tdElm, 'valign'); + var width = trimSize(getStyle(tdElm, 'width', 'width')); + var height = trimSize(getStyle(tdElm, 'height', 'height')); + var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); + var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); + var className = ed.dom.getAttrib(tdElm, 'class'); + var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; + var id = ed.dom.getAttrib(tdElm, 'id'); + var lang = ed.dom.getAttrib(tdElm, 'lang'); + var dir = ed.dom.getAttrib(tdElm, 'dir'); + var scope = ed.dom.getAttrib(tdElm, 'scope'); + + // Setup form + addClassesToList('class', 'table_cell_styles'); + TinyMCE_EditableSelects.init(); + + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.width.value = width; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = ed.dom.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className, true, true); + selectByValue(formObj, 'celltype', celltype); + selectByValue(formObj, 'dir', dir); + selectByValue(formObj, 'scope', scope); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); +} + +function updateAction() { + var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0]; + + tinyMCEPopup.restoreSelection(); + el = ed.selection.getNode(); + tdElm = ed.dom.getParent(el, "td,th"); + trElm = ed.dom.getParent(el, "tr"); + tableElm = ed.dom.getParent(el, "table"); + + ed.execCommand('mceBeginUndoLevel'); + + switch (getSelectValue(formObj, 'action')) { + case "cell": + var celltype = getSelectValue(formObj, 'celltype'); + var scope = getSelectValue(formObj, 'scope'); + + function doUpdate(s) { + if (s) { + updateCell(tdElm); + + ed.addVisual(); + ed.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + } + }; + + if (ed.getParam("accessibility_warnings", 1)) { + if (celltype == "th" && scope == "") + tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate); + else + doUpdate(1); + + return; + } + + updateCell(tdElm); + break; + + case "row": + var cell = trElm.firstChild; + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + cell = updateCell(cell, true); + } while ((cell = nextCell(cell)) != null); + + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js new file mode 100644 index 00000000..31d6df0a --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js @@ -0,0 +1,29 @@ +tinyMCEPopup.requireLangPack(); + +function init() { + var f = document.forms[0], v; + + tinyMCEPopup.resizeToInnerSize(); + + f.numcols.value = tinyMCEPopup.getWindowArg('numcols', 1); + f.numrows.value = tinyMCEPopup.getWindowArg('numrows', 1); +} + +function mergeCells() { + var args = [], f = document.forms[0]; + + tinyMCEPopup.restoreSelection(); + + if (!AutoValidator.validate(f)) { + tinyMCEPopup.alert(tinyMCEPopup.getLang('invalid_data')); + return false; + } + + args["numcols"] = f.numcols.value; + args["numrows"] = f.numrows.value; + + tinyMCEPopup.execCommand("mceTableMergeCells", false, args); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/js/row.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/js/row.js new file mode 100644 index 00000000..d25f635f --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/js/row.js @@ -0,0 +1,212 @@ +tinyMCEPopup.requireLangPack(); + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + var trElm = dom.getParent(inst.selection.getNode(), "tr"); + var formObj = document.forms[0]; + var st = dom.parseStyle(dom.getAttrib(trElm, "style")); + + // Get table row data + var rowtype = trElm.parentNode.nodeName.toLowerCase(); + var align = dom.getAttrib(trElm, 'align'); + var valign = dom.getAttrib(trElm, 'valign'); + var height = trimSize(getStyle(trElm, 'height', 'height')); + var className = dom.getAttrib(trElm, 'class'); + var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor')); + var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; + var id = dom.getAttrib(trElm, 'id'); + var lang = dom.getAttrib(trElm, 'lang'); + var dir = dom.getAttrib(trElm, 'dir'); + + // Setup form + addClassesToList('class', 'table_row_styles'); + TinyMCE_EditableSelects.init(); + + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = dom.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className, true, true); + selectByValue(formObj, 'rowtype', rowtype); + selectByValue(formObj, 'dir', dir); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bgcolor_pick', 'bgcolor'); +} + +function updateAction() { + var inst = tinyMCEPopup.editor, dom = inst.dom, trElm, tableElm, formObj = document.forms[0]; + var action = getSelectValue(formObj, 'action'); + + tinyMCEPopup.restoreSelection(); + trElm = dom.getParent(inst.selection.getNode(), "tr"); + tableElm = dom.getParent(inst.selection.getNode(), "table"); + + inst.execCommand('mceBeginUndoLevel'); + + switch (action) { + case "row": + updateRow(trElm); + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i colLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.col_limit').replace(/\{\$cols\}/g, colLimit)); + return false; + } else if (rowLimit && rows > rowLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.row_limit').replace(/\{\$rows\}/g, rowLimit)); + return false; + } else if (cellLimit && cols * rows > cellLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.cell_limit').replace(/\{\$cells\}/g, cellLimit)); + return false; + } + + // Update table + if (action == "update") { + inst.execCommand('mceBeginUndoLevel'); + + dom.setAttrib(elm, 'cellPadding', cellpadding, true); + dom.setAttrib(elm, 'cellSpacing', cellspacing, true); + dom.setAttrib(elm, 'border', border); + dom.setAttrib(elm, 'align', align); + dom.setAttrib(elm, 'frame', frame); + dom.setAttrib(elm, 'rules', rules); + dom.setAttrib(elm, 'class', className); + dom.setAttrib(elm, 'style', style); + dom.setAttrib(elm, 'id', id); + dom.setAttrib(elm, 'summary', summary); + dom.setAttrib(elm, 'dir', dir); + dom.setAttrib(elm, 'lang', lang); + + capEl = inst.dom.select('caption', elm)[0]; + + if (capEl && !caption) + capEl.parentNode.removeChild(capEl); + + if (!capEl && caption) { + capEl = elm.ownerDocument.createElement('caption'); + + if (!tinymce.isIE) + capEl.innerHTML = '
'; + + elm.insertBefore(capEl, elm.firstChild); + } + + if (width && inst.settings.inline_styles) { + dom.setStyle(elm, 'width', width); + dom.setAttrib(elm, 'width', ''); + } else { + dom.setAttrib(elm, 'width', width, true); + dom.setStyle(elm, 'width', ''); + } + + // Remove these since they are not valid XHTML + dom.setAttrib(elm, 'borderColor', ''); + dom.setAttrib(elm, 'bgColor', ''); + dom.setAttrib(elm, 'background', ''); + + if (height && inst.settings.inline_styles) { + dom.setStyle(elm, 'height', height); + dom.setAttrib(elm, 'height', ''); + } else { + dom.setAttrib(elm, 'height', height, true); + dom.setStyle(elm, 'height', ''); + } + + if (background != '') + elm.style.backgroundImage = "url('" + background + "')"; + else + elm.style.backgroundImage = ''; + +/* if (tinyMCEPopup.getParam("inline_styles")) { + if (width != '') + elm.style.width = getCSSSize(width); + }*/ + + if (bordercolor != "") { + elm.style.borderColor = bordercolor; + elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle; + elm.style.borderWidth = border == "" ? "1px" : border; + } else + elm.style.borderColor = ''; + + elm.style.backgroundColor = bgcolor; + elm.style.height = getCSSSize(height); + + inst.addVisual(); + + // Fix for stange MSIE align bug + //elm.outerHTML = elm.outerHTML; + + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + + // Repaint if dimensions changed + if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) + inst.execCommand('mceRepaint'); + + tinyMCEPopup.close(); + return true; + } + + // Create new table + html += ''); + + tinymce.each('h1,h2,h3,h4,h5,h6,p'.split(','), function(n) { + if (patt) + patt += ','; + + patt += n + ' ._mce_marker'; + }); + + tinymce.each(inst.dom.select(patt), function(n) { + inst.dom.split(inst.dom.getParent(n, 'h1,h2,h3,h4,h5,h6,p'), n); + }); + + dom.setOuterHTML(dom.select('._mce_marker')[0], html); + + inst.selection.moveToBookmark(bm); + } else + inst.execCommand('mceInsertContent', false, html); + + inst.addVisual(); + inst.execCommand('mceEndUndoLevel'); + + tinyMCEPopup.close(); +} + +function makeAttrib(attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib]; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + if (value == "") + return ""; + + // XML encode it + value = value.replace(/&/g, '&'); + value = value.replace(/\"/g, '"'); + value = value.replace(//g, '>'); + + return ' ' + attrib + '="' + value + '"'; +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var cols = 2, rows = 2, border = tinyMCEPopup.getParam('table_default_border', '0'), cellpadding = tinyMCEPopup.getParam('table_default_cellpadding', ''), cellspacing = tinyMCEPopup.getParam('table_default_cellspacing', ''); + var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; + var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules, frame; + var inst = tinyMCEPopup.editor, dom = inst.dom; + var formObj = document.forms[0]; + var elm = dom.getParent(inst.selection.getNode(), "table"); + + action = tinyMCEPopup.getWindowArg('action'); + + if (!action) + action = elm ? "update" : "insert"; + + if (elm && action != "insert") { + var rowsAr = elm.rows; + var cols = 0; + for (var i=0; i cols) + cols = rowsAr[i].cells.length; + + cols = cols; + rows = rowsAr.length; + + st = dom.parseStyle(dom.getAttrib(elm, "style")); + border = trimSize(getStyle(elm, 'border', 'borderWidth')); + cellpadding = dom.getAttrib(elm, 'cellpadding', ""); + cellspacing = dom.getAttrib(elm, 'cellspacing', ""); + width = trimSize(getStyle(elm, 'width', 'width')); + height = trimSize(getStyle(elm, 'height', 'height')); + bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor')); + bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor')); + align = dom.getAttrib(elm, 'align', align); + frame = dom.getAttrib(elm, 'frame'); + rules = dom.getAttrib(elm, 'rules'); + className = tinymce.trim(dom.getAttrib(elm, 'class').replace(/mceItem.+/g, '')); + id = dom.getAttrib(elm, 'id'); + summary = dom.getAttrib(elm, 'summary'); + style = dom.serializeStyle(st); + dir = dom.getAttrib(elm, 'dir'); + lang = dom.getAttrib(elm, 'lang'); + background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + formObj.caption.checked = elm.getElementsByTagName('caption').length > 0; + + orgTableWidth = width; + orgTableHeight = height; + + action = "update"; + formObj.insert.value = inst.getLang('update'); + } + + addClassesToList('class', "table_styles"); + TinyMCE_EditableSelects.init(); + + // Update form + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'frame', frame); + selectByValue(formObj, 'rules', rules); + selectByValue(formObj, 'class', className, true, true); + formObj.cols.value = cols; + formObj.rows.value = rows; + formObj.border.value = border; + formObj.cellpadding.value = cellpadding; + formObj.cellspacing.value = cellspacing; + formObj.width.value = width; + formObj.height.value = height; + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.id.value = id; + formObj.summary.value = summary; + formObj.style.value = style; + formObj.dir.value = dir; + formObj.lang.value = lang; + formObj.backgroundimage.value = background; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + // Disable some fields in update mode + if (action == "update") { + formObj.cols.disabled = true; + formObj.rows.disabled = true; + } +} + +function changedSize() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + +/* var width = formObj.width.value; + if (width != "") + st['width'] = tinyMCEPopup.getParam("inline_styles") ? getCSSSize(width) : ""; + else + st['width'] = "";*/ + + var height = formObj.height.value; + if (height != "") + st['height'] = getCSSSize(height); + else + st['height'] = ""; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBackgroundImage() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBorder() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + // Update border width if the element has a color + if (formObj.border.value != "" && formObj.bordercolor.value != "") + st['border-width'] = formObj.border.value + "px"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedColor() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-color'] = formObj.bgcolor.value; + + if (formObj.bordercolor.value != "") { + st['border-color'] = formObj.bordercolor.value; + + // Add border-width if it's missing + if (!st['border-width']) + st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px"; + } + + formObj.style.value = dom.serializeStyle(st); +} + +function changedStyle() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + if (st['background-image']) + formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + else + formObj.backgroundimage.value = ''; + + if (st['width']) + formObj.width.value = trimSize(st['width']); + + if (st['height']) + formObj.height.value = trimSize(st['height']); + + if (st['background-color']) { + formObj.bgcolor.value = st['background-color']; + updateColor('bgcolor_pick','bgcolor'); + } + + if (st['border-color']) { + formObj.bordercolor.value = st['border-color']; + updateColor('bordercolor_pick','bordercolor'); + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js new file mode 100644 index 00000000..436eaad1 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js @@ -0,0 +1,249 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') + + var inst = tinyMCE.selectedInstance; + var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th"); + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style")); + + // Get table cell data + var celltype = tdElm.nodeName.toLowerCase(); + var align = tinyMCE.getAttrib(tdElm, 'align'); + var valign = tinyMCE.getAttrib(tdElm, 'valign'); + var width = trimSize(getStyle(tdElm, 'width', 'width')); + var height = trimSize(getStyle(tdElm, 'height', 'height')); + var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); + var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); + var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false); + var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; + var id = tinyMCE.getAttrib(tdElm, 'id'); + var lang = tinyMCE.getAttrib(tdElm, 'lang'); + var dir = tinyMCE.getAttrib(tdElm, 'dir'); + var scope = tinyMCE.getAttrib(tdElm, 'scope'); + + // Setup form + addClassesToList('class', 'table_cell_styles'); + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.width.value = width; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = tinyMCE.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className); + selectByValue(formObj, 'celltype', celltype); + selectByValue(formObj, 'dir', dir); + selectByValue(formObj, 'scope', scope); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); +} + +function updateAction() { + tinyMCEPopup.restoreSelection(); + + var inst = tinyMCE.selectedInstance; + var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th"); + var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); + var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); + var formObj = document.forms[0]; + + inst.execCommand('mceBeginUndoLevel'); + + switch (getSelectValue(formObj, 'action')) { + case "cell": + var celltype = getSelectValue(formObj, 'celltype'); + var scope = getSelectValue(formObj, 'scope'); + + if (tinyMCE.getParam("accessibility_warnings")) { + if (celltype == "th" && scope == "") + var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true)); + else + var answer = true; + + if (!answer) + return; + } + + updateCell(tdElm); + break; + + case "row": + var cell = trElm.firstChild; + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + cell = updateCell(cell, true); + } while ((cell = nextCell(cell)) != null); + + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js new file mode 100644 index 00000000..06cbb275 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js @@ -0,0 +1,24 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + + formObj.numcols.value = tinyMCE.getWindowArg('numcols', 1); + formObj.numrows.value = tinyMCE.getWindowArg('numrows', 1); +} + +function mergeCells() { + var args = new Array(); + var formObj = document.forms[0]; + + if (!AutoValidator.validate(formObj)) { + alert(tinyMCE.getLang('lang_invalid_data')); + return false; + } + + args["numcols"] = formObj.numcols.value; + args["numrows"] = formObj.numrows.value; + + tinyMCEPopup.execCommand("mceTableMergeCells", false, args); + tinyMCEPopup.close(); +} diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/row.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/row.js new file mode 100644 index 00000000..395ddf02 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/row.js @@ -0,0 +1,200 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var inst = tinyMCE.selectedInstance; + var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(tinyMCE.getAttrib(trElm, "style")); + + // Get table row data + var rowtype = trElm.parentNode.nodeName.toLowerCase(); + var align = tinyMCE.getAttrib(trElm, 'align'); + var valign = tinyMCE.getAttrib(trElm, 'valign'); + var height = trimSize(getStyle(trElm, 'height', 'height')); + var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false); + var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor')); + var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; + var id = tinyMCE.getAttrib(trElm, 'id'); + var lang = tinyMCE.getAttrib(trElm, 'lang'); + var dir = tinyMCE.getAttrib(trElm, 'dir'); + + // Setup form + addClassesToList('class', 'table_row_styles'); + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = tinyMCE.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className); + selectByValue(formObj, 'rowtype', rowtype); + selectByValue(formObj, 'dir', dir); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bgcolor_pick', 'bgcolor'); +} + +function updateAction() { + tinyMCEPopup.restoreSelection(); + + var inst = tinyMCE.selectedInstance; + var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); + var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); + var formObj = document.forms[0]; + var action = getSelectValue(formObj, 'action'); + + inst.execCommand('mceBeginUndoLevel'); + + switch (action) { + case "row": + updateRow(trElm); + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i colLimit) { + alert(tinyMCE.getLang('lang_table_col_limit', '', true, {cols : colLimit})); + return false; + } else if (rowLimit && rows > rowLimit) { + alert(tinyMCE.getLang('lang_table_row_limit', '', true, {rows : rowLimit})); + return false; + } else if (cellLimit && cols * rows > cellLimit) { + alert(tinyMCE.getLang('lang_table_cell_limit', '', true, {cells : cellLimit})); + return false; + } + + // Update table + if (action == "update") { + inst.execCommand('mceBeginUndoLevel'); + + tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true); + tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true); + tinyMCE.setAttrib(elm, 'border', border, true); + tinyMCE.setAttrib(elm, 'align', align); + tinyMCE.setAttrib(elm, 'class', className); + tinyMCE.setAttrib(elm, 'style', style); + tinyMCE.setAttrib(elm, 'id', id); + tinyMCE.setAttrib(elm, 'summary', summary); + tinyMCE.setAttrib(elm, 'dir', dir); + tinyMCE.setAttrib(elm, 'lang', lang); + + capEl = elm.getElementsByTagName('caption')[0]; + + if (capEl && !caption) + capEl.parentNode.removeChild(capEl); + + if (!capEl && caption) { + capEl = elm.ownerDocument.createElement('caption'); + capEl.innerHTML = ' '; + elm.insertBefore(capEl, elm.firstChild); + } + + // Not inline styles + if (!tinyMCE.getParam("inline_styles")) + tinyMCE.setAttrib(elm, 'width', width, true); + + // Remove these since they are not valid XHTML + tinyMCE.setAttrib(elm, 'borderColor', ''); + tinyMCE.setAttrib(elm, 'bgColor', ''); + tinyMCE.setAttrib(elm, 'background', ''); + tinyMCE.setAttrib(elm, 'height', ''); + + if (background != '') + elm.style.backgroundImage = "url('" + background + "')"; + else + elm.style.backgroundImage = ''; + + if (tinyMCE.getParam("inline_styles")) + elm.style.borderWidth = border + "px"; + + if (tinyMCE.getParam("inline_styles")) { + if (width != '') + elm.style.width = getCSSSize(width); + } + + if (bordercolor != "") { + elm.style.borderColor = bordercolor; + elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle; + elm.style.borderWidth = border == "" ? "1px" : border; + } else + elm.style.borderColor = ''; + + elm.style.backgroundColor = bgcolor; + elm.style.height = getCSSSize(height); + + tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst); + + // Fix for stange MSIE align bug + tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML; + + tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst); + tinyMCE.triggerNodeChange(); + inst.execCommand('mceEndUndoLevel'); + + // Repaint if dimensions changed + if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) + inst.repaint(); + + tinyMCEPopup.close(); + return true; + } + + // Create new table + html += '/g, '>'); + + return ' ' + attrib + '="' + value + '"'; +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var cols = 2, rows = 2, border = tinyMCE.getParam('table_default_border', '0'), cellpadding = tinyMCE.getParam('table_default_cellpadding', ''), cellspacing = tinyMCE.getParam('table_default_cellspacing', ''); + var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; + var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = ""; + var inst = tinyMCE.selectedInstance; + var formObj = document.forms[0]; + var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); + + tinyMCE.tableElm = elm; + action = tinyMCE.getWindowArg('action'); + if (action == null) + action = tinyMCE.tableElm ? "update" : "insert"; + + if (tinyMCE.tableElm && action != "insert") { + var rowsAr = tinyMCE.tableElm.rows; + var cols = 0; + for (var i=0; i cols) + cols = rowsAr[i].cells.length; + + cols = cols; + rows = rowsAr.length; + + st = tinyMCE.parseStyle(tinyMCE.getAttrib(tinyMCE.tableElm, "style")); + border = trimSize(getStyle(elm, 'border', 'borderWidth')); + cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', ""); + cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', ""); + width = trimSize(getStyle(elm, 'width', 'width')); + height = trimSize(getStyle(elm, 'height', 'height')); + bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor')); + bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor')); + align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align); + className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false); + id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id'); + summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary'); + style = tinyMCE.serializeStyle(st); + dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir'); + lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang'); + background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + formObj.caption.checked = tinyMCE.tableElm.getElementsByTagName('caption').length > 0; + + orgTableWidth = width; + orgTableHeight = height; + + action = "update"; + } + + addClassesToList('class', "table_styles"); + + // Update form + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'class', className); + formObj.cols.value = cols; + formObj.rows.value = rows; + formObj.border.value = border; + formObj.cellpadding.value = cellpadding; + formObj.cellspacing.value = cellspacing; + formObj.width.value = width; + formObj.height.value = height; + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.id.value = id; + formObj.summary.value = summary; + formObj.style.value = style; + formObj.dir.value = dir; + formObj.lang.value = lang; + formObj.backgroundimage.value = background; + formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + // Disable some fields in update mode + if (action == "update") { + formObj.cols.disabled = true; + formObj.rows.disabled = true; + } +} + +function changedSize() { + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(formObj.style.value); + + var width = formObj.width.value; + if (width != "") + st['width'] = tinyMCE.getParam("inline_styles") ? getCSSSize(width) : ""; + else + st['width'] = ""; + + var height = formObj.height.value; + if (height != "") + st['height'] = getCSSSize(height); + else + st['height'] = ""; + + formObj.style.value = tinyMCE.serializeStyle(st); +} + +function changedBackgroundImage() { + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(formObj.style.value); + + st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; + + formObj.style.value = tinyMCE.serializeStyle(st); +} + +function changedBorder() { + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(formObj.style.value); + + // Update border width if the element has a color + if (formObj.border.value != "" && formObj.bordercolor.value != "") + st['border-width'] = formObj.border.value + "px"; + + formObj.style.value = tinyMCE.serializeStyle(st); +} + +function changedColor() { + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(formObj.style.value); + + st['background-color'] = formObj.bgcolor.value; + + if (formObj.bordercolor.value != "") { + st['border-color'] = formObj.bordercolor.value; + + // Add border-width if it's missing + if (!st['border-width']) + st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px"; + } + + formObj.style.value = tinyMCE.serializeStyle(st); +} + +function changedStyle() { + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(formObj.style.value); + + if (st['background-image']) + formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + else + formObj.backgroundimage.value = ''; + + if (st['width']) + formObj.width.value = trimSize(st['width']); + + if (st['height']) + formObj.height.value = trimSize(st['height']); + + if (st['background-color']) { + formObj.bgcolor.value = st['background-color']; + updateColor('bgcolor_pick','bgcolor'); + } + + if (st['border-color']) { + formObj.bordercolor.value = st['border-color']; + updateColor('bordercolor_pick','bordercolor'); + } +} diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js new file mode 100644 index 00000000..e2fbba2e --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js @@ -0,0 +1,79 @@ +// UK lang variables + +tinyMCE.addToLang('table',{ +general_tab : 'General', +advanced_tab : 'Advanced', +general_props : 'General properties', +advanced_props : 'Advanced properties', +desc : 'Inserts a new table', +row_before_desc : 'Insert row before', +row_after_desc : 'Insert row after', +delete_row_desc : 'Delete row', +col_before_desc : 'Insert column before', +col_after_desc : 'Insert column after', +delete_col_desc : 'Remove column', +rowtype : 'Row in table part', +title : 'Insert/Modify table', +width : 'Width', +height : 'Height', +cols : 'Columns', +rows : 'Rows', +cellspacing : 'Cellspacing', +cellpadding : 'Cellpadding', +border : 'Border', +align : 'Alignment', +align_default : 'Default', +align_left : 'Left', +align_right : 'Right', +align_middle : 'Center', +row_title : 'Table row properties', +cell_title : 'Table cell properties', +cell_type : 'Cell type', +row_desc : 'Table row properties', +cell_desc : 'Table cell properties', +valign : 'Vertical alignment', +align_top : 'Top', +align_bottom : 'Bottom', +props_desc : 'Table properties', +bordercolor : 'Border color', +bgcolor : 'Background color', +merge_cells_title : 'Merge table cells', +split_cells_desc : 'Split merged table cells', +merge_cells_desc : 'Merge table cells', +cut_row_desc : 'Cut table row', +copy_row_desc : 'Copy table row', +paste_row_before_desc : 'Paste table row before', +paste_row_after_desc : 'Paste table row after', +id : 'Id', +style: 'Style', +langdir : 'Language direction', +langcode : 'Language code', +mime : 'Target MIME type', +ltr : 'Left to right', +rtl : 'Right to left', +bgimage : 'Background image', +summary : 'Summary', +td : "Data", +th : "Header", +cell_cell : 'Update current cell', +cell_row : 'Update all cells in row', +cell_all : 'Update all cells in table', +row_row : 'Update current row', +row_odd : 'Update odd rows in table', +row_even : 'Update even rows in table', +row_all : 'Update all rows in table', +thead : 'Table Head', +tbody : 'Table Body', +tfoot : 'Table Foot', +del : 'Delete table', +scope : 'Scope', +row : 'Row', +col : 'Col', +rowgroup : 'Row Group', +colgroup : 'Col Group', +col_limit : 'You\'ve exceeded the maximum number of columns of {$cols}.', +row_limit : 'You\'ve exceeded the maximum number of rows of {$rows}.', +cell_limit : 'You\'ve exceeded the maximum number of cells of {$cells}.', +missing_scope: 'Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.', +caption : 'Table caption' +}); diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js new file mode 100644 index 00000000..000332a3 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js @@ -0,0 +1,74 @@ +tinyMCE.addI18n('en.table_dlg',{ +general_tab:"General", +advanced_tab:"Advanced", +general_props:"General properties", +advanced_props:"Advanced properties", +rowtype:"Row in table part", +title:"Insert/Modify table", +width:"Width", +height:"Height", +cols:"Cols", +rows:"Rows", +cellspacing:"Cellspacing", +cellpadding:"Cellpadding", +border:"Border", +align:"Alignment", +align_default:"Default", +align_left:"Left", +align_right:"Right", +align_middle:"Center", +row_title:"Table row properties", +cell_title:"Table cell properties", +cell_type:"Cell type", +valign:"Vertical alignment", +align_top:"Top", +align_bottom:"Bottom", +bordercolor:"Border color", +bgcolor:"Background color", +merge_cells_title:"Merge table cells", +id:"Id", +style:"Style", +langdir:"Language direction", +langcode:"Language code", +mime:"Target MIME type", +ltr:"Left to right", +rtl:"Right to left", +bgimage:"Background image", +summary:"Summary", +td:"Data", +th:"Header", +cell_cell:"Update current cell", +cell_row:"Update all cells in row", +cell_all:"Update all cells in table", +row_row:"Update current row", +row_odd:"Update odd rows in table", +row_even:"Update even rows in table", +row_all:"Update all rows in table", +thead:"Table Head", +tbody:"Table Body", +tfoot:"Table Foot", +scope:"Scope", +rowgroup:"Row Group", +colgroup:"Col Group", +col_limit:"You've exceeded the maximum number of columns of {$cols}.", +row_limit:"You've exceeded the maximum number of rows of {$rows}.", +cell_limit:"You've exceeded the maximum number of cells of {$cells}.", +missing_scope:"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.", +caption:"Table caption", +frame:"Frame", +frame_none:"none", +frame_groups:"groups", +frame_rows:"rows", +frame_cols:"cols", +frame_all:"all", +rules:"Rules", +rules_void:"void", +rules_above:"above", +rules_below:"below", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" +}); \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm new file mode 100644 index 00000000..25d42eb6 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm @@ -0,0 +1,37 @@ + + + + {#table_dlg.merge_cells_title} + + + + + + +
+
+ {#table_dlg.merge_cells_title} + + + + + + + + + +
{#table_dlg.cols}:
{#table_dlg.rows}:
+
+ +
+
+ +
+ +
+ +
+
+
+ + diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm new file mode 100644 index 00000000..07ca13c9 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm @@ -0,0 +1,160 @@ + + + + {#table_dlg.row_title} + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
 
+
+ + + + + +
 
+
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm new file mode 100644 index 00000000..2a138513 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm @@ -0,0 +1,192 @@ + + + + {#table_dlg.title} + + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + +
 
+
+ +
+ +
+ +
+ + + + + +
 
+
+ + + + + +
 
+
+
+
+
+ +
+
+ +
+ +
+ +
+
+
+ + diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/blank.htm b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/blank.htm new file mode 100644 index 00000000..ecde53fa --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/blank.htm @@ -0,0 +1,12 @@ + + + blank_page + + + + + + + diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/css/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/css/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/css/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/css/template.css b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/css/template.css new file mode 100644 index 00000000..2d23a493 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/css/template.css @@ -0,0 +1,23 @@ +#frmbody { + padding: 10px; + background-color: #FFF; + border: 1px solid #CCC; +} + +.frmRow { + margin-bottom: 10px; +} + +#templatesrc { + border: none; + width: 320px; + height: 240px; +} + +.title { + padding-bottom: 5px; +} + +.mceActionPanel { + padding-top: 5px; +} diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js new file mode 100644 index 00000000..11ee592a --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.TemplatePlugin",{init:function(b,c){var d=this;d.editor=b;b.addCommand("mceTemplate",function(e){b.windowManager.open({file:c+"/template.htm",width:b.getParam("template_popup_width",750),height:b.getParam("template_popup_height",600),inline:1},{plugin_url:c})});b.addCommand("mceInsertTemplate",d._insertTemplate,d);b.addButton("template",{title:"template.desc",cmd:"mceTemplate"});b.onPreProcess.add(function(e,g){var f=e.dom;a(f.select("div",g.node),function(h){if(f.hasClass(h,"mceTmpl")){a(f.select("*",h),function(i){if(f.hasClass(i,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))){i.innerHTML=d._getDateTime(new Date(),e.getParam("template_mdate_format",e.getLang("template.mdate_format")))}});d._replaceVals(h)}})})},getInfo:function(){return{longname:"Template plugin",author:"Moxiecode Systems AB",authorurl:"http://www.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_insertTemplate:function(i,j){var k=this,g=k.editor,f,c,d=g.dom,b=g.selection.getContent();f=j.content;a(k.editor.getParam("template_replace_values"),function(l,h){if(typeof(l)!="function"){f=f.replace(new RegExp("\\{\\$"+h+"\\}","g"),l)}});c=d.create("div",null,f);n=d.select(".mceTmpl",c);if(n&&n.length>0){c=d.create("div",null);c.appendChild(n[0].cloneNode(true))}function e(l,h){return new RegExp("\\b"+h+"\\b","g").test(l.className)}a(d.select("*",c),function(h){if(e(h,g.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))){h.innerHTML=k._getDateTime(new Date(),g.getParam("template_cdate_format",g.getLang("template.cdate_format")))}if(e(h,g.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))){h.innerHTML=k._getDateTime(new Date(),g.getParam("template_mdate_format",g.getLang("template.mdate_format")))}if(e(h,g.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))){h.innerHTML=b}});k._replaceVals(c);g.execCommand("mceInsertContent",false,c.innerHTML);g.addVisual()},_replaceVals:function(c){var d=this.editor.dom,b=this.editor.getParam("template_replace_values");a(d.select("*",c),function(f){a(b,function(g,e){if(d.hasClass(f,e)){if(typeof(b[e])=="function"){b[e](f)}}})})},_getDateTime:function(e,b){if(!b){return""}function c(g,d){var f;g=""+g;if(g.length 0) { + el = dom.create('div', null); + el.appendChild(n[0].cloneNode(true)); + } + + function hasClass(n, c) { + return new RegExp('\\b' + c + '\\b', 'g').test(n.className); + }; + + each(dom.select('*', el), function(n) { + // Replace cdate + if (hasClass(n, ed.getParam('template_cdate_classes', 'cdate').replace(/\s+/g, '|'))) + n.innerHTML = t._getDateTime(new Date(), ed.getParam("template_cdate_format", ed.getLang("template.cdate_format"))); + + // Replace mdate + if (hasClass(n, ed.getParam('template_mdate_classes', 'mdate').replace(/\s+/g, '|'))) + n.innerHTML = t._getDateTime(new Date(), ed.getParam("template_mdate_format", ed.getLang("template.mdate_format"))); + + // Replace selection + if (hasClass(n, ed.getParam('template_selected_content_classes', 'selcontent').replace(/\s+/g, '|'))) + n.innerHTML = sel; + }); + + t._replaceVals(el); + + ed.execCommand('mceInsertContent', false, el.innerHTML); + ed.addVisual(); + }, + + _replaceVals : function(e) { + var dom = this.editor.dom, vl = this.editor.getParam('template_replace_values'); + + each(dom.select('*', e), function(e) { + each(vl, function(v, k) { + if (dom.hasClass(e, k)) { + if (typeof(vl[k]) == 'function') + vl[k](e); + } + }); + }); + }, + + _getDateTime : function(d, fmt) { + if (!fmt) + return ""; + + function addZeros(value, len) { + var i; + + value = "" + value; + + if (value.length < len) { + for (i=0; i<(len-value.length); i++) + value = "0" + value; + } + + return value; + } + + fmt = fmt.replace("%D", "%m/%d/%y"); + fmt = fmt.replace("%r", "%I:%M:%S %p"); + fmt = fmt.replace("%Y", "" + d.getFullYear()); + fmt = fmt.replace("%y", "" + d.getYear()); + fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2)); + fmt = fmt.replace("%d", addZeros(d.getDate(), 2)); + fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2)); + fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2)); + fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2)); + fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1)); + fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM")); + fmt = fmt.replace("%B", "" + tinyMCE.getLang("template_months_long").split(',')[d.getMonth()]); + fmt = fmt.replace("%b", "" + tinyMCE.getLang("template_months_short").split(',')[d.getMonth()]); + fmt = fmt.replace("%A", "" + tinyMCE.getLang("template_day_long").split(',')[d.getDay()]); + fmt = fmt.replace("%a", "" + tinyMCE.getLang("template_day_short").split(',')[d.getDay()]); + fmt = fmt.replace("%%", "%"); + + return fmt; + } + }); + + // Register plugin + tinymce.PluginManager.add('template', tinymce.plugins.TemplatePlugin); +})(); \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/images/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/images/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/images/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/images/template.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/images/template.gif new file mode 100644 index 00000000..58c6610f Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/images/template.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/js/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/js/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/js/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/js/template.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/js/template.js new file mode 100644 index 00000000..24045d73 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/js/template.js @@ -0,0 +1,106 @@ +tinyMCEPopup.requireLangPack(); + +var TemplateDialog = { + preInit : function() { + var url = tinyMCEPopup.getParam("template_external_list_url"); + + if (url != null) + document.write(''); + }, + + init : function() { + var ed = tinyMCEPopup.editor, tsrc, sel, x, u; + + tsrc = ed.getParam("template_templates", false); + sel = document.getElementById('tpath'); + + // Setup external template list + if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') { + for (x=0, tsrc = []; x'); + }); + }, + + selectTemplate : function(u, ti) { + var d = window.frames['templatesrc'].document, x, tsrc = this.tsrc; + + if (!u) + return; + + d.body.innerHTML = this.templateHTML = this.getFileContents(u); + + for (x=0; x \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/jscripts/template.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/jscripts/template.js new file mode 100644 index 00000000..ccbaadbe --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/jscripts/template.js @@ -0,0 +1,143 @@ +// Import external list url javascript +var url = tinyMCE.getParam("template_external_list_url"); +if (url != null) { + // Fix relative + if (url.charAt(0) != '/' && url.indexOf('://') == -1) + url = tinyMCE.documentBasePath + "/" + url; + + document.write(''); +} + +var TPU = { //Template Popup Utils + currentTemplateHTML : null, + templates : [], + inst : tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')), + plugin : tinyMCE.getWindowArg('pluginObj'), + data : tinyMCE.selectedInstance.getData('template'), + + init : function() { + document.forms[0].insert.value = tinyMCE.getLang('lang_' + this.data.currentAction, 'Insert', true); + TPU.loadTemplatePaths(); + + if (this.data.currentAction == "update") + document.getElementById('warning').innerHTML = tinyMCE.getLang('lang_template_warning'); + + this.resizeInputs(); + }, + + loadTemplatePaths : function() { + var tsrc, sel, x, u; + + tsrc = tinyMCE.getParam("template_templates", false); + sel = document.getElementById('tpath'); + + // Setup external template list + if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') { + for (x=0, tsrc = []; x' + + 'blank_page' + + '' + + '' + + '' + + this.currentTemplateHTML + + '' + + ''; + }*/ + + // Write HTML to preview iframe + d.body.innerHTML = this.currentTemplateHTML; + + // Display description + for (x = 0; x < TPU.templates.length; x++) { + if (TPU.templates[x].src == o.value) { + document.getElementById('tmpldesc').innerHTML = TPU.templates[x].description; + break; + } + } + }, + + insertTemplate : function() { + var sel, opt; + + sel = document.getElementById('tpath'); + opt = sel.options[sel.selectedIndex]; + + // Is it a template or snippet + if (TPU.currentTemplateHTML.indexOf('mceTmpl')) + tinyMCEPopup.execCommand('mceTemplate', false, {title : opt.text, tsrc : opt.value, body : TPU.currentTemplateHTML}); + else + tinyMCEPopup.execCommand('mceInsertContent', false, TPU.currentTemplateHTML); + + tinyMCEPopup.close(); + }, + + getFileContents : function(u) { + var x, d, t = 'text/plain'; + + function g(s) { + x = 0; + + try { + x = new ActiveXObject(s); + } catch (s) { + } + + return x; + }; + + x = window.ActiveXObject ? g('Msxml2.XMLHTTP') || g('Microsoft.XMLHTTP') : new XMLHttpRequest(); + + // Synchronous AJAX load file + x.overrideMimeType && x.overrideMimeType(t); + x.open("GET", u, false); + x.send(null); + + return x.responseText; + }, + + resizeInputs : function() { + var wHeight, wWidth, elm; + + if (!self.innerWidth) { + wHeight = document.body.clientHeight - 160; + wWidth = document.body.clientWidth - 40; + } else { + wHeight = self.innerHeight - 160; + wWidth = self.innerWidth - 40; + } + + elm = document.getElementById('templatesrc'); + + if (elm) { + elm.style.height = Math.abs(wHeight) + 'px'; + elm.style.width = Math.abs(wWidth - 5) + 'px'; + } + } +}; diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/langs/en.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/langs/en.js new file mode 100644 index 00000000..bdbf3ffb --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/langs/en.js @@ -0,0 +1,16 @@ +// UK lang variables + +tinyMCE.addToLang('template',{ +title : 'Templates', +label : 'Template', +desc_label : 'Description', +desc : 'Insert predefined template content', +select : 'Select a template', +preview : 'Preview', +warning : 'Warning: Updating a template with a different one may cause data loss.', +def_date_format : '%Y-%m-%d %H:%M:%S', +months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"), +months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"), +day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"), +day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") +}); diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js new file mode 100644 index 00000000..2471c3fa --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js @@ -0,0 +1,15 @@ +tinyMCE.addI18n('en.template_dlg',{ +title:"Templates", +label:"Template", +desc_label:"Description", +desc:"Insert predefined template content", +select:"Select a template", +preview:"Preview", +warning:"Warning: Updating a template with a different one may cause data loss.", +mdate_format:"%Y-%m-%d %H:%M:%S", +cdate_format:"%Y-%m-%d %H:%M:%S", +months_long:"January,February,March,April,May,June,July,August,September,October,November,December", +months_short:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", +day_long:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday", +day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun" +}); \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/langs/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/langs/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/langs/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/template.htm b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/template.htm new file mode 100644 index 00000000..f7bb044a --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/template/template.htm @@ -0,0 +1,38 @@ + + + {#template_dlg.title} + + + + + +
+
+
{#template_dlg.desc}
+
+ +
+
+
+
+ {#template_dlg.preview} + +
+
+ +
+
+ +
+ +
+ +
+ +
+
+
+ + diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/config_tinybrowser.php b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/config_tinybrowser.php new file mode 100644 index 00000000..7a70ce2e --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/config_tinybrowser.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/css/style_tinybrowser.css.php b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/css/style_tinybrowser.css.php new file mode 100644 index 00000000..7a70ce2e --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/css/style_tinybrowser.css.php @@ -0,0 +1,4 @@ +function.mkdir]: Invalid argument File: fns_tinybrowser.php Line: 5 +2009-05-23 13:20:56 (CEST) 2 Warning mkdir() [function.mkdir]: Invalid argument File: fns_tinybrowser.php Line: 5 +2009-05-23 13:20:56 (CEST) 2 Warning mkdir() [function.mkdir]: Invalid argument File: fns_tinybrowser.php Line: 5 +2009-05-23 13:20:56 (CEST) 2 Warning mkdir() [function.mkdir]: Invalid argument File: fns_tinybrowser.php Line: 5 +2009-05-23 13:20:56 (CEST) 2 Warning mkdir() [function.mkdir]: Invalid argument File: fns_tinybrowser.php Line: 5 +2009-05-23 13:20:56 (CEST) 2 Warning mkdir() [function.mkdir]: Invalid argument File: fns_tinybrowser.php Line: 5 +2009-05-23 13:20:56 (CEST) 2 Warning mkdir() [function.mkdir]: Invalid argument File: fns_tinybrowser.php Line: 5 +2009-05-23 13:20:56 (CEST) 2 Warning opendir(C:/xampp/htdocsC:\xampp\htdocs\eclipse\k2102sample\images\stories) [function.opendir]: failed to open dir: Invalid argument File: fns_tinybrowser.php Line: 363 +2009-05-23 13:20:56 (CEST) 2 Warning readdir(): supplied argument is not a valid Directory resource File: fns_tinybrowser.php Line: 364 +2009-05-23 13:20:56 (CEST) 2 Warning closedir(): supplied argument is not a valid Directory resource File: fns_tinybrowser.php Line: 380 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:34 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:34 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:34 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:42 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg File: edit.php Line: 262 +2009-05-23 13:57:42 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg File: edit.php Line: 263 +2009-05-23 13:57:42 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:42 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg File: edit.php Line: 262 +2009-05-23 13:57:42 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg File: edit.php Line: 263 +2009-05-23 13:57:42 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:42 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png File: edit.php Line: 262 +2009-05-23 13:57:42 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png File: edit.php Line: 263 +2009-05-23 13:57:42 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:42 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png File: edit.php Line: 262 +2009-05-23 13:57:42 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png File: edit.php Line: 263 +2009-05-23 13:57:42 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:42 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png File: edit.php Line: 262 +2009-05-23 13:57:42 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png File: edit.php Line: 263 +2009-05-23 13:57:42 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:42 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png File: edit.php Line: 262 +2009-05-23 13:57:42 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png File: edit.php Line: 263 +2009-05-23 13:57:42 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:42 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png File: edit.php Line: 262 +2009-05-23 13:57:42 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png File: edit.php Line: 263 +2009-05-23 13:57:42 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:42 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg File: edit.php Line: 262 +2009-05-23 13:57:42 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg File: edit.php Line: 263 +2009-05-23 13:57:42 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:43 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg File: edit.php Line: 262 +2009-05-23 13:57:43 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg File: edit.php Line: 263 +2009-05-23 13:57:43 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:43 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png File: edit.php Line: 262 +2009-05-23 13:57:43 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png File: edit.php Line: 263 +2009-05-23 13:57:43 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:43 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg File: edit.php Line: 262 +2009-05-23 13:57:43 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg File: edit.php Line: 263 +2009-05-23 13:57:43 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:43 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg File: edit.php Line: 262 +2009-05-23 13:57:43 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg File: edit.php Line: 263 +2009-05-23 13:57:43 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: edit.php Line: 266 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:46 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:46 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:46 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:57:50 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:57:50 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:57:50 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesarticles.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesclock.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_com.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_lang.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_mod.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesext_plugin.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesjoomla-dev_cycle.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storieskey.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiespastarchives.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiespowered_by.png) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiestaking_notes.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-23 13:59:17 (CEST) 2 Warning filemtime() [function.filemtime]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg File: tinybrowser.php Line: 108 +2009-05-23 13:59:17 (CEST) 2 Warning filesize() [function.filesize]: stat failed for C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg File: tinybrowser.php Line: 109 +2009-05-23 13:59:17 (CEST) 2 Warning getimagesize(C:/xampp/htdocs/eclipse/k2102sample/images/storiesweb_links.jpg) [function.getimagesize]: failed to open stream: No such file or directory File: tinybrowser.php Line: 112 +2009-05-24 11:48:07 (CEST) 2 Warning imagejpeg() [function.imagejpeg]: Unable to open 'C:/xampp/htdocs/eclipse/k2102sample/images/stories/sig/_thumbs/_027_pics.jpg' for writing: No such file or directory File: fns_tinybrowser.php Line: 113 +2009-05-24 11:48:08 (CEST) 2 Warning imagejpeg() [function.imagejpeg]: Unable to open 'C:/xampp/htdocs/eclipse/k2102sample/images/stories/sig/_thumbs/_034_pics.jpg' for writing: No such file or directory File: fns_tinybrowser.php Line: 113 +2009-05-24 11:48:08 (CEST) 2 Warning imagejpeg() [function.imagejpeg]: Unable to open 'C:/xampp/htdocs/eclipse/k2102sample/images/stories/sig/_thumbs/_044_pics.jpg' for writing: No such file or directory File: fns_tinybrowser.php Line: 113 diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/flexupload.swf b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/flexupload.swf new file mode 100644 index 00000000..4ee5a2eb Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/flexupload.swf differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/fns_tinybrowser.php b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/fns_tinybrowser.php new file mode 100644 index 00000000..7a70ce2e --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/fns_tinybrowser.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/preview.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/preview.gif new file mode 100644 index 00000000..73dba777 Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/preview.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/rotate_ac.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/rotate_ac.gif new file mode 100644 index 00000000..ea25adcd Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/rotate_ac.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/rotate_c.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/rotate_c.gif new file mode 100644 index 00000000..3a4bb7cd Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/rotate_c.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/tabs.gif b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/tabs.gif new file mode 100644 index 00000000..ce4be635 Binary files /dev/null and b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/img/tabs.gif differ diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/js/index.html b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/js/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/js/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/js/swfobject.js b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/js/swfobject.js new file mode 100644 index 00000000..c9ffbccf --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/js/swfobject.js @@ -0,0 +1,8 @@ +/** + * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ + * + * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + */ +if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="";_19+="";var _1d=this.getParams();for(var key in _1d){_19+="";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="";}_19+="";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.majorfv.major){return true;}if(this.minorfv.minor){return true;}if(this.rev=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject; \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/js/tinybrowser.js.php b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/js/tinybrowser.js.php new file mode 100644 index 00000000..7a70ce2e --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/js/tinybrowser.js.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/langs/it.php b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/langs/it.php new file mode 100644 index 00000000..7a70ce2e --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/langs/it.php @@ -0,0 +1,4 @@ +. + + +TinyBrowser Features: +===================== + +- Integrates as a custom file browser within TinyMCE for image, media and 'all' + file types, or can work in stand-alone mode + +- Adobe Flash based file uploader, supporting multiple file selection and upload + with file type and size filtering (permission based) + +- Browse files with a list view or as thumbnails (images only), with optional + pagination + +- List view has image thumbnail on hover + +- File display order customisable e.g. by name, type, size, date + +- Find function to filter results by search string + +- Display detailed file information such as type, size and dimensions (images + only) + +- File deletion facility (permission based) + +- File edit facility (permission based) - rename, resize and rotate (last two + images only) + +- Folder browsing and creation + +- File storage location user definable for each file type + +- Optional session control + +- Multi-lingual support with language definition files + +- Many user definable settings, all from central configuration file + + +TinyBrowser Background +====================== + +I created TinyBrowser as I couldn't find the right TinyMCE file browser for my +needs, particularly the ability to select and upload multiple files in an easy +way. + + +Version Notes +============= + +TinyBrowser 1.41 - released 05/05/2009 +-------------------------------------- +New Features: +Added folder argument to tinyBrowserPopUp function, so that a sub-folder can be +selected when using TinyBrowser in standalone mode. +Added error logging - errors are output to error.log in tinybrowser directory. +Added Spanish, Croatian, Slovakian, Latvian, Czech, Italian, Hungarian, Swedish +and Russian language files (thanks to all who contributed). + +Changes: +Prohibited files are no longer browseable (if the paths defined contained files +of this type). +Only defined file extensions of a file type are browseable and editable. +Changed stripos function to strpos to ensure PHP4 compatability. +Updated createfolder function to work recursively with PHP4. +Remember current folder after upload. +Changed filename clean regex to be less strict. + +Bug Fixes: +Fixed transparency support for gif and png (thanks to Dirk Bohl). +Added 'no-cache' meta tag to ensure latest page is served by web browser. +Added another fix for no style issue with TinyMCE integration. +Security fix for browse type when set to non-existant value. +Security fix for malicious setting of folder get variable to relative values. + +TinyBrowser 1.40 - released N/A +-------------------------------------- +New Features: +Added multiple folder support with a separate Folders tab to allow folder +creation, renaming and deletion. +Added Move action to Edit tab, to allow moving of files between folders. +Added Danish language file. +Added 'delayprocess' to config file - this can be set if server response is +delayed, preventing uploaded files being processed correctly. +Added width and height config values for the TinyBrowser pop up window size. +Added 'cleanfilename' flag to config file, to remove disallowed characters +from filenames on upload (set to true by default). + +Changes: +Added recursive flag to createfolder function, to allow TinyBrowser to +create full upload path. +Changed default window size to 770px x 480px. +Minor code optimisation. +Prohibited files are now not browseable (if the paths defined contained files of +this type). +Now only defined file extensions of a file type are browseable and editable. +Changed stripos function call to strpos to ensure PHP4 compatability. +Updated createfolder function to work recursively with PHP4. +Remember current folder after upload. + +Bug Fixes: +Fixed minor bug causing elementid to be lost after file upload in +stand-alone mode. +Fixed stand-alone javascript selectURL function bug that prevented +TinyBrowser window close on selection. +Fixed bug in Flash upload that prevented folder permission error reporting. +Fixed bug in image resize and rotate functions that converted all types +to jpeg. + +TinyBrowser 1.33 - released 23/09/2008 +-------------------------------------- +New Features: +Added German, Finnish, Traditional and Simplified Chinese language files. +Added session control workaround for upload_file.php (called by Flash). + +Changes: +Flash uploader has been modified to display the file type and also to fix +strange progress bar behaviour when uploading multiple files. As the +upload process is not concurrent, I have removed the individual progress +bars and replaced them with one (progress is still per file however). +When the Upload button is pressed all the buttons now disappear. + +Bug Fixes: +Fixed minor bug that affected css layout after file upload. +Fixed bug introduced in 1.32 that prevented automatic image resize on +upload. +Added 'HTTP/1.1 200' response to upload_file.php script, to address +Flash bug in some Mac setups. +Added check for valid images in Browse and Edit tabs - non-image files +are still listed but error producing image properties code is bypassed. + + +TinyBrowser 1.32 - released 17/09/2008 +-------------------------------------- +New Features: +None. + +Changes: +The upload path is now passed to the Flash upload widget, for better +compatibility with Firefox and Opera when you set your paths using session +variables (this is due to a Flash bug that loses session data). +Files are no longer uploaded to a temporary directory, so there's now no +folder creation during the upload process. Instead, file name extensions +are suffixed with an underscore until processed. (This renders them +useless until verification). +The thumbs directory has been changed to '_thumbs'. + +Bug Fixes: +Fixed security hole - previously, it was possible to directly +submit files to the upload_file.php script. Due to the Flash session bug, +normal session control does not work. Instead, a hash string check has been +added to the upload_file.php script and the installation instructions +amended. + +TinyBrowser 1.31 - released 16/09/2008 +-------------------------------------- +New Features: +None. + +Changes: +Added prohibited files logic to the file_upload.php script (previously +located only in file_process.php script). +Changed duplicate file handling behaviour - TinyBrowser now discards +files with the same name. + +Bug Fixes: +None. + +TinyBrowser 1.30 - released 12/09/2008 +-------------------------------------- +New Features: +'Stand-alone' mode, for use without TinyMCE. +Optional and configurable pagination, to break results down into pages. +New configuration option, $tinybrowser['link'], allows the passback link to +be different to the upload path. +Added automatic creation of upload directories (with definable chmod for Unix +servers). +Added alert messages for errors and actions. +Multi-lingual support - credit to Francis Rebouças +(francisreboucas[at]gmail[dot]com) for idea, design, implementation and +Portugese language file. +Experimental support for FCKeditor. + +Changes: +Rationalised TinyBrowser file and folder names and structure (brought in line +with TinyMCE plugin specification). +Revised documentation. +After file upload user is now directed back to upload tab instead of the +browse tab. + +Bug Fixes: +Fixed security hole - prohibited file extensions not obeyed due to error in +inherited code. +Fixed small issue with edit / delete permissions (not consistently hiding +edit tab). + +TinyBrowser 1.20 - released 20/08/2008 +-------------------------------------- +New Features: +Added thumbnail on hover for detail view (images only). Note: not working in +IE6. +Added Edit tab - allows file rename, resize and rotate (last two for images +only). Also moved delete action to here. +Added configurable automatic image resize on upload. + +Changes: +Moved file thumbnail generation to upload process. +Changed table css to match Flash upload. +Improved thumbnail view layout. +Removed the form select elements for sort by and type, and made the table +column headers clickable. + +Bug Fixes: +Changed default $tinymce['docroot'] value to +rtrim($_SERVER['DOCUMENT_ROOT'],'/') - this fixes an issue with server setups +that return a value with a '/' suffix. +Removed .htaccess file after various bug reports - doesn't appear to be +required for majority of server setups. +Fixed silly bug with thumbnail urls that could prevent generation and viewing +under some server setups. +Fixed various other minor bugs and tidied code. + +TinyBrowser 1.10 +---------------- +Adjusted layout of file upload. +Added facility to limit permitted file upload size (separate values for each +file type). +Amended installation instructions for clarity. +Tested as working in Opera 9. + +TinyBrowser 1.00 +---------------- +Tested in Firefox 2 and 3, Internet Explorer 6 and 7 and Safari 3. +Requires Adobe Flash Player 9. + + +Requirements +============ + +Adobe Flash Player 8 + +PHP enabled server + +Supported browsers: +Internet Explorer 6 + +Firefox 2 + +Safari 3 + +Opera 9 + +Google Chrome + + +Language Definition Files +========================= + +English (en) +Chinese Simplified (zh-cn) +Chinese Traditional (zh-tw) +Croatian (hr) +Czech (cs) +Danish (da) +Dutch (nl) +Finnish (fi) +French (fr) +German (de) +Hungarian (hu) +Italian (it) +Latvian (lv) +Polish (pl) +Portuguese (pt) +Russian (ru) +Slovak (sk) +Spanish (es) +Swedish (sv) + + + +Known Issues +============ + +None. + + +Troubleshooting +=============== + +If you receive a 403, 406 or 412 status error on uploading files, please create +an .htaccess file in your tinybrowser directory with the following contents: + +SecFilterEngine Off +SecFilterScanPOST Off + +If you use Linux and the Squid proxy, you need to add a "ignore_expect_100 on" +flag to the squid config file to avoid a 417 status error. + + +TinyBrowser Installation Method 1 +================================= + +The standard TinyBrowser installation, this integrates TinyBrowser as a custom +file browseer with TinyMCE. + +1) Copy the tinybrowser folder and contents to your TinyMCE plugins directory. + +2) Place the following javascript link after the link to TinyMCE (tiny_mce.js): + + + + ***NOTE:*** The above link assumes TinyMCE is installed in your website root + directory, you will need to amend the link to your specific setup! + +3) Add this line to your TinyMCE init: + + file_browser_callback : "tinyBrowser" + +4) Edit the TinyBrowser configuration file (config_tinybrowser.php). The most + important settings are the file paths (these will be automatically created on + your server by TinyBrowser if they do not exist) and also the 'obfuscate' + property, which should be set to a random value. + + ***NOTE:*** If your server is Unix-based. you may wish to modify the + $tinybrowser['unixpermissions'] config value, which decides permissions. + +5) All done! Now you will see a browse button in the TinyMCE dialog windows for + plugins like image, media and link - just click this button and TinyBrowser + will appear. + + +TinyBrowser Installation Method 2 +================================= + +This installation allows TinyBrowser to be used in 'stand-alone' mode, for +integration with any web application. + +1) Copy the tinybrowser folder and contents to your server. + +2) Place the following javascript link within the tag on the page you + require TinyBrowser: + + + + ***NOTE:*** The above link assumes TinyBrowser is installed in your website + root directory, you will need to amend the link to your specific setup! + +3) Edit the TinyBrowser configuration file (config_tinybrowser.php). The most + important settings are the file paths (these will be automatically created on + your server by TinyBrowser if they do not exist) and also the 'obfuscate' + property, which should be set to a random value. + + ***NOTE:*** If your server is Unix-based. you may wish to modify the + $tinybrowser['unixpermissions'] config value, which decides permissions. + +4) To launch TinyBrowser use the following javascript function: + + tinyBrowserPopUp('type','elementid'); + + 'type' can contain 'image', 'media' or 'file' - corresponding to the type of + file you want TinyBrowser to manage. + + 'elementid' is the id of the page element you want populate with the file url + TinyBrowser returns - this is generally a form text input. If you want to + immediately display the image then create an tag with the same element + id, only suffixed with img - e.g. elementidimg. + + +TinyBrowser Installation Method 3 +================================= + +This installation method integrates TinyBrowser as a custom file browser with +FCKeditor. + +1) Copy the tinybrowser folder and contents to your server. + +2) Edit your fckconfig.js file as follows (replace existing lines). + + To enable TinyBrowser for files: + FCKConfig.LinkBrowserURL = '/yourtinybrowserurl/tinybrowser.php?type=file'; + + To enable TinyBrowser for images: + FCKConfig.ImageBrowserURL = '/yourtinybrowserurl/tinybrowser.php?type=image'; + + To enable TinyBrowser for Flash: + FCKConfig.FlashBrowserURL = '/yourtinybrowserurl/tinybrowser.php?type=media'; + + If you wish to disable the default FCKeditor file uploads (recommended), set + the following: + FCKConfig.LinkUpload = false; + FCKConfig.ImageUpload = false; + FCKConfig.FlashUpload = false; + +3) Edit the TinyBrowser configuration file (config_tinybrowser.php). + + Change the $tinybrowser['integration'] line: + $tinybrowser['integration'] = 'fckeditor'; + + The other most important settings are the file paths (these will be + automatically created on your server by TinyBrowser if they do not exist) and + the 'obfuscate' property, which should be set to a random value. + + ***NOTE:*** If your server is Unix-based. you may wish to modify the + $tinybrowser['unixpermissions'] config value, which decides permissions. + +4) All done! Now when you click the Browse Server button in the FCKeditor dialog + windows for image, Flash and link, TinyBrowser will appear instead of the + standard FCKeditor file browser. + + +Contact +======= + +Please notify me by email bryn[at]lunarvis[dot]com if you notice any bugs or +have ideas for new features. + +----------------------------- +File Last Modified 05/05/2009 \ No newline at end of file diff --git a/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/tb_standalone.js.php b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/tb_standalone.js.php new file mode 100644 index 00000000..7a70ce2e --- /dev/null +++ b/oss/joomla/trunk/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/tb_standalone.js.php @@ -0,0 +1,4 @@ +