diff --git a/theme/orangewhite/config.php b/theme/orangewhite/config.php index 49bfc747304..9638eaca1e8 100644 --- a/theme/orangewhite/config.php +++ b/theme/orangewhite/config.php @@ -5,6 +5,57 @@ /// how Moodle uses this theme. //////////////////////////////////////////////////////////////////////////////// + +$THEME->sheets = array('styles_layout', 'styles_font', 'styles_color'); + +/// 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 = false; + +/// This variable can be set to an array containing +/// filenames from the *STANDARD* 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->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" @@ -14,25 +65,4 @@ $THEME->custompix = false; /// for all the activity modules. //////////////////////////////////////////////////////////////////////////////// -$THEME->subsheets = array('styles_layout', 'styles_font', 'styles_color'); - -/// This array specifies the names of .css files from the current -/// directory that you want to be loaded for this theme. -//////////////////////////////////////////////////////////////////////////////// - - -$THEME->standardsheets = false; - -/// This variable can be set to an array containing -/// filenames from the *STANDARD* 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'); -//////////////////////////////////////////////////////////////////////////////// - +?> diff --git a/theme/orangewhite/styles.php b/theme/orangewhite/styles.php index 97621a943b9..fc007906b1e 100644 --- a/theme/orangewhite/styles.php +++ b/theme/orangewhite/styles.php @@ -4,28 +4,43 @@ /// up any necessary variables, and lets us include raw CSS files. /// The output of this script should be a completely standard CSS file. -/// THERE IS USUALLY NO NEED TO EDIT THIS FILE! See config.php - - if (!isset($themename)) { - $themename = NULL; - } +/// There should be no need to modify this file!! Use config.php instead. $nomoodlecookie = true; require_once("../../config.php"); - $lastmodified = filemtime('styles.php'); + $lastmodified = 0; + $lifetime = 600; - foreach ($THEME->subsheets as $subsheet) { - $lastmodifiedsub = filemtime($subsheet.'.css'); - if ($lastmodifiedsub > $lastmodified) { - $lastmodified = $lastmodifiedsub; +/// If we are a parent theme, then check for parent definitions + + 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; } } - $themeurl = style_sheet_setup($lastmodifiedsub, 600, $themename); +/// Work out the last modified date for this theme - foreach ($THEME->subsheets as $subsheet) { - include_once($subsheet.'.css'); + foreach ($THEME->sheets as $sheet) { + $sheetmodified = filemtime($sheet.'.css'); + if ($sheetmodified > $lastmodified) { + $lastmodified = $sheetmodified; + } + } + +/// Print out the entire style sheet + + style_sheet_setup($lastmodified, $lifetime); + + foreach ($THEME->sheets as $sheet) { + echo "/***** $sheet.css start *****/\n\n"; + include_once($sheet.'.css'); + echo "\n\n/***** $sheet.css end *****/\n\n"; } ?>