? fapi.kpf
? style_override.patch
? modules/.DS_Store
? sites/fapi
? themes/.DS_Store
? themes/garland/.DS_Store
Index: includes/bootstrap.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/bootstrap.inc,v
retrieving revision 1.192
diff -u -p -r1.192 bootstrap.inc
--- includes/bootstrap.inc	10 Sep 2007 12:19:11 -0000	1.192
+++ includes/bootstrap.inc	24 Sep 2007 10:54:48 -0000
@@ -996,6 +996,7 @@ function drupal_maintenance_theme() {
   unicode_check();
   drupal_add_css(drupal_get_path('module', 'system') .'/defaults.css', 'module');
   drupal_add_css(drupal_get_path('module', 'system') .'/system.css', 'module');
+  drupal_add_css(drupal_get_path('module', 'system') .'/system-menus.css', 'module');
   $theme = '';
 
   // Special case registry of theme functions used by the installer
Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.688
diff -u -p -r1.688 common.inc
--- includes/common.inc	20 Sep 2007 08:30:34 -0000	1.688
+++ includes/common.inc	24 Sep 2007 10:54:48 -0000
@@ -1541,13 +1541,54 @@ function drupal_add_css($path = NULL, $t
     if (!isset($css[$media])) {
       $css[$media] = array('module' => array(), 'theme' => array());
     }
-    $css[$media][$type][$path] = $preprocess;
 
-    // If the current language is RTL, add the CSS file with RTL overrides.
-    if (defined('LANGUAGE_RTL') && $language->direction == LANGUAGE_RTL) {
-      $rtl_path = str_replace('.css', '-rtl.css', $path);
-      if (file_exists($rtl_path)) {
-        $css[$media][$type][$rtl_path] = $preprocess;
+    // Allow themes and only themes to insert replacement versions of already-added css files if
+    // they share the same name. This would cuase themes/garland/system-menus.css to replace
+    // modules/system/system-menus.css. All other properties of the file, including preprocess
+    // flags and the order in which it appears in the css inclusion hierarchy, stay the same.
+    $replaced = FALSE;
+    if ($type = 'theme') {
+      // Get the filename itself, not the full path.
+      $pieces = explode('/', $path);
+      $filename = array_pop($pieces);
+
+      foreach ($css[$media] as $oldtype => $paths) {
+        foreach ($paths as $oldpath => $oldpreprocess) {
+          // Match any path
+          $pieces = explode('/', $oldpath);
+          $oldfilename = array_pop($pieces);
+          if ($filename == $oldfilename) {
+            unset($css[$media][$oldtype][$oldpath]);
+            $css[$media][$oldtype][$path] = $oldpreprocess;
+
+            // If the current language is RTL, add the CSS file with RTL overrides.
+            if (defined('LANGUAGE_RTL') && $language->direction == LANGUAGE_RTL) {
+              $rtl_path = str_replace('.css', '-rtl.css', $path);
+              $rtl_oldpath = str_replace('.css', '-rtl.css', $oldpath);
+              if (file_exists($rtl_path)) {
+                unset($css[$media][$oldtype][$rtl_oldpath]);
+                $css[$media][$oldtype][$rtl_path] = $oldpreprocess;
+              }
+            }
+
+            // Since we've inserted the path in place of an existing css file's, we need to
+            // skip the normal insertion and exit the search loop.
+            $replaced = TRUE;
+            continue 2;
+          }
+        }
+      }
+    }
+
+    if (!$replaced) {
+      $css[$media][$type][$path] = $preprocess;
+
+      // If the current language is RTL, add the CSS file with RTL overrides.
+      if (defined('LANGUAGE_RTL') && $language->direction == LANGUAGE_RTL) {
+        $rtl_path = str_replace('.css', '-rtl.css', $path);
+        if (file_exists($rtl_path)) {
+          $css[$media][$type][$rtl_path] = $preprocess;
+        }
       }
     }
   }
Index: modules/system/system-menus-rtl.css
===================================================================
RCS file: modules/system/system-menus-rtl.css
diff -N modules/system/system-menus-rtl.css
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/system/system-menus-rtl.css	24 Sep 2007 10:54:49 -0000
@@ -0,0 +1,16 @@
+ul.menu {
+  text-align:right;
+}
+ul.menu li {
+  margin: 0 0.5em 0 0;
+}
+li.expanded {
+  padding: 0.2em 0 0 0.5em;
+}
+li.collapsed {
+  list-style-image: url(../../misc/menu-collapsed-rtl.png);
+  padding: 0.2em 0 0 0.5em;
+}
+li.leaf {
+  padding: 0.2em 0 0 0.5em;
+}
Index: modules/system/system-menus.css
===================================================================
RCS file: modules/system/system-menus.css
diff -N modules/system/system-menus.css
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/system/system-menus.css	24 Sep 2007 10:54:49 -0000
@@ -0,0 +1,51 @@
+/*
+** Menus
+*/
+ul.menu {
+  list-style: none;
+  border: none;
+  text-align:left; /* LTR */
+}
+ul.menu li {
+  margin: 0 0 0 0.5em; /* LTR */
+}
+li.expanded {
+  list-style-type: circle;
+  list-style-image: url(../../misc/menu-expanded.png);
+  padding: 0.2em 0.5em 0 0; /* LTR */
+  margin: 0;
+}
+li.collapsed {
+  list-style-type: disc;
+  list-style-image: url(../../misc/menu-collapsed.png); /* LTR */
+  padding: 0.2em 0.5em 0 0; /* LTR */
+  margin: 0;
+}
+li.leaf {
+  list-style-type: square;
+  list-style-image: url(../../misc/menu-leaf.png);
+  padding: 0.2em 0.5em 0 0; /* LTR */
+  margin: 0;
+}
+li a.active {
+  color: #000;
+}
+td.menu-disabled {
+  background: #ccc;
+}
+ul.links {
+  margin: 0;
+  padding: 0;
+}
+ul.links.inline {
+  display: inline;
+}
+ul.links li {
+  display: inline;
+  list-style-type: none;
+  padding: 0 0.5em;
+}
+.block ul {
+  margin: 0;
+  padding: 0 0 0.25em 1em; /* LTR */
+}
Index: modules/system/system-rtl.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system-rtl.css,v
retrieving revision 1.3
diff -u -p -r1.3 system-rtl.css
--- modules/system/system-rtl.css	8 Jun 2007 06:04:15 -0000	1.3
+++ modules/system/system-rtl.css	24 Sep 2007 10:54:49 -0000
@@ -21,22 +21,7 @@ dl.multiselect dt, dl.multiselect dd {
   float: right;
   margin: 0 0 0 1em;
 }
-ul.menu {
-  text-align:right;
-}
-ul.menu li {
-  margin: 0 0.5em 0 0;
-}
-li.expanded {
-  padding: 0.2em 0 0 0.5em;
-}
-li.collapsed {
-  list-style-image: url(../../misc/menu-collapsed-rtl.png);
-  padding: 0.2em 0 0 0.5em;
-}
-li.leaf {
-  padding: 0.2em 0 0 0.5em;
-}
+
 .block ul {
   padding: 0 1em 0.25em 0;
 }
Index: modules/system/system.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.css,v
retrieving revision 1.34
diff -u -p -r1.34 system.css
--- modules/system/system.css	6 Sep 2007 13:06:13 -0000	1.34
+++ modules/system/system.css	24 Sep 2007 10:54:49 -0000
@@ -182,58 +182,6 @@ dl.multiselect .form-item {
 }
 
 /*
-** Menus
-*/
-ul.menu {
-  list-style: none;
-  border: none;
-  text-align:left; /* LTR */
-}
-ul.menu li {
-  margin: 0 0 0 0.5em; /* LTR */
-}
-li.expanded {
-  list-style-type: circle;
-  list-style-image: url(../../misc/menu-expanded.png);
-  padding: 0.2em 0.5em 0 0; /* LTR */
-  margin: 0;
-}
-li.collapsed {
-  list-style-type: disc;
-  list-style-image: url(../../misc/menu-collapsed.png); /* LTR */
-  padding: 0.2em 0.5em 0 0; /* LTR */
-  margin: 0;
-}
-li.leaf {
-  list-style-type: square;
-  list-style-image: url(../../misc/menu-leaf.png);
-  padding: 0.2em 0.5em 0 0; /* LTR */
-  margin: 0;
-}
-li a.active {
-  color: #000;
-}
-td.menu-disabled {
-  background: #ccc;
-}
-ul.links {
-  margin: 0;
-  padding: 0;
-}
-ul.links.inline {
-  display: inline;
-}
-ul.links li {
-  display: inline;
-  list-style-type: none;
-  padding: 0 0.5em;
-}
-.block ul {
-  margin: 0;
-  padding: 0 0 0.25em 1em; /* LTR */
-}
-
-/*
 ** Tab navigation
 */
 ul.primary {
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.532
diff -u -p -r1.532 system.module
--- modules/system/system.module	17 Sep 2007 08:06:52 -0000	1.532
+++ modules/system/system.module	24 Sep 2007 10:54:49 -0000
@@ -441,6 +441,7 @@ function system_init() {
   // Add the CSS for this module.
   drupal_add_css(drupal_get_path('module', 'system') .'/defaults.css', 'module');
   drupal_add_css(drupal_get_path('module', 'system') .'/system.css', 'module');
+  drupal_add_css(drupal_get_path('module', 'system') .'/system-menus.css', 'module');
 }
 
 /**
