weekly release 4.0dev
[moodle.git] / theme / boost / config.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
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.
8 //
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.
13 //
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/>.
17 /**
18  * Boost config.
19  *
20  * @package   theme_boost
21  * @copyright 2016 Frédéric Massart
22  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
25 defined('MOODLE_INTERNAL') || die();
27 require_once(__DIR__ . '/lib.php');
29 $THEME->name = 'boost';
30 $THEME->sheets = [];
31 $THEME->editor_sheets = [];
32 $THEME->editor_scss = ['editor'];
33 $THEME->usefallback = true;
34 $THEME->scss = function($theme) {
35     return theme_boost_get_main_scss_content($theme);
36 };
38 $THEME->layouts = [
39     // Most backwards compatible layout without the blocks - this is the layout used by default.
40     'base' => array(
41         'file' => 'columns2.php',
42         'regions' => array(),
43     ),
44     // Standard layout with blocks, this is recommended for most pages with general information.
45     'standard' => array(
46         'file' => 'columns2.php',
47         'regions' => array('side-pre'),
48         'defaultregion' => 'side-pre',
49     ),
50     // Main course page.
51     'course' => array(
52         'file' => 'columns2.php',
53         'regions' => array('side-pre'),
54         'defaultregion' => 'side-pre',
55         'options' => array('langmenu' => true),
56     ),
57     'coursecategory' => array(
58         'file' => 'columns2.php',
59         'regions' => array('side-pre'),
60         'defaultregion' => 'side-pre',
61     ),
62     // Part of course, typical for modules - default page layout if $cm specified in require_login().
63     'incourse' => array(
64         'file' => 'columns2.php',
65         'regions' => array('side-pre'),
66         'defaultregion' => 'side-pre',
67     ),
68     // The site home page.
69     'frontpage' => array(
70         'file' => 'columns2.php',
71         'regions' => array('side-pre'),
72         'defaultregion' => 'side-pre',
73         'options' => array('nonavbar' => true),
74     ),
75     // Server administration scripts.
76     'admin' => array(
77         'file' => 'columns2.php',
78         'regions' => array('side-pre'),
79         'defaultregion' => 'side-pre',
80     ),
81     // My dashboard page.
82     'mydashboard' => array(
83         'file' => 'columns2.php',
84         'regions' => array('side-pre'),
85         'defaultregion' => 'side-pre',
86         'options' => array('nonavbar' => true, 'langmenu' => true, 'nocontextheader' => true),
87     ),
88     // My public page.
89     'mypublic' => array(
90         'file' => 'columns2.php',
91         'regions' => array('side-pre'),
92         'defaultregion' => 'side-pre',
93     ),
94     'login' => array(
95         'file' => 'login.php',
96         'regions' => array(),
97         'options' => array('langmenu' => true),
98     ),
100     // Pages that appear in pop-up windows - no navigation, no blocks, no header.
101     'popup' => array(
102         'file' => 'columns1.php',
103         'regions' => array(),
104         'options' => array('nofooter' => true, 'nonavbar' => true),
105     ),
106     // No blocks and minimal footer - used for legacy frame layouts only!
107     'frametop' => array(
108         'file' => 'columns1.php',
109         'regions' => array(),
110         'options' => array('nofooter' => true, 'nocoursefooter' => true),
111     ),
112     // Embeded pages, like iframe/object embeded in moodleform - it needs as much space as possible.
113     'embedded' => array(
114         'file' => 'embedded.php',
115         'regions' => array('side-pre'),
116         'defaultregion' => 'side-pre',
117     ),
118     // Used during upgrade and install, and for the 'This site is undergoing maintenance' message.
119     // This must not have any blocks, links, or API calls that would lead to database or cache interaction.
120     // Please be extremely careful if you are modifying this layout.
121     'maintenance' => array(
122         'file' => 'maintenance.php',
123         'regions' => array(),
124     ),
125     // Should display the content and basic headers only.
126     'print' => array(
127         'file' => 'columns1.php',
128         'regions' => array(),
129         'options' => array('nofooter' => true, 'nonavbar' => false),
130     ),
131     // The pagelayout used when a redirection is occuring.
132     'redirect' => array(
133         'file' => 'embedded.php',
134         'regions' => array(),
135     ),
136     // The pagelayout used for reports.
137     'report' => array(
138         'file' => 'columns2.php',
139         'regions' => array('side-pre'),
140         'defaultregion' => 'side-pre',
141     ),
142     // The pagelayout used for safebrowser and securewindow.
143     'secure' => array(
144         'file' => 'secure.php',
145         'regions' => array('side-pre'),
146         'defaultregion' => 'side-pre'
147     )
148 ];
150 $THEME->parents = [];
151 $THEME->enable_dock = false;
152 $THEME->extrascsscallback = 'theme_boost_get_extra_scss';
153 $THEME->prescsscallback = 'theme_boost_get_pre_scss';
154 $THEME->precompiledcsscallback = 'theme_boost_get_precompiled_css';
155 $THEME->yuicssmodules = array();
156 $THEME->rendererfactory = 'theme_overridden_renderer_factory';
157 $THEME->requiredblocks = '';
158 $THEME->addblockposition = BLOCK_ADDBLOCK_POSITION_FLATNAV;
159 $THEME->iconsystem = \core\output\icon_system::FONTAWESOME;