2 // This file is part of Moodle - http://moodle.org/
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
20 * @package theme_classic
21 * @copyright 2018 Bas Brands
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
25 // This line protects the file from being accessed by a URL directly.
26 defined('MOODLE_INTERNAL') ||
die();
28 $THEME->name
= 'classic';
33 // Most backwards compatible layout without the blocks - this is the layout used by default.
35 'file' => 'columns.php',
38 // Standard layout with blocks, this is recommended for most pages with general information.
40 'file' => 'columns.php',
41 'regions' => array('side-pre', 'side-post'),
42 'defaultregion' => 'side-pre',
46 'file' => 'columns.php',
47 'regions' => array('side-pre', 'side-post'),
48 'defaultregion' => 'side-pre',
49 'options' => array('langmenu' => true),
51 'coursecategory' => array(
52 'file' => 'columns.php',
53 'regions' => array('side-pre'),
54 'defaultregion' => 'side-pre',
56 // Part of course, typical for modules - default page layout if $cm specified in require_login().
58 'file' => 'columns.php',
59 'regions' => array('side-pre'),
60 'defaultregion' => 'side-pre',
62 // The site home page.
64 'file' => 'columns.php',
65 'regions' => array('side-pre', 'side-post'),
66 'defaultregion' => 'side-pre',
67 'options' => array('nofullheader' => true),
69 // Server administration scripts.
71 'file' => 'columns.php',
72 'regions' => array('side-pre'),
73 'defaultregion' => 'side-pre',
76 'mydashboard' => array(
77 'file' => 'columns.php',
78 'regions' => array('side-pre', 'side-post'),
79 'defaultregion' => 'side-pre',
80 'options' => array('nonavbar' => true, 'langmenu' => true, 'nocontextheader' => true),
84 'file' => 'columns.php',
85 'regions' => array('side-pre'),
86 'defaultregion' => 'side-pre',
90 'file' => 'login.php',
92 'options' => array('langmenu' => true),
95 // Pages that appear in pop-up windows - no navigation, no blocks, no header.
97 'file' => 'contentonly.php',
99 'options' => array('nofooter' => true, 'nonavbar' => true),
101 // No blocks and minimal footer - used for legacy frame layouts only!
103 'file' => 'contentonly.php',
104 'regions' => array(),
105 'options' => array('nofooter' => true, 'nocoursefooter' => true),
107 // Embeded pages, like iframe/object embeded in moodleform - it needs as much space as possible.
110 'file' => 'embedded.php',
113 // Used during upgrade and install, and for the 'This site is undergoing maintenance' message.
114 // This must not have any blocks, links, or API calls that would lead to database or cache interaction.
115 // Please be extremely careful if you are modifying this layout.
116 'maintenance' => array(
118 'file' => 'maintenance.php',
119 'regions' => array(),
121 // Should display the content and basic headers only.
123 'file' => 'contentonly.php',
124 'regions' => array(),
125 'options' => array('nofooter' => true, 'nonavbar' => false),
127 // The pagelayout used when a redirection is occuring.
130 'file' => 'embedded.php',
131 'regions' => array(),
133 // The pagelayout used for reports.
135 'file' => 'columns.php',
136 'regions' => array('side-pre'),
137 'defaultregion' => 'side-pre',
139 // The pagelayout used for safebrowser and securewindow.
141 'file' => 'secure.php',
142 'regions' => array('side-pre'),
143 'defaultregion' => 'side-pre'
147 $THEME->editor_sheets
= [];
148 $THEME->parents
= ['boost'];
149 $THEME->enable_dock
= false;
150 $THEME->extrascsscallback
= 'theme_classic_get_extra_scss';
151 $THEME->prescsscallback
= 'theme_classic_get_pre_scss';
152 $THEME->precompiledcsscallback
= 'theme_classic_get_precompiled_css';
153 $THEME->yuicssmodules
= array();
154 $THEME->rendererfactory
= 'theme_overridden_renderer_factory';
155 $THEME->scss
= function($theme) {
156 return theme_classic_get_main_scss_content($theme);
158 $THEME->usefallback
= true;
159 $THEME->iconsystem
= '\\theme_classic\\output\\icon_system_fontawesome';