Hey,
I'm using CKEDITOR 3.6.2 in my PHP application. I use customized dialogs instead of the standard LINK and IMAGE dialog. For customization I use the follwoing code:
CKEDITOR.on( 'dialogDefinition', function( ev ) { // Take the dialog name and its definition from the event data. var dialogName = ev.data.name; var dialogDefinition = ev.data.definition; var iframe = ''; var iframeWindow = ''; /* Initialize important CKEditor variables from opening editor. */ var CKEDITOR = window.parent.CKEDITOR; var oEditor = CKEDITOR.instances.editorName; // interested on (the Link dialog). if ( dialogName == 'link' ) { // Disable standard content dialogDefinition.removeContents( 'info' ); dialogDefinition.removeContents( 'advanced' ); dialogDefinition.removeContents( 'target' ); dialogDefinition.removeContents( 'upload' ); // Enable MMS dialogs dialogDefinition.minWidth = 1025; dialogDefinition.minHeight = 550; dialogDefinition.addContents({ id : 'mmsLink', label : 'Link', accessKey : 'M', elements : [ { type : 'iframe', src : 'index.php?content=./lo_met_mngt/ck_link_method.php&indexTemplateFileName=./ui_main/index_no_nav.tpl.htm', width : '100%', height : '550', onContentLoad : function() { iframe = document.getElementById( this._.frameId ); iframeWindow = iframe.contentDocument; //alert('onContentLoad: ' + iframeWindow); } } ] }); dialogDefinition.onOk = function() { var page = ''; page = iframeWindow.getElementById('tabBar').value; //alert("Page:" + page); var txtUrl = ''; txtUrl = iframeWindow.getElementById('txtUrl').value; //alert("TxtUrl:" + txtUrl); var sUrl = ''; if (page == "method") { sUrl = "index.php?content=./lo_met_mngt/method_body_short_info.php&methodId=" + txtUrl + "&indexTemplateFileName=index_no_nav.tpl.htm"; }; if (page == "image") { sUrl = 'index.php?content=./lo_met_mngt/get_file.php&dontParseTemplate=1&fileId=' + txtUrl; }; if (page == "file") { sUrl = 'index.php?content=./lo_met_mngt/get_file.php&amp;dontParseTemplate=1&fileId=' +txtUrl; }; if (page == "url") { sUrl = "http://" + txtUrl; }; var selectedText = "-"; if(CKEDITOR.instances.editor1.getSelection().getSelectedText() != ''){ selectedText = CKEDITOR.instances.editor1.getSelection().getSelectedText(); }; //alert("SUrl: " + sUrl); //alert("Selected:" + selectedText); CKEDITOR.instances.editor1.insertHtml('<a href="' + sUrl + '" target="_blank">' + selectedText + '</a>'); }; } if ( dialogName == 'image' ) { // Disable standard content // IMAGE dialog works not the same way as // LINK dialog, see onOk function // Enable MMS dialogs dialogDefinition.minWidth = 1085; dialogDefinition.minHeight = 620; dialogDefinition.addContents({ id : 'mmsImage', label : 'Image', accessKey : 'I', elements : [ { type : 'iframe', src : 'index.php?content=./lo_met_mngt/ck_insert_image.php&indexTemplateFileName=./ui_main/index_no_nav.tpl.htm', width : '100%', height : '620', onShow : function() { CKEDITOR.dialog.getCurrent().hidePage('Link'); CKEDITOR.dialog.getCurrent().hidePage('info'); CKEDITOR.dialog.getCurrent().hidePage('advanced'); }, onContentLoad : function() { //CKEDITOR.dialog.getCurrent().hidePage('Link'); //CKEDITOR.dialog.getCurrent().hidePage('info'); //CKEDITOR.dialog.getCurrent().hidePage('advanced'); var iframe = document.getElementById( this._.frameId ); iframeWindow = iframe.contentDocument; // alert('onContentLoad: ' + iframeWindow); } } ] }); dialogDefinition.onOk = function() { // alert("onOk form Image Dialog"); var sUploadDirectory = ''; sUploadDirectory = iframeWindow.getElementById('uploadDirectory').value; var txtUrl = ''; txtUrl = sUploadDirectory + iframeWindow.getElementById('txtUrl').value; // alert('txtUrl: ' + txtUrl); var sWidth = ''; sWidth = iframeWindow.getElementById('txtWidth').value; // alert("sWidth: " + sWidth); var sHeight = ''; sHeight = iframeWindow.getElementById('txtHeight').value; // alert("sHeight: " + sHeight); var sBorder = ''; sBorder = iframeWindow.getElementById('txtBorder').value; // alert("sBorder: " + sBorder); var sHSpace = ''; sHSpace = iframeWindow.getElementById('txtHSpace').value; // alert("sHSpace: " + sHSpace); var sVSpace = ''; sVSpace = iframeWindow.getElementById('txtVSpace').value; // alert("sVSpace: " + sVSpace); var sCmbAlign = 'bottom'; if( iframeWindow.getElementById('cmbAlign').value != ''){ sCmbAlign = iframeWindow.getElementById('cmbAlign').value; } //alert("sCmbAlign: " + sCmbAlign); CKEDITOR.instances.editor1.insertHtml('<img border="' + sBorder + '" hspace="' + sHSpace + '" vspace="' + sVSpace + '" align="' + sCmbAlign + '" src="' + txtUrl + '" width="' + sWidth + '" height="' + sHeight + '" />' ); }; } });