Commits

ma...@holly.home  committed a5630d9

Initial commit. As running on db2U.

  • Participants

Comments (0)

Files changed (38)

File .hgignore

Empty file added.

File ibm/config.php

+<?php
+
+////////////////////////////////////////////////////////////////////////////////
+/// This file contains a few configuration variables that control
+/// how Moodle uses this theme.
+////////////////////////////////////////////////////////////////////////////////
+
+$THEME->name = 'ibm';
+
+$THEME->sheets = array('base', 'general', 'browser');
+/// 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->layouts = array(
+    // Most pages - if we encounter an unknown or a missing page type, this one is used.
+    'base' => array(
+        'file' => 'general.php',
+        'regions' => array()
+    ),
+    'standard' => array(
+        'file' => 'general.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-post'
+    ),
+    // Course page
+    'course' => array(
+        'file' => 'general.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-post'
+    ),
+    // Course page
+    'coursecategory' => array(
+        'file' => 'general.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-post'
+    ),
+    'incourse' => array(
+        'file' => 'general.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-post'
+    ),
+    'frontpage' => array(
+        'file' => 'general.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-post'
+    ),
+    'admin' => array(
+        'file' => 'general.php',
+        'regions' => array('side-pre'),
+        'defaultregion' => 'side-pre'
+    ),
+    'mydashboard' => array(
+        'file' => 'general.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-post'
+    ),
+    'mypublic' => array(
+        'file' => 'general.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-post'
+    ),
+    'login' => array(
+        'file' => 'general.php',
+        'regions' => array()
+    ),
+    // Pages that appear in pop-up windows - no navigation, no blocks, no header.
+    'popup' => array(
+        'file' => 'general.php',
+        'regions' => array(),
+        'options' => array('nofooter'=>true, 'nonavbar'=>true, 'noblocks'=>true),
+    ),
+    // No blocks and minimal footer - used for legacy frame layouts only!
+    'frametop' => array(
+        'file' => 'general.php',
+        'regions' => array(),
+        'options' => array('nofooter', 'noblocks'=>true),
+    ),
+    // Embeded pages, like iframe embeded in moodleform
+    'embedded' => array(
+        'file' => 'general.php',
+        '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' => 'general.php',
+        'regions' => array(),
+        'options' => array('nofooter'=>true, 'nonavbar'=>true, 'noblocks'=>true),
+    ),
+    // Should display the content and basic headers only.
+    'print' => array(
+        'file' => 'general.php',
+        'regions' => array(),
+        'options' => array('nofooter'=>true, 'nonavbar'=>false, 'noblocks'=>true),
+    ),
+    'report' => array(
+        'file' => 'report.php',
+        'regions' => array('side-pre'),
+        'defaultregion' => 'side-pre'
+    ),
+);
+
+$THEME->rendererfactory = 'theme_overridden_renderer_factory';
+$THEME->enable_dock = true;
+//$THEME->javascripts_footer = array('navigation');
+
+$THEME->editor_sheets = array('editor');

File ibm/javascript/navigation.js

