First commit of new theme - MDL-22874

This commit is contained in:
Patrick Malley
2010-07-28 15:26:43 +00:00
parent 78def43510
commit b61b4eda88
23 changed files with 805 additions and 0 deletions
+260
View File
@@ -0,0 +1,260 @@
<?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/>.
/**
* Configuration for Moodle's arialist theme.
*
* DO NOT MODIFY THIS THEME!
* COPY IT FIRST, THEN RENAME THE COPY AND MODIFY IT INSTEAD.
*
* For full information about creating Moodle themes, see:
* http://docs.moodle.org/en/Development:Themes_2.0
*
* @package moodlecore
* @copyright 2010 Patrick Malley (http://newschoollearning.com/)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$THEME->name = 'brick';
////////////////////////////////////////////////////
// Name of the theme. Most likely the name of
// the directory in which this file resides.
////////////////////////////////////////////////////
$THEME->parents = array(
'canvas',
'base',
);
/////////////////////////////////////////////////////
// Which existing theme(s) in the /theme/ directory
// do you want this theme to extend. A theme can
// extend any number of themes. Rather than
// creating an entirely new theme and copying all
// of the CSS, you can simply create a new theme,
// extend the theme you like and just add the
// changes you want to your theme.
////////////////////////////////////////////////////
$THEME->sheets = array(
'pagelayout',
'core',
'colors',
'css3',
);
////////////////////////////////////////////////////
// Name of the stylesheet(s) you've including in
// this theme's /styles/ directory.
////////////////////////////////////////////////////
$THEME->parents_exclude_sheets = array(
'base'=>array(
'pagelayout',
),
'canvas'=>array(
'pagelayout',
),
);
$THEME->enable_dock = true;
////////////////////////////////////////////////////
// Do you want to use the new navigation dock?
////////////////////////////////////////////////////
// $THEME->editor_sheets
////////////////////////////////////////////////////
// An array of stylesheets to include within the
// body of the editor.
////////////////////////////////////////////////////
$THEME->layouts = array(
'base' => array(
'file' => 'general.php',
'regions' => array('side-post'),
'defaultregion' => 'side-post',
),
'standard' => array(
'file' => 'general.php',
'regions' => array('side-post'),
'defaultregion' => 'side-post',
),
'course' => array(
'file' => 'general.php',
'regions' => array('side-post'),
'defaultregion' => 'side-post'
),
'coursecategory' => array(
'file' => 'general.php',
'regions' => array('side-post'),
'defaultregion' => 'side-post',
),
'incourse' => array(
'file' => 'general.php',
'regions' => array('side-post'),
'defaultregion' => 'side-post',
),
'frontpage' => array(
'file' => 'frontpage.php',
'regions' => array('side-post'),
'defaultregion' => 'side-post',
),
'admin' => array(
'file' => 'general.php',
'regions' => array('side-post'),
'defaultregion' => 'side-post',
),
'mydashboard' => array(
'file' => 'general.php',
'regions' => array('side-post'),
'defaultregion' => 'side-post',
'options' => array('langmenu'=>true),
),
'mypublic' => array(
'file' => 'general.php',
'regions' => array('side-post'),
'defaultregion' => 'side-post',
),
'login' => array(
'file' => 'general.php',
'regions' => array(),
'options' => array('langmenu'=>true),
),
'popup' => array(
'file' => 'general.php',
'regions' => array(),
'options' => array('nofooter'=>true, 'noblocks'=>true, 'nonavbar'=>true),
),
'frametop' => array(
'file' => 'general.php',
'regions' => array(),
'options' => array('nofooter'=>true),
),
'maintenance' => array(
'file' => 'general.php',
'regions' => array(),
'options' => array('nofooter'=>true, 'nonavbar'=>true),
),
'embedded' => array(
'theme' => 'canvas',
'file' => 'embedded.php',
'regions' => array(),
'options' => array('nofooter'=>true, 'nonavbar'=>true),
),
);
///////////////////////////////////////////////////////////////
// These are all of the possible layouts in Moodle. The
// simplest way to do this is to keep the theme and file
// variables the same for every layout. Including them
// all in this way allows some flexibility down the road
// if you want to add a different layout template to a
// specific page.
///////////////////////////////////////////////////////////////
//$THEME->csspostprocess = 'arialist_process_css';
////////////////////////////////////////////////////
// Allows the user to provide the name of a function
// that all CSS should be passed to before being
// delivered.
////////////////////////////////////////////////////
// $THEME->filter_mediaplugin_colors
////////////////////////////////////////////////////
// Used to control the colours used in the small
// media player for the filters
////////////////////////////////////////////////////
// $THEME->javascripts
////////////////////////////////////////////////////
// An array containing the names of JavaScript files
// located in /javascript/ to include in the theme.
// (gets included in the head)
////////////////////////////////////////////////////
// $THEME->javascripts_footer
////////////////////////////////////////////////////
// As above but will be included in the page footer.
////////////////////////////////////////////////////
//$THEME->larrow = '&lang;';
////////////////////////////////////////////////////
// Overrides the left arrow image used throughout
// Moodle
////////////////////////////////////////////////////
//$THEME->rarrow = '&rang;';
////////////////////////////////////////////////////
// Overrides the right arrow image used throughout Moodle
////////////////////////////////////////////////////
// $THEME->layouts
////////////////////////////////////////////////////
// An array setting the layouts for the theme
////////////////////////////////////////////////////
// $THEME->parents_exclude_javascripts
////////////////////////////////////////////////////
// An array of JavaScript files NOT to inherit from
// the themes parents
////////////////////////////////////////////////////
// $THEME->parents_exclude_sheets
////////////////////////////////////////////////////
// An array of stylesheets not to inherit from the
// themes parents
////////////////////////////////////////////////////
// $THEME->plugins_exclude_sheets
////////////////////////////////////////////////////
// An array of plugin sheets to ignore and not
// include.
////////////////////////////////////////////////////
// $THEME->renderfactory
////////////////////////////////////////////////////
// Sets a custom render factory to use with the
// theme, used when working with custom renderers.
////////////////////////////////////////////////////
// $THEME->resource_mp3player_colors
////////////////////////////////////////////////////
// Controls the colours for the MP3 player
////////////////////////////////////////////////////
$THEME->csspostprocess = 'brick_process_css';
//$THEME->rendererfactory = 'theme_overridden_renderer_factory';
+81
View File
@@ -0,0 +1,81 @@
<?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_brick', language 'en', branch 'MOODLE_20_STABLE'
*
* @package moodlecore
* @copyright 2010 Patrick Malley
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$string['pluginname'] = 'brick';
$string['region-side-post'] = 'Right';
$string['region-side-pre'] = 'Left';
$string['choosereadme'] = '<div class="clearfix">
<div class="theme_screenshot">
<h2 style="padding-top:0.5em;">Brick</h2>
<img src="brick/pix/screenshot.png" />
<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 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>Brick is a two-column, fluid-width theme for Moodle 2.0. You can change the theme color scheme via the theme settings page.</p>
<h2>Tweaks</h2>
<p>This theme is built upon both Base and Canvas, two parent themes included in the Moodle core. If you wish to modify aspects of this theme beyond the settings offered, we advise creating a new theme that uses this theme, Base, and Canvas all as parents. This will ensure updates to any of those themes in the core will find their way into your new theme.</p>
<h2>Credits</h2>
<p>This theme was coded and is maintained by John Stabinger of NewSchool Learning. He can be contacted by email at [email protected]. </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>.</p>
</div>
</div>';
$string['configtitle'] = 'Brick Settings';
$string['logo'] = 'logo';
$string['logodesc'] = 'Change the logo of this theme by entering the URL to a new one (i.e., http://www.somesite/animage.png). As a reference, the default logo is 265px wide by 60px high. A transparent PNG will work best.';
$string['linkcolor'] = 'link';
$string['linkcolordesc'] = 'Set the color of links in the theme, use html hex code.';
$string['linkhover'] = 'linkhover';
$string['linkhoverdesc'] = 'Set the color of links (on hover) in the theme, use html hex code.';
$string['maincolor'] = 'maincolor';
$string['maincolordesc'] = 'Set the color hex code of the header, dock bar and other areas. Looks best as a dark or saturated color.';
$string['maincolorlink'] = 'maincolorlink';
$string['maincolorlinkdesc'] = 'Link color for menu bar and block titles.';
$string['headingcolor'] = 'headingcolor';
$string['headingcolordesc'] = 'This is the heading color for large headings (site news, my courses) and other headings.';
+128
View File
@@ -0,0 +1,128 @@
<?php
$hasheading = ($PAGE->heading);
$hasnavbar = (empty($PAGE->layout_options['nonavbar']) && $PAGE->has_navbar());
$hasfooter = (empty($PAGE->layout_options['nofooter']));
$hassidepost = $PAGE->blocks->region_has_content('side-post', $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 ($showsidepost) {
$bodyclasses[] = 'side-post-only';
} else if (!$showsidepost) {
$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() ?>
<!-- START OF HEADER -->
<div id="headerwrap">
<div id="header">
<?php if (!empty($PAGE->theme->settings->logo)) { ?>
<div id="logo">
</div>
<?php } else { ?>
<div id="nologo">
<a href="<?php echo $CFG->wwwroot; ?>" title="Home"><?php echo $PAGE->heading ?></a>
</div>
<?php } ?>
<div id="loggedinas">
<?php if ($hasheading) {
echo $OUTPUT->lang_menu();
echo $OUTPUT->login_info();
echo $PAGE->headingmenu;
} ?>
</div>
<div id="headerbottom">
<div id="menu">
<?php if ($hascustommenu) { ?>
<div id="custommenu"><?php echo $custommenu; ?></div>
<?php } ?>
</div>
</div>
</div>
</div>
<!-- END OF HEADER -->
<div id="mypagewrapper">
<div id="page">
<div id="wrapper" class="clearfix">
<!-- START OF CONTENT -->
<div id="page-content-wrapper" class="wrapper clearfix">
<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 ($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>
</div>
<!-- END OF CONTENT -->
</div>
</div>
</div>
<!-- START OF FOOTER -->
<?php if ($hasfooter) { ?>
<div id="page-footer" class="wrapper">
<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>
<?php } ?>
<?php echo $OUTPUT->standard_end_of_body_html() ?>
</body>
</html>
+152
View File
@@ -0,0 +1,152 @@
<?php
$hasheading = ($PAGE->heading);
$hasnavbutton = ($PAGE->button);
$hasnavbar = (empty($PAGE->layout_options['nonavbar']) && $PAGE->has_navbar());
$hasfooter = (empty($PAGE->layout_options['nofooter']));
$hassidepost = $PAGE->blocks->region_has_content('side-post', $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 ($showsidepost) {
$bodyclasses[] = 'side-post-only';
} else if (!$showsidepost) {
$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() ?>
<!-- START OF HEADER -->
<div id="headerwrap">
<div id="header">
<?php if (!empty($PAGE->theme->settings->logo)) { ?>
<div id="logo">
</div>
<?php } else { ?>
<div id="nologo">
<?php echo $PAGE->heading ?>
</div>
<?php } ?>
<div id="loggedinas">
<?php if ($hasheading) {
echo $OUTPUT->lang_menu();
echo $OUTPUT->login_info();
echo $PAGE->headingmenu;
} ?>
</div>
<div id="headerbottom">
<div id="menu">
<?php if ($hascustommenu) { ?>
<div id="custommenu"><?php echo $custommenu; ?></div>
<?php } ?>
</div>
<?php if ($hasheading && !empty($PAGE->theme->settings->logo)) { ?>
<div id="headingtitle">
<h1><?php echo $PAGE->heading ?></h1>
</div>
<?php } ?>
</div>
</div>
</div>
<!-- END OF HEADER -->
<div id="mypagewrapper">
<div id="page">
<div id="wrapper" class="clearfix">
<!-- START OF CONTENT -->
<div id="page-content-wrapper" class="wrapper clearfix">
<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 if ($hasnavbar) { ?>
<div class="navbar">
<div class="wrapper">
<div class="breadcrumb"><?php echo $OUTPUT->navbar(); ?></div>
</div>
</div>
<?php } ?>
<?php echo core_renderer::MAIN_CONTENT_TOKEN ?>
</div>
</div>
</div>
<?php if ($hassidepost) { ?>
<div id="region-post" class="block-region">
<div class="region-content">
<?php if ($hasnavbutton) { ?>
<div class="navbutton"><?php echo $PAGE->button; ?></div>
<?php } ?>
<?php echo $OUTPUT->blocks_for_region('side-post') ?>
</div>
</div>
<?php } ?>
</div>
</div>
</div>
</div>
<!-- END OF CONTENT -->
</div>
</div>
</div>
<!-- START OF FOOTER -->
<?php if ($hasfooter) { ?>
<div id="page-footer" class="wrapper">
<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>
<?php } ?>
<?php echo $OUTPUT->standard_end_of_body_html() ?>
</body>
</html>
+123
View File
@@ -0,0 +1,123 @@
<?php
function brick_set_linkcolor($css, $linkcolor) {
$tag = '[[setting:linkcolor]]';
$replacement = $linkcolor;
if (is_null($replacement)) {
$replacement = '#06365b';
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
function brick_set_linkhover($css, $linkhover) {
$tag = '[[setting:linkhover]]';
$replacement = $linkhover;
if (is_null($replacement)) {
$replacement = '#5487ad';
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
function brick_set_maincolor($css, $maincolor) {
$tag = '[[setting:maincolor]]';
$replacement = $maincolor;
if (is_null($replacement)) {
$replacement = '#8e2800';
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
function brick_set_maincolorlink($css, $maincolorlink) {
$tag = '[[setting:maincolorlink]]';
$replacement = $maincolorlink;
if (is_null($replacement)) {
$replacement = '#fff0a5';
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
function brick_set_headingcolor($css, $headingcolor) {
$tag = '[[setting:headingcolor]]';
$replacement = $headingcolor;
if (is_null($replacement)) {
$replacement = '#5c3500';
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
function brick_set_logo($css, $logo) {
global $OUTPUT;
$tag = '[[setting:logo]]';
$replacement = $logo;
if (is_null($replacement)) {
$replacement = $OUTPUT->pix_url('logo', 'theme');
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
function brick_process_css($css, $theme) {
if (!empty($theme->settings->linkcolor)) {
$linkcolor = $theme->settings->linkcolor;
} else {
$linkcolor = null;
}
$css = brick_set_linkcolor($css, $linkcolor);
// Set the link hover color
if (!empty($theme->settings->linkhover)) {
$linkhover = $theme->settings->linkhover;
} else {
$linkhover = null;
}
$css = brick_set_linkhover($css, $linkhover);
// Set the main color
if (!empty($theme->settings->maincolor)) {
$maincolor = $theme->settings->maincolor;
} else {
$maincolor = null;
}
$css = brick_set_maincolor($css, $maincolor);
// Set the main accent color
if (!empty($theme->settings->maincolorlink)) {
$maincolorlink = $theme->settings->maincolorlink;
} else {
$maincolorlink = null;
}
$css = brick_set_maincolorlink($css, $maincolorlink);
// Set the main headings color
if (!empty($theme->settings->headingcolor)) {
$headingcolor = $theme->settings->headingcolor;
} else {
$headingcolor = null;
}
$css = brick_set_headingcolor($css, $headingcolor);
// Set the logo image
if (!empty($theme->settings->logo)) {
$logo = $theme->settings->logo;
} else {
$logo = null;
}
$css = brick_set_logo($css, $logo);
return $css;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

+61
View File
@@ -0,0 +1,61 @@
<?php
// Create our admin page
$temp = new admin_settingpage('theme_brick', get_string('configtitle','theme_brick'));
// Background image setting
// logo image setting
$name = 'theme_brick/logo';
$title = get_string('logo','theme_brick');
$description = get_string('logodesc', 'theme_brick');
$setting = new admin_setting_configtext($name, $title, $description, '', PARAM_URL);
$temp->add($setting);
// link color setting
$name = 'theme_brick/linkcolor';
$title = get_string('linkcolor','theme_brick');
$description = get_string('linkcolordesc', 'theme_brick');
$default = '#06365b';
$previewconfig = NULL;
$setting = new admin_setting_configcolourpicker($name, $title, $description, $default, $previewconfig);
$temp->add($setting);
// link hover color setting
$name = 'theme_brick/linkhover';
$title = get_string('linkhover','theme_brick');
$description = get_string('linkhoverdesc', 'theme_brick');
$default = '#5487ad';
$previewconfig = NULL;
$setting = new admin_setting_configcolourpicker($name, $title, $description, $default, $previewconfig);
$temp->add($setting);
// main color setting
$name = 'theme_brick/maincolor';
$title = get_string('maincolor','theme_brick');
$description = get_string('maincolordesc', 'theme_brick');
$default = '#8e2800';
$previewconfig = NULL;
$setting = new admin_setting_configcolourpicker($name, $title, $description, $default, $previewconfig);
$temp->add($setting);
// main color accent setting
$name = 'theme_brick/maincolorlink';
$title = get_string('maincolorlink','theme_brick');
$description = get_string('maincolorlinkdesc', 'theme_brick');
$default = '#fff0a5';
$previewconfig = NULL;
$setting = new admin_setting_configcolourpicker($name, $title, $description, $default, $previewconfig);
$temp->add($setting);
// heading color setting
$name = 'theme_brick/headingcolor';
$title = get_string('headingcolor','theme_brick');
$description = get_string('headingcolordesc', 'theme_brick');
$default = '#5c3500';
$previewconfig = NULL;
$setting = new admin_setting_configcolourpicker($name, $title, $description, $default, $previewconfig);
$temp->add($setting);
// Add our page to the structure of the admin tree
$ADMIN->add('themes', $temp);