? styles-override.patch ? styles.kpf ? styles.patch ? sites/styles 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 4 Oct 2007 20:58:43 -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.694 diff -u -p -r1.694 common.inc --- includes/common.inc 4 Oct 2007 19:20:39 -0000 1.694 +++ includes/common.inc 4 Oct 2007 20:58:43 -0000 @@ -1534,6 +1534,12 @@ function drupal_add_link($attributes) { * * Typical candidates for caching are for example styles for nodes across * the site, or used in the theme. + * + * It's important to note that modules should always prefix the names of their + * CSS files with the module name, for example: system-menus.css rather than + * simply menus.css. Themes can override module-supplied CSS files based on + * their filenames, and this prefixing helps prevent confusing name collisions + * for theme developers. * @return * An array of CSS files. */ @@ -1548,6 +1554,32 @@ function drupal_add_css($path = NULL, $t if (!isset($css[$media])) { $css[$media] = array('module' => array(), 'theme' => array()); } + + // Allow themes to insert overrides of previously added module CSS files when they share the same name. + // This would cause themes/garland/system-menus.css to replace modules/system/system-menus.css. + // The preprocess flag from the module is maintained and the order of the override depends on the order + // it is set inside the theme's .info file and/or the order this function directly called by the theme. + if ($type == 'theme') { + foreach ($css[$media]['module'] as $old_path => $old_preprocess) { + // Match by style sheet name. + if (basename($path) == basename($old_path)) { + unset($css[$media]['module'][$old_path]); + + // If the current language is RTL, the CSS file had an RTL variant, + // and the theme provides a matching RTL override, pull out the original. + if (defined('LANGUAGE_RTL') && $language->direction == LANGUAGE_RTL) { + $rtl_path = str_replace('.css', '-rtl.css', $path); + $rtl_old_path = str_replace('.css', '-rtl.css', $old_path); + if (isset($css[$media]['module'][$rtl_old_path]) && file_exists($rtl_path)) { + unset($css[$media]['module'][$rtl_old_path]); + } + } + // Set the preprocess state of the current module, then exit the search loop. + $preprocess = $old_preprocess; + break; + } + } + } $css[$media][$type][$path] = $preprocess; // If the current language is RTL, add the CSS file with RTL overrides. 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 4 Oct 2007 20:58:43 -0000 @@ -0,0 +1,18 @@ +/* $Id$ */ + +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 4 Oct 2007 20:58:43 -0000 @@ -0,0 +1,50 @@ +/* $Id$ */ + +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 4 Oct 2007 20:58:43 -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 4 Oct 2007 20:58:43 -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.535 diff -u -p -r1.535 system.module --- modules/system/system.module 4 Oct 2007 18:51:04 -0000 1.535 +++ modules/system/system.module 4 Oct 2007 20:58:44 -0000 @@ -451,6 +451,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'); } /**