+/**
+ * Customises the dock for the anomaly 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', anomaly.dock.enable_side_switching, anomaly.dock);
+    // When the dock is first drawn check to see if it should be moved
+    M.core_dock.on('dock:drawstarted', anomaly.dock.check_initial_position, anomaly.dock);
+    // Corrects the panel x position for the theme
+    M.core_dock.on('dock:itemadded', function(item) {
+        item.on('dockeditem:showstart', anomaly.dock.correct_panel_x_position, anomaly.dock, item);
+        item.on('dockeditem:resizecomplete', anomaly.dock.correct_panel_x_position, anomaly.dock, item);
+    });
+
+    // Override the default fix_title_orientation method with our anomaly method
+    // this will use SVG and rotate the text if possible.
+    M.core_dock.genericblock.prototype.fix_title_orientation = anomaly.dock.fix_title_orientation;
+    M.core_dock.genericblock.prototype.resize_block_space = anomaly.dock.resize_block_space;
+    return true;
+}
+
+var anomaly = (function(){
+    return {
+        namespaces : {
+            svg : 'http://www.w3.org/2000/svg'
+        },
+        dock : {
+            enable_side_switching : function() {
+                var movedock = M.core_dock.Y.Node.create('<img src="'+M.util.image_url('movedock', 'theme')+'" />');
+                var c = M.core_dock.node.one('.controls');
+                c.insertBefore(M.core_dock.Y.Node.create('<br />'), 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 anomaly.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<br />");
+                    }
+                    return node;
+                }
+
+                var test = M.core_dock.Y.Node.create('<div><span>'+node.firstChild.nodeValue+'</span></div>');
+                M.core_dock.Y.one(document.body).append(test);
+                var height = test.one('span').get('offsetWidth');
+                test.remove();
+
+                var txt = document.createElementNS(anomaly.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(anomaly.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;
+            }
+        }
+    }
+})();

File ibm/lang/en/theme_ibm.php

+<?php
+
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Strings for component 'theme_anomaly', language 'en', branch 'MOODLE_20_STABLE'
+ *
+ * @package   theme_anomaly
+ * @copyright 1999 onwards Martin Dougiamas  {@link http://moodle.com}
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+$string['pluginname'] = 'ibm';
+$string['region-side-post'] = 'Right';
+$string['region-side-pre'] = 'Left';
+$string['choosereadme'] = '<div class="clearfix"><div class="theme_screenshot"><h2>Anomaly</h2><img src="ibm/pix/screenshot.jpg" /><h3>Theme Discussion Forum:</h3><p><a href="http://moodle.org/mod/forum/view.php?id=46">http://moodle.org/mod/forum/view.php?id=46</a></p><h3>Theme Credits</h3><p><a href="http://docs.moodle.org/en/Theme_credits">http://docs.moodle.org/en/Theme_credits</a></p><h3>Theme Documentation:</h3><p><a href="http://docs.moodle.org/en/Themes">http://docs.moodle.org/en/Themes</a></p><h3>Report a bug:</h3><p><a href="http://tracker.moodle.org">http://tracker.moodle.org</a></p></div><div class="theme_description"><h2>About</h2><p>Anomaly is a fluid-width, three-column Moodle 2.0 theme with rounded corners. <h2>Tweaks</h2><p>This theme is built upon the Base theme inside the Moodle core. If you want to modify this theme, we recommend that you first duplicate it, then rename it before making your changes. This will prevent your customized theme from being overwritten by future Moodle upgrades, and you\'ll still have the original files if you make a mess. More information on modifying themes can be found in the <a href="http://docs.moodle.org/en/Theme">MoodleDocs</a>.</p><h2>Credits</h2><p>This theme was originally designed for Moodle 1.9 by Patrick Malley. It was then coded for 2.0 and is maintained by Sam Hemelryk at Moodle HQ. He can be contacted at sam@moodle.com.</p><h2>License</h2><p>This, and all other themes included in the Moodle core, are licensed under the <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>.</div></div>';

File ibm/layout/general.php

+<?php
+
+$hasheading = ($PAGE->heading);
+$hasnavbar = (empty($PAGE->layout_options['nonavbar']) && $PAGE->has_navbar());
+$hasfooter = (empty($PAGE->layout_options['nofooter']));
+$hassidepre = $PAGE->blocks->region_has_content('side-pre', $OUTPUT);
+$hassidepost = $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';
+}
+
+echo $OUTPUT->doctype() ?>
+<html <?php echo $OUTPUT->htmlattributes() ?>>
+<head>
+    <title><?php echo $PAGE->title ?></title>
+    <link rel="shortcut icon" href="<?php echo $OUTPUT->pix_url('favicon', 'theme')?>" />
+    <?php echo $OUTPUT->standard_head_html() ?>
+	        <script type="text/javascript">
+
+            var _gaq = _gaq || [];
+            _gaq.push(['_setAccount', 'UA-1433936-13']);
+            _gaq.push(['_trackPageview']);
+
+            (function() {
+                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+            })();
+
+        </script>
+        <script src="http://static.getclicky.com/js" type="text/javascript"></script>
+        <script type="text/javascript">clicky.init(66348696);</script>   
+</head>
+<body id="<?php echo $PAGE->bodyid ?>" class="<?php echo $PAGE->bodyclasses.' '.join(' ', $bodyclasses) ?>">
+<?php echo $OUTPUT->standard_top_of_body_html() ?>
+
+<div id="page">
+<?php if ($hasheading || $hasnavbar) { ?>
+    <div id="page-header">
+        <div class="rounded-corner top-left"></div>
+        <div class="rounded-corner top-right"></div>
+        <?php if ($hasheading) { ?>
+        <img src="<?php echo $OUTPUT->pix_url('logo2', 'theme')?>" id="logo">
+        <div class="headermenu"><?php
+            echo $OUTPUT->login_info();
+            if (!empty($PAGE->layout_options['langmenu'])) {
+                echo $OUTPUT->lang_menu();
+            }
+            echo $PAGE->headingmenu
+        ?></div><?php } ?>
+        
+        <?php if ($hascustommenu) { ?>
+ 					<div id="custommenu"><?php echo $custommenu; ?></div>
+				<?php } ?>
+        
+        <?php if ($hasnavbar) { ?>
+            <div class="navbar clearfix">
+                <div class="breadcrumb"><?php echo $OUTPUT->navbar(); ?></div>
+                <div class="navbutton"><?php echo $PAGE->button; ?></div>
+            </div>
+        <?php } ?>
+    </div>
+<?php } ?>
+<!-- END OF HEADER -->
+
+    <div id="page-content">
+        <div id="region-main-box">
+            <div id="region-post-box">
+
+                <div id="region-main-wrap">
+                    <div id="region-main">
+                        <div class="region-content">
+                            <?php echo core_renderer::MAIN_CONTENT_TOKEN ?>
+                        </div>
+                    </div>
+                </div>
+
+                <?php if ($hassidepre) { ?>
+                <div id="region-pre" class="block-region">
+                    <div class="region-content">
+                        <?php echo $OUTPUT->blocks_for_region('side-pre') ?>
+                    </div>
+                </div>
+                <?php } ?>
+
+                <?php if ($hassidepost) { ?>
+                <div id="region-post" class="block-region">
+                    <div class="region-content">
+                        <?php echo $OUTPUT->blocks_for_region('side-post') ?>
+                    </div>
+                </div>
+                <?php } ?>
+
+            </div>
+        </div>
+    </div>
+
+<!-- START OF FOOTER -->
+    <?php if ($hasfooter) { ?>
+    <div id="page-footer" class="clearfix">
+        <p class="helplink"><?php echo page_doc_link(get_string('moodledocslink')) ?></p>
+        <ul id="footlinks">
+        <li><a href="http://www.db2university.com/web/about/index.php">about</a></li>
+        <li>|</li>
+         <li><a href="http://www.db2university.com/web/legal/index.php">legal</a></li>
+         <li>|</li>
+          <li class="la1"><a href="http://www.db2university.com/web/contact/index.php">contact</a></li>
+		 <li>|</li>
+		<li><a href="https://bitbucket.org/mbgraham2000/db2u/issues?status=new&status=open" target="blank">bug reports</a></li>            
+        </ul>
+		
+        <?php
+        //echo $OUTPUT->login_info();
+        //echo $OUTPUT->home_link();
+        
+        echo $OUTPUT->standard_footer_html();
+        ?>
+        <div class="rounded-corner bottom-left"></div>
+        <div class="rounded-corner bottom-right"></div>
+    </div>
+    <?php } ?>
+</div>
+<?php echo $OUTPUT->standard_end_of_body_html() ?>
+</body>
+</html>

File ibm/layout/report.php

+<?php
+
+$hasheading = ($PAGE->heading);
+$hasnavbar = (empty($PAGE->layout_options['nonavbar']) && $PAGE->has_navbar());
+$hasfooter = (empty($PAGE->layout_options['nofooter']));
+$hassidepre = $PAGE->blocks->region_has_content('side-pre', $OUTPUT);
+$showsidepre = $hassidepre && !$PAGE->blocks->region_completely_docked('side-pre', $OUTPUT);
+
+
+$bodyclasses = array();
+if (!$showsidepre) {
+    $bodyclasses[] = 'content-only';
+}
+
+echo $OUTPUT->doctype() ?>
+<html <?php echo $OUTPUT->htmlattributes() ?>>
+<head>
+    <title><?php echo $PAGE->title ?></title>
+    <link rel="shortcut icon" href="<?php echo $OUTPUT->pix_url('favicon', 'theme')?>" />
+    <?php echo $OUTPUT->standard_head_html() ?>
+</head>
+<body id="<?php echo $PAGE->bodyid ?>" class="<?php echo $PAGE->bodyclasses.' '.join(' ', $bodyclasses) ?>">
+<?php echo $OUTPUT->standard_top_of_body_html() ?>
+
+<div id="page">
+<?php if ($hasheading || $hasnavbar) { ?>
+    <div id="page-header">
+        <div class="rounded-corner top-left"></div>
+        <div class="rounded-corner top-right"></div>
+        <?php if ($hasheading) { ?>
+        <h1 class="headermain"><?php echo $PAGE->heading ?></h1>
+        <div class="headermenu"><?php
+            echo $OUTPUT->login_info();
+            if (!empty($PAGE->layout_options['langmenu'])) {
+                echo $OUTPUT->lang_menu();
+            }
+            echo $PAGE->headingmenu
+        ?></div><?php } ?>
+        <?php if ($hasnavbar) { ?>
+            <div class="navbar clearfix">
+                <div class="breadcrumb"><?php echo $OUTPUT->navbar(); ?></div>
+                <div class="navbutton"><?php echo $PAGE->button; ?></div>
+            </div>
+        <?php } ?>
+    </div>
+<?php } ?>
+<!-- END OF HEADER -->
+
+    <div id="page-content" class="clearfix">
+        <div id="report-main-content">
+            <div class="region-content">
+                <?php echo core_renderer::MAIN_CONTENT_TOKEN ?>
+            </div>
+        </div>
+        <?php if ($hassidepre) { ?>
+        <div id="report-region-wrap">
+            <div id="report-region-pre" class="block-region">
+                <div class="region-content">
+                    <?php echo $OUTPUT->blocks_for_region('side-pre') ?>
+                </div>
+            </div>
+        </div>
+        <?php } ?>
+    </div>
+
+<!-- START OF FOOTER -->
+    <?php if ($hasfooter) { ?>
+    <div id="page-footer" class="clearfix">
+        <p class="helplink"><?php echo page_doc_link(get_string('moodledocslink')) ?></p>
+        <?php
+        echo $OUTPUT->login_info();
+        echo $OUTPUT->home_link();
+        echo $OUTPUT->standard_footer_html();
+        ?>
+        <div class="rounded-corner bottom-left"></div>
+        <div class="rounded-corner bottom-right"></div>
+    </div>
+    <?php } ?>
+</div>
+<?php echo $OUTPUT->standard_end_of_body_html() ?>
+</body>
+</html>
+<?php
+
+/**
+ * Functions needed by the anomaly theme should be put here.
+ *
+ * Any functions that get created here should ALWAYS contain the theme name
+ * to reduce complications for other theme designers who may be copying this theme.
+ */

