From 57bfc29ac93d83b5ad46356e331404110056eb5d Mon Sep 17 00:00:00 2001 From: Andrea Bicciolo Date: Tue, 6 Jul 2010 11:59:31 +0000 Subject: [PATCH] Formal_white for 2.0 --- theme/formal_white/config.php | 132 ++++++++++ theme/formal_white/javascript/navigation.js | 154 ++++++++++++ .../lang/en/theme_formalwhite.php | 48 ++++ .../lang/it/theme_formalwhite.php | 48 ++++ theme/formal_white/layout/general.php | 144 +++++++++++ theme/formal_white/lib.php | 91 +++++++ theme/formal_white/pix/bg_bread.jpg | Bin 0 -> 325 bytes theme/formal_white/pix/dock_removeall.png | Bin 0 -> 197 bytes theme/formal_white/pix/favicon.ico | Bin 0 -> 894 bytes theme/formal_white/pix/gradient_h.jpg | Bin 0 -> 410 bytes theme/formal_white/pix/logo.jpg | Bin 0 -> 7386 bytes theme/formal_white/pix/logo_small.jpg | Bin 0 -> 3093 bytes theme/formal_white/pix/movedock.png | Bin 0 -> 267 bytes theme/formal_white/pix/roundcorner/body_l.jpg | Bin 0 -> 15826 bytes theme/formal_white/pix/roundcorner/body_r.jpg | Bin 0 -> 15825 bytes theme/formal_white/pix/roundcorner/footer.jpg | Bin 0 -> 15873 bytes .../formal_white/pix/roundcorner/footer_l.jpg | Bin 0 -> 16187 bytes .../formal_white/pix/roundcorner/footer_r.jpg | Bin 0 -> 16129 bytes theme/formal_white/pix/roundcorner/header.jpg | Bin 0 -> 15830 bytes .../formal_white/pix/roundcorner/header_l.jpg | Bin 0 -> 16181 bytes .../formal_white/pix/roundcorner/header_r.jpg | Bin 0 -> 16154 bytes theme/formal_white/pix/screenshot.gif | Bin 0 -> 14991 bytes theme/formal_white/settings.php | 50 ++++ theme/formal_white/style/base.css | 35 +++ theme/formal_white/style/dock.css | 54 +++++ theme/formal_white/style/formalwhite.css | 93 +++++++ theme/formal_white/style/fw_corners.css | 66 +++++ theme/formal_white/style/general.css | 228 ++++++++++++++++++ theme/formal_white/style/settings.css | 13 + 29 files changed, 1156 insertions(+) create mode 100644 theme/formal_white/config.php create mode 100644 theme/formal_white/javascript/navigation.js create mode 100644 theme/formal_white/lang/en/theme_formalwhite.php create mode 100644 theme/formal_white/lang/it/theme_formalwhite.php create mode 100644 theme/formal_white/layout/general.php create mode 100644 theme/formal_white/lib.php create mode 100644 theme/formal_white/pix/bg_bread.jpg create mode 100644 theme/formal_white/pix/dock_removeall.png create mode 100644 theme/formal_white/pix/favicon.ico create mode 100644 theme/formal_white/pix/gradient_h.jpg create mode 100644 theme/formal_white/pix/logo.jpg create mode 100644 theme/formal_white/pix/logo_small.jpg create mode 100644 theme/formal_white/pix/movedock.png create mode 100644 theme/formal_white/pix/roundcorner/body_l.jpg create mode 100644 theme/formal_white/pix/roundcorner/body_r.jpg create mode 100644 theme/formal_white/pix/roundcorner/footer.jpg create mode 100644 theme/formal_white/pix/roundcorner/footer_l.jpg create mode 100644 theme/formal_white/pix/roundcorner/footer_r.jpg create mode 100644 theme/formal_white/pix/roundcorner/header.jpg create mode 100644 theme/formal_white/pix/roundcorner/header_l.jpg create mode 100644 theme/formal_white/pix/roundcorner/header_r.jpg create mode 100644 theme/formal_white/pix/screenshot.gif create mode 100644 theme/formal_white/settings.php create mode 100644 theme/formal_white/style/base.css create mode 100644 theme/formal_white/style/dock.css create mode 100644 theme/formal_white/style/formalwhite.css create mode 100644 theme/formal_white/style/fw_corners.css create mode 100644 theme/formal_white/style/general.css create mode 100644 theme/formal_white/style/settings.css diff --git a/theme/formal_white/config.php b/theme/formal_white/config.php new file mode 100644 index 00000000000..75614aca283 --- /dev/null +++ b/theme/formal_white/config.php @@ -0,0 +1,132 @@ +name = 'formal_white'; + + +$THEME->sheets = array('dock','base','general','fw_corners','formalwhite','settings'); +$layoutpage = 'general.php'; +/// This variable is an array containing the names of all the +/// stylesheet files you want included in this theme, and in what order +//////////////////////////////////////////////////////////////////////////////// + +$THEME->parents = array('base'); // TODO: new themes can not be based on standardold, instead use 'base' as the base +/// 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->parents_exclude_sheets = array('base'=>array('styles_moz')); + +$THEME->resource_mp3player_colors = + 'bgColour=000000&btnColour=ffffff&btnBorderColour=cccccc&iconColour=000000&'. + 'iconOverColour=00cc00&trackColour=cccccc&handleColour=ffffff&loaderColour=ffffff&'. + 'font=Arial&fontColour=3333FF&buffer=10&waitForPlay=no&autoPlay=yes'; +/// With this you can control the colours of the "big" MP3 player +/// that is used for MP3 resources. + + +$THEME->filter_mediaplugin_colors = + 'bgColour=000000&btnColour=ffffff&btnBorderColour=cccccc&iconColour=000000&'. + 'iconOverColour=00cc00&trackColour=cccccc&handleColour=ffffff&loaderColour=ffffff&'. + 'waitForPlay=yes'; +/// ...And this controls the small embedded player + +$THEME->editor_sheets = array('styles_tinymce'); + +$THEME->layouts = array( + // Most pages - if we encounter an unknown or a missing page type, this one is used. + 'base' => array( + 'file' => $layoutpage, + 'regions' => array() + ), + 'standard' => array( + 'file' => $layoutpage, + 'regions' => array('side-pre'), + 'defaultregion' => 'side-post' + ), + // Course page + 'course' => array( + 'file' => $layoutpage, + 'regions' => array('side-pre', 'side-post'), + 'defaultregion' => 'side-post' + ), + // Course page + 'coursecategory' => array( + 'file' => $layoutpage, + 'regions' => array('side-pre', 'side-post'), + 'defaultregion' => 'side-post' + ), + 'incourse' => array( + 'file' => $layoutpage, + 'regions' => array('side-pre', 'side-post'), + 'defaultregion' => 'side-post' + ), + 'frontpage' => array( + 'file' => $layoutpage, + 'regions' => array('side-pre', 'side-post'), + 'defaultregion' => 'side-pre' + ), + 'admin' => array( + 'file' => $layoutpage, + 'regions' => array('side-pre'), + 'defaultregion' => 'side-pre' + ), + 'mydashboard' => array( + 'file' => $layoutpage, + 'regions' => array('side-pre', 'side-post'), + 'defaultregion' => 'side-post' + ), + 'mypublic' => array( + 'file' => $layoutpage, + 'regions' => array('side-pre', 'side-post'), + 'defaultregion' => 'side-post' + ), + 'login' => array( + 'file' => $layoutpage, + 'regions' => array() + ), + // Pages that appear in pop-up windows - no navigation, no blocks, no header. + 'popup' => array( + 'file' => $layoutpage, + 'regions' => array(), + 'options' => array('nofooter'=>true, 'nonavbar'=>true, 'noblocks'=>true), + ), + // No blocks and minimal footer - used for legacy frame layouts only! + 'frametop' => array( + 'file' => $layoutpage, + 'regions' => array(), + 'options' => array('nofooter', 'noblocks'=>true), + ), + // Embeded pages, like iframe embeded in moodleform + 'embedded' => array( + 'file' => $layoutpage, + 'regions' => array(), + 'options' => array('nofooter'=>true, 'nonavbar'=>true, 'noblocks'=>true), + ), + // Used during upgrade and install, and for the 'This site is undergoing maintenance' message. + // This must not have any blocks, and it is good idea if it does not have links to + // other places - for example there should not be a home link in the footer... + 'maintenance' => array( + 'file' => $layoutpage, + 'regions' => array(), + 'options' => array('nofooter'=>true, 'nonavbar'=>true, 'noblocks'=>true), + ) +); + +$THEME->rendererfactory = 'theme_overridden_renderer_factory'; +$THEME->enable_dock = true; +$THEME->javascripts_footer = array('navigation'); + +/** + * Sets the function that will replace our settings within the CSS + */ +$THEME->csspostprocess = 'formalwhite_process_css'; diff --git a/theme/formal_white/javascript/navigation.js b/theme/formal_white/javascript/navigation.js new file mode 100644 index 00000000000..1700cf222da --- /dev/null +++ b/theme/formal_white/javascript/navigation.js @@ -0,0 +1,154 @@ +/** + * Customises the dock for the fw theme and does some other cool stuff + */ +function customise_dock_for_theme() { + // If we don't have M.core_dock or Y then bail + if (!M.core_dock) { + return false; + } + // Change the defautl remove all icon to work with our black dock + M.core_dock.cfg.display.removeallicon = M.util.image_url('dock_removeall', 'theme'); + + // On draw completed add the ability to move the dock to from the left to the right + M.core_dock.on('dock:drawcompleted', fw.dock.enable_side_switching, fw.dock); + // When the dock is first drawn check to see if it should be moved + M.core_dock.on('dock:drawstarted', fw.dock.check_initial_position, fw.dock); + // Corrects the panel x position for the theme + M.core_dock.on('dock:itemadded', function(item) { + item.on('dockeditem:showstart', fw.dock.correct_panel_x_position, fw.dock, item); + item.on('dockeditem:resizecomplete', fw.dock.correct_panel_x_position, fw.dock, item); + }); + + // Override the default fix_title_orientation method with our fw method + // this will use SVG and rotate the text if possible. + M.core_dock.genericblock.prototype.fix_title_orientation = fw.dock.fix_title_orientation; + M.core_dock.genericblock.prototype.resize_block_space = fw.dock.resize_block_space; + return true; +} + +var fw = (function(){ + return { + namespaces : { + svg : 'http://www.w3.org/2000/svg' + }, + dock : { + enable_side_switching : function() { + var movedock = M.core_dock.Y.Node.create(''); + var c = M.core_dock.node.one('.controls'); + c.insertBefore(M.core_dock.Y.Node.create('
'), c.one('img')); + c.insertBefore(movedock, c.one('br')); + movedock.on('click', this.switch_dock_side); + }, + correct_panel_x_position : function(item) { + var dockoffset = M.core_dock.Y.one('#dock_item_'+item.id+'_title').get('offsetWidth'); + var panelwidth = M.core_dock.Y.one(item.panel.body).get('offsetWidth'); + var screenwidth = parseInt(M.core_dock.Y.get(document.body).get('winWidth')); + switch (M.core_dock.cfg.position) { + case 'left': + item.panel.cfg.setProperty('x', dockoffset); + break; + case 'right': + item.panel.cfg.setProperty('x', (screenwidth-panelwidth-dockoffset-5)); + break; + } + }, + switch_dock_side : function () { + var oldorientation = M.core_dock.cfg.orientation; + var oldclass = M.core_dock.cfg.css.dock+'_'+M.core_dock.cfg.position+'_'+oldorientation; + switch (M.core_dock.cfg.position) { + case 'right': + M.core_dock.cfg.position = 'left'; + M.core_dock.cfg.orientation = 'vertical'; + break; + case 'left': + M.core_dock.cfg.position = 'right'; + M.core_dock.cfg.orientation = 'vertical'; + break; + } + var newclass = M.core_dock.cfg.css.dock+'_'+M.core_dock.cfg.position+'_'+M.core_dock.cfg.orientation; + M.core_dock.node.replaceClass(oldclass, newclass); + M.core_dock.Y.Cookie.set('dock_position', M.core_dock.cfg.position); + }, + check_initial_position : function () { + var cookieposition = M.core_dock.Y.Cookie.get('dock_position'); + if (cookieposition && cookieposition != 'null' && cookieposition !== M.core_dock.cfg.position) { + var oldclass = M.core_dock.cfg.css.dock+'_'+M.core_dock.cfg.position+'_'+M.core_dock.cfg.orientation; + M.core_dock.cfg.position = cookieposition; + if (M.core_dock.node) { + var newclass = M.core_dock.cfg.css.dock+'_'+M.core_dock.cfg.position+'_'+M.core_dock.cfg.orientation; + M.core_dock.node.replaceClass(oldclass, newclass); + } + } + }, + fix_title_orientation : function (node) { + if (M.core_dock.cfg.orientation == 'vertical') { + return fw.transform.make_vertical_text(node); + } + return node; + }, + resize_block_space : function (node) { + var blockregions = { + pre: {hasblocks:true,c:'side-pre-only'}, + post: {hasblocks:true,c:'side-post-only'}, + noblocksc:'noblocks' + } + M.core_dock.Y.all('div.block-region').each(function(blockregion){ + if (blockregion.hasClass('side-pre') && blockregion.all('.block').size() == 0) { + blockregions.pre.hasblocks = false; + } else if (blockregion.hasClass('side-post') && blockregion.all('.block').size() == 0) { + blockregions.post.hasblocks = false; + } + }); + if (blockregions.pre.hasblocks && blockregions.post.hasblocks) { + // No classes required both regions have blocks + M.core_dock.Y.one(document.body).removeClass(blockregions.pre.c).removeClass(blockregions.post.c).removeClass(blockregions.noblocksc); + } else if (blockregions.pre.hasblocks) { + // side-pre-only required: remove any other classes + M.core_dock.Y.one(document.body).addClass(blockregions.pre.c).removeClass(blockregions.post.c).removeClass(blockregions.noblocksc); + } else if (blockregions.post.hasblocks) { + // side-post-only required: remove any other classes + M.core_dock.Y.one(document.body).removeClass(blockregions.pre.c).addClass(blockregions.post.c).removeClass(blockregions.noblocksc); + } else { + // All blocks have been docked: add noblocks remove side-xxx-only's if set + M.core_dock.Y.one(document.body).removeClass(blockregions.pre.c).removeClass(blockregions.post.c).addClass(blockregions.noblocksc); + } + return '200px'; + } + }, + transform : { + make_vertical_text : function(node) { + + if (YAHOO.env.ua.ie > 0) { + if (YAHOO.env.ua.ie > 7) { + node.setAttribute('style', 'writing-mode: tb-rl; filter: flipV flipH;'); + } else { + node.innerHTML = node.innerHTML.replace(/(.)/g, "$1
"); + } + return node; + } + + var test = M.core_dock.Y.Node.create('
'+node.firstChild.nodeValue+'
'); + M.core_dock.Y.one(document.body).append(test); + var height = test.one('span').get('offsetWidth'); + test.remove(); + + var txt = document.createElementNS(fw.namespaces.svg, 'text'); + txt.setAttribute('x', '0'); + txt.setAttribute('y', '0'); + txt.setAttribute('transform','rotate(90, 5, 5)'); + txt.appendChild(document.createTextNode(node.firstChild.nodeValue)); + + var svg = document.createElementNS(fw.namespaces.svg, 'svg'); + svg.setAttribute('version', '1.1'); + svg.setAttribute('height', height); + svg.setAttribute('width', 30); + svg.appendChild(txt); + + var div = document.createElement(node.nodeName); + div.appendChild(svg); + + return div; + } + } + } +})(); \ No newline at end of file diff --git a/theme/formal_white/lang/en/theme_formalwhite.php b/theme/formal_white/lang/en/theme_formalwhite.php new file mode 100644 index 00000000000..f7aafe93f1f --- /dev/null +++ b/theme/formal_white/lang/en/theme_formalwhite.php @@ -0,0 +1,48 @@ +. + +/** + * Strings for component 'theme_formalwhite', language 'en', branch 'MOODLE_20_STABLE' + * + * @package theme_formalwhite + * @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com} + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +$string['choosereadme'] = '
+

