Потерявшийся CKEditor

При конфигурации Drupal 7 + Wysiwyg + CKEditor 4.X.X скорее всего вы получите следующую заяву при выборе редактора в Wysiwyg-профиле:

«The version of CKEditor could not be detected.»

Гугловей подбрасывает причину сообщения, связанную с неправильным парсингом ckeditor.js и предлагает два стандартных решения:

  • Известный патч с увеличением длины читаемой символьной массы
  • Небольшой PREG-фикс, связанный с поиском значений в двойных кавычках (а не в одинарных).
Но, рецепты не помогают и вот уже приходится вспоминать это всё, благодаря отличному чтиву от Владимира Головкина. Посмотрим же на наши карты:

интересующая нас часть содержимого ckeditor.js:
,version:"4.5.9",revision:"a35abfe",

и исправленное (см. PREG-фикс выше) php-условие из ckeditor.inc:
if (preg_match('@version:\"(?:CKEditor )?([\d\.]+)(?:.+revision:\"([\d]+))?@', $line, $version)) {

при выполнении которого обрабатывается и возвращается валидная версионная инфа. Условие выполнится, но не будет найдена версия ревизии, потому что в условии предполагается только числа, а в редакторе ревизия буквенно-цифровая.

Рабочий вариант:
if (preg_match('@version:\"(?:CKEditor )?([\d\.]+)(?:.+revision:\"([\w]+))?@', $line, $version)) {

Теперь то уж наверное "All will now be ok".