File ibm/pix/background.png

Added
New image

File ibm/pix/coners_header.gif

Added
New image

File ibm/pix/corners_block.gif

Added
New image

File ibm/pix/corners_header.gif

Added
New image

File ibm/pix/dock_removeall.png

Added
New image

File ibm/pix/favicon.ico

Added
New image

File ibm/pix/logo.jpg

Added
New image

File ibm/pix/logo2.jpg

Added
New image

File ibm/pix/logo2_old.jpg

Added
New image

File ibm/pix/movedock.png

Added
New image

File ibm/pix/navigation_gradient.png

Added
New image

File ibm/pix/navigation_gradient_vertical.png

Added
New image

File ibm/pix/page_footer.gif

Added
New image

File ibm/pix/screenshot.jpg

Added
New image

File ibm/pix/tab/left.gif

Added
New image

File ibm/pix/tab/left_active.gif

Added
New image

File ibm/pix/tab/left_active_hover.gif

Added
New image

File ibm/pix/tab/left_hover.gif

Added
New image

File ibm/pix/tab/right.gif

Added
New image

File ibm/pix/tab/right_active.gif

Added
New image

File ibm/pix/tab/right_active_hover.gif

Added
New image

File ibm/pix/tab/right_end.gif

Added
New image

File ibm/pix/tab/right_hover.gif

