From 6fde77de243225885b19d9fc3b5c28895df31e37 Mon Sep 17 00:00:00 2001 From: moodler Date: Sun, 30 Jan 2005 18:17:44 +0000 Subject: [PATCH] Modifications to allow parent theme, and some genral cleanups --- theme/standard/config.php | 49 ++++++++++++++++++++++++++++---- theme/standard/styles.css | 1 - theme/standard/styles.php | 47 +++++++++++++++++++----------- theme/standard/styles_color.css | 2 -- theme/standard/styles_fonts.css | 4 +-- theme/standard/styles_layout.css | 2 -- theme/standard/styles_moz.css | 2 +- 7 files changed, 75 insertions(+), 32 deletions(-) diff --git a/theme/standard/config.php b/theme/standard/config.php index 12b81a115b..07b3efe6bd 100644 --- a/theme/standard/config.php +++ b/theme/standard/config.php @@ -5,15 +5,14 @@ /// how Moodle uses this theme. //////////////////////////////////////////////////////////////////////////////// -$THEME->custompix = false; -/// If true, then this theme must have a "pix" -/// subdirectory that contains copies of all -/// files from the moodle/pix directory, plus a -/// "pix/mod" directory containing all the icons -/// for all the activity modules. +$THEME->sheets = array('styles_layout', 'styles_fonts', 'styles_color', 'styles_moz'); + +/// This variable is an array containing the names of all the +/// stylesheet files you want included in this theme, and in what order //////////////////////////////////////////////////////////////////////////////// + $THEME->standardsheets = true; /// This variable can be set to an array containing @@ -30,6 +29,44 @@ $THEME->standardsheets = true; //////////////////////////////////////////////////////////////////////////////// +$THEME->parent = ''; + +/// This variable can be set to the name of a parent theme +/// which you want to have included before the current theme. +/// This can make it easy to make modifications to another +/// theme without having to actually change the files +/// If this variable is empty or false then a parent theme +/// is not used. +//////////////////////////////////////////////////////////////////////////////// + + +$THEME->parentsheets = false; + +/// This variable can be set to an array containing +/// filenames from a chosen *PARENT* theme. If the +/// array exists, it will be used to choose the +/// files to include in the standard style sheet. +/// When false, then no files are used. +/// When true or NON-EXISTENT, then ALL standard files are used. +/// This parameter can be used, for example, to prevent +/// having to override too many classes. +/// Note that the trailing .css should not be included +/// eg $THEME->standardsheets = array('styles_layout', 'styles_fonts', +/// 'styles_color', 'styles_moz'); +//////////////////////////////////////////////////////////////////////////////// + + +$THEME->custompix = false; + +/// If true, then this theme must have a "pix" +/// subdirectory that contains copies of all +/// files from the moodle/pix directory, plus a +/// "pix/mod" directory containing all the icons +/// for all the activity modules. +//////////////////////////////////////////////////////////////////////////////// + + + // These colours are not used anymore, so I've set them to // bright green to help identify where they should be removed // These lines will be deleted soon diff --git a/theme/standard/styles.css b/theme/standard/styles.css index 81d3e4c510..80a96f774b 100644 --- a/theme/standard/styles.css +++ b/theme/standard/styles.css @@ -1,4 +1,3 @@ -/* $Id$ */ .siteinfocontent { } diff --git a/theme/standard/styles.php b/theme/standard/styles.php index 12296e23fa..a7295c8dc6 100644 --- a/theme/standard/styles.php +++ b/theme/standard/styles.php @@ -4,40 +4,53 @@ /// up any necessary variables, and lets us include raw CSS files. /// The output of this script should be a completely standard CSS file. - if (!isset($themename)) { - $themename = NULL; - } +/// There should be no need to modify this file!! Use config.php instead. $nomoodlecookie = true; require_once("../../config.php"); -/// Following lines are just for standard theme/styles.php + $lastmodified = 0; + $lifetime = 600; + +/// The following lines are only for standard/theme/styles.php + if (!isset($THEME->standardsheets) or $THEME->standardsheets === true) { // Use all the sheets we have - $subsheets = array('styles_layout', 'styles_fonts', 'styles_color', 'styles_moz'); + $THEME->sheets = array('styles_layout', 'styles_fonts', 'styles_color', 'styles_moz'); } else if (empty($THEME->standardsheets)) { // We can stop right now! exit; } else { // Use the provided subset only - $subsheets = $THEME->standardsheets; + $THEME->sheets = $THEME->standardsheets; } -/// Normal themes will just use a line like this instead of the above. -/// $subsheets = array('styles_layout', 'styles_fonts', 'styles_color', 'styles_moz'); +/// If we are a parent theme, then check for parent definitions -/// There should be no need to touch the following + if (isset($parent)) { + if (!isset($THEME->parentsheets) or $THEME->parentsheets === true) { // Use all the sheets we have + $THEME->sheets = array('styles_layout', 'styles_fonts', 'styles_color', 'styles_moz'); + } else if (empty($THEME->parentsheets)) { // We can stop right now! + exit; + } else { // Use the provided subset only + $THEME->sheets = $THEME->parentsheets; + } + } - $lastmodified = filemtime('styles.php'); +/// Work out the last modified date for this theme - foreach ($subsheets as $subsheet) { - $lastmodifiedsub = filemtime($subsheet.'.css'); - if ($lastmodifiedsub > $lastmodified) { - $lastmodified = $lastmodifiedsub; + foreach ($THEME->sheets as $sheet) { + $sheetmodified = filemtime($sheet.'.css'); + if ($sheetmodified > $lastmodified) { + $lastmodified = $sheetmodified; } } - $themeurl = style_sheet_setup($lastmodifiedsub, 600, $themename); +/// Print out the entire style sheet + + style_sheet_setup($lastmodified, $lifetime); - foreach ($subsheets as $subsheet) { - include_once($subsheet.'.css'); + foreach ($THEME->sheets as $sheet) { + echo "/***** $sheet.css start *****/\n\n"; + include_once($sheet.'.css'); + echo "\n\n/***** $sheet.css end *****/\n\n"; } ?> diff --git a/theme/standard/styles_color.css b/theme/standard/styles_color.css index 034fb5989e..1dc029f890 100644 --- a/theme/standard/styles_color.css +++ b/theme/standard/styles_color.css @@ -1,5 +1,3 @@ -/* $Id$ */ - /************************************************* *** *** color diff --git a/theme/standard/styles_fonts.css b/theme/standard/styles_fonts.css index 1cce678d40..149e4a1946 100644 --- a/theme/standard/styles_fonts.css +++ b/theme/standard/styles_fonts.css @@ -1,5 +1,3 @@ -/* $Id$ */ - /************************************************* *** *** fonts @@ -315,4 +313,4 @@ table.calendarmonth tbody td div { .rssclientdescription { font-size:x-small; -} \ No newline at end of file +} diff --git a/theme/standard/styles_layout.css b/theme/standard/styles_layout.css index fb3b113bf2..41c6217ea4 100644 --- a/theme/standard/styles_layout.css +++ b/theme/standard/styles_layout.css @@ -1,5 +1,3 @@ -/* $Id$ */ - /************************************************* *** *** layout diff --git a/theme/standard/styles_moz.css b/theme/standard/styles_moz.css index a58b313daf..4314923e06 100644 --- a/theme/standard/styles_moz.css +++ b/theme/standard/styles_moz.css @@ -105,4 +105,4 @@ table.calendarmini tbody td { .sideblockmain, .sideblocklatestnews, .sideblockrecentactivity, .mycalendar { -moz-border-radius-bottomleft:20px; -moz-border-radius-bottomright:20px; -} \ No newline at end of file +} -- 2.39.5