Merge branch 'MDL-62968-master' of git://github.com/mickhawkins/moodle
[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()
116     ),
117     // Used during upgrade and install, and for the 'This site is undergoing maintenance' message.
118     // This must not have any blocks, links, or API calls that would lead to database or cache interaction.
119     // Please be extremely careful if you are modifying this layout.
120     'maintenance' => array(
121         'file' => 'maintenance.php',
122         'regions' => array(),
123     ),
124     // Should display the content and basic headers only.
125     'print' => array(
126         'file' => 'columns1.php',
127         'regions' => array(),
128         'options' => array('nofooter' => true, 'nonavbar' => false),
129     ),
130     // The pagelayout used when a redirection is occuring.
131     'redirect' => array(
132         'file' => 'embedded.php',
133         'regions' => array(),
134     ),
135     // The pagelayout used for reports.
136     'report' => array(
137         'file' => 'columns2.php',
138         'regions' => array('side-pre'),
139         'defaultregion' => 'side-pre',
140     ),
141     // The pagelayout used for safebrowser and securewindow.
142     'secure' => array(
143         'file' => 'secure.php',
144         'regions' => array('side-pre'),
145         'defaultregion' => 'side-pre'
146     )
147 ];
149 $THEME->parents = [];
150 $THEME->enable_dock = false;
151 $THEME->csstreepostprocessor = 'theme_boost_css_tree_post_processor';
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;