Added
New image

File ibm/pix/tab/right_last.gif

Added
New image

File ibm/pix/tab/rtlbg.gif

Added
New image

File ibm/pix/tab/tabrow1.gif

Added
New image

File ibm/renderers.php

+<?php
+
+class theme_ibm_core_renderer extends core_renderer {
+
+    /**
+     * Prints a nice side block with an optional header.
+     *
+     * The content is described
+     * by a {@link block_contents} object.
+     *
+     * @param block_contents $bc HTML for the content
+     * @param string $region the region the block is appearing in.
+     * @return string the HTML to be output.
+     */
+    function block($bc, $region) {
+
+        $bc = clone($bc); // Avoid messing up the object passed in.
+        if (empty($bc->blockinstanceid) || !strip_tags($bc->title)) {
+            $bc->collapsible = block_contents::NOT_HIDEABLE;
+        }
+        if ($bc->collapsible == block_contents::HIDDEN) {
+            $bc->add_class('hidden');
+        }
+        if (!empty($bc->controls)) {
+            $bc->add_class('block_with_controls');
+        }
+
+        $skiptitle = strip_tags($bc->title);
+        if (empty($skiptitle)) {
+            $output = '';
+            $skipdest = '';
+        } else {
+            $output = html_writer::tag('a', get_string('skipa', 'access', $skiptitle), array('href' => '#sb-' . $bc->skipid, 'class' => 'skip-block'));
+            $skipdest = html_writer::tag('span', '', array('id' => 'sb-' . $bc->skipid, 'class' => 'skip-block-to'));
+        }
+
+        $output .= html_writer::start_tag('div', $bc->attributes);
+        
+        /** Rounded corners **/
+        $output .= html_writer::start_tag('div', array('class'=>'corner-box'));
+        $output .= html_writer::start_tag('div', array('class'=>'rounded-corner top-left')).html_writer::end_tag('div');
+        $output .= html_writer::start_tag('div', array('class'=>'rounded-corner top-right')).html_writer::end_tag('div');
+
+        $controlshtml = $this->block_controls($bc->controls);
+
+        $title = '';
+        if ($bc->title) {
+            $title = html_writer::tag('h2', $bc->title);
+        }
+
+        if ($title || $controlshtml) {
+            $output .= html_writer::tag('div', html_writer::tag('div', html_writer::tag('div', '', array('class'=>'block_action')). $title . $controlshtml, array('class' => 'title')), array('class' => 'header'));
+        }
+
+        $output .= html_writer::start_tag('div', array('class' => 'content'));
+        if (!$title && !$controlshtml) {
+            $output .= html_writer::tag('div', '', array('class'=>'block_action notitle'));
+        }
+        $output .= $bc->content;
+
+        if ($bc->footer) {
+            $output .= html_writer::tag('div', $bc->footer, array('class' => 'footer'));
+        }
+
+        $output .= html_writer::end_tag('div');
+
+                /** Four rounded corner ends **/
+        $output .= html_writer::start_tag('div', array('class'=>'rounded-corner bottom-left')).html_writer::end_tag('div');
+        $output .= html_writer::start_tag('div', array('class'=>'rounded-corner bottom-right')).html_writer::end_tag('div');
+        $output .= html_writer::end_tag('div');
+
+        $output .= html_writer::end_tag('div');
+
+        if ($bc->annotation) {
+            $output .= html_writer::tag('div', $bc->annotation, array('class' => 'blockannotation'));
+        }
+        $output .= $skipdest;
+
+        $this->init_block_hider_js($bc);
+
+        return $output;
+    }
+
+}

