-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathsettings.php
62 lines (53 loc) · 2.42 KB
/
settings.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?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/>.
/**
* Settings for the Moodle Multiblock.
*
* @package block_multiblock
* @copyright 2021 Muhammad Ali <ma2716@bath.ac.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die;
if ($ADMIN->fulltree) {
global $DB, $PAGE, $CFG;
$blocks = $DB->get_records('block', array('visible' => 1), 'name ASC');
// Multiblock title (heading).
$settings->add(new admin_setting_configtext('block_multiblock/title', get_string('multiblock_title', 'block_multiblock'),
get_string('multiblock_title_desc', 'block_multiblock'), "",
PARAM_TEXT));
// Multiblock presentation style options array.
$multiblockpresentationoptions = array();
$presentations = block_multiblock::get_valid_presentations();
foreach ($presentations as $presentationid => $presentation) {
array_push($multiblockpresentationoptions, $presentationid);
}
// Multiblock presentation style.
$settings->add(new admin_setting_configselect('block_multiblock/presentation',
get_string('multiblock_presentation_style', 'block_multiblock'),
get_string('multiblock_presentation_style_desc', 'block_multiblock'), 7, $multiblockpresentationoptions));
// Multiblock - available sub-blocks.
$blocklist = [];
foreach ($blocks as $block) {
if ($block->name == 'multiblock') {
continue;
}
$blocklist[$block->name] = trim($block->name) ? trim($block->name) : '[block_' . $block->name . ']';
}
// Multiblock manage contents (add subblock).
$settings->add(new admin_setting_configmultiselect('block_multiblock/subblock',
get_string('multiblock_subblock', 'block_multiblock'),
get_string('multiblock_subblock_desc', 'block_multiblock'), [1], $blocklist));
}