-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsettings.php
More file actions
103 lines (91 loc) · 3.87 KB
/
settings.php
File metadata and controls
103 lines (91 loc) · 3.87 KB
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
// This file is part of Moodle - https://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 <https://www.gnu.org/licenses/>.
/**
* Tiny WidgetHub plugin version details.
*
* @package tiny_codepro
* @copyright 2023-2025 Josep Mulet <pep.mulet@gmail.com>
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
if ($hassiteconfig) {
$pluginname = 'tiny_codepro';
$ADMIN->add('editortiny', new admin_category('tiny_codepro', new lang_string('pluginname', $pluginname)));
if ($ADMIN->fulltree) {
$settings->add(new admin_setting_configcheckbox(
'tiny_codepro/autoprettify',
new lang_string('autoprettify', $pluginname),
new lang_string('autoprettify_def', $pluginname),
1
));
$choices0 = [
'none' => new lang_string('synccaretnone', $pluginname),
'forward' => new lang_string('synccaretforward', $pluginname),
'both' => new lang_string('synccaretboth', $pluginname),
];
$settings->add(new admin_setting_configselect(
'tiny_codepro/synccaret',
new lang_string('synccaret', $pluginname),
new lang_string('synccaret_def', $pluginname),
'forward',
$choices0
));
$userconf = new lang_string('opt_confuser', $pluginname);
$choices1 = [
'dialog' => new lang_string('opendialog', $pluginname),
'panel' => new lang_string('openpanel', $pluginname),
'user:dialog' => new lang_string('opt_defdialog', $pluginname) . ' + ' . $userconf,
'user:panel' => new lang_string('opt_defpanel', $pluginname) . ' + ' . $userconf,
];
$settings->add(new admin_setting_configselect(
'tiny_codepro/uimode',
new lang_string('uimode', $pluginname),
new lang_string('uimode_def', $pluginname),
'user:dialog',
$choices1
));
// Disabling on certain pages.
$settings->add(new admin_setting_configtext(
'tiny_codepro/disableonpagesregex',
new lang_string('disableonpagesregex', $pluginname),
new lang_string('disableonpagesregex_def', $pluginname),
'',
PARAM_TEXT
));
// Controlling TinyMCE content filtering options.
$settings->add(new admin_setting_configtext(
'tiny_codepro/extendedvalidelements',
new lang_string('extendedvalidelements', $pluginname),
new lang_string('extendedvalidelements_def', $pluginname),
'*[*],svg[*],math[*],script[*],style[*]',
PARAM_TEXT
));
$settings->add(new admin_setting_configtext(
'tiny_codepro/validchildren',
new lang_string('validchildren', $pluginname),
new lang_string('validchildren_def', $pluginname),
'+body[script],+button[div|p|span|strong|em],+p[tiny-svg-block],+span[tiny-svg-block]',
PARAM_TEXT
));
$settings->add(new admin_setting_configtext(
'tiny_codepro/customelements',
new lang_string('customelements', $pluginname),
new lang_string('customelements_def', $pluginname),
'script,~svg,~tiny-svg-block',
PARAM_TEXT
));
}
}