Formal White theme pack - Preview Release 1

+

by MediaTouch 2000 - Italian Moodle Partner

Version: 20100601

+
+
 
+

Formal White for Moodle 2.0 - Preview Release 1

+

Meadiatouch is pleased to announce that the first pre-release of its famous and worldwide adopted "Formal white" theme has been finally made available for Moodle 2

+

Licensing

+

This theme is licensed under Moodle\'s GNU General Public License. Feel free to use it, share it and edit it to fit your needs.

+

Enjoy this theme.

'; +$string['pluginname'] = 'Formal white'; + +$string['backgroundcolor'] = 'Blocks background colour'; +$string['backgroundcolordesc'] = 'This sets the blocks background colour for the theme.'; +$string['configtitle'] = 'Formalwhite settings'; +$string['customcss'] = 'Custom CSS'; +$string['customcssdesc'] = 'Any CSS you enter here will be added to every page allowing your to easily customise this theme.'; +$string['footnote'] = 'Footnote'; +$string['footnotedesc'] = 'The content from this textarea will be displayed in the footer of every page.'; +$string['logo'] = 'Logo'; +$string['logodesc'] = 'Enter the URL to an image to use as the logo for this site. Should be http://www.yoursite.com/path/to/logo.png
Preferred picture height is 100 pixels'; +$string['regionwidth'] = 'Column width'; +$string['regionwidthdesc'] = 'This sets the width of the two block regions that form the left and right columns.'; \ No newline at end of file diff --git a/theme/formal_white/lang/it/theme_formalwhite.php b/theme/formal_white/lang/it/theme_formalwhite.php new file mode 100644 index 00000000000..8cb0f2349a7 --- /dev/null +++ b/theme/formal_white/lang/it/theme_formalwhite.php @@ -0,0 +1,48 @@ +. + +/** + * Strings for component 'theme_formalwhite', language 'it', branch 'MOODLE_20_STABLE' + * + * @package theme_formalwhite + * @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com} + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +$string['choosereadme'] = '
+