File ibm/style/base.css

+body, body.has_dock {margin:25px 3%;}
+body, div, p, li, input, option, textarea {font-size: 10pt; line-height: 1.5em;}
+body, div, p, li, input, option, textarea, h1, h2, h3, h4, h5 {font-family: Arial, Helvetica, Verdana, 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;}
+
+#logo {
+	float: left;
+	margin-left: 25px;
+	margin-top: 20px;
+	margin-bottom: 20px;
+}
+
+#footlinks {
+	text-align: right;
+	list-style-type: none;
+}
+
+#footlinks li {
+	list-style-type: none;
+	display: inline;
+	padding-right: 20px;
+	padding-left: 20px;
+	color: #333;
+}
+
+#footlinks li a {
+	color: #333;
+	font-size: 12px;
+	font-weight: 400;
+}
+
+/*yuimenu */
+
+#custommenu {
+	border: none !important;
+	padding-bottom: 2px;
+	padding-left: 18px;
+	background: #51574d !important;
+	
+}
+
+#custommenu a:focus {outline:none;}
+
+.yui3-menu-content li, .yui3-menu-content li a, .yui3-menu-content, #custommenu, .yui3-menu.yui3-menu-horizontal, .yui3-menu.yui3-menu-horizontal ul {
+	background-color: none !important;
+	background-image: none !important;
+	background: none !important;
+}
+
+.yui3-menu-content .yui3-menu-content {
+	background: #fff !important;
+}
+
+div.yui3-menu-content {
+	border: none !important;
+}
+
+.yui3-menu-content li a {
+	font-size: 13px;
+	font-weight: 200 !important;
+	text-transform: uppercase;
+	line-height: 20px;
+	cursor: pointer;
+	border-right: none !important;
+	border-top: none !important;
+	border-bottom: none !important;
+	color: #fff !important;
+	padding-right: 30px !important;
+	padding-left: 19px !important;
+	font-family:"Lucida Sans Unicode","Lucida Grande",sans-serif; 
+}
+
+html>/**/body .yui3-menu-content li a {
+	padding-left: 10px !important;
+}
+
+.yui3-menu-content li a:hover {
+	text-decoration: none;
+	color: #ffcc66 !important;
+}
+
+div.custom_menu_submenu li a {
+	line-height: 30px;
+	text-shadow: none !important;
+	color: #000000 !important;
+}
+
+div.yui3-menu.custom_menu_submenu {
+	top: 100px !important;
+	border: none;
+	min-width: 100px;
+	z-index: 99998;
+}
+
+div.yui3-menu.custom_menu_submenu div.yui3-menu-content {
+	margin-top: 22px;
+	border: 1px solid #dadada !important;
+	border-top: none !important;
+}
+
+/** below style to move sub subs to the left to keep from going off the page **/
+
+div.yui3-menu.custom_menu_submenu div.yui3-menu-content div.yui3-menu.custom_menu_submenu div.yui3-menu-content {
+	background-image: none !important;
+	min-width: 200px;
+	position: relative;
+	margin-top: -50px;
+	border-top: 1px solid #dadada !important;
+}
+
+.yui3-skin-sam .yui3-menu-label-active,
+.yui3-skin-sam .yui3-menu-label-menuvisible,
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label-active,
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label-menuvisible {
+ color: #ffcc66;
+	background-color: #51574d;
+}
+
+.yui3-skin-sam .yui3-menuitem-active .yui3-menuitem-content,
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menuitem-active .yui3-menuitem-content {
+	color: #ffcc66;
+	background-color: #51574d;
+
+}
+/**
+ * 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;}
+
+/**
+ * Themes
+ */
+#page-admin-theme-index .generalbox {border: none;background: none;}
+.theme_screenshot {float: left; width: 300px;}
+.theme_screenshot img {width: 275px;}
+.theme_screenshot h2 {font-size: 2em; margin-top: 0;}
+.theme_screenshot h3 {font-size: 0.9em; margin: 1em 0 0;}
+.theme_screenshot p {font-size: 0.9em; margin: 0 0 1em;}
+.theme_description {margin-left: 300px;}
+.theme_description h2 {padding-top: 0.5em;}
+
+
+.pagelayout-frontpage #page-content, 
+.pagelayout-base #page-content, 
+.pagelayout-standard #page-content, 
+.pagelayout-course #page-content, 
+.pagelayout-incourse #page-content, 
+.pagelayout-coursecategory #page, 
+.pagelayout-admin #page-content, 
+.pagelayout-mydashboard #page-content, 
+.pagelayout-mypublic #page-content, 
+.pagelayout-report #page-content { 
+min-height: 600px; 
+} 

