1

I had to symlink the plugins directory: core/modules/ckeditor/plugins -> /var/www/html/drupal/web/libraries/ckeditor/plugins

to fix the white screen with drupal's kcfinder that happened with the drupal v8.7.4 to v8.7.6 upgrade, which also broke civi

The kcfinder white screens in civi were due to the fact that apparently the developers split the monolithic files into many small files, and they all have to be accessible over http for ckeditor to work, being client side javascript...:

  # Allow access to Statistics module's custom front controller.
  # Copy and adapt this rule to directly execute PHP files in contributed or
  # custom modules or to run another PHP application in the same directory.
  RewriteCond %{REQUEST_URI} !/core/modules/statistics/statistics.php$
  # allow access to kcfinder
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/browse.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/index.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js_localize.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/upload.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/conf/config.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/core/autoload.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/core/bootstrap.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/core/class/browser.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/core/class/minifier.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/core/class/uploader.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/core/types/type_img.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/core/types/type_mime.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/css/index.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/integration/BolmerCMS.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/integration/civicrm.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/integration/drupal.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/index.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/af.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/bg.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/ca.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/cs.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/da.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/de.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/el.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/en.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/es.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/et.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/fa.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/fi.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/fr.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/he.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/hu.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/id.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/it.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/ja.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/lt.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/lv.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/nl.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/no.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/pl.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/pt-br.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/pt.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/ro.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/ru.php$

  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/sk.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/sv.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/tr.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/uk.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/vi.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lang/zh-cn.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/class_fastImage.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/class_image.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/class_image_gd.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/class_image_gmagick.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/class_image_imagick.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/class_zipFolder.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/helper_dir.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/helper_file.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/helper_httpCache.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/helper_path.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/lib/helper_text.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/themes/dark/css.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/themes/dark/js.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/themes/default/css.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/themes/default/js.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/tpl/tpl_browser.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/tpl/tpl_css.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/tpl/tpl_javascript.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/cache/base.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/cache/theme_dark.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/cache/theme_default.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/000._jquery.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/002._jqueryui.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/006.jquery.uniform.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/010.jquery.fixes.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/020.jquery.rightClick.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/021.jquery.taphold.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/029.jquery.agent.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/030.jquery.helper.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/031.jquery.md5.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/040.object.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/041.dialogs.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/050.init.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/060.toolbar.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/070.settings.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/080.files.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/090.folders.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/091.menus.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/091.viewImage.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/100.clipboard.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/110.dropUpload.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/js/120.misc.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/themes/dark/init.js$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/themes/default/init.js$


  RewriteCond %{REQUEST_URI} !/libraries/civicrm/extern/authorizeIPN.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/extern/cxn.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/extern/ipn.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/extern/open.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/extern/pxIPN.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/extern/rest.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/extern/soap.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/extern/url.php$
  RewriteCond %{REQUEST_URI} !/libraries/civicrm/extern/widget.php$

inserted at line 149 in web/.htaccess did it for us. your line number might be different.

Just make sure these exclusions come after : # Allow access to PHP files in /core (like authorize.php or install.php): RewriteCond %{REQUEST_URI} !/core/[^/]*.php$ # Allow access to test-specific PHP files: RewriteCond %{REQUEST_URI} !/core/modules/system/tests/https?.php

/begin rant about drupal.org I'll never understand why people feel the need to rearrange stuff for sake of rearranging it and breaking stuff in the process. At least don't do a half assed job of it. /end rant

technically the rules above could be condensed to directory exclusions, but you never know what they'll end up putting in those directories....

1 Answer 1

1

see above. the solution is in the question

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.