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