File ibm/style/browser.css

+/** 
+ * Rounded corner CSS + images
+ * This CSS uses background images and relative positioning to display rounded
+ * corners on all browsers.
+ */
+.rounded-corner {display:block;width:11px;height:11px;font-size:1pt;margin:0px;padding:0px;}
+
+#page-header .rounded-corner {background-image:url([[pix:theme|corners_header]]);clear:both;}
+#page-header .rounded-corner.top-left {background-position:0px 0px;float:left;}
+#page-header .rounded-corner.top-right {background-position:11px 0px;float:right;}
+
+/** Fix IE8 + Opera positioning issue **/
+.ie8 #page-header .rounded-corner.top-right,
+.opera #page-header .rounded-corner.top-right {position:relative;top:-11px;}
+
+#page-footer {position:relative;}
+#page-footer .rounded-corner {position:absolute;background-image:url([[pix:theme|page_footer]]);clear:both;}
+#page-footer .rounded-corner.bottom-left {background-position:0 11px;bottom:0;left:0;float:left;}
+#page-footer .rounded-corner.bottom-right {background-position:11px 11px;bottom:0;right:0;float:right;}
+
+.block {border-width:0px;background-color:white;}
+.block .corner-box {border:1px solid #cccccc;margin-bottom:10px;padding-bottom:10px;background-color:#d5e4d1;}
+.block .corner-box .rounded-corner {background-image:url([[pix:theme|corners_block]]);position:relative;}
+.block .corner-box .rounded-corner.top-left {background-position:0px 0px;float:left;top:-1px;left:-1px;}
+.block .corner-box .rounded-corner.top-right {background-position:11px 0px;float:right;top:-1px;right:-1px;}
+.block .corner-box .rounded-corner.bottom-left {background-position:0px 11px;float:left;bottom:0px;left:-1px;}
+.block .corner-box .rounded-corner.bottom-right {background-position:11px 11px;float:right;bottom:0px;right:-1px;}
+
+/** 
+ * Pure CSS rounded corners
+ * This CSS overrides the above to remove images and use pure CSS to display the
+ * rounded corners. Less requests, betterg page load time, better looking rounded
+ * corners.... if only IE could handle it.
+ *
+ * Browsers:
+ * Firefox:         body.gecko
+ * Chrome:          body.safari
+ * Safari:          body.safari
+ */
+.opera .rounded-corner.top-left,
+.opera .rounded-corner.top-right,
+.opera .rounded-corner.bottom-left,
+.opera .rounded-corner.bottom-right,
+.safari .rounded-corner.top-left,
+.safari .rounded-corner.top-right,
+.safari .rounded-corner.bottom-left,
+.safari .rounded-corner.bottom-right,
+.gecko .rounded-corner.top-left,
+.gecko .rounded-corner.top-right,
+.gecko .rounded-corner.bottom-left,
+.gecko .rounded-corner.bottom-right {background-image:none;display:none;}
+
+.opera .block .corner-box,
+.safari .block .corner-box,
+.gecko .block .corner-box {-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;}
+
+.opera .block .corner-box .header,
+.opera #page-header,
+.safari .block .corner-box .header,
+.safari #page-header,
+.gecko .block .corner-box .header,
+.gecko #page-header {-moz-border-radius: 10px 10px 0px 0px;-webkit-border-top-left-radius:10px;-webkit-border-top-right-radius:10px;border-top-left-radius:10px;border-top-right-radius:10px;}
+
+.opera #page-footer,
+.safari #page-footer,
+.gecko #page-footer {-moz-border-radius: 0px 0px 10px 10px;-webkit-border-bottom-left-radius:10px;-webkit-border-bottom-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;}
+
+.gecko .forumpost,
+.gecko .forumpost .side {-moz-border-radius-bottomleft:20px}
+.gecko .forumpost,
+.gecko .forumpost .content {-moz-border-radius-bottomright:20px;}
+
+/** Fix for IE 6 float background bug */
+.ie .column-content {position:relative;}

File ibm/style/editor.css

+body, div, p, li, input, option, textarea {font-size: 10pt; line-height: 1.5em;}
+body, div, p, li, input, option, textarea, h1, h2, h3, h4, h5 {font-family: Georgia,Times,"Times New Roman",serif;}

File ibm/style/general.css

+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 {
+	width: 980px;
+	margin-left: auto;
+	margin-right: auto;
+
+}
+
+html, body {background-color:#a2bfc7;}
+#page #page-content {background-color:#FFF;}
+#page-header {background-color: #51574d; color:#FFF;border-bottom:0px solid #697F55;margin-top: 0px;}
+.hasnavbar #page-header {border-bottom-width:0px;}
+#page-footer {background-color: #fff; color:#51574d; min-height: 40px;margin-bottom: 15px;}
+#page-header .headermain span {color:#C8C9C7;}
+
+.headermenu a {
+	color: #fff;
+}
+
+.headermenu a:hover { color:#FC6; }
+
+.headermenu {
+	padding-right: 10px;
+}
+
+#page-header .navbar {background-color:#fff;width:100%;}
+#page-header .navbar {color:#000;}
+#page-header .navbar a:link,
+#page-header .navbar a:visited {color:#51574d;}
+#page-header .navbar .breadcrumb,
+#page-header .navbar .navbutton {margin:5px 1em;}
+
+/** General **/
+.generalbox {border: 1px solid #DDDDDD;}
+.generaltable td {border-width:0;}
+.sitetopic {border-width:0;}
+.headingblock {margin-bottom:10px;border-bottom:1px solid #697F55;background-color:#E3E3E3;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:0;}
+.course-content .headingblock.outline {margin-top:0;}
+.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:0 30px 10px 30px;background-color:#FFF;}
+.course-content .section.main .content .section_add_menus {text-align:right;}
+
+#course-user .section {border:1px solid #DDD;margin:0 5% 1.5em 5%;}
+
+#course-user .section h2,
+#course-user .section .content {margin:5px 1em;}
+#course-user .section table td {border:0;}
+
+.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: #E3E3E3;margin-bottom:10px;overflow:hidden;}
+.block h1,
+.block h2,
+.block h3,
+.block h4 {margin:0px;}
+.block .header {margin:10px 6px 3px 6px;}
+.block .content {margin:10px 6px 3px 6px;}
+
+/** 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;}
+
+/** Overide for RTL layout **/
+.dir-rtl #page-header .navbar .breadcrumb {float:right;}
+.dir-rtl #page-header .navbar .navbutton {float:left;}