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