web/drupal/modules/fckeditor/filemanager.config.php
branchdrupal
changeset 74 0ff3ba646492
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/drupal/modules/fckeditor/filemanager.config.php	Fri Aug 21 16:26:26 2009 +0000
@@ -0,0 +1,108 @@
+<?php
+
+// $Id: filemanager.config.php,v 1.2.2.5 2008/12/23 15:37:41 wwalc Exp $
+/**
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * @file
+ * FCKeditor Module for Drupal 5.x
+ *
+ * This file is required by FCKeditor module if you want to enable built-in file management functionality
+ *
+ * This useful script does the following:
+ * - authenticate users that are allowed to use file browser
+ * - redefine the $Config['UserFilesPath'] and $Config['UserFilesAbsolutePath'] according to the values set in FCKeditor profile
+ */
+
+$GLOBALS['devel_shutdown'] = FALSE;
+
+$fck_user_files_path = "";
+$fck_user_files_absolute_path = "";
+
+function CheckAuthentication()
+{
+  static $authenticated;
+
+  if (!isset($authenticated)) {
+    $result = false;
+
+    if (!empty($_SERVER['SCRIPT_FILENAME'])) {
+      $drupal_path = dirname(dirname(dirname(dirname($_SERVER['SCRIPT_FILENAME']))));
+      if(!file_exists($drupal_path . "/includes/bootstrap.inc")) {
+        $drupal_path = dirname(dirname(dirname($_SERVER['SCRIPT_FILENAME'])));
+        $depth = 2;
+        do {
+          $drupal_path = dirname($drupal_path);
+          $depth ++;          
+        }
+        while(!($bootstrapFileFound = file_exists($drupal_path . "/includes/bootstrap.inc")) && $depth<10);
+      }
+    }
+    if (!isset($bootstrapFileFound) || !$bootstrapFileFound) {
+      $drupal_path = "../../../";
+      if(!file_exists($drupal_path . "/includes/bootstrap.inc")) {
+        $drupal_path = "../..";
+        do {
+          $drupal_path .= "/..";
+          $depth = substr_count($drupal_path, "..");
+        }
+        while(!($bootstrapFileFound = file_exists($drupal_path . "/includes/bootstrap.inc")) && $depth<10);
+      }
+    }
+    if (!isset($bootstrapFileFound) || $bootstrapFileFound) {
+      $fck_cwd = getcwd();
+      chdir($drupal_path);
+      require_once "./includes/bootstrap.inc";
+      drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
+      $authenticated = user_access("allow fckeditor file uploads");
+      if (isset($_SESSION['FCKeditor']['UserFilesPath'], $_SESSION['FCKeditor']['UserFilesAbsolutePath'])) {
+        $GLOBALS['fck_user_files_path'] = $_SESSION['FCKeditor']['UserFilesPath'];
+        $GLOBALS['fck_user_files_absolute_path'] = $_SESSION['FCKeditor']['UserFilesAbsolutePath'];
+      }
+      chdir($fck_cwd);
+    }
+  }
+
+  return $authenticated;
+}
+
+/**
+ * Note:
+ * Although in FCKeditor 2.5 $Config['Enabled'] is not used anymore, 
+ * CheckAuthentication() must be called once to initialize session
+ * before sending any content
+ * Static $authenticated variable is being assigned, so 
+ * application performance is not affected
+ */
+$Config['Enabled'] = CheckAuthentication();
+
+if (!empty($fck_user_files_path)) {
+  $Config['UserFilesPath'] = $fck_user_files_path;
+  $Config['UserFilesAbsolutePath'] = $fck_user_files_absolute_path;
+}
+else {
+  // Nothing in session? Shouldn't happen... anyway let's try to upload it in the (almost) right place
+  // Path to user files relative to the document root.
+  $Config['UserFilesPath'] = strtr(base_path(), array(
+  "/modules/fckeditor/fckeditor/editor/filemanager/connectors/php" => "",
+  "/modules/fckeditor/fckeditor/editor/filemanager/browser/default/connectors/php" => "",
+  "/modules/fckeditor/fckeditor/editor/filemanager/upload/php" => "",
+  )) . file_directory_path() . "/";
+}