<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.

/**
 * config.php
 *
 * This is built using the boost template to allow for new theme's using
 * Moodle's new Boost theme engine
 *
 * @package   theme_boost_magnific
 * @copyright 2024 Eduardo kraus (http://eduardokraus.com)
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 *
 */

defined('MOODLE_INTERNAL') || die;

$THEME->name = "boost_magnific";
$THEME->sheets = ["initial", "style"];
$THEME->editor_sheets = [];
$THEME->parents = ["boost"];
$THEME->enable_dock = false;
$THEME->yuicssmodules = [];
$THEME->rendererfactory = "theme_overridden_renderer_factory";
$THEME->requiredblocks = "";
$THEME->addblockposition = BLOCK_ADDBLOCK_POSITION_FLATNAV;
$THEME->csspostprocess = "theme_boost_magnific_process_css";
$THEME->iconsystem = \core\output\icon_system::FONTAWESOME;
$THEME->haseditswitch = true;
$THEME->usescourseindex = false;

// By default, all boost theme do not need their titles displayed.
$THEME->activityheaderconfig = [
    "notitle" => true,
];
$THEME->layouts = [
    // Most backwards compatible layout without the blocks.
    "base" => [
        "file" => "drawers.php",
        "regions" => [],
    ],
    // Standard layout with blocks.
    "standard" => [
        "file" => "drawers.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
    ],
    // Main course page.
    "course" => [
        "file" => "incourse.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
        "options" => [
            "langmenu" => true,
            "nonavbar" => false,
        ],
    ],
    // Part of course, typical for modules - default page layout if $cm specified in require_login().
    "incourse" => [
        "file" => "incourse.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
        "options" => [
            "langmenu" => true,
            "nonavbar" => false,
        ],
    ],
    "coursecategory" => [
        "file" => "drawers.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
    ],
    // The site home page.
    "frontpage" => [
        "file" => "frontpage.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
        "options" => [
            "nonavbar" => true,
        ],
    ],
    // Server administration scripts.
    "admin" => [
        "file" => "drawers.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
    ],
    // My courses page.
    "mycourses" => [
        "file" => "drawers.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
        "options" => [
            "nonavbar" => true,
        ],
    ],
    // My dashboard page.
    "mydashboard" => [
        "file" => "drawers.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
        "options" => [
            "nonavbar" => true,
            "langmenu" => true,
        ],
    ],
    // My public page.
    "mypublic" => [
        "file" => "drawers.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
    ],
    "login" => [
        "file" => "login.php",
        "regions" => [],
        "options" => [
            "langmenu" => true,
        ],
    ],

    // Pages that appear in pop-up windows - no navigation, no blocks, no header and bare activity header.
    "popup" => [
        "file" => "columns1.php",
        "regions" => [],
        "options" => [
            "nofooter" => true,
            "nonavbar" => true,
            "activityheader" => [
                "notitle" => true,
                "nocompletion" => true,
                "nodescription" => true,
            ],
        ],
    ],
    // No blocks and minimal footer - used for legacy frame layouts only!
    "frametop" => [
        "file" => "columns1.php",
        "regions" => [],
        "options" => [
            "nofooter" => true,
            "nocoursefooter" => true,
            "activityheader" => [
                "nocompletion" => true,
            ],
        ],
    ],
    // Embeded pages, like iframe/object embeded in moodleform - it needs as much space as possible.
    "embedded" => [
        "file" => "embedded.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
    ],
    // Used during upgrade and install, and for the "This site is undergoing maintenance" message.
    // This must not have any blocks, links, or API calls that would lead to database or cache interaction.
    // Please be extremely careful if you are modifying this layout.
    "maintenance" => [
        "file" => "maintenance.php",
        "regions" => [],
    ],
    // Should display the content and basic headers only.
    "print" => [
        "file" => "columns1.php",
        "regions" => [],
        "options" => [
            "nofooter" => true,
            "nonavbar" => false,
            "noactivityheader" => true,
        ],
    ],
    // The pagelayout used when a redirection is occuring.
    "redirect" => [
        "file" => "embedded.php",
        "regions" => [],
    ],
    // The pagelayout used for reports.
    "report" => [
        "file" => "drawers.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
    ],
    // The pagelayout used for safebrowser and securewindow.
    "secure" => [
        "file" => "secure.php",
        "regions" => ["side-pre"],
        "defaultregion" => "side-pre",
    ],
];
$THEME->blockrtlmanipulations = [
    "side-pre" => "side-post",
    "side-post" => "side-pre",
];
