Custom Query

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (201 - 300 of 321)

1 2 3 4
Ticket Summary Keywords Owner Type Status Priority
#5779 can't edit fields in jQuery UI modal dialog HasPatch Bug closed Normal
Description

I have a trouble with CKEditor about 1 year (all last versions from 3.0 till new version 3.3)

When I use ckeditor in "jQuery UI modal dialog" ( http://jqueryui.com/demos/dialog/#modal ) and try edit some properties of table (already created before) - so for example I can't edit numbers of rows and cells (both fields are disabled).

The same situation when I try edit alternate text in image window.

It's normal situation or it's a bug?

#5822 [IE] It's not able to block certain keystrokes IE HasPatch Bug confirmed Normal
Description

It's not able to block certain keystrokes in IE with 'CKEDITOR.config.blockedKeystrokes', e.g. F5.

#5854 SCAYT's class apears in the body tag during save operation HasPatch, Review? Bug confirmed Normal
Description
  1. Set option CKEDITOR.config.fullpage="true" for the sample page.
  1. Load the sample page.
  1. Click on the "Source" button to view source HTML code

--> Body doesn't contain any SCAYT classes.

  1. Click on the "Source" button again to return to normal mode
  1. Click on the "Save" icon to view the result

Actual result:

<body class="scayt-enabled">

Expected result:

<body>
#5858 Error on ScrollIntoView HasPatch Bug closed Normal
Description

We use 3.3 of CKEDITOR. We face problem in the ScrollintoView function. After digging in the function's code let see the values of the local variables

offset= 0 ;
CurrentScroll =114;
winHeight = 680;

But this code block is generating error:

if ( offset > currentScroll || offset < (currentScroll - winHeight))
    win.$.scrollTo( 0, offset ); 

I solve the error by new code:

if ( offset > currentScroll || offset < (currentScroll - winHeight) || offset == 0 ) 
    win.$.scrollTo( 0, offset );
}}}}
#5870 Add ability to hide anchors in editor content (patch) HasPatch New Feature closed Normal
Description

The way CKeditor currently handles anchors is quite obtrusive. Documents with anchors look very different when they're being edited than they do in real life.

This patch adds the linkShowAnchors config item. It defaults to true and, if the user sets it to false, anchors will remain hidden while the document is being edited. All other functionality remains the same.

#5898 Fullscreen bug - Firefox HasPatch Bug closed Normal
Description

While CKeditor is embed into an iframe with fixed positioning, like in the screenshot, and focus is at the editor's text area, fullscreen action doesn't work properly on Firefox.

I've found a solution to that problem. Method refreshCursor in ckeditor/_source/plugins/maximize/plugin.js creates a span with absolute positioning, to fix focus problems on Firefox. Setting positioning of that span to 'fixed' was enough to solve this problem.

#5931 Unable to change font-size HasPatch Garry Yao Bug closed Normal
Description
  1. Open an example and select all text.
  2. Set font-size to 20.
  3. Select any word by double click.
  4. Set font-size to 14.
  5. Set font-size to 20 -> font-size will not be changed.
#5962 Translate a bit more German HasPatch Charlie Task closed Normal
Description

Self-apparent. Hope this helps!

#6008 default table width HasPatch Task closed Normal
Description

The table width is set to 200 px.

So users of my sites change the value to a new one like 700 px.

Most of the time users want the table to fill the avialable space (within a div container).

So the best (?) solution i.m.h.o. is to set the default to 100 % .

#6058 [IE Quirks] CSS-Glitch with file upload fields IE HasPatch Frederico Caldeira Knabben Bug closed Normal
Description

Under IE-Quirks mode, the file upload fields are too small. This stems from what appears to be a mis-named CSS tag.

#6062 FF: The text cursor icon appears on toolbar buttons HasPatch Frederico Caldeira Knabben Bug closed Normal
Description

When slowly moving the mouse cursor over the toolbar buttons, it's possible to note that the cursor changes from arrow to text cursor when it's at the left side of the button.

#6066 RichComboBoxes CSS Issues HasPatch Frederico Caldeira Knabben Bug closed Normal
Description

1) They have the wrong cursor, should have default 2) In FF, the non-active text is partially cut off on the end

Patch forthcoming

#6069 [Chrome] Ugly yellow form outline around editor Chrome HasPatch Bug closed Normal
Description

When the editor has focus, an ugly yellow outline appears around the containing form. This is a default CSS values thing in Chrome.

Patch Forthcoming

#6076 [IE Quirks] Dialogs are not wide enough for their contents / Templates Dialog IE HasPatch Bug confirmed Normal
Description

I've build a couple custom plugins now and keep running into the problem that the windows never seem to stretch to accomodate the content. Thus I have to very carefully set the minWidth correctly in the dialog definition.

I thought this was my fault until I came to the templates dialog. In SVN, the templates container is also not wide enough for the contents. To replicate, pop open IE in quirks and open the templates dialog.

There are two possible fixes for this (or both): 1) Define the templates dialog as being bigger 2) Rollback #4863 - if you change dialog.css .cke_skin_kama .cke_browser_iequirks .cke_dialog_page_contents and set position = relative (or just remove it)...the dialogs will accomodate the content better.

There might be another fix which is making the templates scroll contents better styled, because right now it looks like there is excessive whitespace in there serving no purpose. But even when I managed to make that box smaller, the intro text above it still runs over. Thoughts?

#6097 The bookmarks still have the old '_fck' prefix HasPatch Sa'ar Zac Elias Bug closed Normal
Description

The bookmarks still have the '_fck_bookmark' attribute. It should be renamed to '_cke_bookmark'.

#6119 Web Spell Checker - "finish checking" takes ages to finish HasPatch, Review? Bug confirmed Normal
Description

When having a larger document, the SpellChecker dialog becomes useless. I have tried editing the following document in CKEditor:

http://en.wikipedia.org/w/index.php?title=Black_hole&printable=yes

and after opening the "SpellChecker" dialog (with the "Check Spelling" button), after I clicked "Finish Checking" button inside of the dialog, it didn't close in a reasonable amount of time (it took almost 9 minutes, I have pretty fast internet connection). I have tested it in IE8.

To reproduce load the attached HTML source and use WSC.

I have no idea how spell checker works, but it looks like the problem is that the data is sent in a really small chunks, thus checking the whole document requires hundreds of HTTP requests.

There is one more thing that I do not understand here: I have pressed the "Check Spelling" button, I did not change anything in the dialog and just pressed the "Finish Checking" button. Why is it taking so long if I did not change the document at all?

If it really has to take a lot of time, we could at least display an estimated time required to finish processing, because it is definitely not obvious that this operation may take so long.

#6134 [IE Quirks] Table plugin broken / validation impossible IE HasPatch Bug closed Normal
Description

Under IE Quirks the following coding error comes out:

CKEDITOR.dialog.validate.integer()( value )

should be:

CKEDITOR.dialog.validate.integer( value )

This magically works on every other browser, but in quirks mode it passes a null value and thus makes the table dialog impossible to use.

Patch attached.

NOTE: For some reason, this was impossible to re-produce on the test site and on the exact same code running locally on my computer, yet on our server (same code as local server) the error shows itself. Since this is simply a syntatic fix, compatibility should be improved with no side effects.

#6135 Table Advanced tab has wrong language reference HasPatch Sa'ar Zac Elias Bug closed Normal
Description

Instead of making a new language entry, it should have referenced the existing, common, entry.

#6144 rich combo in a separate looks bad HasPatch Garry Yao Bug closed Normal
Description

Here's a fun one in the Kama Skin. If you create a custom toolbar with ONLY richcombo boxes in it, the CSS margins will be wrong (I.e. Items below it will crowd the bar).

This is because the bottom margin of 5 lies on the toolgroup element. To fix this, the bottom margin CS should be moved from the toolgroup element to the toolbar element. Give it a look!

CKEDITOR.replace( 'editor1',
					{
						toolbar: [
									['Styles','Format','Font','FontSize'],
									'/',
									['Bold','Italic','Underline','Strike', 'Paste','PasteText','PasteFromWord','-','Undo','Redo','-','TextColor','BGColor']
								]

					});
#6166 Error on maximise command when toolbar button not shown HasPatch Bug closed Normal
Description

Hi,

The maximise plugin has an error, on line 291, when the editor is set to be automaximised on start and the user has opted to not show the maximise button on the toolbar.

_source\plugins\maximize\plugin.js

a possible fix is (adding the lines with +):

