Index: ckeditor.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ckeditor/ckeditor.install,v
retrieving revision 1.2.2.7
diff -u -p -r1.2.2.7 ckeditor.install
--- ckeditor.install	9 Mar 2010 15:38:01 -0000	1.2.2.7
+++ ckeditor.install	23 Aug 2010 19:28:44 -0000
@@ -1,5 +1,5 @@
 <?php
-// $Id: ckfinder_fix__888950.patch,v 1.1 2010/08/27 05:04:45 Jim Exp $
+// $Id: ckfinder_fix__888950.patch,v 1.1 2010/08/27 05:04:45 Jim Exp $
 /*
  * CKEditor - The text editor for Internet - http://ckeditor.com
  * Copyright (C) 2003-2008 Frederico Caldeira Knabben
@@ -351,12 +351,14 @@ function _ckeditor_requirements_getinsta
  */
 function _ckeditor_requirements_ckfinder_config_check($profile_name) {
   module_load_include('module', 'ckeditor');
-  $module_drupal_path = drupal_get_path('module', 'ckeditor');
-  $config_path = $module_drupal_path .'/ckfinder/config.php';
 
+  $module_drupal_path = drupal_get_path('module', 'ckeditor');
+  $drupal_lib_path = dirname( ckeditor_path(TRUE) );
+  $config_path = $drupal_lib_path .'/ckfinder/config.php';
+  
   if (!file_exists($config_path)) {
     return t('!ckfinder is not installed correctly: !config not found. Make sure that you have uploaded all files or didn\'t remove that file accidentally.', array(
-      '!config' => $module_drupal_path .'/ckfinder/config.php',
+      '!config' => $drupal_lib_path .'/ckfinder/config.php',
       '!ckfinder' => '<a href="http://ckfinder.com">CKFinder</a>'
     ));
   }
Index: ckeditor.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ckeditor/ckeditor.module,v
retrieving revision 1.4.2.21
diff -u -p -r1.4.2.21 ckeditor.module
--- ckeditor.module	5 Mar 2010 10:32:47 -0000	1.4.2.21
+++ ckeditor.module	23 Aug 2010 19:29:10 -0000
@@ -1,5 +1,5 @@
 <?php
-// $Id: ckfinder_fix__888950.patch,v 1.1 2010/08/27 05:04:45 Jim Exp $
+// $Id: ckfinder_fix__888950.patch,v 1.1 2010/08/27 05:04:45 Jim Exp $
 /**
  * CKEditor - The text editor for Internet - http://ckeditor.com
  * Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
@@ -90,7 +90,8 @@ function ckeditor_user($type, $edit, &$u
  */
 function ckeditor_perm() {
   $arr = array('administer ckeditor', 'access ckeditor');
-  if (file_exists(drupal_get_path('module', 'ckeditor') . "/ckfinder")) {
+  $drupal_lib_path = dirname( ckeditor_path(true) );
+  if (file_exists($drupal_lib_path . "/ckfinder")) {
     $arr[] = 'allow CKFinder file uploads';
   }
   return $arr;
@@ -414,6 +415,7 @@ function ckeditor_process_textarea($elem
   $enabled = TRUE;
   $suffix = "";
   $class = "";
+  
   //hack for module developers that want to disable ckeditor on their textareas
   if (key_exists('#wysiwyg', $element) && !$element['#wysiwyg']) {
     return $element;
@@ -741,15 +743,19 @@ function ckeditor_process_textarea($elem
       $win_size = split('x', $popup_win_size);
     }
     
+  // The CKEditor and CKFinder libraries are preferably installed in sibling directories
+  // we use ckeditor_path() to determine the parent directory of CKEditor library
+  $drupal_lib_path = dirname( ckeditor_path() );
+  
     switch ($filebrowser) {
       case 'ckfinder':
         if (user_access('allow CKFinder file uploads')) {
-          $settings[$textarea_id]['filebrowserBrowseUrl'] = $module_full_path .'/ckfinder/ckfinder.html';
-          $settings[$textarea_id]['filebrowserImageBrowseUrl'] = $module_full_path .'/ckfinder/ckfinder.html?Type=Images';
-          $settings[$textarea_id]['filebrowserFlashBrowseUrl'] = $module_full_path .'/ckfinder/ckfinder.html?Type=Flash';
-          $settings[$textarea_id]['filebrowserUploadUrl'] = $module_full_path .'/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files';
-          $settings[$textarea_id]['filebrowserImageUploadUrl'] = $module_full_path .'/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
-          $settings[$textarea_id]['filebrowserFlashUploadUrl'] = $module_full_path .'/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash';
+          $settings[$textarea_id]['filebrowserBrowseUrl'] = $drupal_lib_path .'/ckfinder/ckfinder.html';
+          $settings[$textarea_id]['filebrowserImageBrowseUrl'] = $drupal_lib_path .'/ckfinder/ckfinder.html?Type=Images';
+          $settings[$textarea_id]['filebrowserFlashBrowseUrl'] = $drupal_lib_path .'/ckfinder/ckfinder.html?Type=Flash';
+          $settings[$textarea_id]['filebrowserUploadUrl'] = $drupal_lib_path .'/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files';
+          $settings[$textarea_id]['filebrowserImageUploadUrl'] = $drupal_lib_path .'/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
+          $settings[$textarea_id]['filebrowserFlashUploadUrl'] = $drupal_lib_path .'/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash';
         }
         break;
       case 'imce':
@@ -778,8 +784,8 @@ function ckeditor_process_textarea($elem
       switch ($filebrowser_image) {
         case 'ckfinder':
           if (user_access('allow CKFinder file uploads')) {
-            $settings[$textarea_id]['filebrowserImageBrowseUrl'] = $module_full_path .'/ckfinder/ckfinder.html?Type=Images';
-            $settings[$textarea_id]['filebrowserImageUploadUrl'] = $module_full_path .'/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
+            $settings[$textarea_id]['filebrowserImageBrowseUrl'] = $drupal_lib_path .'/ckfinder/ckfinder.html?Type=Images';
+            $settings[$textarea_id]['filebrowserImageUploadUrl'] = $drupal_lib_path .'/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
           }
           break;
         case 'imce':
@@ -809,8 +815,8 @@ function ckeditor_process_textarea($elem
       switch ($filebrowser_flash) {
         case 'ckfinder':
           if (user_access('allow CKFinder file uploads')) {
-            $settings[$textarea_id]['filebrowserFlashBrowseUrl'] = $module_full_path .'/ckfinder/ckfinder.html?Type=Images';
-            $settings[$textarea_id]['filebrowserFlashUploadUrl'] = $module_full_path .'/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
+            $settings[$textarea_id]['filebrowserFlashBrowseUrl'] = $drupal_lib_path .'/ckfinder/ckfinder.html?Type=Images';
+            $settings[$textarea_id]['filebrowserFlashUploadUrl'] = $drupal_lib_path .'/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
           }
           break;
         case 'imce':
