MDL-55074 theme_boost: Navigation and blocks
[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->scssfile = theme_boost_get_scss_file($THEME);
31 $THEME->sheets = [];
32 $THEME->editor_sheets = [];
34 $THEME->layouts = [
35     // Most backwards compatible layout without the blocks - this is the layout used by default.
36     'base' => array(
37         'file' => 'columns1.php',
38         'regions' => array(),
39     ),
40     // Standard layout with blocks, this is recommended for most pages with general information.
41     'standard' => array(
42         'file' => 'columns2.php',
43         'regions' => array('side-pre'),
44         'defaultregion' => 'side-pre',
45     ),
46     // Main course page.
47     'course' => array(
48         'file' => 'columns2.php',
49         'regions' => array('side-pre'),
50         'defaultregion' => 'side-pre',
51         'options' => array('langmenu' => true),
52     ),
53     'coursecategory' => array(
54         'file' => 'columns2.php',
55         'regions' => array('side-pre'),
56         'defaultregion' => 'side-pre',
57     ),
58     // Part of course, typical for modules - default page layout if $cm specified in require_login().
59     'incourse' => array(
60         'file' => 'columns2.php',
61         'regions' => array('side-pre'),
62         'defaultregion' => 'side-pre',
63     ),
64     // The site home page.
65     'frontpage' => array(
66         'file' => 'columns2.php',
67         'regions' => array('side-pre'),
68         'defaultregion' => 'side-pre',
69         'options' => array('nonavbar' => true),
70     ),
71     // Server administration scripts.
72     'admin' => array(
73         'file' => 'columns2.php',
74         'regions' => array('side-pre'),
75         'defaultregion' => 'side-pre',
76     ),
77     // My dashboard page.
78     'mydashboard' => array(
79         'file' => 'columns2.php',
80         'regions' => array('side-pre'),
81         'defaultregion' => 'side-pre',
82         'options' => array('langmenu' => true),
83     ),
84     // My public page.
85     'mypublic' => array(
86         'file' => 'columns2.php',
87         'regions' => array('side-pre'),
88         'defaultregion' => 'side-pre',
89     ),
90     'login' => array(
91         'file' => 'login.php',
92         'regions' => array(),
93         'options' => array('langmenu' => true),
94     ),
96     // Pages that appear in pop-up windows - no navigation, no blocks, no header.
97     'popup' => array(
98         'file' => 'columns1.php',
99         'regions' => array(),
100         'options' => array('nofooter' => true, 'nonavbar' => true),
101     ),
102     // No blocks and minimal footer - used for legacy frame layouts only!
103     'frametop' => array(
104         'file' => 'columns1.php',
105         'regions' => array(),
106         'options' => array('nofooter' => true, 'nocoursefooter' => true),
107     ),
108     // Embeded pages, like iframe/object embeded in moodleform - it needs as much space as possible.
109     'embedded' => array(
110         'file' => 'embedded.php',
111         'regions' => array()
112     ),
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(
117         'file' => 'maintenance.php',
118         'regions' => array(),
119     ),
120     // Should display the content and basic headers only.
121     'print' => array(
122         'file' => 'columns1.php',
123         'regions' => array(),
124         'options' => array('nofooter' => true, 'nonavbar' => false),
125     ),
126     // The pagelayout used when a redirection is occuring.
127     'redirect' => array(
128         'file' => 'embedded.php',
129         'regions' => array(),
130     ),
131     // The pagelayout used for reports.
132     'report' => array(
133         'file' => 'columns2.php',
134         'regions' => array('side-pre'),
135         'defaultregion' => 'side-pre',
136     ),
137     // The pagelayout used for safebrowser and securewindow.
138     'secure' => array(
139         'file' => 'secure.php',
140         'regions' => array('side-pre'),
141         'defaultregion' => 'side-pre'
142     )
143 ];
145 $THEME->parents = [];
146 $THEME->enable_dock = false;
147 $THEME->csstreepostprocessor = 'theme_boost_css_tree_post_processor';
148 $THEME->extrascsscallback = 'theme_boost_get_extra_scss';
149 $THEME->prescsscallback = 'theme_boost_get_pre_scss';
150 $THEME->yuicssmodules = array();
151 $THEME->rendererfactory = 'theme_overridden_renderer_factory';