? ffi.patch
Index: filefield_insert.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/filefield_insert/filefield_insert.js,v
retrieving revision 1.5
diff -u -p -r1.5 filefield_insert.js
--- filefield_insert.js	15 Jun 2009 16:18:36 -0000	1.5
+++ filefield_insert.js	27 Sep 2009 10:02:06 -0000
@@ -106,6 +106,7 @@ Drupal.behaviors.fileFieldInsert = funct
 
     // Poor man's escaping of invalid characters in the URL.
     url = encodeURI(url).replace(/([#$*(),?])/g, function(match) { return escape(match) });
+    url = url.replace(/%3Fq=/,'?q=');
 
     // Update replacements.
     content = $.trim(content).replace(/__url__/g, url).replace(/__extension__/g, extension).replace(/__width__/g, width).replace(/__height__/g, height).replace(/__description__/g, description);
Index: filefield_insert.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/filefield_insert/filefield_insert.module,v
retrieving revision 1.5
diff -u -p -r1.5 filefield_insert.module
--- filefield_insert.module	30 Jun 2009 22:13:22 -0000	1.5
+++ filefield_insert.module	27 Sep 2009 10:02:07 -0000
@@ -61,7 +61,15 @@ function filefield_insert_process($eleme
   // Add base settings only once.
   if (!isset($js_added)) {
     $js_added = array();
-    $settings = array('fileDirectoryPath' => file_directory_path());
+    
+    switch (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC)) {
+      case FILE_DOWNLOADS_PUBLIC:
+        $settings = array('fileDirectoryPath' => file_directory_path());
+        break;
+      case FILE_DOWNLOADS_PRIVATE:
+        $settings = array('fileDirectoryPath' => "system/files");
+        break;
+    }
     drupal_add_js(array('fileFieldInsert' => $settings), 'setting');
     drupal_add_js(drupal_get_path('module', 'filefield_insert') . '/filefield_insert.js');
   }