Formal white - Versione preliminare 1.0

+

by MediaTouch 2000 Moodle Partner per l\'Italia

Version: 20100601

+
+
 
+

Formal white for Moodle 2.0 - Versione preliminare 1.0

+

Meadiatouch ha il piacere di annunciare che la prima versione preliminare del famoso tema "Formal white", già adottato in innumerevoli realtà a livello modiale nella versione per moodle 1.x, è finalmente disponibile per Moodle 2

+

Licensing

+

Questo tema è tutelato dalle stesse condizioni della licenza di Moodle - GNU General Public License. Sentiti libero di utilizzare, condividere e modificare a tuo piacimento questo tema.

+

Madiatouch si augura che questo tema possa essere di tuo gradimento.

'; +$string['pluginname'] = 'Formal white'; + +$string['backgroundcolor'] = 'Blocks background colour'; +$string['backgroundcolordesc'] = 'This sets the blocks background colour for the theme.'; +$string['configtitle'] = 'Formalwhite settings'; +$string['customcss'] = 'Custom CSS'; +$string['customcssdesc'] = 'Any CSS you enter here will be added to every page allowing your to easily customise this theme.'; +$string['footnote'] = 'Footnote'; +$string['footnotedesc'] = 'The content from this textarea will be displayed in the footer of every page.'; +$string['logo'] = 'Logo'; +$string['logodesc'] = 'Enter the URL to an image to use as the logo for this site. Should be http://www.yoursite.com/path/to/logo.png
La dimensione ottimale delle immagini è di 100 pixel'; +$string['regionwidth'] = 'Column width'; +$string['regionwidthdesc'] = 'This sets the width of the two block regions that form the left and right columns.'; \ No newline at end of file diff --git a/theme/formal_white/layout/general.php b/theme/formal_white/layout/general.php new file mode 100644 index 00000000000..cc780bc75a6 --- /dev/null +++ b/theme/formal_white/layout/general.php @@ -0,0 +1,144 @@ +heading); +$hasnavbar = (empty($PAGE->layout_options['nonavbar']) && $PAGE->has_navbar()); +$hasfooter = (empty($PAGE->layout_options['nofooter'])); +$hassidepre = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('side-pre', $OUTPUT)); +$hassidepost = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('side-post', $OUTPUT)); + +$showsidepre = ($hassidepre && !$PAGE->blocks->region_completely_docked('side-pre', $OUTPUT)); +$showsidepost = ($hassidepost && !$PAGE->blocks->region_completely_docked('side-post', $OUTPUT)); + +$custommenu = $OUTPUT->custom_menu(); +$hascustommenu = (empty($PAGE->layout_options['nocustommenu']) && !empty($custommenu)); + +$bodyclasses = array(); +if ($showsidepre && !$showsidepost) { + $bodyclasses[] = 'side-pre-only'; +} else if ($showsidepost && !$showsidepre) { + $bodyclasses[] = 'side-post-only'; +} else if (!$showsidepost && !$showsidepre) { + $bodyclasses[] = 'content-only'; +} +if ($hascustommenu) { + $bodyclasses[] = 'has_custom_menu'; +} + +if (!empty($PAGE->theme->settings->logo)) { + $logourl = $PAGE->theme->settings->logo; +} else { + $logourl = $OUTPUT->pix_url('logo', 'theme'); +} + +if (!empty($PAGE->theme->settings->footnote)) { + $footnote = $PAGE->theme->settings->footnote; +} else { + $footnote = ''; +} + +echo $OUTPUT->doctype() ?> +htmlattributes() ?>> + + <?php echo $PAGE->title ?> + + standard_head_html() ?> + + +standard_top_of_body_html() ?> +
+
+
 
