Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 310 and 311] [Versions 310 and 400] [Versions 310 and 401] [Versions 310 and 402] [Versions 310 and 403] [Versions 39 and 310]

   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/>.
  16  
  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   */
  24  
  25  defined('MOODLE_INTERNAL') || die();
  26  
  27  require_once (__DIR__ . '/lib.php');
  28  
  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  };
  37  
  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      ),
  99  
 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  ];
 148  
 149  $THEME->parents = [];
 150  $THEME->enable_dock = false;
 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;