diff --git a/README.txt b/README.txt
index fa441858..50e819f3 100644
--- a/README.txt
+++ b/README.txt
@@ -86,15 +86,69 @@ It is essential that you provide as much information as possible, the critical i
'version.php' file. Other version information such as specific Moodle version, theme name and version also helps. A screen shot
can be really useful in visualising the issue along with any files you consider to be relevant.
+New in 2.7.7
+============
+- FIX: Issue #173: Message menu shows wrong time difference in Russian.
+- FIX: Issue #175: Gradebook several bugs.
+- FIX: Issue #179: User picture error.
+- FIX: Issue #189: Gradebook - column text and sorting doesn't fit the column.
+- FIX: Issue #191: Blocks not showing on the right of the frontpage for non-admins.
+- FIX: Issue #196: Gradebook - vertical size in fixed column view.
+- FIX: Issue #200: Category Edit / Delete Missing in newest version of Essential.
+- FIX: Issue #208: Bug: Undefined function is_loggedin().
+- FIX: Issue #209: Showing white background.
+- FIX: Issue #211: Image size in message menu.
+- FIX: Issue #220: Standard Moodle Chat interface fails to load.
+- FIX: Issue #221: Missing string 'unreadnewnotification'.
+- FIX: Issue #225: Blank pages after some times.
+- FIX: Issue #228: Incorrect z-index in menu.
+- FIX: Issue #233: User image wrong in IE.
+- FIX: Issue #237: Homepage main content block layout issues.
+- FIX: Issue #238: Logged in user block styling.
+- FIX: Issue #241: Background image appears as text box background.
+- FIX: Issue #243: View Full toggle button not functional 2.6.9b.
+- FIX: Issue #246: Menu bar down arrow caret causes shift of menu.
+- NEW: Issue #74 : Fonts are CDN only.
+- NEW: Issue #139: Enter own CDN font names.
+- NEW: Issue #149: Add setting to not show the site shortname.
+- NEW: Issue #170: Option in settings to choose how the site title in header appears.
+- NEW: Issue #176: Option to Hide Calendar, Private Files, Forum Posts and Discussions from Dropdown.
+- NEW: Issue #178: Error when editing user preferences.
+- NEW: Issue #180: Same height marketing spots.
+- NEW: Issue #181: Marketing spot header same as navbar.
+- NEW: Issue #185: Custom background image dimensions.
+- NEW: Issue #186: Add edit links to custom frontpage content items.
+- NEW: Issue #197: Gradebook overall average font colour.
+- NEW: Issue #204: Windows Mobile Apps.
+- NEW: Issue #212: Upgrade FontAwesome 4.2.0.
+- NEW: Issue #223: How to make a sub menu from custom menu.
+- NEW: Issue #226: Move slideshow slides loading to function in lib.php.
+- NEW: Issue #235: Color of course navigation block.
+- NEW: Issue #240: Header title not wrapping in mobile view.
+
+New in 2.7.6b
+=============
+- FIX: Issue #205: Has the eye icon used to Enable/Disable an element been reversed in functionality?
+- FIX: Issue #207: Fixed solution for #175 #196 - thanks @ppv1979.
+- FIX: main site regions clean-up to prevent issues with blocks.
+- FIX: huge code rewrite for menu items.
+- FIX: optimized more icons to be loaded from font.
+- NEW: New loading gif, reducing size by 500%.
+- NEW: Issue #198: Collapsed Topics and other course formats (like core weeks) need print single page the same.
+ Course formats catered for: Topics, Weeks, Collapsed Topics, Columns, Grid and Noticeboard. If you require others,
+ please let us know.
+ NOTE: If you are using the Collapsed Topics course format then you MUST have version 2.6.1.3 or above installed.
+ If you are using the Columns course format then you MUST have version 2.6.1.1 or above installed.
+
New in 2.7.6a
-========================
+=============
- FIX: Issue #159: Custom Category Icons not displaying in 2.7.5h (Build: 2014081404).
- FIX: Various code optimizations
- NEW: Issue #172: Google font character sets. Implemented in #174 - thanks @vgango
- NEW: Issue #194: Centred slide show caption.
New in 2.7.6
-========================
+============
- FIX: Issue #159: Custom Category Icons not displaying in 2.7.5h (Build: 2014081404).
- FIX: Issue #155: Social Icons Missing 2.7.5h
- FIX: Issue #156, #70, #56: Caption background colour frontpage slider & active slide colours
@@ -111,7 +165,7 @@ New in 2.7.6
- HELP WANTED: All language strings are now in AMOS (Moodle Language packs) please update your own language!
New in 2.7.5
-========================
+============
- FIX: Issue #96: 2.7.4 breaks 'oldnavbar' setting.
- FIX: Issue #98: Lang en/iosicondesc - Change 'them' to 'theme'. Thanks to Skylar Kelty.
- FIX: Issue #101: Navbar not expanding properly on android mobile and tablet.
@@ -153,7 +207,7 @@ New in 2.7.5
- NEW: Persistent link to your own grade report, available as long as you are enrolled in one visible course
New in 2.7.4
-========================
+============
- FIX: Issue #68. Expand all not showing on Edit course settings.
- FIX: Issue #58. Add font colour setting.
- FIX: Issue #63. Slider caption overlap.
@@ -180,7 +234,7 @@ New in 2.7.4
lots of redundant CSS. This presents problems when it comes to portable devices and bandwidth.
New in 2.7.3
-========================
+============
- FIX: Fixed slide show by replacing with Bootstrap 2.3.2 one. Issue #18.
- FIX: Make background image fixed and set a background transparent colour
- FIX: Permanently replace edit icons with FontAwesome icons
@@ -206,14 +260,14 @@ New in 2.7.3
- NEW: Transparent fixed background when setting a background image
New in 2.7.2
-========================
+============
- FIX: Slideshow CSS fixes
- FIX: Image alignment on slideshow
- NEW: Select slideshow background color
- NEW: Option to bring back the old navbar location
New in 2.7.1
-========================
+============
- FIX: Numerous CSS fixes
- FIX: Translation fixes
- FIX: Updated Google Analytics code
@@ -227,7 +281,7 @@ New in 2.7.1
- NEW: New slideshow design (WIP)
New in 2.6.3
-========================
+============
- FIX: Numerous CSS fixes
- FIX: Due to popular request reports are now 2 column again
- FIX: Significantly improved RTL support
@@ -239,7 +293,7 @@ New in 2.6.3
- NEW: Start Dutch translation
New in 2.6.2
-========================
+============
- FIX: Numerous CSS fixes
- FIX: Third level dropdown in custom menu now works
- FIX: iOS7 custom menu now works when changed to a sing dropdown in portrait view
@@ -248,7 +302,7 @@ New in 2.6.2
- NEW: Frontpage content now goes full width if all blocks removed.
New in 2.6.1
-========================
+============
- NEW: MAJOR UPDATES for 2.6 compatibility.
- NEW: Moved layouts to a more "Moodle standard" 1, 2 and 3 column layout.
- NEW: Can now add three columns of blocks to middle of the homepage under marketing spots.
@@ -263,7 +317,7 @@ New in 2.6.1
- FIX: Numerous CSS fixes and cleanup
New in 2.6
-========================
+==========
- Added ability to select from 21 preset Google Font combinations or disable their use completely.
- Now includes additional Bootstrap JS plugins to allow for more dynamic formatting as shown on http://getbootstrap.com/javascript/
- New Frontpage Slideshow settings to allow to display; all the time, only before login, only after login or never.
@@ -273,7 +327,7 @@ New in 2.6
- Further minor bug fixes and tidy up.
New in 2.5.4
-========================
+============
- Display current enrolled courses in dropdown menu and choose terminology (modules, courses, classes or units).
- New 'My Dashboard" in custommenu provides quick links to student tools. Can be disabled in theme settings.
- iOS home screen icons now built in. Can upload your own via settings.
@@ -286,7 +340,7 @@ New in 2.5.4
- New "Frontpage Content" box to add custom content in between the slideshow and marketing spots.
Fixes in 2.5.4
-=======================
+==============
- Fix to frontpage slideshow. First slide now loads properly.
- Updated include method to minimise conflicts with 3rd party plugins
- Code significantly optimised. (about 1/5 less lines!)
@@ -294,7 +348,7 @@ Fixes in 2.5.4
- IMPORTANT: Theme requires Moodle 2.5.1 or higher
New in 2.5.3
-========================
+============
- New Settings screen just for colour selection
- Admin can now toggle to use "autohide" functionality in courses.
- Admin now upload their own background image
@@ -311,7 +365,7 @@ New in 2.5.3
- EXPERIMENTAL: New course editing icons formatted and built with Font Awesome can now be used.
New in 2.5.2
-========================
+=============
- New theme setting to have user image show in the header when logged in.
- Admin can choose to revert courses to a "standard" layout with blocks on the left and right sides
- Admin can choose the default Navbar/breadcrumb separator
@@ -321,7 +375,7 @@ New in 2.5.2
- Minor CSS fixes
See the theme in Action
-========================
+=======================
A video showing many of the core features is available for viewing at http://vimeo.com/69683774
Documentation
@@ -329,10 +383,17 @@ Documentation
As always, documentation is a work in progress. Available documentation is available at http://docs.moodle.org/25/en/Essential_theme
If you have questions you can post them in the issue tracker at https://github.com/DBezemer/moodle-theme_essential/issues
+Original Author
+===============
+Julian Ridden
+Moodle profile: https://moodle.org/user/profile.php?id=39680
+Web profile: http://au.linkedin.com/in/eduridden/
+
Maintained by
-========================
+=============
David Bezemer
Moodle profile: https://moodle.org/user/profile.php?id=1416592
+Web profile: http://www.davidbezemer.nl
G J Barnard MSc. BSc(Hons)(Sndw). MBCS. CEng. CITP. PGCE.
Moodle profile: http://moodle.org/user/profile.php?id=442195
diff --git a/config.php b/config.php
index 90b9a9ad..18919c70 100644
--- a/config.php
+++ b/config.php
@@ -42,66 +42,71 @@
$THEME->sheets[] = 'essential';
}
-if ((get_config('theme_essential', 'enablealternativethemecolors1')) ||
- (get_config('theme_essential', 'enablealternativethemecolors2')) ||
- (get_config('theme_essential', 'enablealternativethemecolors3')))
-{
+if ((get_config('theme_essential', 'enablealternativethemecolors1')) ||
+ (get_config('theme_essential', 'enablealternativethemecolors2')) ||
+ (get_config('theme_essential', 'enablealternativethemecolors3'))
+) {
$THEME->sheets[] = 'alternative';
}
$THEME->sheets[] = 'custom';
$THEME->supportscssoptimisation = false;
-$THEME->enable_dock = true;
+
+if (intval($CFG->version) >= 2013111800) {
+ $THEME->enable_dock = true;
+ $THEME->javascripts_footer[] = 'dock';
+}
$THEME->editor_sheets = array('editor');
-if (get_config('theme_essential','frontpagemiddleblocks') == 1 ||
- (get_config('theme_essential','frontpagemiddleblocks') == 2 && is_loggedin())) {
+$addregions = array();
+if (get_config('theme_essential', 'frontpagemiddleblocks') > 0) {
$addregions = array('home-left', 'home-middle', 'home-right');
-} else {
- $addregions = array();
-}
-if (is_siteadmin()){
- $addregions[] = 'hidden-dock';
}
+
+
$THEME->layouts = array(
// Most backwards compatible layout without the blocks - this is the layout used by default.
'base' => array(
'file' => 'columns1.php',
- 'regions' => array(),
+ 'regions' => array('footer-left', 'footer-middle', 'footer-right'),
'defaultregion' => '',
- 'options' => array('noblocks'=>true),
),
// Front page.
'frontpage' => array(
'file' => 'frontpage.php',
- 'regions' => array_merge(array('side-pre', 'footer-left', 'footer-middle', 'footer-right'), $addregions),
+ 'regions' => array_merge(array('side-pre', 'footer-left', 'footer-middle', 'footer-right', 'hidden-dock'), $addregions),
'defaultregion' => 'side-pre',
),
// Standard layout with blocks, this is recommended for most pages with general information.
'standard' => array(
- 'file' => 'columns3.php',
- 'regions' => array('side-pre', 'side-post', 'footer-left', 'footer-middle', 'footer-right'),
- 'defaultregion' => 'side-post',
+ 'file' => 'columns2.php',
+ 'regions' => array('side-pre', 'footer-left', 'footer-middle', 'footer-right'),
+ 'defaultregion' => 'side-pre',
+ ),
+ // Standard layout with blocks, this is recommended for most pages with general information.
+ 'message-index' => array(
+ 'file' => 'columns2.php',
+ 'regions' => array('side-pre', 'footer-left', 'footer-middle', 'footer-right'),
+ 'defaultregion' => 'side-pre',
),
// Main course page.
'course' => array(
'file' => 'columns3.php',
'regions' => array('side-pre', 'side-post', 'footer-left', 'footer-middle', 'footer-right'),
'defaultregion' => 'side-post',
- 'options' => array('langmenu'=>true),
),
'coursecategory' => array(
- 'file' => 'columns3.php',
- 'regions' => array('side-pre', 'side-post', 'footer-left', 'footer-middle', 'footer-right'),
- 'defaultregion' => 'side-post',
+ 'file' => 'columns2.php',
+ 'regions' => array('side-pre', 'footer-left', 'footer-middle', 'footer-right'),
+ 'defaultregion' => 'side-pre',
),
// part of course, typical for modules - default page layout if $cm specified in require_login().
'incourse' => array(
- 'file' => 'columns3.php',
- 'regions' => array('side-pre','side-post', 'footer-left', 'footer-middle', 'footer-right'),
- 'defaultregion' => 'side-post',
+ 'file' => 'columns2.php',
+ 'regions' => array('side-pre', 'footer-left', 'footer-middle', 'footer-right'),
+ 'defaultregion' => 'side-pre',
),
// Server administration scripts.
'admin' => array(
@@ -138,7 +143,7 @@
'file' => 'columns1.php',
'regions' => array('footer-left', 'footer-middle', 'footer-right'),
'defaultregion' => 'footer-right',
- 'options' => array('nofooter'=>true, 'nocoursefooter'=>true),
+ 'options' => array('nofooter' => true, 'nocoursefooter' => true),
),
// Embeded pages, like iframe/object embeded in moodleform - it needs as much space as possible.
'embedded' => array(
@@ -158,18 +163,18 @@
'print' => array(
'file' => 'columns1.php',
'regions' => array('footer-left', 'footer-middle', 'footer-right'),
- 'defaultregion' => 'footer-right',
- 'options' => array('nofooter'=>true),
+ 'defaultregion' => '',
+ 'options' => array('nofooter' => true),
),
// The pagelayout used when a redirection is occuring.
'redirect' => array(
- 'file' => 'embedded.php',
+ 'file' => 'redirect.php',
'regions' => array(),
'defaultregion' => '',
),
// The pagelayout used for reports.
'report' => array(
- 'file' => 'columns2.php',
+ 'file' => 'report.php',
'regions' => array('side-pre', 'footer-left', 'footer-middle', 'footer-right'),
'defaultregion' => 'side-pre',
),
@@ -182,7 +187,6 @@
);
$THEME->javascripts_footer[] = 'coloursswitcher';
-$THEME->javascripts_footer[] = 'dock';
$THEME->rendererfactory = 'theme_overridden_renderer_factory';
$THEME->csspostprocess = 'theme_essential_process_css';
\ No newline at end of file
diff --git a/fonts/FontAwesome.otf b/fonts/FontAwesome.otf
index 3461e3fc..81c9ad94 100644
Binary files a/fonts/FontAwesome.otf and b/fonts/FontAwesome.otf differ
diff --git a/fonts/fontawesome-webfont.eot b/fonts/fontawesome-webfont.eot
index 6cfd5660..84677bc0 100755
Binary files a/fonts/fontawesome-webfont.eot and b/fonts/fontawesome-webfont.eot differ
diff --git a/fonts/fontawesome-webfont.svg b/fonts/fontawesome-webfont.svg
index a9f84695..d907b25a 100755
--- a/fonts/fontawesome-webfont.svg
+++ b/fonts/fontawesome-webfont.svg
@@ -32,473 +32,489 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/fonts/fontawesome-webfont.ttf b/fonts/fontawesome-webfont.ttf
index 5cd6cff6..96a3639c 100755
Binary files a/fonts/fontawesome-webfont.ttf and b/fonts/fontawesome-webfont.ttf differ
diff --git a/fonts/fontawesome-webfont.woff b/fonts/fontawesome-webfont.woff
index 9eaecb37..628b6a52 100755
Binary files a/fonts/fontawesome-webfont.woff and b/fonts/fontawesome-webfont.woff differ
diff --git a/javascript/coloursswitcher.js b/javascript/coloursswitcher.js
index bd149bb7..9ff3e3bf 100644
--- a/javascript/coloursswitcher.js
+++ b/javascript/coloursswitcher.js
@@ -1,66 +1,66 @@
-YUI.add('moodle-theme_essential-coloursswitcher', function(Y) {
+YUI.add('moodle-theme_essential-coloursswitcher', function (Y) {
// Available color schemes.
-var SCHEMES = ['default', 'alternative1', 'alternative2', 'alternative3'];
+ var SCHEMES = ['default', 'alternative1', 'alternative2', 'alternative3'];
-/**
- * Essential theme colours switcher class.
- * Initialise this class by calling M.theme_essential.init
- */
-var ColoursSwitcher = function() {
- ColoursSwitcher.superclass.constructor.apply(this, arguments);
-};
-ColoursSwitcher.prototype = {
/**
- * Constructor for this class
- * @param {object} config
+ * Essential theme colours switcher class.
+ * Initialise this class by calling M.theme_essential.init
*/
- initializer : function(config) {
- var i, s;
- // Attach events to the links to change colours scheme so we can do it with
- // JavaScript without refreshing the page.
- for (i in SCHEMES) {
- s = SCHEMES[i];
- // Check if this is the current colour.
- if (Y.one(document.body).hasClass('essential-colours-' + s)) {
- this.set('scheme', s);
+ var ColoursSwitcher = function () {
+ ColoursSwitcher.superclass.constructor.apply(this, arguments);
+ };
+ ColoursSwitcher.prototype = {
+ /**
+ * Constructor for this class
+ * @param {object} config
+ */
+ initializer: function (config) {
+ var i, s;
+ // Attach events to the links to change colours scheme so we can do it with
+ // JavaScript without refreshing the page.
+ for (i in SCHEMES) {
+ s = SCHEMES[i];
+ // Check if this is the current colour.
+ if (Y.one(document.body).hasClass('essential-colours-' + s)) {
+ this.set('scheme', s);
+ }
+ Y.all(config.div + ' .colours-' + s).each(function (node) {
+ node.ancestor().on('click', this.setScheme, this, s);
+ }, this);
}
- Y.all(config.div + ' .colours-' + s).each(function(node) {
- node.ancestor().on('click', this.setScheme, this, s);
- }, this);
+ },
+ /**
+ * Sets the colour being used for the essential theme
+ * @param {Y.Event} e The event that fired
+ * @param {string} colours The new colours scheme
+ */
+ setScheme: function (e, scheme) {
+ // Prevent the event from refreshing the page.
+ e.preventDefault();
+ // Switch over the CSS classes on the body.
+ var prefix = 'essential-colours-';
+ Y.one(document.body).replaceClass(prefix + this.get('scheme'), prefix + scheme);
+ // Update the current colour.
+ this.set('scheme', scheme);
+ // Store the users selection (Uses AJAX to save to the database).
+ M.util.set_user_preference('theme_essential_colours', scheme);
}
- },
- /**
- * Sets the colour being used for the essential theme
- * @param {Y.Event} e The event that fired
- * @param {string} colours The new colours scheme
- */
- setScheme : function(e, scheme) {
- // Prevent the event from refreshing the page.
- e.preventDefault();
- // Switch over the CSS classes on the body.
- var prefix = 'essential-colours-';
- Y.one(document.body).replaceClass(prefix + this.get('scheme'), prefix + scheme);
- // Update the current colour.
- this.set('scheme', scheme);
- // Store the users selection (Uses AJAX to save to the database).
- M.util.set_user_preference('theme_essential_colours', scheme);
- }
-};
+ };
// Make the colours switcher a fully fledged YUI module.
-Y.extend(ColoursSwitcher, Y.Base, ColoursSwitcher.prototype, {
- NAME : 'Essential theme colours scheme switcher',
- ATTRS : {
- scheme: {
- value : 'default'
+ Y.extend(ColoursSwitcher, Y.Base, ColoursSwitcher.prototype, {
+ NAME: 'Essential theme colours scheme switcher',
+ ATTRS: {
+ scheme: {
+ value: 'default'
+ }
}
- }
-});
+ });
// Our Essential theme namespace
-M.theme_essential = M.theme_essential || {};
+ M.theme_essential = M.theme_essential || {};
// Initialisation function for the colours scheme switcher
-M.theme_essential.initColoursSwitcher = function(cfg) {
- return new ColoursSwitcher(cfg);
-}
+ M.theme_essential.initColoursSwitcher = function (cfg) {
+ return new ColoursSwitcher(cfg);
+ }
-}, '@VERSION@', {requires:['base','node']});
+}, '@VERSION@', {requires: ['base', 'node']});
diff --git a/javascript/dock.js b/javascript/dock.js
index 3e29b497..93d1cd2f 100644
--- a/javascript/dock.js
+++ b/javascript/dock.js
@@ -11,13 +11,13 @@ function customise_dock_for_theme(dock) {
// Add the "block" class to docked blocks.
// This prevents having to restyle all docked blocks and simply use standard block styling.
// First we wait until the panel has been generated.
- dock.on('dock:panelgenerated', function() {
+ dock.on('dock:panelgenerated', function () {
// Then we wait until the panel it is being shown for the first time.
- dock.get('panel').once('dockpanel:beforeshow', function() {
+ dock.get('panel').once('dockpanel:beforeshow', function () {
// Finally we add the block class.
Y.all('.dockeditempanel_content').addClass('block');
});
- dock.get('panel').on('dockpanel:beforeshow', function() {
+ dock.get('panel').on('dockpanel:beforeshow', function () {
var content = Y.all('.dockeditempanel_content');
// Finally set a responsible max width.
content.setStyle('maxWidth', content.get('winWidth') - dock.get('dockNode').get('offsetWidth') - 10);
@@ -27,7 +27,7 @@ function customise_dock_for_theme(dock) {
// Handle the opening/closing of the bootstrap collapsible navbar on small screens.
// This is a complex little bit of JS because we need to simulate Bootstrap actions in order to measure height changes
// in the dom and apply them as spacing to the dock.
- dock.on('dock:initialised', function() {
+ dock.on('dock:initialised', function () {
var navbar = Y.one('header.navbar'),
navbarbtn = Y.one('header.navbar .btn-navbar'),
navcollapse = Y.one('header.navbar .nav-collapse'),
@@ -38,7 +38,7 @@ function customise_dock_for_theme(dock) {
if (navbar && navbarbtn && container) {
margintop = parseInt(container.getStyle('marginTop').replace(/px$/, ''), 10);
diff = margintop - parseInt(navbar.get('offsetHeight'), 10);
- navbarbtn.ancestor().on('click', function() {
+ navbarbtn.ancestor().on('click', function () {
// We need to fake the collapsible region being active, this JS *ALWAYS* executes before the bootstrap JS.
navcollapse.toggleClass('active');
if (!this.hasClass('active')) {
diff --git a/jquery/fitvids_1_1.js b/jquery/fitvids_1_1.js
new file mode 100644
index 00000000..4d2ed54f
--- /dev/null
+++ b/jquery/fitvids_1_1.js
@@ -0,0 +1,83 @@
+/*global jQuery */
+/*jshint browser:true */
+/*!
+ * FitVids 1.1
+ *
+ * Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
+ * Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
+ * Released under the WTFPL license - http://sam.zoy.org/wtfpl/
+ *
+ */
+
+(function( $ ){
+
+ "use strict";
+
+ $.fn.fitVids = function( options ) {
+ var settings = {
+ customSelector: null,
+ ignore: null
+ };
+
+ if(!document.getElementById('fit-vids-style')) {
+ // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js
+ var head = document.head || document.getElementsByTagName('head')[0];
+ var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';
+ var div = document.createElement('div');
+ div.innerHTML = '
x
';
+ head.appendChild(div.childNodes[1]);
+ }
+
+ if ( options ) {
+ $.extend( settings, options );
+ }
+
+ return this.each(function(){
+ var selectors = [
+ "iframe[src*='player.vimeo.com']",
+ "iframe[src*='youtube.com']",
+ "iframe[src*='youtube-nocookie.com']",
+ "iframe[src*='kickstarter.com'][src*='video.html']",
+ "object",
+ "embed"
+ ];
+
+ if (settings.customSelector) {
+ selectors.push(settings.customSelector);
+ }
+
+ var ignoreList = '.fitvidsignore';
+
+ if(settings.ignore) {
+ ignoreList = ignoreList + ', ' + settings.ignore;
+ }
+
+ var $allVideos = $(this).find(selectors.join(','));
+ $allVideos = $allVideos.not("object object"); // SwfObj conflict patch
+ $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.
+
+ $allVideos.each(function(){
+ var $this = $(this);
+ if($this.parents(ignoreList).length > 0) {
+ return; // Disable FitVids on this video.
+ }
+ if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
+ if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))
+ {
+ $this.attr('height', 9);
+ $this.attr('width', 16);
+ }
+ var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),
+ width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
+ aspectRatio = height / width;
+ if(!$this.attr('id')){
+ var videoID = 'fitvid' + Math.floor(Math.random()*999999);
+ $this.attr('id', videoID);
+ }
+ $this.wrap('').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%");
+ $this.removeAttr('height').removeAttr('width');
+ });
+ });
+ };
+// Works with either jQuery or Zepto
+})(window.jQuery);
\ No newline at end of file
diff --git a/jquery/plugins.php b/jquery/plugins.php
index 48db5e2a..f5085bbc 100644
--- a/jquery/plugins.php
+++ b/jquery/plugins.php
@@ -46,4 +46,5 @@
'bootstrap' => array('files' => array('bootstrap_2_3_2.js')),
'html5shiv' => array('files' => array('html5shiv_3_7_2.js')),
'breadcrumb' => array('files' => array('jBreadCrumb_1_1.js')),
+ 'fitvids' => array('files' => array('fitvids_1_1.js')),
);
\ No newline at end of file
diff --git a/lang/en/theme_essential.php b/lang/en/theme_essential.php
index f38db7a0..40df6cb1 100644
--- a/lang/en/theme_essential.php
+++ b/lang/en/theme_essential.php
@@ -61,18 +61,34 @@
$string['footnote'] = 'Footnote';
$string['footnotedesc'] = 'Whatever you add to this textarea will be displayed in the footer throughout your Moodle site.';
-$string['invert'] = 'Invert navbar';
-$string['invertdesc'] = 'Swaps text and background for the navbar at the top of the page between black and white.';
-
$string['logo'] = 'Logo';
-$string['logodesc'] = 'Please upload your custom logo here if you want to add it to the header. The image should be 65px high and any reasonable width that suits. If you upload a logo it will replace the standard icon and name that was displayed by default.';
+$string['logodesc'] = 'Please upload your custom logo here if you want to add it to the header.
+ The image should be 65px high and any reasonable width that suits.
+ If you upload a logo it will replace the standard icon and name that was displayed by default.';
+
+/* Font settings */
+$string['fontheading'] = 'Font settings';
+$string['fontheadingdesc'] = 'Select and enter the fonts that you want to use in your Moodle environment.';
+$string['fontselect'] = 'Font type selector';
+$string['fontselectdesc'] = 'Choose from the list of available font types. Please save to show the options for your choice.';
+$string['fonttypestandard'] = 'Standard fonts';
+$string['fonttypegoogle'] = 'Google web fonts';
+$string['fonttypecustom'] = 'Custom font';
+$string['fontnameheading'] = 'Heading font';
+$string['fontnameheadingdesc'] = 'Enter the exact name of the font to use for headings.';
+$string['fontnamebody'] = 'Text font';
+$string['fontnamebodydesc'] = 'Enter the exact name of the font to use for all other text.';
+
+/* Font files */
+$string['fontfiles'] = 'Font files';
+$string['fontfilesdesc'] = 'Upload your font files here, only TTF files are supported.';
+$string['fontfilettfheading'] = 'Heading TTF font file';
+$string['fontfilettfbody'] = 'Body TTF font file';
-$string['fontselect'] = 'Font selector';
-$string['fontselectdesc'] = 'Choose from the list of available font combinations. You can choose here to disable Google fonts if needed.';
$string['fontcharacterset'] = 'Google font additional character set';
-$string['fontcharactersetdesc'] = 'If a Google font is chosen, you can pick additional character sets for different languages. Using many character sets can slow down your webpage, so only select the character sets that you actually need on your webpage.';
-$string['fontcharactersetlatin'] = 'Latin';
+$string['fontcharactersetdesc'] = 'Pick additional character sets for different languages.
+ Using many character sets can slow down your Moodle, so only select the character sets that you actually need.';
$string['fontcharactersetlatinext'] = 'Latin Extended';
$string['fontcharactersetcyrillic'] = 'Cyrillic';
$string['fontcharactersetcyrillicext'] = 'Cyrillic Extended';
@@ -81,7 +97,8 @@
$string['fontcharactersetvietnamese'] = 'Vietnamese';
$string['bootstrapcdn'] = 'FontAwesome from CDN';
-$string['bootstrapcdndesc'] = 'If enabled this will load FontAwesome from the online Bootstrap CDN source. Enable this if you are having issues getting the Font Awesome icons to display in your site.';
+$string['bootstrapcdndesc'] = 'If enabled this will load FontAwesome from the online Bootstrap CDN source.
+ Enable this if you are having issues getting the Font Awesome icons to display in your site.';
$string['copyright'] = 'Copyright';
$string['copyrightdesc'] = 'The name of your organisation.';
@@ -172,7 +189,7 @@
$string['helplink'] = 'Help link';
$string['helplinkdesc'] = 'If you chose URL above fill in the complete URL to your help site (must include http:// or https://). If you chose Email address fill in your email address.';
-$string[ 'few'] = 'A few ';
+$string['few'] = 'A few ';
$string['loggedinas'] = ' logged in as ';
$string['loggedinfrom'] = 'Logged in from ';
@@ -234,7 +251,12 @@
$string['footerheadingcolordesc'] = 'Set the colour for block headings in the footer.';
$string['pagebackground'] = 'Page background image';
-$string['pagebackgrounddesc'] = 'Upload your own background image. This will be stretched in the background on all pages.';
+$string['pagebackgrounddesc'] = 'Upload your own background image. Select the style of the image below.';
+$string['pagebackgroundstyle'] = 'Page background style';
+$string['pagebackgroundstyledesc'] = 'Select the style for the uploaded image.';
+$string['backgroundstylefixed'] = 'Fixed';
+$string['backgroundstyletiled'] = 'Tiled';
+$string['backgroundstylestretch'] = 'Stretch';
/* Alternate Colour Switcher */
$string['themecolors'] = 'Theme colours';
@@ -422,7 +444,18 @@
/* Header Settings */
$string['headerheading'] = 'Header';
-$string['headerheadingsub'] = 'Configure the various features for the header here';
+$string['headertitle'] = 'Header title';
+$string['headertitledesc'] = 'Configure here what title to output in the header.';
+$string['navbartitle'] = 'Navigation bar title';
+$string['navbartitledesc'] = 'Configure here what title to output in the navigation bar.';
+$string['notitle'] = 'No Title';
+$string['fullname'] = 'Site full name';
+$string['shortname'] = 'Site short name';
+$string['fullnamesummary'] = 'Full name and summary';
+$string['shortnamesummary'] = 'Short name and summary';
+
+/* Footer Settings */
+$string['footerheading'] = 'Footer';
/* Mobile Apps */
$string['mobileappsheading'] = 'Apps';
@@ -430,10 +463,16 @@
$string['mobileappsdesc'] = 'Have you got a web app on the App Store or Google Play Store? Provide a link here so your users can grab the apps online.';
$string['android'] = 'Android (Google Play)';
-$string['androiddesc'] = 'Provide an URL to your mobile App on the Google Play Store. If you do not have one of your own maybe consider linking to the free official Moodle Mobile app. (https://play.google.com/store/apps/details?id=com.moodle.moodlemobile)';
+$string['androiddesc'] = 'Provide an URL to your mobile App on the Google Play Store. If you do not have one of your own maybe consider linking to the official Moodle Mobile app. (https://play.google.com/store/apps/details?id=com.moodle.moodlemobile)';
+
+$string['windows'] = 'Windows Desktop';
+$string['windowsdesc'] = 'Provide an URL to your mobile App on the Windows Store. If you do not have one of your own maybe consider linking to the official Moodle Mobile app. (http://apps.microsoft.com/windows/en-us/app/9df51338-015c-41b7-8a85-db2fdfb870bc)';
+
+$string['winphone'] = 'Windows Mobile';
+$string['winphonedesc'] = 'Provide an URL to your mobile App on the Google Play Store. If you do not have one of your own maybe consider linking to the official Moodle Mobile app. (http://www.windowsphone.com/en-us/store/app/moodlemobile/d0732b88-3c6d-4127-8f24-3fca2452a4dc)';
$string['ios'] = 'iPhone/iPad (App Store)';
-$string['iosdesc'] = 'Provide an URL to your mobile App on the App Store. If you do not have one of your own maybe consider linking to the free official Moodle Mobile app (https://itunes.apple.com/en/app/moodle-mobile/id633359593).';
+$string['iosdesc'] = 'Provide an URL to your mobile App on the App Store. If you do not have one of your own maybe consider linking to the official Moodle Mobile app (https://itunes.apple.com/en/app/moodle-mobile/id633359593).';
/* iOS Icons */
$string['iosicon'] = 'iOS home screen icons';
@@ -451,22 +490,26 @@
$string['ipadretinaicon'] = 'iPad Icon (Retina)';
$string['ipadretinaicondesc'] = 'Icon should be a PNG files sized 144px by 144px.';
-/* Google Analytics */
-$string['analyticsheading'] = 'Google Analytics';
-$string['analyticsheadingsub'] = 'Powerful analytics from Google';
-$string['analyticsdesc'] = 'Here you can enable Google Analytics for your moodle site. You will need to sign up for a free account at the Google Analytics site (http://analytics.google.com)';
-
-$string['useanalytics'] = 'Enable Google Analytics';
-$string['useanalyticsdesc'] = 'Enable or disable Google Analytics functionality.';
-
-$string['analyticsid'] = 'Your Tracking ID';
-$string['analyticsiddesc'] = 'Enter the provided Tracking ID. Typically formatted like UA-XXXXXXXX-X';
-
-$string['analyticsclean'] = 'Send Clean URLs';
-$string['analyticscleandesc'] = 'This fantastic feature was created by Gavin Henrick and Bas Brands and is implemented in this theme. Rather than standard Moodle URLs the theme will send out clean URLs making it easier to identify the page and provide advanced reporting. More information on using this feature and its uses can be found here.';
-
-$string['analyticsadmin'] = 'Track admin users';
-$string['analyticsadmindesc'] = 'Enable to track admin users.';
+/* Analytics */
+$string['analytics'] = 'Analytics';
+$string['analyticsheadingsub'] = 'Powerful analytics for Moodle';
+$string['analyticsdesc'] = 'Choose the type of Analytics you want to insert and save to enable the other options.';
+$string['analyticssiteid'] = 'Site ID';
+$string['analyticssiteiddesc'] = 'Enter your Site ID';
+$string['analyticstrackingid'] = 'Site ID';
+$string['analyticstrackingiddesc'] = 'Enter your Tracking ID';
+$string['analyticssiteurl'] = 'Analytics URL';
+$string['analyticssiteurldesc'] = 'Enter your Piwik Analytics URL without http(s) or a trailing slash';
+$string['analyticsenabled'] = 'Enabled';
+$string['analyticsenableddesc'] = 'Enable Analytics for Moodle';
+$string['analyticsimagetrack'] = 'Image Tracking';
+$string['analyticscleanurl'] = 'Clean URLs';
+$string['analyticscleanurldesc'] = 'Generate clean URL for in advanced tracking';
+$string['analyticsimagetrackdesc'] = 'Enable Image Tracking for browsers with JavaScript disabled.';
+$string['analyticstrackadmin'] = 'Tracking Admins';
+$string['analyticstrackadmindesc'] = 'Enable tracking of Admin users (not recommended)';
+$string['analyticspiwik'] = 'Piwik';
+$string['analyticsguniversal'] = 'Google Universal Analytics';
/* Alerts */
$string['alertsheading'] = 'User alerts';
@@ -492,3 +535,12 @@
$string['alert_info'] = 'Information';
$string['alert_warning'] = 'Warning';
$string['alert_general'] = 'Announcement';
+
+/* Message Menu */
+$string['unreadnewnotification'] = 'New notification';
+$string['nomessagesfound'] = 'No messages were found';
+
+$string['blogpreferences'] = 'Blog preferences';
+$string['badgepreferences'] = 'Badge preferences';
+$string['messagepreferences'] = 'Message preferences';
+
diff --git a/layout/columns1.php b/layout/columns1.php
index c81a0f10..054e00f7 100644
--- a/layout/columns1.php
+++ b/layout/columns1.php
@@ -24,12 +24,14 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
-require_once(dirname(__FILE__).'/includes/header.php'); ?>
+require_once(dirname(__FILE__) . '/includes/header.php'); ?>