+if(button!=null)
  var buttonNode = editor.element.getDocument().getById( button._.id );
  buttonNode.getChild( 1 ).setHtml( label );
  buttonNode.setAttribute( 'title', label );
  buttonNode.setAttribute( 'href', 'javascript:void("' + label + '");' );
+}

I checked nightly build 5826 and problem was evident there.

A thread about the bug. http://cksource.com/forums/viewtopic.php?f=11&t=19820

#6179 Safari problem with Image Dialog submit Webkit HasPatch Tobiasz Cudnik Bug closed Normal
Description

Hi,

You can quickly see this problem on the demo page of CKEditor.

Go to CKFinder with Safari, then select or upload an image (doesn't matter). You'll then see the image in the preview pane. Click "ok" - the dialog will not close, and you'll see a little bit of a flicker in the background.

It appears that the window.opener bridge that was working prior to 3.3.2 is now broken.

Affects CKFinder as well as custom image packages that use the window.opener bridge

Bug appears in all versions forward starting with 3.3.2

#6183 Styles on links apply inside Font/Format menus HasPatch Sa'ar Zac Elias Bug closed Normal
Description

When I add a stylesheet in config.contentsCss that has a rule

a:link { color: #0F5491; }

the Font and Format menus' items take on that color.

#6203 Uncaught exception: TypeError: Cannot convert 'K' to object on editor.destroy(); HasPatch Bug confirmed Normal
Description

I receive the following error when trying to destroy a CKeditor 3.4 instance using a plugin :

Uncaught exception: TypeError: Cannot convert 'K' to object
Error thrown at line 92, column 1741 in <anonymous function: getSnapshotData>():
    return K.getFrameDocument().getBody().getHtml();
called from line 114, column 4746 in <anonymous function: init>(o):
    o.data=l(n).getSnapshotData();
called via Function.prototype.call() from line 6, column 3258 in <anonymous function: on>(o, p, q, r):
    var s={name:d,sender:this,editor:o,data:p,listenerData:g,stop:q,cancel:r,removeListener:function(){l.removeListener(d,e);}};
called via Function.prototype.call() from line 6, column 4027 in <anonymous function: fire>(h, i, j):
    d=f=false;
called via Function.prototype.call() from unknown location in <anonymous function: fire>(b, c):
    /* no source available */
called from line 24, column 4875 in <anonymous function: getSnapshot>():
    var l=this.fire('getSnapshot');
called from line 87, column 1760 in <anonymous function: j.undo.Image>(r):
    var s=r.getSnapshot(),t=s&&r.getSelection();
called from line 88, column 831 in <anonymous function: save>(r, s, t):
    s=new l(v.editor);
called from line 87, column 277 in v(w):
    s.save();
called via Function.prototype.call() from line 6, column 3258 in <anonymous function: on>(o, p, q, r):
    var s={name:d,sender:this,editor:o,data:p,listenerData:g,stop:q,cancel:r,removeListener:function(){l.removeListener(d,e);}};

I guess that CKeditor's snapshot attempt is being fired after the editor has been destroyed? I have attached a small test plugin to make it easy to reproduce. The error was caught using Opera. The editor does destroy but the error message means not cleanly at a guess.

#6211 SCAYT context menu doesn't show on right mouse click in FF3 on Mac HasPatch, Review? Bug confirmed Normal
Description

When using common PC mouse with Apple Mac right mouse click on underlined word doesn't show SCAYT context menu.

#6250 Justify text inserts P tag only HasPatch Bug closed Normal
Description

If user tries to align text to center and if text in selection is not wrapped in any tag, selected text will be wrapped with P tag only, regardless of configured text mode.

To correct this you should change justify/plugin.js:

old line 98: while ( ( block = iterator.getNextParagraph() ) )

to:

new line 98 :while ( ( block = iterator.getNextParagraph(enterMode==1?'p':'div') ) )

#6251 serverpreview plugin HasPatch New Feature confirmed Normal
Description

Hello!

Someone suggested I add a ticket for an updated plugin made in 2006 for FCK.

The plugin adds a Preview button that POST's the currently edited html to an user-specified URL, where one could add a layout, replace template vars etc, in order to preview the page as it would look.

You can find the code here: http://cksource.com/forums/viewtopic.php?t=18603 or attached.

#6271 Incorrect translation in English language file HasPatch Paweł Horzela Bug closed Normal
Description

The English translation for "scayt.dic_info" is incorrect.

It now says: [...] please type it's name and click the Restore button.

It should say: [...] please type its name and click the Restore button.

"it's" means "it is" or "it has", whereas "its" is the possesive form.

The same error is present in almost all other files, marked as missing. I'll add a patch for en.js only.

#6279 fckeditor_php5.php causing error in mediawiki's dumpBackup.php HasPatch Bug closed Normal
Description

This bug was originally reported as Bug 20810 at bugzilla.wikimedia.org by Brian.

If you attempt to run mediawiki's dumpBackup.php job, it generates the following error:

"Notice: Undefined index: HTTP_USER_AGENT in
<snip>extensions\FCKeditor\fckeditor\fckeditor_php5.php on line 37"

The file in question attempts to access

$_SERVER['HTTP_USER_AGENT']

without checking to see if it is set.

Brian fixed the problem by adding the following to fckeditor_php5.php, but I believe this workaround has potential to break:

function FCKeditor_IsCompatibleBrowser()
{
    $sAgent = "";
    if (isset($_SERVER)) {
        if (isset$_SERVER['HTTP_USER_AGENT'])) {
            $sAgent = $_SERVER['HTTP_USER_AGENT'];
        }
     }
     else {
     ...

I see no reason for FCKeditor to be loaded when running command line php scripts for mediawiki maintenance. I think a better solution would be to avoid even loading the extension if $wgCommandLineMode is set. I've added the following to the top of my extensions\FCKeditor\FCKeditor.php file:

// There is no real reason for FCKeditor to run in commandline mode!
// This avoids breakage of scripts like dumpBackup.php
if ( isset($wgCommandLineMode) && $wgCommandLineMode )
{
    return; // Simply return from the include, so no FCKeditor code is run
}

I'm also submitting this as a proposed patch here.

#6317 [Safari] Check Spelling dialog - JavaScript warnings Safari HasPatch, Review? Bug confirmed Normal
Description

When opening the "Check Spelling" dialog, JavaScript errors appear in the error console:

Unmatched </frame> encountered.  Ignoring tag.
apps/ckeditor/3.4/plugins/wsc/dialogs/tmpFrameset.html:48
Unmatched </frame> encountered.  Ignoring tag.
apps/ckeditor/3.4/plugins/wsc/dialogs/tmpFrameset.html:49
Unmatched </frame> encountered.  Ignoring tag.
apps/ckeditor/3.4/plugins/wsc/dialogs/tmpFrameset.html:50
Unmatched </frame> encountered.  Ignoring tag.
2s1.spellchecker.net/spellcheck3/script/ssrv.cgi:192
Unmatched </span> encountered.  Ignoring tag.
s1.spellchecker.net/spellcheck3/script/ssrv.cgi:361
Unmatched </font> encountered.  Ignoring tag.

Perhaps it's something worth to check... the whole spell checking process ended successfully though.

#6348 [PATCH] switch SCAYT plug-in to use SCAYT core 2.5 HasPatch, Review? Task closed Normal
Description

This patch switches SCAYT plug-in for FCKEditor 2.6.6 to use SCAYT core 2.5

#6349 Some SCAYT's contextmenu options are not displayed if MooTools framework is used HasPatch Tobiasz Cudnik Bug closed Normal
Description

Steps to reproduce:

  1. Download MooTools framework, include it into the page with CKEditor.
  1. Open this page, type a misspelled word and right-click on it.

Expected result:

All SCAYT options are present (suggestions, control etc.)

Actual result:

Some options are missing (in standard situation: ignore/ignoreall/addword)

#6375 [IE] Exception thrown when hiding editor in some cases IBM HasPatch Frederico Caldeira Knabben Bug closed Normal
Description

When the editor is hidden right after a blur event, e.g. contained in a div with display="none", the call to selection.empty() throws an error. This code is only invoked in IE (< 8)

A work around for this issue is to catch the exception and ignore it, this is provided in attached patch.

Test case to reproduce the problem:

  1. Open modified Ajax sample attached
  2. Create editor and ensure focus is inside it
  3. Hit Hide
  4. Hit Show
  5. Put cursor into content area
  6. Repeat steps 3-5 until exception is thrown
#6397 output_html sample is inconsistent between browsers HasPatch Bug confirmed Normal
Description

Reproduce:

  1. Open _samples/output_html.html
  2. Click "Align right"
  3. Click "Source" (or submit)

Result:
Firefox 3.6.10:
p align="right"
Chrome 6.0.472.63:
p align="right" style=" "
IE 8, Opera 10.62
p style="text-align: right"

#6410 SCAYT contextmenu isn't displayed if word has no suggestions HasPatch, Review? Bug closed Normal
Description

Steps to reproduce:

  1. Set SCAYT language to Greek for example.
  2. Type words "a", "an", "are" for example.

Expected result:
SCAYT contexmenu is shown on right-click on misspelled words with no suggestions (commands "ignore/add word/ignore all" and label "No suggestions")

Actual result:
SCAYT contextmenu is not displayed, only standard Copy/Paste/Cut menu is displayed.

#6481 [IE] 'document' is null or not an object error IE, HasPatch Bug closed Normal
Description

Steps to reproduce:

  1. Open ckeditor/_samples/divreplace.html
  2. Doubleclick on first div -> CKEditor loads -> Enable SCAYT
  3. Doubleclick on second div -> CKEditor loads -> Enable SCAYT

Expected result:

No errors

Actual Result:

In IE 6/7/8(CompatView) error is shown:

Message: 'document' is null or not an object
Line: 1820
Char: 1
Code: 0
URI: http://svc.spellchecker.net/scayt25/loader__base.js

#6602 Automatically send WYSIWYG browsers into source mode instead of refusing to work HasPatch Discussion New Feature new Normal
Description

Browsers that don't support tag editing still support ckeditor's source mode, which is better than nothing, and provides a more gradual operational decline.

My suggested patch creates a env.isTextCompatible var, and if env.isCompatible is false but env.isTextCompatible is true, ckeditor defaults to a text entry mode with limited, but still existent functionality.

#6628 Setting config.enterMode from PHP fails HasPatch Bug closed Normal
Description

Using this code fails;

[php] $this->configenterMode? = 'CKEDITOR.ENTER_BR'; $this->configshiftEnterMode? = 'CKEDITOR.ENTER_P'; php

However, setting thesame in the config.js works. Tested with PHP5 class, but problem exists in PHP4 class also i think..

#6674 The Chinese Simplified language patch for CKEditor 3.5.x HasPatch Bug closed Normal
Description

618 iframe : 619 { 620 title : 'Iframe 属性', 621 toolbar : 'Iframe', 622 height : '高度', 623 width : '宽度', 624 invalidHeight : '框架高度必须为数字格式', 625 invalidWidth : '框架宽度必须为数字格式', 626 noUrl : '请输入框架的 URL', 627 scrolling : '允许滚动条', 628 border : '显示框架边框', 629 align : '对齐方式', 630 alignLeft : '左', 631 alignRight : '右', 632 alignTop : '上', 633 alignMiddle : '中', 634 alignBottom : '下' 635 }

#6709 insertHtml: comments must also be protected IE8 HasPatch Bug confirmed Normal
Description

In IE, when setting innerHTML, any starting <!----> comments are removed. Test: insertHtml('<!--comment-->foo') Affected: dataProcessor.toHtml Fix: prefixing a dummy <foo:bar /> tag keeps comments and whitespace in place, remove when converting to data.

#6744 Range: checkStartOfBlock not forgiving bogus node HasPatch Bug confirmed Normal
Description

checkStartOfBlock returns "false" for the following case:

<p><br>^</p>

From the code perspective the cursor might not be at the start of the block, but visually it is.

Pertains to non-IE browsers.

#6769 [PATCH] switch SCAYT plug-in to use SCAYT core 2.6 HasPatch Task closed Normal
Description

Here is a patch, which switches SCAYT plug-in to use SCAYT core 2.6

#6770 [PATCH] switch SCAYT plug-in to use SCAYT core 2.6 HasPatch, Review? Task closed Normal
Description

Here is a patch, which switches SCAYT plug-in to use SCAYT core 2.6

#6795 SCAYT Languages tab should contain some spacing between the radio buttons and labels HasPatch Anna Tomanek Bug closed Normal
Description

The "Languages" tab of the Spell Check As You Type dialog window would benefit from some spacing between the radio buttons and their labels, similar to the formatting of the "Options" tab & its checkboxes. Right now it looks a bit crammed/ ugly.

Languages tab: http://docs.cksource.com/images/b/b4/CKEditor_SCAYT_languages.png

Options tab: http://docs.cksource.com/images/b/b6/CKEditor_SCAYT_options.png

#6803 Image dialog error with border of zero HasPatch Bug confirmed Normal
Description

If you set the border property to zero (meaning no border) for an image in the image dialog, it will not save this value. This has been ongoing for as long as I can remember with the new CKeditor.

this is a hack fix for plugins/image/dialog/image.js:817

if ( type == IMAGE )
{
var value,
	borderStyle = element.getStyle( 'border-width' );
borderStyle = borderStyle && borderStyle.match( /^(\d+px)(?: \1 \1 \1)?$/ );
value = borderStyle && parseInt( borderStyle[ 1 ], 10 );
isNaN ( parseInt( value, 10 ) ) && ( value = element.getAttribute( 'border' ) );
//this.setValue( value );
if (value == 0)
{
   this.setValue('0');
}
else
{
   this.setValue(value);
}
}
#6837 Improve getBoundaryInformation HasPatch Bug closed Normal
Description

Reported here: http://cksource.com/forums/viewtopic.php?f=11&t=20956

We should test if it keeps working correctly and it improves performance.

    var getBoundaryInformation = function( range, start )
                   {
                         
                      var getIndex = function( n ) {
                                var parent = n.parentNode,
                                        currentIndex = -1,
                                        node;
                                if ( parent ) {
                                    node = parent.firstChild;
                                    while ( node ) {

                                        currentIndex++;
                                        if ( node === n )break;
                                        node = node.nextSibling;
                                    }
                                }
                                return currentIndex;
                            };

                      range = range.duplicate();
                      range.collapse( start );


                            var parent = range.parentElement();
                            //如果节点里没有子节点,直接退出
                            if(!parent.hasChildNodes()){
                                return  {container:parent,offset:0};
                            }

                            var siblings = parent.children,
                                child,
                                testRange = range.duplicate(),
                                startIndex = 0,endIndex = siblings.length - 1,index=-1,
                                distance;
                           
                           while (startIndex <= endIndex) {
                               index = Math.floor((startIndex + endIndex) / 2);
                                child = siblings[index];
                               testRange.moveToElementText(child);
                               var position = testRange.compareEndPoints( 'StartToStart', range );


                               if (position > 0) {

                                   endIndex = index - 1;
                               } else if (position < 0) {

                                   startIndex = index + 1;
                               } else {

                                    return {container:parent,offset:getIndex(child)}

                               }
                           }

                      if(index==-1){
                         testRange.moveToElementText(parent);
                         testRange.setEndPoint('StartToStart',range);
                         distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length;
                                siblings = parent.childNodes;
                                if(!distance){
                                    child = siblings[siblings.length-1];
                                    return  {container:child,offset:child.nodeValue.length};
                                }

                                var i = siblings.length ;
                         while ( distance > 0 )
                            distance -= siblings[ --i ].nodeValue.length;
                         return  {container:siblings[i],offset:-distance}
                      }
                            if(position>0){
                                testRange.collapse();
                                testRange.setEndPoint('StartToStart',range);
                                distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length;
                                if(!distance){
                                     return {container:parent,offset:getIndex(child)-1}
                                }
                                while(distance>0){
                                    child = child.previousSibling;
                                    try{
                                         distance -= child.nodeValue.length;
                                    }catch(e){
                                        return {container:parent,offset:getIndex(child)}
                                    }


                                }
                                return {container:child,offset:-distance}
                            }else{
                                 testRange.collapse(false);
                                 testRange.setEndPoint('EndToStart' , range);
                                 distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length;
                               if(!distance){
                                     return {container:parent,offset:getIndex(child)+1}
                               }
                                while(distance>0){
                                    child = child.nextSibling;
                                    try{
                                         distance -= child.nodeValue.length;
                                    }catch(e){
                                        return {container:parent,offset:getIndex(child)}
                                    }

                                }
                                return {container:child,offset:child.nodeValue.length-distance}
                            }


                   };
#6863 Full page mode: Spell check dialog causes a JS error HasPatch, Review? Bug closed Normal
Description

When SCAYT is enabled and the spell check dialog is used to check the document, a JavaScript error occurs (empty style tags are covered by #6859).

  1. Open _samples/fullpage.html
  2. Start with:
    <html>
    	<head>
    	</head>
    	<body>
    		<p>
    			Write your email message here schol.</p>
    		<p>
    			You can also...</p>
    	</body>
    </html>
    
  3. Enable SCAYT
  4. Open the Check Spell dialog
  5. Click on Finish Checking
  6. Open the Check Spell dialog again
  7. Click on Finish Checking
  8. Result: a javascript error occurred:

Tried to register widget with id==scayt_2 but that id is already registered http://svc.spellchecker.net/scayt26/_base.xd.js Line 880

Confirmed in Safari 5.0.3 and Firefox 3.6.13.

(js error moved from #6859)

#6934 Alternative style/format outlook Discussion HasPatch New Feature new Normal
Description

Style combo item is not presented under the preview style of the each style definition (same with format combo), sometimes this isn't an option at all (seen on user request #6379), the editor should allow an alternative presentation to be provided in the following format:

	{
		name : 'Colored: White',
		element : 'span',
		styles : { 'color' : 'White' },
		displayHtml: '<span style="background-color:#000;color:#fff;">Colored:White</span>'
	}

#6941 horizontal scrollbar in firefox Firefox HasPatch Bug closed Normal
Description

which only occurs in the initialization for 1 second to and is dependent on their parents' style

you need to change

_source/plugins/wysiwygarea/plugin.js line 537

from

element.setStyles( { position : 'absolute', top : '-3000px' } );

to

element.setStyles( { position : 'absolute', left: '-3000px', top : '-3000px' } );

#6942 Greek letters and minor improvements of special char HasPatch New Feature closed Normal
Description

Hi,

I added greek letter to the special character plugin, as in scientific environments these are needed on a daily base. They were already defined in http://docs.cksource.com/ckeditor_api/symbols/src/plugins_entities_plugin.js.html in order to allow them to insert, but the special char plugin didn´t offer them.

As greek and also latin letter(!) can be disabled, I made the inclusion optional. Also I added the following missing characters to special chars: "&Scaron;","&scaron;","&Yuml;"

Language file is also updated.

Please the the files attached

#6977 about override in styles HasPatch Bug confirmed Normal
Description

steps: 1.open www.ckeditor.com/demo 2.switch to source mode,input html:

<p>
	12345678<font style="background-color: rgb(130, 130, 130);">xyzabcd</font>9012345678</p>

3.switch to wysiwyg mode and place cursor between 'y' and 'z', then click background button , select '自动'

  1. expected:

'xyzabcd' does not have background-color.

actual result :

unchanged

5.select '8xyzabcd9' ,then click background button ,select red color

  1. expected :

generate code :

<p>
	1234567<span style="background-color: rgb(255, 0, 0);">8xyzabcd9</span>012345678</p>

actual code (too bloated):

<p>
	1234567<span style="background-color: rgb(255, 0, 0);">8</span><font style="background-color: rgb(130, 130, 130);"><span style="background-color: rgb(255, 0, 0);">xyzabcd</span></font><span style="background-color: rgb(255, 0, 0);">9</span>012345678</p>

ps:in trunk ,result is error :

<p>
	1234567<span style="background-color: rgb(255, 0, 0);">8<font style="background-color: rgb(130, 130, 130);">xyzabcd</font>9</span>012345678</p>

ps2: i provide a patch for trunk, add consideration about override element's style

#6988 Combo box should be reset on mode switch HasPatch Bug closed Normal
Description

Combo box should get reset on mode switch, as it seems incorrect when you go back to wysiwyg mode and you still have the old values there of the selection you've made before going to source.

#7054 Special Character dialog window has all-caps tooltips which are unreadable HasPatch Bug closed Normal
Description

The Select Special Character dialog window contains mouse-over tooltips that are written in uppercase (all capitalized). This makes the descriptions difficult to read, decreasing the usability of this feature.

The proposed patch modifies the _source/plugins/specialchar/lang/en.js file, replacing the uppercase words with "as in sentence" notation.

#7065 BR in pre-formatted doesn't create paragraphs HasPatch Firefox Bug closed Normal
Description

In Firefox,

  1. Load the following content:
    <pre>
    	paragraph1
    
    	paragraph2
    </pre>
    
  2. Click inside the format and apply "Normal" format;
    • Actual Result:
      <p>
       Para 1<br />
       <br />
       Para 2</p>
      
    • Expected Result:
      <p>paragraph1</p>
      <p>paragraph2</p>
      
#7067 about getIndex method performance HasPatch Bug confirmed Normal
Description

When the getIndex method is called, the getNext will be invoked by getIndex, if an element node contains too many text nodes, the getNext method will be called too many times, that will cause a performance problem. My suggest is using childNodes property, according to my test, using childNodes is nearly two times faster than calling getNext method. Here's my code snippet:

getIndex : function( normalized ) {

var parent = this.getParent(),

currentIndex = -1, node;

if ( parent ) {

for(var i=0,childs=parent.$.childNodes;node=childs[i];i++){

if(node.nodeType == 1
!(normalized && node.previousSibling && node.previousSibling.nodeType == baidu.editor.dom.NODE_TEXT))

currentIndex++;

if(node == this.$)break;

}

} return currentIndex;

},

#7084 SCAYT options menu is empty / incorrect work of "scayt_uiTabs" config param for multiple CKEditor instances HasPatch, Review? Bug closed Normal
Description

Bug 1. "SCAYT options menu is empty for multiple CKEditor instances"

Steps to reproduce:

  1. Open "replace by code" sample.
  2. Start SCAYT for both of editors.
  3. Open SCAYT options menu for bothe of editors.

Expected result:
Options, Languages, Dictionaries, About Us tabs have content for both editors.

Actual result:
Options, Languages, Dictionaries, About Us tabs have content for only one of the editors.


Bug 2. "Incorrect work of "scayt_uiTabs" config param for multiple CKEditor instances"

Steps to reproduce:

  1. Open code of "replace by code" sample.
  2. For first editor set
    CKEDITOR.replace( 'editor1', { scayt_uiTabs: '1,0,1' });  
    


For second editor set

CKEDITOR.replace( 'editor2', { scayt_uiTabs: '0,0,0' });  


  1. Open page and start SCAYT for both editors

Expected result:
scayt_uiTabs param from second editor doesn't affect menu of first editor

Actual result:
All options in first editor are not active. When "About us" tab is opened and than "Cancel" is clicked, an error is shown: "document.forms.optionsbar is undefined [Break On This Error] return document.forms.optionsbaroptions?; options.js (line 27)"

#7089 [IE] Error when expand toolbar if height of editor is not enough. IE HasPatch Bug confirmed Normal
Description
  1. Collapse toolbar.
  2. The height of the editor is set to 15px.
    ex. ckeditor.resize('', 15, true);
  3. Expand toolbar.
  4. JavaScript error (invalid argument)

The cause is here. https://dev.ckeditor.com/browser/CKEditor/trunk/_source/plugins/toolbar/plugin.js#L326

contents.setStyle( 'height', ( contentHeight - dy ) + 'px' );

I think that it only has to prevent height from reaching a minus value. Like this. https://dev.ckeditor.com/browser/CKEditor/trunk/_source/themes/default/theme.js#L325

contents.setStyle( 'height', Math.max( height - delta, 0 ) + 'px' ); 
#7118 SCAYT: options dialog is not translated HasPatch, Review? Bug confirmed Normal
Description

CKEditor language files contain entries for the scayt plugin, where options from the SCAYT dialog are translated, e.g. in German language file there is:

	scayt :
	{
		title			: 'Rechtschreibprüfung während der Texteingabe (SCAYT)',
		opera_title		: 'Nicht von Opera unterstützt',
		enable			: 'SCAYT einschalten',
		disable			: 'SCAYT ausschalten',
		about			: 'Über SCAYT',
		toggle			: 'SCAYT umschalten',
		options			: 'Optionen',
		langs			: 'Sprachen',
		moreSuggestions	: 'Mehr Vorschläge',
		ignore			: 'Ignorieren',
		ignoreAll		: 'Alle ignorieren',
		addWord			: 'Wort hinzufügen',
		emptyDic		: 'Wörterbuchname sollte leer sein.',

		optionsTab		: 'Optionen',
		allCaps			: 'Groß geschriebenen Wörter ignorieren',
		ignoreDomainNames : 'Domain-Namen ignorieren',
		// ...

However if you check the options dialog, strings from the language file are not used (for example ignoreDomainNames). See the attached screenshot.

#7175 IE: Drop-downs closed immediately after show IE HasPatch IBM Bug confirmed Normal
Description

Steps to reproduce:

  1. Only one tab must be opened in IE.
  2. Place editor inside a frame which is inside a modal dialog window (attached files "Page1.html" and "Page2.html" reproduce than if placed inside "\ckeditor\_samples folder").
  3. Open page with editor ("Page1.html").
  4. Click on "Font" drop-down.
  5. Click on "Size" drop-down (all further clicks on "Font", "Size", "Format", "Background Color" and "Text color" drop-downs will result showing and immediate hiding of drop-down).

Browser name and OS : Checked on IE8 on Windows 7 and IE6 on Windows XP.

#7227 Dialog: showPage increments pageCount even if page is already showing HasPatch Bug confirmed Normal
Description

In the Dialog plugin, callling showPage on a page that is already visible increments the pageCount, meaning that when all but one page are removed, the tab bar will still be visible. To reproduce:

  1. Create and show a dialog with two pages; both shown by default. Let's call them page1 and page2.
  2. Call showPage( 'page2' )
  3. Call hidePage( 'page1' )

Now only page2 will be visible - but the tab bar will still be showing, with the single tab "page2". Intended behaviour (presumably) is to have tab bar disappear when only one page is visible.

This can be fixed by adding a check to tab.isVisible() in showPage.

Proposed patch included.

#7230 IE quirks: Dialog borders do not resize properly when show/hide tab bar HasPatch IE Bug confirmed Normal
Description

When the tab bar is being added or removed for a dialog, the resize event is not fired. The resize event is necessary for IE6 or IE quirks mode, since the height of the left and right borders must be adjusted. This can result either in a gap between the top corner borders and the vertical borders on the left and right sides, or the left and right borders extend up above the dialog's title bar. See attached screenshot.

To reproduce:

  1. Create a dialog with two pages. It should display properly, with the tab bar showing.
  2. Hide one of the pages. The tab bar should disappear and you should be able to see the left and right borders extending up above the title bar, as in the screenshot.

This occurs in IE quirks mode...I reproduced across IE6, 7, 8, and 9 with the doctype:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

A proposed patch is attached. I've changed dialog's resize method to include an optional third parameter, "force," which forces the dialog to fire the resize event even if the actual content area size hasn't changed. Then I call resize from updateStyle, if (and only if) the tab bar visibility has changed AND we're in IE.

#7261 node.js -> getPosition performance poor HasPatch? Bug closed Normal
Description

not use getAddress getIndex methods performance poor

my code

getPosition : function ( nodeA, nodeB ) {

如果两个节点是同一个节点 if ( nodeA === nodeB ) {

DOMUtils.POSITION_IDENTICAL return 0;

}

if ( nodeA.compareDocumentPosition ) {

return nodeA.compareDocumentPosition(nodeB);

}

var node,

parentsA = [], parentsB = [], body = nodeA.ownerDocument.body;

node = nodeA; while ( node = node.parentNode ) {

如果nodeB是nodeA的祖先节点 if ( node === nodeB ) {

DOMUtils.POSITION_IS_CONTAINED + DOMUtils.POSITION_FOLLOWING return 10;

} if ( node === body ) break; parentsA.push( node );

}

node = nodeB; while ( node = node.parentNode ) {

如果nodeA是nodeB的祖先节点 if ( node === nodeA ) {

DOMUtils.POSITION_CONTAINS + DOMUtils.POSITION_PRECEDING return 20;

} if ( node === body ) break; parentsB.push( node );

}

parentsA = parentsA.reverse(); parentsA.push(nodeA); parentsB = parentsB.reverse(); parentsB.push(nodeB); 不会出现ai 或者 bi 取不到的情况 for ( var i=0,ai,bi;ai=parentsA[i],bi=parentsB[i];i++ ) {

if ( ai !== bi ) {

var tmpNode = ai.nextSibling; if ( tmpNode ) {

while ( tmpNode ) {

if( tmpNode === bi ){

DOMUtils.POSITION_PRECEDING return 4

} tmpNode = tmpNode.nextSibling;

}

}

DOMUtils.POSITION_FOLLOWING

return 2;

}

}

DOMUtils.POSITION_DISCONNECTED return 1;

},

#7262 Paste from Word: Lists in preformatted body disappear IBM Haspatch Bug closed Normal
Description

When having a list in word, which has format preformat. Pasting such a list causes the list to disappear. It seems the reason for this is that only half of the handling for changing from "word-html-list" to "ckeditor-html-list".

I did a patch for this, dont know if its the right fix though.

word document attached shows the problem.

#7269 paste from word - footnote links link to document path in webkit based browsers WebKit HasPatch Frederico Caldeira Knabben Bug closed Normal
Description

When pasting a document with footnotes, the links to the footnotes in webkit browsers get the full path to the doc, e.g. file:///c:/folder/doc.docx#ftn_1 instead of the more correct #ftn_1 as in IE and Gecko.

Patch that fixes this is provided.

#7302 CKEditor .Net Server control Height and Width Parameters do not work if attributes are placed in front of the Control ID HasPatch kaga Bug closed Normal
Description

CKEditor .Net Server control Height and Width Parameters do not work if attributes are placed in front of the Control ID

Version of control and ckeditor are both 3.5.2

Example: The following declaration sets the width and height correctly: <CKEditor:CKEditorControl ID="CKEditor1" runat="server" Height="800" Width="400" ></CKEditor:CKEditorControl>

This one does not set the width and height at all: <CKEditor:CKEditorControl Height="800" Width="400" ID="CKEditor1" runat="server"></CKEditor:CKEditorControl>

The only difference is th ordering of the attributes. Happens in all browsers.

#7371 Setting CKEDITOR.config.pasteFromWordRemoveFontStyles to false throws an exception when pasting from word HasPatch Bug closed Normal
Description

TypeError: Cannot call method 'match' of null

File: pastefromword/filters/default.js
Ln 1121:
Parent Method: CKEDITOR.cleanWord calling dataProcessor.toHtml

I've traced the error to the following call stack:
Ln 897: calling stylesFilter with an array, which later calls styleMigrateFilter
Ln 546: styleMigrateFilter attempts to create a CKEDITOR.htmlParser.element object with the null parameter. Since the element doesn't have a tagName, .match is called on null (core/htmlparser/element.js ln: 40) which throws an exception.

Tested on Firefox 3, and Chrome.

I've attached the example document that I was using to test pasting.

#7434 [IE9] Inaccessible empty list item IE9 HasPatch Bug closed Normal
Description

With IE9 standard mode:

  1. Load the editor with the following input:
    <ol>
    	<li>
    		item1</li>
    	<li>
    		&nbsp;</li>
    	<li>
    		item2</li>
    </ol>
    
  2. Try to move cursor into the second list item;
  • Actual Result: It's impossible to access the middle list item
#7452 bodyClass and bodyId not applied to combobox (e.g. styles or format) HasPatch Bug confirmed Normal
Description

When the styles combobox is created, it loads the stylesheet specified in config.contentsCss. However, the body element in the combobox iframe doesn't have the class or ID specified in config.bodyClass/bodyId. As a result the styles previews aren't shown properly as my CSS assumes that the bodyClass will be present.

This is a regression from FCKeditor 2.x.

#7488 IE9 ignores multiple break points without &nbsp; inserted after IE9 HasPatch Bug closed Normal
Description

Steps to reproduce:

  1. Set CKEDITOR.config.enterMode to CKEDITOR.ENTER_BR
  2. Open up CKEDITOR on IE9
  3. Type a sentence, press enter twice, type another sentence.

Expected result: Sentence 1

Sentence 2

Actual Result: Sentence 1 Sentence 2

The break tags are correctly being created by the editor, but it seems that IE9 is ignoring them.

How to fix: Open up enterkey\plugin.js

Ln# 273-274:

   if ( !CKEDITOR.env.ie )
      doc.createText( '\ufeff' ).insertAfter( lineBreak );

+ Add +

   else {
      doc.createElement( '&nbsp;' ).insertAfter( lineBreak );
   }
#7523 IE Can't Drag and Drop text outside of paragraph HasPatch Bug confirmed Normal
Description

I'm unable to drag and drop text outside of any paragraph elements in IE.

Steps to reproduce:

  1. In the ckeditor demo, clear out all text leaving only a single paragraph.
  2. Select some text from a word document, and drag it to the editor.
  3. Anywhere below the first line the mouse cursor is crossed out, and a drop is disallowed.

Expected result:
Like in other browsers you should be able to drop text anywhere in the editor, regardless of if there is a paragraph tag there or not.

#7561 IE 'editor.getSelection()' is null or not an object IE8 HasPatch IBM Garry Yao Bug review_failed Normal
Description

This error is sometimes thrown in IE. It happens onClick and I've tracked it down to the following bit of code.

plugins/selection/plugin.js

Ln #215: editor.getSelection().getRanges()[ 0 ].select();

According to the documentation, and my observations, editor.getSelection() can return null. This statement should be wrapped in a conditional block to avoid calling .getRanges on a null object.

if((selection = editor.getSelection()) != null) {
   selection.getRanges()[ 0 ].select();
}
#7921 editor.mode always returns empty string HasPatch Bug confirmed Normal
Description

To solve the problem, I have to modify the file plugins/editingblock/plugin.js. Is this OK ?

New code : (1 line disabled, 1 line added)

CKEDITOR.editor.prototype.setMode = function( mode ) {

this.fire( 'beforeSetMode', { newMode : mode } );

var data, holderElement = this.getThemeSpace( 'contents' ), isDirty = this.checkDirty();

Unload the previous mode. if ( this.mode ) {

if ( mode == this.mode )

return;

this.fire( 'beforeModeUnload' );

var currentMode = getMode( this ); data = currentMode.getData(); currentMode.unload( holderElement ); this.mode = ; LINE HAS BEEN DISABLED

}

holderElement.setHtml( );

Load required mode. var modeEditor = getMode( this, mode ); if ( !modeEditor )

throw '[CKEDITOR.editor.setMode] Unknown mode "' + mode + '".';

if ( !isDirty ) {

this.on( 'mode', function() {

this.resetDirty(); this.removeListener( 'mode', arguments.callee );

});

}

modeEditor.load( holderElement, ( typeof data ) != 'string' ? this.getData() : data);

FOLLOWING LINE HAS BEEN ADDED this.mode = (this.mode == 'wysiwyg') ? 'source' : 'wysiwyg';

};

#8060 [IE Quirks] Dialog min-width/height doesn't work HasPatch Bug closed Normal
Description

When content size exceeds specified minimum dimension, dialog body is not automatically stretched in IE quirks, e.g. "fr" language + table cell dialog.

#8171 Change WebSpellChecker wsc_customLoaderScript HasPatch? Task closed Normal
Description

DNS names of service hosts changed due to rebranding of SpellChecker.net to WebSpellChecker.net. Patch changes default value for wsc_customLoaderScript.

#8172 Change SpellCheckAsYouType scayt_srcUrl HasPatch? Task closed Normal
Description

DNS names of service hosts changed due to rebranding of SpellChecker.net to WebSpellChecker.net. Patch changes default value for scayt_srcUrl.

#8244 tab/shift-tab to indent/outdent <li> elements IE HasPatch IBM Drupal Olek Nowodziński New Feature closed Normal
Description

I'd like Ckeditor to indent/outdent a list item with tab/shift-tab.

I wrote a small (quite untested) patch that aims to do this. Feel free to use this.

CKEDITOR.plugins.add('liTab', {
    init: function(editor) {
        editor.on('key', function(ev) {
            if( ev.data.keyCode == 9 || ev.data.keyCode == CKEDITOR.SHIFT + 9) {
                if ( editor.focusManager.hasFocus )
                {
                    var sel = editor.getSelection(),
                    ancestor = sel.getCommonAncestor();
                    li = ancestor.getAscendant({li:1, td:1, th:1}, true);
                    if(li && li.$.nodeName == 'LI') {
                        editor.execCommand(ev.data.keyCode == 9 ? 'indent' : 'outdent');
                        ev.cancel();
                    }
                    // else we've found a td/th first, so let's not break the
                    // existing tab functionality in table cells.
                }
                
            }
        }, null, null, 5); // high priority (before the tab plugin)
    }
});

Known problems:

  • one can "over-indent" <li> elements. (If there are no upper sibling, maybe should do nothing?)
  • one can "under-indent" <li> elements, turning them to <p> elements.

I consider both of these problems minor. They are also present when using the indent/outdent buttons in the toolbar, and should be fixed there, if at all.

#8255 Patch adding functionality for having an list of urls to select from in link dialog HasPatch New Feature closed Normal
Description

As the summary describes, this patch will make you ckeditor 3.6.1 able to display an list of links in the link dialog, under a new link type called "urlList".

Changes are done in two files. The major part of the changes is done in the link.js file inside /plugins/link/dialog/link.js.

The other file needing changes are config.js.

In config.js you need to add a line like:

config.urlList = [ [Name of link,url of link],[Name of link2,url of link2] ];

In my case I use a custom config-file, and use PHP for generating the config. This way I can load my link-list from the database.

Check out a demo here: http://ckeditor.web1.siteman.no

#8257 Adding support for css-classes in tableCell dialog HasPatch New Feature confirmed Normal
Description

This patch adds support for css-classes for ckeditor 3.6.1 and 3.6.2

I attached a patch and the whole file.

#8261 jQuery adapter: allow to work with existing instances HasPatch Piotr Jasiun New Feature closed Normal
Description

It's common to see a problem for people trying to use things like jQuery validation on existing CKEditor instances and they just see that the value that they get is the original value.

The jQuery adapter only adds its code when a CKEditor instance is created with it, but it's common for the people to use things like replace by class or a server side integration, and then they want to use AJAX or validation using jQuery and they say that they have added the jQuery adapter but that it still doesn't work.

The idea to fix it is simple: the adapter should always use a listener CKEDITOR.on( 'instanceCreated' ) so that every instance gets augmented to be used properly with jQuery. That way is they add the adapter they'll always now that .val() with an element that is replaced with CKEditor will work.

#8288 Internet Explorer will not run blank javascript function as per documentation IE HasPatch Bug confirmed Normal
Description

As per: http://docs.cksource.com/CKEditor_3.x/Developers_Guide/File_Browser_%28Uploader%29/Custom_File_Browser#Example_4

Example 4 works fine in all browsers I have tested except IE. Both IE 8 and 9 will not run the additional javascript called, returning only the URL of the image.

#8331 Ability to ignore "Confirm Cancel"-warning on dialogs HasPatch New Feature confirmed Normal
Description

If changes have been made to a dialog and the cancel button is pressed an annoying "Confirm Cancel" warning is displayed. It would be nice to toggle weather you want this warning or not.

The new "on cancel event" on the dialog will look like:

this.on( 'cancel', function( evt ) {
  if (!editor.config.ignoreConfirmCancel)
    iterContents( function( item ) {
      if ( item.isChanged() ) {
        if ( !confirm( editor.lang.common.confirmCancel ) )
          evt.data.hide = false;
        return true;
      }
    });
}, this, null, 0 );

The only line added is:

if (!editor.config.ignoreConfirmCancel)

which is in line 323 of the plugin.js in the dialog folder. This is just before the iterContents( function( item )... is called - thus ignoring this check if the ignoreConfirmCancel is set in the editors config.

In order to toggle the warning add the following line to the editors config:

config.ignoreConfirmCancel = true;
#8385 Problem when switching between multiple instances of ckeditor IE6 IE7 HasPatch Bug confirmed Normal
Description

Script error is displayed when switching between multiple instances of ckeditor in IE7.

Steps to reproduce: 1.create multiple ck-editor instances 2.click on the other ckeditor instances other than the current one in focus.

Expected Result: Editor should be displayed Actual Result: Script error is displayed

"C.getSelection() is null or not an object"

#8386 IE: When copying and pasting a table, an empty <p> is appended on output IE Oracle HasPatch Bug confirmed Normal
Description

Steps to reproduce:

  1. Open CKEDITOR.
  2. Create a table.
  3. Highlight the table with "Select All" button and click "Copy" icon.
  4. Click "New Page" icon.
  5. Click "Paste" icon.
  6. Click "Source" -> HTML source is displayed, there is "<p> &nbsp;</p>".
  7. Click "Source" -> HTML page is displayed, line break is inserted before the table.

Bug is present since 3.4.2 i believe.

#8393 ie with large content - after scrolling to the bottom of the content and clicking inside editor, jumps back to top of content IE IBM HasPatch Garry Yao Bug closed Normal
Description

This is related to the following forum issue: http://cksource.com/forums/viewtopic.php?f=11&t=16840&hilit=ie7+scroll

I am still seeing the issue in the nightly build when using IE7: http://nightly.ckeditor.com/7288/_samples/replacebyclass.html

  • in the editor, go to source mode and paste a large amount of html text (see attached the sample file).
  • then go back to wysiwyg mode, and click inside the editor at the very beginning of the text
  • scroll all the way down to the bottom, locate the bottom arrow of the scroll, and click in the editor area directly to the left of it (it will be a pointer cursor instead of the text cursor).
  • see that it jumps back to the top of the editor.
#8446 IE8 - Unable to place cursor after image IBM IE8 HasPatch Bug confirmed Normal
Description

Go to CKE demo. Ctrl-A/Ctrl-X Insert an image. Click on the image. Now attempt to place the cursor after the image to the right or bottom. You are unable to, and at this point, one cannot add anything after the image.

The same thing happens for iframes which uses image fake element.

#8493 [IE] : Can't add link to selected text IE HasPatch Bug closed Normal
Description

In IE from CKEditor 3.6.2 it has been impossible to change selected text into link (Link is added next to text).

Steps to reproduce:

  1. Open http://www.ckeditor.com/demo
  2. Click the 'Code' button
  3. Replace all code by this HTML code:

<table><tr><td>test test test test</td></tr></table>

  1. Click the 'Code' button again
  2. Double-click the 2nd, 3rd or 4th word 'test' (if you select the first one, the problem doesn't occur).
  3. Click the Add Link button
  4. URL: google.com
  5. Click OK

Expected result:
The selected word is now a link to google.com

Actual result:
The selected word is not a link. The link to google.com is added in front of the selected word.

NOTE:If you undo (CTRL-Z) after step 8, and repeat step 5 t/m 8, the link is created as expected. So it seems to be a problem only the first time.

Issue has been reproducible in IE browsers from CKEditor 3.6.2 rev [7243].

#8518 Text around editor highlights during resize event HasPatch Bug confirmed Normal
Description

Bug reported by @mrfr0g

We've determined that during the resize event on the editor, the text around the editor is allowed to be selected. In some cases, this would cause large blocks of text to be selected and appear as gray or blue (depending on focus).

  1. Configure CKEDITOR to only allow vertical resizing

config.resize_dir = 'vertical';

  1. Create an editor with a paragraph of text below it.
  2. Resize the editor vertically, then move your mouse horizontally.

The text below the editor should be selected.

Thes can get selected in IE9, Chromw and Safari. This has been reproducible from CKEditor 3.4.3

#8543 YouTube plugin HasPatch New Feature confirmed Normal
Description

I have written a YouTube plugin Ref: RE: Form submission from: Contact Us - [9883-OTKM-0306] [2a836e4d]

Frederico asked me to open a ticket and attach the plugin.

#8550 [ALL] inconsistent cursor about table IE6 IE7 HasPatch Bug confirmed Normal
Description
  1. open ckeditor at trunk in ie (ie6 or native ie8) and switch to source mode
  2. input the following source:
<table border="0" style="width: 100px" title="tbdescguide">
	<tbody>
		<tr>
			<td>
				<p>
					&nbsp;士大夫士大夫都</p>
			</td>
		</tr>
		<tr>
			<td>
				<p>
					12345678</p>
			</td>
		</tr>
	</tbody>
</table>

3.switch to wysiwyg mode and click the point in pic1(see attachment)

4.now the cursor is after '8' (see pic2) , then click the point in pic1 again (see attachment)

5.now the cursor is after table ! (it's always what i want , see pic3)

expected:

same click same cursor position (after table , see pic3)

actual result:

first click the cursor is after '8' (see pic2) ,second click the cursor is after table (see pic3)

PS : i also provide a patch in attachment , it will solve this problem , but i do not know its side effect.

#8574 Change contents of richcombo after init HasPatch New Feature confirmed Normal
Description

I think richcombo plugin needs to be extended to support changing its contents after init has been run. This will enable developers to clientside refresh the list without loading the entire page where the editor is.

I have successfully done this with a bit of a hack in my own plugin that uses richcombo. In my code, I have a plugin that adds other plugins in the richcombo - e.g. insert link, insert image etc. This list may change due to userinput and it happens clientside.

How I solved it: (see http://stackoverflow.com/questions/7762810/is-it-possible-to-reinitialize-a-ckeditor-combobox-drop-down-menu/8397198#8397198

Some code: in the init function in ui.addRichCombo:

init: function () {
                var rebuildList = CKEDITOR.tools.bind(buildList, this); // bind the buildList function with this scope
                rebuildList(); // call once to do first build of list
                $(editor).bind('rebuildList', rebuildList); // bind with jquery so we can call it later
            },

then outside scope, define the buildList function:

var buildListHasRunOnce = 0;
        var buildList = function () {
            if (buildListHasRunOnce) {
                // Remove the old unordered list from the dom.
                // This is just to cleanup the old list within the iframe
                // Note that this removes all uls... if there are more than one editor on page, we have to be more specific on what to remove. In my production ready code, I target one of the lis, and find its ul parent and remove that instead of shotgunning all uls like in this example
                $(this._.panel._.iframe.$).contents().find("ul").remove();
                // reset list
                this._.items = {};
                this._.list._.items = {};
            }
            for (var i in yourListOfItems) {
                var item = yourListOfItems[i];
                // do your add calls
                this.add(item.id, 'something here as html', item.text);
            }
            if (buildListHasRunOnce) {
                // Force CKEditor to commit the html it generates through this.add
                this._.committed = 0; // We have to set to false in order to trigger a complete commit()
                this.commit();
            }
            buildListHasRunOnce = 1;
        };

I´m thinking that it should be at least possible to

  1. Get a handle on the richCombo object when you add it with editor.ui.addRichCombo
  2. Be possible to call clearRichCombo

Alternatively:

  1. Add function remove
  2. Make it possible to call add after init. Currently you can, but it crashes the richCombos mark/unmarkall functions

Kind regards, Amund

#8597 CKEditor.NET 3.6.2 editor not displayed after postback (RadAjaxPanel) HasPatch Task confirmed Normal
Description

This is using ajax but not the MS update panel, I am using the Telerik RadAjaxPanel.

I have added a check to see if it is a RadAjaxPanel and it works now.

Fix:

if (con.GetType() == updatePanel || con.GetType().FullName == "Telerik.Web.UI.RadAjaxPanel")
#8602 Unnecessary calls to images without baseHref HasPatch IE Frederico Caldeira Knabben Bug closed Normal
Description

When displaying images using relative urls and config.baseHref, everytime I switch to wysiwyg mode there is a call made to the image using only the relative url and totally ignoring the baseHref. Obviously this fails into a 404 (or some other error code depending on the environnement). The image is still displayed, but there is also this unnecessary 404 call. Please note also that if you're testing this on local static files (i mean something like C:/some_directories/mypage.html) the call won't show up on Firebug, you will need to run it on a server like wamp.

You can reproduce it easily on the online demo with Firebug :

  • type in Firebug console :
    CKEDITOR.instances.editor1.config.baseHref = 'http://www.google.fr/images/srpr/';
    
  • clear all firebug console and network panel
  • hit the wysiwyg mode

you should see the Google logo, and a 404 showing up in both console et network panels.

I've located the where the call is made, it's in plugins/htmldataprocessor/plugin.js, in the toHtml function :

    // Call the browser to help us fixing a possibly invalid HTML
    // structure.
    var div = new CKEDITOR.dom.element( 'div' );
    // Add fake character to workaround IE comments bug. (#3801)
    div.setHtml( 'a' + data );
    data = div.getHtml().substr( 1 );

The data is submitted to the browser, causing it to interpret the <img> tags without taking the config.baseHref into account.

I've found a solution by using a regexp on the data : I turn all the src attributes into data attributes and back just before and after submitting the data to the browser. I'm not sure it's best way but I'm using it on the ckeditor on my website and it works fine. I can't make a patch file but here's how I've altered the code :

    //Call the browser to help us fixing a possibly invalid HTML
    // structure.        
    var fakeSrcAttribute = 'data-cke-faked-src';
    data = data.replace(/(<img[^>]+)src(\s*=)/ig, '$1' + fakeSrcAttribute + '$2');        
    var div = new CKEDITOR.dom.element( 'div' );
    // Add fake character to workaround IE comments bug. (#3801)
    div.setHtml( 'a' + data );
    data = div.getHtml().substr( 1 );
    data = data.replace(new RegExp('(<img[^>]+)' + fakeSrcAttribute + '(\\s*=)', 'ig'), '$1src$2');

#8668 IE6&7 Meta tag names not set in commitMeta, or recognised in createMetaHash, in docprops plugin IE6 IE7 HasPatch Bug closed Normal
Description

IE6 and IE7 do not recognise the "name" attribute for a META element. For these versions of IE, in order to set the "name" attribute of a META element, it is necessary to set the "Name" (initial capital) attribute.

In commitMeta, the code should be:

				if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) ) {  
					meta.setAttribute( isHttp ? 'http-equiv' : 'Name', name )
				}
				else {
					meta.setAttribute( isHttp ? 'http-equiv' : 'name', name )
				}

In createMetaHash, the code should be:

			if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) ) {  
				hash[ meta.getAttribute( meta.hasAttribute( 'http-equiv' ) ? 'http-equiv' : 'Name' ).toLowerCase() ] = meta; 
			}
			else {
				hash[ meta.getAttribute( meta.hasAttribute( 'http-equiv' ) ? 'http-equiv' : 'name' ).toLowerCase() ] = meta; 
			}

TC is in comment_7, proposed fix in comment_8

#8675 Deleting cells in nested table removes outer table cell. HasPatch Olek Nowodziński Bug closed Normal
Description

STEPS TO REPRODUCE

  1. Use either Chrome or Firefox. Bug is likely reproducible in IE as well, but I haven't confirmed this.
  2. Navigate to a 3.6.2 cke sample page. Presently, http://ckeditor.com/demo exhibits this error.
  3. Clear any existing content in the editor.
  4. Create a table with 3 rows and 2 columns (OUTER).
  5. In the top left cell, create a nested table with 3 rows and 2 columns (INNER).
  6. In the INNER table, select the top two cells.
  7. Right click to get the context menu and select cell -> delete cells.

EXPECTED RESULT

Only the top two cells of the INNER table are deleted.

ACTUAL RESULT

The top left cell of the OUTER table is removed, thus removing the entire INNER table.

MORE INFO

Please see related ticket #6289. This seems to be a regression from sometime after 3.4.2. Note that #6289 was reported as an IE-only issue, but this ticket affects FF and Chrome (and likely IE as well).

DIAGNOSIS

The two bits of relevant code are in the following files:

http://dev.ckeditor.com/browser/CKEditor/trunk/_source/plugins/tabletools/plugin.js http://dev.ckeditor.com/browser/CKEditor/trunk/_source/core/dom/walker.js

In tabletools, the function getSelectedCells is of interest, especially lines 63-68.

54	while ( ( node = walker.next() ) )
55	{
56	  // If may be possible for us to have a range like this:
57	  // <td>^1</td><td>^2</td>
58	  // The 2nd td shouldn't be included.
59	  //
60	  // So we have to take care to include a td we've entered only when we've
61	  // walked into its children.
62	
63	  var parent = node.getAscendant( 'td' ) || node.getAscendant( 'th' );
64	  if ( parent && !parent.getCustomData( 'selected_cell' ) )
65	  {
66	    CKEDITOR.dom.element.setMarker( database, parent, 'selected_cell', true );
67	    retval.push( parent );
68	  }
69	}

This loop examines each node from the range start to the range end, according to walker.js. I am not entirely clear on the semantics of walker.js so I cannot say for sure whether it is correct, but from tracing it seems to be doing something reasonable.

When one selects two cells, the relevant portion of the DOM looks something like this:

TABLE (outer)
  TR
    TD (call this cell OA)
      BR
      TABLE (inner)
        TR
          TD (call this cell IA)
            BR  (call this node IABR)
          TD (call this cell IB)
            BR  (call this node IBBR)
        TR
          TD (call this cell IC)
            BR  (call this node ICBR)
          TD
            BR
        TR
          TD
            BR
          TD
            BR
    TD
       BR
   TR
     TD
       BR
     TD
       BR
   TR
     TD
       BR
     TD
       BR

When we select the top two cells of the INNER table our range goes from IABR to IBBR. It is also very easy to accidentally select the first cell of the next row, resulting in a range that goes from IABR to ICBR. The walker considers these nodes, but also the table cells IA, IC and their parent TR.

Note that line 63 fails to pass true (i.e. includeself) to getAscendant, and so erroneously includes cell OA in retval.

PROGNOSIS/PATCH

Please find attached a patch for this problem. This patch does two things.

  1. Passes includeself for the two calls to getAscendant.
  2. Ignores a number of table related nodes (TABLE TR TBODY TFOOT THEAD). If the walker were to consider a TBODY element in a nested table, I think the same behaviour would happen without this check.

This patch was made against cke 3.6.2.

OTHER

If anything is unclear about the issue or patch, please do not hesitate to email me at either dhamilton at verticalresponse.com or cke at hjdivad.com. Thank you in advance for your time.

#8699 Focus not going back to correct field on Cell Properties after we close Select Color dialog using OK & Cancel buttons IBM HasPatch Piotrek Koszuliński Bug closed Normal
Description

To reproduce the defect:

  1. Open any CK Editor sample & insert a table.
  1. Open Content menu and click on Cell -> Cell Properties option.
  1. Cell Properties dialog opened.
  1. Click on Choose button next to Background Color.
  1. Select Color dialog opened.

Scenario 1:

Select a color in the Color list box and press OK button.

Expected Result: Select Color dialog closed, selected color gets applied to Background color and focus should go back to Choose button next to Background Color text field.

Actual Result: Select Color dialog closed, selected color gets applied to Background color but focus going to next field which is Border Color text field.

Scenario 2:

Select a color in the Color list box and press Cancel button.

Expected Result: Select Color dialog closed, no color applied to Background color and focus should go back to Choose button next to Background Color text field.

Actual Result: Select Color dialog closed, no color applied to Background color but focus going back to Background Color text field instead of Choose button next to it.

Same issue happens when we select Border Color and click OK & Cancel buttons on Select Color dialog

Focus going to next field after Choose button when we click OK button to close Select Color dialog

Focus going to previous field before Choose button when we click Cancel button to close Select Color dialog

#8794 NL Translation HasPatch Anna Tomanek Bug closed Normal
Description

The following label is incorrect: findAndReplace -> replaceSuccessMsg

It is now: '%1 resulaten vervangen.'

It should be: '%1 resultaten vervangen.'

#8832 Stylesheet parser error if file not on cache HasPatch Alfonso Martínez de Lizarrondo Bug review Normal
Description

#7784 didn't fix the problem correctly

Reproduction steps:

  1. Clear the cache
  2. Open the console
  3. Load http://nightly.ckeditor.com/latest/ckeditor/_samples/stylesheetparser.html
  4. See the error as reported originally.

Proposed solution:

Revert [6867] and use http://dev.ckeditor.com/attachment/ticket/7784/7784_2.patch as it wasn't rejected because it failed but instead based on coding style. Or rewrite it anyway that you like and test that now it's correctly fixed.

#8940 filebrowser plugin breaks when the Array prototype is extended HasPatch Bug closed Normal
Description

We are using CKEditor with Ember.js.

Ember.js extends the native javacript Array prototype to include some helpful properties and functions. This causes some usages of for(i in j) loops within the filebrowser plugin to break, as it is iterating over all the properties on Array (instead of the elements in the array).

The following patch works for us.

#8967 obvious bug in getEnclosedNode HasPatch Jakub Ś Bug assigned Normal
Description

For example:

<div>

^
<bookmark/>
<span id='x'/>
<bookmark/>
^

getEnclosedNode should return span whose id is "x".

for detail see patch in attachement.

#8982 Anchor options in Link dialog uses only references to 'a' elements HasPatch New Feature confirmed Normal
Description

Reported here: http://cksource.com/forums/viewtopic.php?f=6&t=25473

The link dialog provides an option to link by Id, but it provides only the option to link to anchor elements, not other elements with an id attribute although those links will work in any browser.

The proposed patch provides a simple solution for modern browsers that support querySelectorAll. If someone is willing, it shouldn't be hard to write an "else" code path that does the scanning for the older browsers.

#9020 "vertical split a cell" works error when the row contains "colpan>1" cells HasPatch Support Bug confirmed Normal
Description

Follow this simple steps:

  1. create a table with 3 rows, 3 columns.
  2. merge the first two cells in the first row.
  3. veritical split the last cell(the cell after the merged cell) in the first row.

The table structure becomes messy after the third step.
The bug is in "tabletools/plugin.js", cellInRow function. Developer should avoid adding duplicate cells, similar with "cellInCol".

1 2 3 4
Note: See TracQuery for help on using queries.
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy