Tips: WYSIWYG + CKEditor 3.6.0

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
farrington's picture

Jag märkte att nyaste CKEditor, 3.6.0 (och även 3.5.4), inte fungerar i senaste utgåvan av WYSIWYG-modulen (7.x-2.0, 6.x-2.3 och 5.x-2.1).

Man möts av felmeddelandet "The version of CKEditor could not be detected.".

Orsaken är att CKEditors JS-fil är förändrad så att inte WYSIWYG kan hitta versionnumret , för det ligger senare i filen än tidigare.

Lösningen är en av dessa:

  • Vänta på 7.x-2.1, 6.x-2.4 eller 5.x-2.2, och installera istället CKEditor 3.5.3.
  • Installera senaste 7.x-2.x-dev, 6.x-2.x-dev eller 5.x-2.x-dev. Buggfixen är på plats i dessa...
  • Om du inte vill ha allt annat man gjort i DEV-versionerna, utan bara vill ha stöd för CKEditor 3.6.0 så kan du enkelt fixa till detta genom att göra följande:
    Öppna filen <modulmapp>1/wysiwyg/editors/ckeditor.inc och gör följande ändringar (enligt diff):
    @@ -67,7 +67,7 @@ function wysiwyg_ckeditor_version($editor) {
    }
    $library = fopen($library, 'r');
    $max_lines = 8;
    - while ($max_lines && $line = fgets($library, 140)) {
    + while ($max_lines && $line = fgets($library, 500)) {

    // version:'CKEditor 3.0 SVN',revision:'3665'
    // version:'3.0 RC',revision:'3753'
    // version:'3.0.1',revision:'4391'

    Alltså, ändra bara talet 140 till 500 på raden, spara och så är det klart. Detta är samma buggfix som är gjord i DEV-versionerna...

    Det som händer är att inte WYSIWYG ger upp så tidigt som tidigare, utan letar en stund till och då hittar den ett versionsnummer.

1 = T.ex. /sites/all/modules.

Comments

+1 Very helpful especially

Lappie's picture

+1

Very helpful especially since the older versions of CKEditor that do get detected by wysiwyg have a security issue (see PSA-2011-002)