Closed Bug 814019 Opened 7 years ago Closed 5 years ago

FF17: FCKeditor Version 2.6.4.1 does not load

Categories

(Firefox :: Untriaged, defect)

17 Branch
x86_64
Windows 7
defect
Not set

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: petersen, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0
Build ID: 20121119183901

Steps to reproduce:

FCKeditor Version 2.6.4.1 does not load (within a web application) when using FF17: nothing to see. IE: no problem. Safari: FCK does not load, but form shows source (html) of editor´s content.

See also https://bugzilla.mozilla.org/show_bug.cgi?id=776376 also with Comment 28 regarding problems with Drupal.


Actual results:

FCKeditor Version 2.6.4.1 does not load


Expected results:

FCKeditor Version 2.6.4.1 should load
Severity: normal → major
Component: Untriaged → Web Apps
Priority: -- → P3
Not a web apps bug
Severity: major → normal
Component: Web Apps → Untriaged
Priority: P3 → --
Steps to reproduce are required.
There is not enough information to do anything
Is there a publicly accessible web page using this version of FCKeditor?
Hi

You can test here : http://www.infiniclick.fr/test.php
I'm experiencing the same thing. This affects every single one of my client's websites. If it helps, here are the errors I see when I try to load a page containing fcke: http://i285.photobucket.com/albums/ll64/jrlooney/fcke_errors.png
i'm guessing maybe it has something to do with how the user agent is now reported - and FKCE is not recognizing it as a gecko browser?
Folks, I got it working on my end. FCKE is checking for the gecko revision number as a digit (previous values were like 20051111). But the revision number is now a floating point (17.0). So you have to edit the file fckeditor/editor/js/fckeditor_gecko.js.  On line 27 you want to look for this part of the code:

if (A.IsGecko){var B=s.match(/gecko\/(\d+)/)[1];A.IsGecko10=((B<20051111)||(/rv:1\.7/.test(s)));A.IsGecko19=/rv:1\.9/.test(s);}

and change it to

if (A.IsGecko){var B=s.match(/gecko\/([0-9.]+)/)[1];if(B != "17.0"){A.IsGecko10=((B<20051111)||(/rv:1\.7/.test(s)));}A.IsGecko19=/rv:1\.9/.test(s);}else{A.IsGecko19=true;}

all of my instances of FCKE are working again.
(In reply to Jim from comment #7)
> Folks, I got it working on my end. FCKE is checking for the gecko revision
> number as a digit (previous values were like 20051111). But the revision
> number is now a floating point (17.0). So you have to edit the file
> fckeditor/editor/js/fckeditor_gecko.js.  On line 27 you want to look for
> this part of the code:
> 
> if (A.IsGecko){var
> B=s.match(/gecko\/(\d+)/)[1];A.IsGecko10=((B<20051111)||(/rv:1\.7/.test(s)));
> A.IsGecko19=/rv:1\.9/.test(s);}
> 
> and change it to
> 
> if (A.IsGecko){var B=s.match(/gecko\/([0-9.]+)/)[1];if(B !=
> "17.0"){A.IsGecko10=((B<20051111)||(/rv:1\.7/.test(s)));}A.IsGecko19=/rv:1\.
> 9/.test(s);}else{A.IsGecko19=true;}
> 
> all of my instances of FCKE are working again.

Good point Jim, thanks!

But there's a couple of brackets errors as follow.
Change this code on row 27 of /editor/js/fckeditor_gecko.js:

if (A.IsGecko){var B=s.match(/gecko\/(\d+)/)[1];A.IsGecko10=((B<20051111)||(/rv:1\.7/.test(s)));A.IsGecko19=/rv:1\.9/.test(s);}else A.IsGecko10=false;}

to

if (A.IsGecko){var B=s.match(/gecko\/([0-9.]+)/)[1];if(B != "17.0"){A.IsGecko10=((B<20051111)||(/rv:1\.7/.test(s)));}A.IsGecko19=/rv:1\.9/.test(s);}else A.IsGecko19=true;}


Remember to modify fckeditor.php or fckeditor_php5.php too:

function FCKeditor_IsCompatibleBrowser()
{
    [...]
	else if ( strpos($sAgent, 'Gecko/') !== false )
	{
		$iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ;
		//return ($iVersion >= 20030210) ; // modify here
		return true ;
	}
   [...]
}
Great Mike ;)

I just changed the file fckeditor_php5.php:

function FCKeditor_IsCompatibleBrowser()
{
    [...]
	else if ( strpos($sAgent, 'Gecko/') !== false )
	{
		$iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ;
		//return ($iVersion >= 20030210) ; // modify here
		return true ;
	}
   [...]
}

The FCKE's toolbar is displayed again

Hervé
Thanks Mike and Herve!
Any suggestions for fckeditor in asp.net web application? the changing described above does not work
You can download FCKEditor 2.6.8 from ckeditor.com or the direct link to sourceforge.net: http://sourceforge.net/project/downloading.php?group_id=75348&filename=FCKeditor_2.6.8.zip

It has a _sample folder where they all complain that:

Your browser security settings don't allow FCKeditor to be opened from the local filesystem.	

Please open the about:config page and disable the "security.fileuri.strict_origin_policy" option; then load this page again.

Check our FAQ	for more information.
http://www.infiniclick.fr/test.php doesn't seem to show a problem - was it "fixed"?

Gerv
It's still a problem in FCKeditor.net, but you can download the 2.6.7 source code and fix the browser detection string yourself. I tried writing the developer, but he's reluctant to keep fixing FCKeditor, because it's successor CKeditor came out a long time ago.
Yes, i do same as you suggest, modified 2.6.8 source code and rebuild the fckeditor.net dll works ok.

only for reference i modify FCKeditor.cs file like that:

if ( sUserAgent.IndexOf( "Gecko/" ) >= 0 ) { Match oMatch = Regex.Match( request.UserAgent, @"(?<=Gecko/)\d{8}" ); if ( sUserAgent.IndexOf( "Gecko/17" ) >= 0 ) { return true; } else { return ( oMatch.Success && int.Parse( oMatch.Value, CultureInfo.InvariantCulture ) >= 20030210 ); } } 

this is brutal approach, but with some regex it can be refined

I consider to upgrade to ckeditor but is does not has an file manager embedded, there is ckfinder to buy
Duplicate of this bug: 815994
Note: The change in our Useragent string will be reverted in Firefox17.0.1 due the issues that it caused.
However, any site which was broken by this change is also broken in Firefox for Android and Firefox OS. So you should go ahead and fix it anyway.

Gerv
fixed by UA revert
Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.