+
+
+
+ +
+
+ + +
'; + echo '
'; + echo $OUTPUT->login_info(); + if (!empty($PAGE->layout_options['langmenu'])) { + echo $OUTPUT->lang_menu(); + } + echo $PAGE->headingmenu; + echo '
'; // closes:
+ + echo '
'; // closes:
+ echo '
'; // closes:
+ + if ($hascustommenu) { + echo '
'.$custommenu.'
'; + } + + //Accessibility: breadcrumb trail/navbar now a DIV, not a table. + if ($hasnavbar) { + echo ''; + } + + } ?> + + + +
+ +
+
+ +
+
+
+ +
+
+
+ + +
+
+ blocks_for_region('side-pre') ?> +
+
+ + + +
+
+ blocks_for_region('side-post') ?> +
+
+ + +
+
+ +
+ +
+
+
+ +
+
+ + + + + + +standard_end_of_body_html() ?> + + \ No newline at end of file diff --git a/theme/formal_white/lib.php b/theme/formal_white/lib.php new file mode 100644 index 00000000000..d94f6cd75cd --- /dev/null +++ b/theme/formal_white/lib.php @@ -0,0 +1,91 @@ +settings->backgroundcolor)) { + $backgroundcolor = $theme->settings->backgroundcolor; + } else { + $backgroundcolor = null; + } + $css = formalwhite_set_backgroundcolor($css, $backgroundcolor); + + // Set the region width + if (!empty($theme->settings->regionwidth)) { + $regionwidth = $theme->settings->regionwidth; + } else { + $regionwidth = null; + } + $css = formalwhite_set_regionwidth($css, $regionwidth); + + // Set the custom CSS + if (!empty($theme->settings->customcss)) { + $customcss = $theme->settings->customcss; + } else { + $customcss = null; + } + $css = formalwhite_set_customcss($css, $customcss); + + // Return the CSS + return $css; +} + +/** + * Sets the background colour variable in CSS + * + * @param string $css + * @param mixed $backgroundcolor + * @return string + */ +function formalwhite_set_backgroundcolor($css, $backgroundcolor) { + $tag = '[[setting:backgroundcolor]]'; + $replacement = $backgroundcolor; + if (is_null($replacement)) { + $replacement = '#F7F6F1'; + } + $css = str_replace($tag, $replacement, $css); + return $css; +} + +/** + * Sets the region width variable in CSS + * + * @param string $css + * @param mixed $regionwidth + * @return string + */ +function formalwhite_set_regionwidth($css, $regionwidth) { + $tag = '[[setting:regionwidth]]'; + $doubletag = '[[setting:regionwidthdouble]]'; + $replacement = $regionwidth; + if (is_null($replacement)) { + $replacement = 200; + } + $css = str_replace($tag, $replacement.'px', $css); + $css = str_replace($doubletag, ($replacement*2).'px', $css); + return $css; +} + +/** + * Sets the custom css variable in CSS + * + * @param string $css + * @param mixed $customcss + * @return string + */ +function formalwhite_set_customcss($css, $customcss) { + $tag = '[[setting:customcss]]'; + $replacement = $customcss; + if (is_null($replacement)) { + $replacement = ''; + } + $css = str_replace($tag, $replacement, $css); + return $css; +} \ No newline at end of file diff --git a/theme/formal_white/pix/bg_bread.jpg b/theme/formal_white/pix/bg_bread.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a6cfe63ed51f0d2b33f26c546ef93d3bc6c44e6f GIT binary patch literal 325 zcmex=i3*BJ!6k`h{6D}T z$iX1TAi~Tj$iO7X$SlbC{|JLP$f=AB$bglF9Vj6o02F3M7H1G<5=jKffHa`WFflT- z0A)l4(TrkX5d43Ofrpt9Xd$y8gFVBWX+>t!m<}9H*%ZOely*KaBB*-tA!Qt7BG!Q4r+uensgH_f8$l)yTh%9Dc;1&j9 zMuu5)B!GhKC7!;n?6;U$**O`WJ(^t(6jJhZaSY+Oo}AFYASSM+s>;eHmZrwW#&}6H hE!oY{k#R*NLs&QCgS$@+{sUDrc)I$ztaD0e0s!A7GgSZp literal 0 HcmV?d00001 diff --git a/theme/formal_white/pix/favicon.ico b/theme/formal_white/pix/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5a7a36a68e69533576ab37a35abce1d3fbb38800 GIT binary patch literal 894 zcmZQzU<5(|0R|u`!H~hsz#zuJz@P!dKp_SNAO?vKIbb{CFhl-MrSiEDm+MbD!c@3Z zC}SFg>oxZxXX##+)QNC^1s(V=xcI+f^+t$@>%RZetN(IUu7+^qPW)5e@SmX+Dhm`u zQxD_<)x)&|xj^+0?(#LOK`&M1(*F7t6u?R1A*VZ|B`Ee3zS2-iATRGZTiKWzY-_~Q6F~vzu5f$I`!MZ${D;5 z{gPb$m!}x&;MgO7B{uzMDBK2DA8_cq)T%$?r3)bH_2)fPT>GD`co~H2wfvssnm=5* zAng$I0~;s%7flX}&vbWpw=HdBT>M*p#ecPV&(!)hEB5Z;Sn!T_-YcWJ^$_)2Rxfw- zaq;u@3=448S5sCo^%ARDV?XD%^N#_{Tc)wNC$Th+T%}M#iT4K+@a8D<~+) z-oZvrPOfWeFHrWti~p@R|JUz-zwX#0h++tNXz#A1i3*BJ!6k`h{6D}T z$iX1Ru#%Zkkby~%ky()O{}Bdp21W*E1{A=;$^n!R6<}mU5oTZz0jUT23{8TOi5a9` z5KWkYLGb@A1|DWcpk>U04E79HM3!=SiA>Sd2ntxT(9>yBt12$;qGi*qF5*>z(C?h; MfaXkeF8lwR0P$Qx8~^|S literal 0 HcmV?d00001 diff --git a/theme/formal_white/pix/logo.jpg b/theme/formal_white/pix/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..88879ef11605512ecae094b8dbd16daeb70048f3 GIT binary patch literal 7386 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 BJ7NF; literal 0 HcmV?d00001 diff --git a/theme/formal_white/pix/logo_small.jpg b/theme/formal_white/pix/logo_small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..861338afdb2e3bb7265895c3f9b987a58ce47e3d GIT binary patch literal 3093 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 literal 0 HcmV?d00001 diff --git a/theme/formal_white/pix/roundcorner/body_r.jpg b/theme/formal_white/pix/roundcorner/body_r.jpg new file mode 100644 index 0000000000000000000000000000000000000000..51af8f8174627700edffe00b15da72d8879e0b8e GIT binary patch literal 15825 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�T1Ma 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 literal 0 HcmV?d00001 diff --git a/theme/formal_white/pix/roundcorner/footer_r.jpg b/theme/formal_white/pix/roundcorner/footer_r.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9171979f4b8123a871ab6191d812d96cb80f705c GIT binary patch literal 16129 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 c2msuUA2czw-IpksDXYP-1{ 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 G9sVD@pP8Bf literal 0 HcmV?d00001 diff --git a/theme/formal_white/pix/screenshot.gif b/theme/formal_white/pix/screenshot.gif new file mode 100644 index 0000000000000000000000000000000000000000..b22fdcb20ed52a031f14e3a82a9efd3bb981b24b GIT binary patch literal 14991 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 literal 0 HcmV?d00001 diff --git a/theme/formal_white/settings.php b/theme/formal_white/settings.php new file mode 100644 index 00000000000..0009f58c689 --- /dev/null +++ b/theme/formal_white/settings.php @@ -0,0 +1,50 @@ +'.block .content', 'style'=>'backgroundColor'); +$setting = new admin_setting_configcolourpicker($name, $title, $description, $default, $previewconfig); +$temp->add($setting); + +// Logo file setting +$name = 'theme_formalwhite/logo'; +$title = get_string('logo','theme_formalwhite'); +$description = get_string('logodesc', 'theme_formalwhite'); +$setting = new admin_setting_configtext($name, $title, $description, '', PARAM_URL); +$temp->add($setting); + +// Block region width +$name = 'theme_formalwhite/regionwidth'; +$title = get_string('regionwidth','theme_formalwhite'); +$description = get_string('regionwidthdesc', 'theme_formalwhite'); +$default = 200; +$choices = array(150=>'150px', 170=>'170px', 200=>'200px', 240=>'240px', 290=>'290px', 350=>'350px', 420=>'420px'); +$setting = new admin_setting_configselect($name, $title, $description, $default, $choices); +$temp->add($setting); + +// Foot note setting +$name = 'theme_formalwhite/footnote'; +$title = get_string('footnote','theme_formalwhite'); +$description = get_string('footnotedesc', 'theme_formalwhite'); +$setting = new admin_setting_confightmleditor($name, $title, $description, ''); +$temp->add($setting); + +// Custom CSS file +$name = 'theme_formalwhite/customcss'; +$title = get_string('customcss','theme_formalwhite'); +$description = get_string('customcssdesc', 'theme_formalwhite'); +$setting = new admin_setting_configtextarea($name, $title, $description, ''); +$temp->add($setting); + +// Add our page to the structure of the admin tree +$ADMIN->add('themes', $temp); \ No newline at end of file diff --git a/theme/formal_white/style/base.css b/theme/formal_white/style/base.css new file mode 100644 index 00000000000..7d3bb32223d --- /dev/null +++ b/theme/formal_white/style/base.css @@ -0,0 +1,35 @@ +body, div, p, li, input, option, textarea {font-size:8pt;line-height:1.5em;} +body, div, p, li, input, option, textarea, h1, h2, h3, h4, h5 {font-family:Arial, Helvetica, sans-serif;} + +h1.main, h2.main, h3.main, h4.main, h5.main, h6.main {text-align:center;} + +.generalbox {padding:10px;margin-bottom:15px;} +.generaltable, .userinfobox {margin-left:auto;margin-right:auto;} +#notice.generalbox {margin-left: auto;margin-right: auto;width: 60%;} +.notifyproblem {padding:10px;color:#660000;text-align:center;} +.notifysuccess {padding:10px;color:#006600;text-align:center;} + +.paging {text-align:center;} + +/** + * Tabs + */ +.tabtree {position:relative;margin-bottom:3.5em;} +.tabtree .tabrow0 {text-align:center;width:100%;margin:1em 0px;} +.tabtree .tabrow0 li {display:inline;margin-right:-4px;} +.tabtree .tabrow0 li.here a {position:relative;z-index:102;} +.tabtree .tabrow0 li a {background-image:url([[pix:theme|tab/left]]);padding-left:14px;padding-top:10px;background-repeat:no-repeat;padding-bottom:3px;margin-bottom:-1px;} +.tabtree .tabrow0 li a:hover {background-image:url([[pix:theme|tab/left_hover]]);} +.tabtree .tabrow0 li a span { background-image:url([[pix:theme|tab/right]]);background-repeat:no-repeat;background-position:100% 0%;padding-right:14px;padding-top:10px;padding-bottom:3px;} +.tabtree .tabrow0 li a:hover span {background-image:url([[pix:theme|tab/right_hover]]);} +.tabtree .tabrow0 ul, +.tabtree .tabrow0 div {background-image:url([[pix:theme|tab/tabrow1]]);background-position:0% 50%;position:absolute;width:100%;border-top:1px solid #aaa;padding:0.25em 0px;top:100%;margin:0px;} +.tabtree .tabrow0 .empty {height:1px;overflow:hidden;padding:0px;position:absolute;} +.tabtree .tabrow1 li a, +.tabtree .tabrow1 li a:hover, +.tabtree .tabrow1 li a span, +.tabtree .tabrow1 li a:hover span {background-image:none !important;} + +.groupmanagementtable {width:90%;} +.groupmanagementtable td {vertical-align:top;border-width:0px;} +.groupmanagementtable td p {margin:0px;} \ No newline at end of file diff --git a/theme/formal_white/style/dock.css b/theme/formal_white/style/dock.css new file mode 100644 index 00000000000..20e23dd2bd7 --- /dev/null +++ b/theme/formal_white/style/dock.css @@ -0,0 +1,54 @@ +/** Core overrides **/ +body.has_dock {margin-left:30px;margin-right:30px;} + +/* This CSS is for the dock */ +.dock {width:30px;position:fixed;top:0px;left:0px;height:100%;background-image:url([[pix:theme|vgradient]]);background-repeat: repeat-y;background-position:100% 0;background-color:#DDD;border-right:1px solid #AAA;z-index:2002;} +.dock .dockeditem {background-color:#DDD;} +.dock .dockeditem .firstdockitem {margin-top:1em;} +.dock .dockeditem .dockedtitle {border-bottom:1px solid #AAA;border-top:1px solid #CCC;cursor:pointer;background-image:url([[pix:theme|vgradient]]);background-position:90% 0;background-repeat: repeat-y;} +.dock .dockeditem .dockedtitle.activeitem {background-position:80% 0;} +.dock .dockeditem .dockedtitle h2 {font-size:0.8em;line-height:100%;text-transform:uppercase;text-align:center;margin:12px 0px;} +.dock .block_tree .current_branch {} +.dock .controls {position:absolute;bottom:1em;text-align:center;width:100%;} +.dock .controls img {cursor:pointer;} +.dock .bd.oversized_content {overflow-y:auto;overflow-x:visible;height:inherit;} +.dock .bd.oversized_content .content {margin:6px 6px 6px 0px;padding-bottom:6px;} +.dock .yui-panel .hd {text-align:right;border-width:0 0 1px 0;padding:3px 5px;} +.dock .yui-panel .hd .commands img {margin-right:2px;} + +/**.dock .bd .content .blockcommands {text-align:right;border:1px solid #AAA;border-width:0 0 1px 1px;background-image:url([[pix:theme|hgradient]]);background-repeat: repeat-x;}**/ +/** YUI overrides **/ +.yui-skin-sam .dock .yui-panel {border-width:1px 2px 1px 1px;border-color:#AAA;min-width:150px;} +.yui-skin-sam .dock .yui-panel .bd {border-width:0;background-color:#FAFAFA;} +/** Override the above if the dock is on the right **/ +.dock.dock_right_vertical {left:auto;right:0px;border-width:0px 0px 1px 5px;} +.dock.dock_right_vertical .commands {text-align:right;} +.yui-skin-sam .dock.dock_right_vertical .yui-panel {border-width:1px 0 1px 5px;} + +/* block expansion code */ +.block_js_expansion .block_tree {overflow-x:scroll;} +.block_js_expansion.mouseover .content {width:200%;z-index:1000;position:relative;} +.block_js_expansion.mouseover .content .block_tree {width:100%; background-color:#FAFAFA; padding-bottom:0px;} + +/* CSS for shadows */ +.divshadow div {position:absolute;width:3px;height:3px;background-color:#333;} +.divshadow .shadow_top {top:-3px;right:0px;width:100%;} +.divshadow .shadow_bottom {bottom:-3px;right:0px;width:100%;} +.divshadow .shadow_left {top:0px;left:-3px;height:100%;} +.divshadow .shadow_right {bottom:0px;right:-3px;height:100%;} +.divshadow .shadow_top_right {top:-3px;right:-3px;} +.divshadow .shadow_bottom_right {bottom:-3px;right:-3px;} +.divshadow .shadow_top_left {top:-3px;left:-3px;} +.divshadow .shadow_bottom_left {bottom:-3px;left:-3px;} + +/** IE stylings */ +.ie6 .block .block_tree {width:160px;overflow-x:scroll;} +.ie7 .block .block_tree {overflow-x:scroll;} +.ie6 .block_tree .tree_item {width:100%;} +.ie6 .dock {position:absolute;} +.ie6 .dock hr {display:none;margin:0px;height:0px;padding:0px;} +.ie6 .dock li p {background-color:inherit;} +.ie6 .dock .bd.oversized_content .content, .ie7 .dock .bd.oversized_content .content {padding-bottom:0px;} +.ie6 .block_js_expansion.mouseover .content, .ie7 .block_js_expansion.mouseover .content{ padding-bottom:2px;} +.ie6 .dock .bd.oversized_content {width:100%;} +.ie7 .dock .bd.oversized_content {width:400px;} \ No newline at end of file diff --git a/theme/formal_white/style/formalwhite.css b/theme/formal_white/style/formalwhite.css new file mode 100644 index 00000000000..41a4d861462 --- /dev/null +++ b/theme/formal_white/style/formalwhite.css @@ -0,0 +1,93 @@ + +/*** + *** Core + ***/ +html, body {background-color: #FBF9FA;} + +body { + font-family: Helvetica, Arial, Verdana, sans-serif; + font-size: 0.95em; + line-height: 1.4; + margin: 0; + padding: 0; +} + +#page-site-index { + display:block; +} + +#page { + width:97%; + background-image: url([[pix:theme|roundcorner/header]]); + margin:15px 1.5% 0; + background-position:0 0; + background-repeat:repeat-x; + min-width: 934px; +} + +#headerenvelop { /* Inside Header Middle */ + color:#fff; + height: 105px; + /*background-color: #E3DFD4;*/ +} + +#logo { + float: left; + /*display:inline;*/ +} + +.sitelogo { + margin:5px 0 -4px 3px; +} + +/* Header */ +#header, #header-home { + padding:0 17px; + background-color: #E3DFD4; + margin-left:17px; + margin-right:17px; +} + +#custommenu, .navbar { + margin-right: 17px; + margin-left: 17px; +} + +.yui3-skin-sam .yui3-menu-content {border-right:none;border-left:none;} + +.navbar { + width:auto; + padding:3px 1em; + background-image: url([[pix:theme|bg_bread]]); +} + +/* content */ +#page-content { + float: none; + width: auto; + margin-right: 17px; + margin-left: 17px; +} + +.shrinker { /* To keep content off of the background image */ + margin:1px 0 0 0; +} + + +/* Link Colors */ +a:link, a:visited { + color:#375faf; +} +a:hover, a:active { + color:#304469; +} + +#headerenvelop a:link, #headerenvelop a:visited { + color:#000; +} + +.clearfix { + min-width: 0; + /* overflow: hidden; */ + display:block; +} diff --git a/theme/formal_white/style/fw_corners.css b/theme/formal_white/style/fw_corners.css new file mode 100644 index 00000000000..a031b0ac0a4 --- /dev/null +++ b/theme/formal_white/style/fw_corners.css @@ -0,0 +1,66 @@ +div.headerleft div { /* Page background top left */ + background-image: url([[pix:theme|roundcorner/header_l]]); + font-size:1px; + line-height:1%; + height:17px; + background-repeat:no-repeat; + background-position:0 0; + background-color:transparent; + position:relative; + width:17px; + margin-left:-17px; +} + +div.headerleft { /*Page background top right */ + background-image: url([[pix:theme|roundcorner/header_r]]); + background-repeat:no-repeat; + background-position:100% 0; + text-align:left; + height:17px; + margin:0 0 0 17px; +} + +div.bodyleft { /* Page background left */ + background-image: url([[pix:theme|roundcorner/body_l]]); + background-repeat:repeat-y; + background-position:0 0; + background-color:transparent; +} + +div.bodyright { /* Page background right */ + background-image: url([[pix:theme|roundcorner/body_r]]); + background-repeat:repeat-y; + background-position:100% 0; + background-color:transparent; +} + +/* Page background shading and curvy corners at bottom of screen */ + +div.contentfooter div { /* Bottom Left */ + font-size:1px; + line-height:1%; + height:17px; + background-repeat:no-repeat; + background-position:0 0; + background-color:transparent; + position:relative; + width:17px; + margin-left:-17px; + background-image: url([[pix:theme|roundcorner/footer_l]]); +} + +div.contentfooter { /* Bottom Right */ + background-image: url([[pix:theme|roundcorner/footer_r]]); + background-position:100% 0; + text-align:left; + margin:0 0 0 17px; + background-repeat:no-repeat; +} + +#page2 { /* Bottom Middle */ + background-image: url([[pix:theme|roundcorner/footer]]); + background-repeat: repeat-x; + background-position: 0 100%; + background-attachment: scroll; + background-color: transparent; +} \ No newline at end of file diff --git a/theme/formal_white/style/general.css b/theme/formal_white/style/general.css new file mode 100644 index 00000000000..a521c27d415 --- /dev/null +++ b/theme/formal_white/style/general.css @@ -0,0 +1,228 @@ +a:link {text-decoration:none;color: #697F55;} +a:visited {text-decoration:none;color: #697F55;} +a:hover {text-decoration:underline;} + +img.icon, +img.iconhelp {vertical-align:middle;} + +#page {overflow:visible} +/*#page #page-content {background-color:#FFF;border:1px solid #697F55;}*/ + +/******************/ +#page-header {background-color: #E3DFD4; color:#FFF;border:1px solid #697F55;border-bottom: none;} +.hasnavbar #page-header {border-bottom-width:0px;} +#page-header .headermain span {color:#C8C9C7;} + +#page-header .navbar {background-image: url([[pix:theme|bg_bread]]);width:100%;} +#page-header .navbar {color:#000;} +#page-header .navbar a:link {color:#fff;} +#page-header .navbar a:visited {color:#fff;} +#page-header .navbar .breadcrumb {margin:6px 1em;float:left;} +#page-header .navbar .navbutton {float:right;margin:5px 1em;} + +#region-pre .region-content {background-color: #E3DFD4;} +/*#region-post .region-content {background-color: #E3DFD4;}*/ +#region-post-box {background-color: #E3DFD4;} + +/** General **/ +.generalbox {border: 1px solid #DDDDDD;} +.generaltable td {border-width:0px;} +.sitetopic {border-width:0px;} +.headingblock {margin-bottom:10px;border-bottom:1px solid #697F55;background-color:#FFF;padding:4px 5px;} + +.coursebox {width:100%;margin:10px 0px;border-bottom:1px solid #E3E3E3;overflow:hidden;padding-bottom:10px;} +.coursebox .info {width:35%;float:left;} +.coursebox .summary {width:60%;float:right;} + +.course-content ul {margin:0px;} +.course-content .headingblock.outline {margin-top:0px;} +.course-content .section.main {border:1px solid #E3E3E3;margin-bottom:10px;} +.course-content .section.main .left.side {float:left;width:20px;padding:5px;} +.course-content .section.main .right.side {float:right;width:20px;padding:5px;} +.course-content .section.main .content {margin:0px 30px 10px 30px;} +.course-content .section.main .content .section_add_menus {text-align:right;} + +#course-user .section {border:1px solid #DDD;margin:0px 5% 1.5em 5%;} + +#course-user .section h2, +#course-user .section .content {margin:5px 1em;} +#course-user .section table td {border:0px;} + +.generaltable {border:1px solid #DDD;} +.generaltable .cell {background-color:#FFF;border:1px solid #EEE;border-collapse: collapse;} +.generaltable .header {background-color:#EEE;border:1px solid #EEE;font-weight:bold;} + +/** Login **/ +.loginbox {margin-top:15px;margin-bottom:15px;} +.loginbox .loginform {margin-top:15px;} +.loginbox .loginform .form-label {width:39%;float:left;text-align:right;} +.loginbox .loginform .form-input {width:60%;float:right;text-align:left;} +.loginbox .loginform .form-input input {width:6em;} + +.loginbox.twocolumns {border:1px solid #DDD;} +.loginbox.twocolumns .loginpanel {float:left;width:49%;text-align:center;} +.loginbox.twocolumns .signuppanel {float:left;width:50%;border-left:1px solid #DDD;} +.loginbox.twocolumns .signuppanel h2 {text-align:center;} +.loginbox.twocolumns .signuppanel div {margin:1em;} +.loginbox.twocolumns .signuppanel div li {font-size:90%;} + +.loginbox .loginsub {margin-left:10%;margin-right:10%;padding:10px;margin-bottom:5px;} +.loginbox .guestsub {margin-left:10%;margin-right:10%;padding:10px;margin-bottom:5px;border-top:1px solid #DDD;} + +/** Blocks **/ +.block {border:1px solid #C8C9C7;background-color: #FEFEFE;margin-bottom:10px;overflow:hidden;} +.block h1, +.block h2, +.block h3, +.block h4 {margin:0px;} +.block .header {margin:10px 6px 3px 6px;height:22px;margin:0} +.block .header {background-image: url([[pix:theme|gradient_h]]);} +.block .header .title {color: #000;} +.block .content {background-color: white;} + +/** Admin **/ +.box.adminwarning {text-align:center;border:1px solid #C8C9C7;background-color:#E3E3E3;margin-bottom:1em;padding:10px 10%;} +.box.copyright {text-align:center;font-size:90%;padding:10px 10%;} +#adminsettings fieldset {border:1px solid #C8C9C7;background-color:#E3E3E3;} +#adminsettings fieldset .generalbox {margin:1em 0.5em;border-color:#C8C9C7;} +#adminsettings .form-buttons {margin-left:13em;} + +.form-item {width:100%;margin:1em 1em 2em 1em ;} +.form-item .form-label {width:12.5em;text-align:right;float:left;margin-right:0.5em;} +.form-item .form-label .form-shortname {display:block;color:#666;font-size:75%;} +.form-item .form-setting {margin-left:13em;} +.form-item .form-setting .defaultsnext {display:inline;} +.form-item .form-setting .form-defaultinfo {display:inline;margin-left:0.5em;font-size:90%;color:#666;} +.form-item .form-description {margin:0.5em 1em 0.5em 13em;} +.form-item .form-textarea textarea {width:495px;} + +#authmenu .informationbox {width:80%;margin-left:auto;margin-right:auto;margin-bottom:10px;border:1px solid #C8C9C7;padding:10px;} +#authmenu table td {border-width:0px;} + +#categoryquestions {margin-left:auto;margin-right:auto;width:100%;} + +#categoryquestions th, +.user th, +.user th.header, +.group th.header, +.admin table tr th, +.admin table tr th.header {background-color:#697F55;color:#FFF;border:2px solid #697F55;border-bottom-color:#111;} + +.user th a:link, +#categoryquestions th a:link, +.group th a:link, +.admin table tr th a:link {color:#FFF;text-decoration:none;} + +.user th a:visited, +#categoryquestions th a:visited, +.group th a:visited, +.admin table tr th a:visited {color:#FFF;text-decoration:underline;} + +.user tr td.cell, +#categoryquestions tr td.cell, +.group tr td.cell, +.admin table tr td.cell {border:1px solid #C8C9C7;border-width:0px 1px;} + +.user .r1 .cell, +#categoryquestions .r1 .cell, +.group .r1 .cell, +.admin table .r1 .cell {background-color:#EEE;} + +.admin .plugincompattable .r1 .cell {background-color:#FFF;} + +.singlebutton, +.buttons {text-align:center;margin:20px;} +.buttons form {display:inline;} +.buttons div {display:inline;} +.buttons .singlebutton {display:inline;padding:5px;margin:0px;} +.admin .generalbox {background-color:#EEE;border-color:#C8C9C7;} + +#admin-mnet-index table td, +#files-index .column-content table td {border-width:0px;} + +/** Mforms **/ +.mform fieldset {border-color:#C8C9C7;} + +/** Tags **/ +.tag-management-form {text-align:center;} +#tag-management-list {margin-top:1em;} + +/** User **/ +.userinfobox td {border-width:0px;vertical-align:top;} +.userinfobox .side {width:120px;text-align:center;} +.userinfobox .list .label {font-weight:bold;text-align:right;} + +/** Forum **/ +.forumheaderlist, +.forumpost {margin-top:15px;border:1px solid #DDD;border-collapse:separate;} +.forumpost td {border-width:0px;} +.forumpost .topic {background-color:#C8C9C7;} +.forumpost .topic .subject {font-weight:bold;} +.forumpost .topic .author {font-size:0.8em;} +.forumpost .left {background-color:#EEE;padding:4px;text-align:center;vertical-align:top;width:35px;} +.forumpost .content .commands {font-size:0.9em;clear:both;padding-top:0.5em;text-align:right;} +.forumpost .content .link {font-size:0.9em;} +.forumpost .content .footer {font-size:0.9em;padding-top:0.5em;text-align:right;} + +/** Calendar **/ +.block.block_calendar_month td, +.block.block_calendar_month th {border-width:0px;font-size:10px;padding:1px;width:14%;line-height:18px;} +#calendar abbr, +.block.block_calendar_month abbr {border-bottom-width:0px;} +#calendar .weekend, +.block.block_calendar_month .weekend {color:#A00;} +#calendar .maincalendar .calendarmonth td.today, +.block.block_calendar_month .today {border:1px solid #444;} +#calendar .eventnone a, +.block.block_calendar_month .eventnone a {color:#444;} + +#calendar {width:99%;margin:0px 1%;border-spacing:5px;border-collapse: separate;} +#calendar td, +#calendar th {border-width:0px;font-size:10px;padding:1px;width:14%;line-height:18px;vertical-align:top;} +#calendar .maincalendar {width:auto;border:1px solid #DDD;} +#calendar .maincalendar .heightcontainer {height:100%;position:relative;margin:1em;} +#calendar .maincalendar .header {padding:5px;font-weight:bold;} +#calendar .maincalendar .header .buttons {float:right;} +#calendar .maincalendar table {width:100%;} +#calendar .maincalendar .calendar-controls {width:100%;overflow:hidden;font-size:1.1em;} +#calendar .maincalendar .calendar-controls .previous {display:block;float:left;width:20%;} +#calendar .maincalendar .calendar-controls .current {display:block;float:left;width:60%;text-align:center;margin-top:0px;} +#calendar .maincalendar .calendar-controls .next {display:block;float:left;width:20%;text-align:right;} +#calendar .sidecalendar {width:200px;} +#calendar .sidecalendar h2, +#calendar .sidecalendar h3 {margin:5px;font-size:95%;} +#calendar .sidecalendar .block {border:1px solid #DDD;margin-bottom:10px;text-align:center;} +#calendar .sidecalendar .block table {margin:0px auto 5px auto;} +#calendar .sidecalendar .block .filters table {width:95%;margin:0px auto 1em auto;} +#calendar .sidecalendar .block .minicalendarblock {border-top:1px solid #DDD;} +#calendar .filters table {padding:2px;background-color: #EEE;border:1px solid #DDD;border-spacing:2px;border-collapse: separate;} +#calendar .filters table td {font-size:100%;width:auto;} +#calendar .filters .eventskey {border:1px solid #444;overflow:hidden;} +#calendar .calendar_event_global {background-color: #D6F8CD;} +#calendar .calendar_event_course {background-color: #FFD3BD;} +#calendar .calendar_event_group {background-color: #FEE7AE;} +#calendar .calendar_event_user {background-color: #DCE7EC;} +#calendar .maincalendar .calendarmonth {border-collapse: separate;} +#calendar .maincalendar .calendarmonth th {font-size:0.9em;border-bottom:2px solid #444;} +#calendar .maincalendar .calendarmonth td {border:1px solid #EEE;border-bottom-color:#CCC;border-right-color:#CCC;height:6em;} +#calendar .maincalendar .calendarmonth td div {margin:4px;font-size:0.9em;} +#calendar .maincalendar .calendarmonth td .day {font-weight:bold;} +#calendar .maincalendar .calendarmonth tr td:first-child {border-left-color:#CCC;} +#calendar .maincalendar .event {border-spacing: 0px;border:1px solid #DDD;background-color:#EEE;} +#calendar .maincalendar .event .picture {width:32px;text-align:center;} +#calendar .maincalendar .event .topic {width:auto;padding:5px;} +#calendar .maincalendar .event .side {width:32px;} +#calendar .maincalendar .event .description {width:auto;border-top:1px solid #DDD;border-left:1px solid #DDD;padding:5px;} +#calendar .maincalendar .bottom {text-align:center;} +#calendar .calendarmonth ul {margin:0px;padding:0px;} +#calendar .calendarmonth ul li {list-style: none;margin:0px;padding:2px;} + +/** User **/ +.user .rolesform, +.user .searchform, +.user #showall, +.user #participantsform {text-align:center;} +.user #participantsform table {margin-top:1em;} +.user #participantsform td {text-align:left;} +.user table.controls {margin:5px auto;border:1px solid #DDD;background-color:#EEE;border-collapse: collapse;} +.user table.controls td {border-width:0px;} \ No newline at end of file diff --git a/theme/formal_white/style/settings.css b/theme/formal_white/style/settings.css new file mode 100644 index 00000000000..2eab15748d0 --- /dev/null +++ b/theme/formal_white/style/settings.css @@ -0,0 +1,13 @@ +.block .content {background-color:[[setting:backgroundcolor]];} +#page-content #region-main-box {left:[[setting:regionwidth]];} +#page-content #region-main-box #region-post-box {margin-left:-[[setting:regionwidthdouble]];} +#page-content #region-main-box #region-post-box #region-pre {width:[[setting:regionwidth]];left:[[setting:regionwidth]];} +#page-content #region-main-box #region-post-box #region-post {width:[[setting:regionwidth]];} +#page-content #region-main-box #region-post-box #region-main-wrap #region-main {margin-left:[[setting:regionwidthdouble]];} +.side-pre-only #page-content #region-main-box #region-post-box {margin-left:-[[setting:regionwidth]];} +.side-pre-only #page-content #region-main-box #region-post-box #region-main-wrap #region-main {margin-left:[[setting:regionwidth]];} +/* #page {width:[[setting:regionwidth]]%;margin:15px (100-[[setting:regionwidth])/2% 0;} */ +/* #page {min-width: 934px;} */ + +/** Custom CSS **/ +[[setting:customcss]] \ No newline at end of file