MDL-55445 core: New setting to host the logos
[moodle.git] / admin / settings / appearance.php
CommitLineData
11b749ca 1<?php
1ea1bcb3 2
3// This file defines settingpages and externalpages under the "appearance" category
4
b884e46d
MG
5$capabilities = array(
6 'moodle/my:configsyspages',
7 'moodle/tag:manage'
8);
9
10if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) { // speedup for non-admins, add all caps used on this page
a559f630 11
e106013f 12 $ADMIN->add('appearance', new admin_category('themes', new lang_string('themes')));
220a90c5 13 // "themesettings" settingpage
e106013f
SH
14 $temp = new admin_settingpage('themesettings', new lang_string('themesettings', 'admin'));
15 $temp->add(new admin_setting_configtext('themelist', new lang_string('themelist', 'admin'), new lang_string('configthemelist','admin'), '', PARAM_NOTAGS));
16 $setting = new admin_setting_configcheckbox('themedesignermode', new lang_string('themedesignermode', 'admin'), new lang_string('configthemedesignermode', 'admin'), 0);
78946b9b
PS
17 $setting->set_updatedcallback('theme_reset_all_caches');
18 $temp->add($setting);
e106013f
SH
19 $temp->add(new admin_setting_configcheckbox('allowuserthemes', new lang_string('allowuserthemes', 'admin'), new lang_string('configallowuserthemes', 'admin'), 0));
20 $temp->add(new admin_setting_configcheckbox('allowcoursethemes', new lang_string('allowcoursethemes', 'admin'), new lang_string('configallowcoursethemes', 'admin'), 0));
21 $temp->add(new admin_setting_configcheckbox('allowcategorythemes', new lang_string('allowcategorythemes', 'admin'), new lang_string('configallowcategorythemes', 'admin'), 0));
22 $temp->add(new admin_setting_configcheckbox('allowthemechangeonurl', new lang_string('allowthemechangeonurl', 'admin'), new lang_string('configallowthemechangeonurl', 'admin'), 0));
23 $temp->add(new admin_setting_configcheckbox('allowuserblockhiding', new lang_string('allowuserblockhiding', 'admin'), new lang_string('configallowuserblockhiding', 'admin'), 1));
24 $temp->add(new admin_setting_configcheckbox('allowblockstodock', new lang_string('allowblockstodock', 'admin'), new lang_string('configallowblockstodock', 'admin'), 1));
25 $temp->add(new admin_setting_configtextarea('custommenuitems', new lang_string('custommenuitems', 'admin'), new lang_string('configcustommenuitems', 'admin'), '', PARAM_TEXT, '50', '10'));
b865a3e2
JC
26 $temp->add(new admin_setting_configtextarea(
27 'customusermenuitems',
28 new lang_string('customusermenuitems', 'admin'),
29 new lang_string('configcustomusermenuitems', 'admin'),
4887d152 30 'grades,grades|/grade/report/mygrades.php|grades
c9451960 31messages,message|/message/index.php|message
4887d152 32preferences,moodle|/user/preferences.php|preferences',
b865a3e2
JC
33 PARAM_TEXT,
34 '50',
35 '10'
36 ));
e106013f
SH
37 $temp->add(new admin_setting_configcheckbox('enabledevicedetection', new lang_string('enabledevicedetection', 'admin'), new lang_string('configenabledevicedetection', 'admin'), 1));
38 $temp->add(new admin_setting_devicedetectregex('devicedetectregex', new lang_string('devicedetectregex', 'admin'), new lang_string('devicedetectregex_desc', 'admin'), ''));
220a90c5 39 $ADMIN->add('themes', $temp);
e106013f 40 $ADMIN->add('themes', new admin_externalpage('themeselector', new lang_string('themeselector','admin'), $CFG->wwwroot . '/theme/index.php'));
220a90c5 41
78946b9b 42 // settings for each theme
bd3b3bba 43 foreach (core_component::get_plugin_list('theme') as $theme => $themedir) {
78946b9b
PS
44 $settings_path = "$themedir/settings.php";
45 if (file_exists($settings_path)) {
e106013f 46 $settings = new admin_settingpage('themesetting'.$theme, new lang_string('pluginname', 'theme_'.$theme));
78946b9b 47 include($settings_path);
dbf9e4ba
PS
48 if ($settings) {
49 $ADMIN->add('themes', $settings);
50 }
78946b9b
PS
51 }
52 }
53
2258b4dc
FM
54 // Logos section.
55 $temp = new admin_settingpage('logos', new lang_string('logossettings', 'admin'));
56
57 // Logo file setting.
58 $title = get_string('logo', 'admin');
59 $description = get_string('logo_desc', 'admin');
60 $setting = new admin_setting_configstoredfile('core_admin/logo', $title, $description, 'logo', 0,
61 ['maxfiles' => 1, 'accepted_types' => ['.jpg', '.png']]);
62 $setting->set_updatedcallback('theme_reset_all_caches');
63 $temp->add($setting);
64
65 // Small logo file setting.
66 $title = get_string('logocompact', 'admin');
67 $description = get_string('logocompact_desc', 'admin');
68 $setting = new admin_setting_configstoredfile('core_admin/logocompact', $title, $description, 'logocompact', 0,
69 ['maxfiles' => 1, 'accepted_types' => ['.jpg', '.png']]);
70 $setting->set_updatedcallback('theme_reset_all_caches');
71 $temp->add($setting);
72
73 $ADMIN->add('appearance', $temp);
03d9401e 74
8bf0f207 75 // Calendar settings.
e106013f 76 $temp = new admin_settingpage('calendar', new lang_string('calendarsettings','admin'));
8bf0f207
MN
77
78 $temp->add(new admin_setting_configselect('calendartype', new lang_string('calendartype', 'admin'),
79 new lang_string('calendartype_desc', 'admin'), 'gregorian', \core_calendar\type_factory::get_list_of_calendar_types()));
220a90c5 80 $temp->add(new admin_setting_special_adminseesall());
81 //this is hacky because we do not want to include the stuff from calendar/lib.php
e106013f
SH
82 $temp->add(new admin_setting_configselect('calendar_site_timeformat', new lang_string('pref_timeformat', 'calendar'),
83 new lang_string('explain_site_timeformat', 'calendar'), '0',
84 array('0' => new lang_string('default', 'calendar'),
85 '%I:%M %p' => new lang_string('timeformat_12', 'calendar'),
86 '%H:%M' => new lang_string('timeformat_24', 'calendar'))));
f6554146
DP
87 $temp->add(new admin_setting_configselect('calendar_startwday', new lang_string('configstartwday', 'admin'),
88 new lang_string('helpstartofweek', 'admin'), get_string('firstdayofweek', 'langconfig'),
220a90c5 89 array(
e106013f
SH
90 0 => new lang_string('sunday', 'calendar'),
91 1 => new lang_string('monday', 'calendar'),
92 2 => new lang_string('tuesday', 'calendar'),
93 3 => new lang_string('wednesday', 'calendar'),
94 4 => new lang_string('thursday', 'calendar'),
95 5 => new lang_string('friday', 'calendar'),
96 6 => new lang_string('saturday', 'calendar')
220a90c5 97 )));
98 $temp->add(new admin_setting_special_calendar_weekend());
5bc12ca2
SB
99 $options = array(365 => new lang_string('numyear', '', 1),
100 270 => new lang_string('nummonths', '', 9),
101 180 => new lang_string('nummonths', '', 6),
102 150 => new lang_string('nummonths', '', 5),
103 120 => new lang_string('nummonths', '', 4),
104 90 => new lang_string('nummonths', '', 3),
105 60 => new lang_string('nummonths', '', 2),
106 30 => new lang_string('nummonth', '', 1),
107 21 => new lang_string('numweeks', '', 3),
108 14 => new lang_string('numweeks', '', 2),
109 7 => new lang_string('numweek', '', 1),
110 6 => new lang_string('numdays', '', 6),
111 5 => new lang_string('numdays', '', 5),
112 4 => new lang_string('numdays', '', 4),
113 3 => new lang_string('numdays', '', 3),
114 2 => new lang_string('numdays', '', 2),
115 1 => new lang_string('numday', '', 1));
116 $temp->add(new admin_setting_configselect('calendar_lookahead', new lang_string('configlookahead', 'admin'), new lang_string('helpupcominglookahead', 'admin'), 21, $options));
68ec4a27
ARN
117 $options = array();
118 for ($i=1; $i<=20; $i++) {
119 $options[$i] = $i;
120 }
e106013f
SH
121 $temp->add(new admin_setting_configselect('calendar_maxevents',new lang_string('configmaxevents','admin'),new lang_string('helpupcomingmaxevents', 'admin'),10,$options));
122 $temp->add(new admin_setting_configcheckbox('enablecalendarexport', new lang_string('enablecalendarexport', 'admin'), new lang_string('configenablecalendarexport','admin'), 1));
af5d990b
AA
123
124 // Calendar custom export settings.
125 $days = array(365 => new lang_string('numdays', '', 365),
126 180 => new lang_string('numdays', '', 180),
127 150 => new lang_string('numdays', '', 150),
128 120 => new lang_string('numdays', '', 120),
129 90 => new lang_string('numdays', '', 90),
130 60 => new lang_string('numdays', '', 60),
131 30 => new lang_string('numdays', '', 30),
132 5 => new lang_string('numdays', '', 5));
133 $temp->add(new admin_setting_configcheckbox('calendar_customexport', new lang_string('configcalendarcustomexport', 'admin'), new lang_string('helpcalendarcustomexport','admin'), 1));
134 $temp->add(new admin_setting_configselect('calendar_exportlookahead', new lang_string('configexportlookahead','admin'), new lang_string('helpexportlookahead', 'admin'), 365, $days));
135 $temp->add(new admin_setting_configselect('calendar_exportlookback', new lang_string('configexportlookback','admin'), new lang_string('helpexportlookback', 'admin'), 5, $days));
e106013f 136 $temp->add(new admin_setting_configtext('calendar_exportsalt', new lang_string('calendarexportsalt','admin'), new lang_string('configcalendarexportsalt', 'admin'), random_string(60)));
e73b527c 137 $temp->add(new admin_setting_configcheckbox('calendar_showicalsource', new lang_string('configshowicalsource', 'admin'), new lang_string('helpshowicalsource','admin'), 1));
220a90c5 138 $ADMIN->add('appearance', $temp);
139
cae83708 140 // blog
ab996aff
PS
141 $temp = new admin_settingpage('blog', new lang_string('blog','blog'), 'moodle/site:config', empty($CFG->enableblogs));
142 $temp->add(new admin_setting_configcheckbox('useblogassociations', new lang_string('useblogassociations', 'blog'), new lang_string('configuseblogassociations','blog'), 1));
143 $temp->add(new admin_setting_bloglevel('bloglevel', new lang_string('bloglevel', 'admin'), new lang_string('configbloglevel', 'admin'), 4, array(BLOG_GLOBAL_LEVEL => new lang_string('worldblogs','blog'),
144 BLOG_SITE_LEVEL => new lang_string('siteblogs','blog'),
145 BLOG_USER_LEVEL => new lang_string('personalblogs','blog'))));
146 $temp->add(new admin_setting_configcheckbox('useexternalblogs', new lang_string('useexternalblogs', 'blog'), new lang_string('configuseexternalblogs','blog'), 1));
147 $temp->add(new admin_setting_configselect('externalblogcrontime', new lang_string('externalblogcrontime', 'blog'), new lang_string('configexternalblogcrontime', 'blog'), 86400,
148 array(43200 => new lang_string('numhours', '', 12),
149 86400 => new lang_string('numhours', '', 24),
150 172800 => new lang_string('numdays', '', 2),
151 604800 => new lang_string('numdays', '', 7))));
152 $temp->add(new admin_setting_configtext('maxexternalblogsperuser', new lang_string('maxexternalblogsperuser','blog'), new lang_string('configmaxexternalblogsperuser', 'blog'), 1));
153 $temp->add(new admin_setting_configcheckbox('blogusecomments', new lang_string('enablecomments', 'admin'), new lang_string('configenablecomments', 'admin'), 1));
154 $temp->add(new admin_setting_configcheckbox('blogshowcommentscount', new lang_string('showcommentscount', 'admin'), new lang_string('configshowcommentscount', 'admin'), 1));
155 $ADMIN->add('appearance', $temp);
cae83708 156
da3ab9c4 157 // Navigation settings
e106013f 158 $temp = new admin_settingpage('navigation', new lang_string('navigation'));
89c51017 159 $choices = array(
e106013f
SH
160 HOMEPAGE_SITE => new lang_string('site'),
161 HOMEPAGE_MY => new lang_string('mymoodle', 'admin'),
162 HOMEPAGE_USER => new lang_string('userpreference', 'admin')
89c51017 163 );
e5cfbeea
AG
164 $temp->add(new admin_setting_configselect('defaulthomepage', new lang_string('defaulthomepage', 'admin'),
165 new lang_string('configdefaulthomepage', 'admin'), HOMEPAGE_MY, $choices));
110831ce 166 $temp->add(new admin_setting_configcheckbox('allowguestmymoodle', new lang_string('allowguestmymoodle', 'admin'), new lang_string('configallowguestmymoodle', 'admin'), 1));
d20337f1 167 $temp->add(new admin_setting_configcheckbox('navshowfullcoursenames', new lang_string('navshowfullcoursenames', 'admin'), new lang_string('navshowfullcoursenames_help', 'admin'), 0));
e106013f 168 $temp->add(new admin_setting_configcheckbox('navshowcategories', new lang_string('navshowcategories', 'admin'), new lang_string('confignavshowcategories', 'admin'), 1));
b0712163 169 $temp->add(new admin_setting_configcheckbox('navshowmycoursecategories', new lang_string('navshowmycoursecategories', 'admin'), new lang_string('navshowmycoursecategories_help', 'admin'), 0));
e106013f 170 $temp->add(new admin_setting_configcheckbox('navshowallcourses', new lang_string('navshowallcourses', 'admin'), new lang_string('confignavshowallcourses', 'admin'), 0));
99f041eb 171 $temp->add(new admin_setting_configcheckbox('navexpandmycourses', new lang_string('navexpandmycourses', 'admin'), new lang_string('navexpandmycourses_desc', 'admin'), 1));
f87ce4e9
SH
172 $sortoptions = array(
173 'sortorder' => new lang_string('sort_sortorder', 'admin'),
174 'fullname' => new lang_string('sort_fullname', 'admin'),
175 'shortname' => new lang_string('sort_shortname', 'admin'),
176 'idnumber' => new lang_string('sort_idnumber', 'admin'),
177 );
178 $temp->add(new admin_setting_configselect('navsortmycoursessort', new lang_string('navsortmycoursessort', 'admin'), new lang_string('navsortmycoursessort_help', 'admin'), 'sortorder', $sortoptions));
e106013f 179 $temp->add(new admin_setting_configtext('navcourselimit',new lang_string('navcourselimit','admin'),new lang_string('confignavcourselimit', 'admin'),20,PARAM_INT));
e106013f 180 $temp->add(new admin_setting_configcheckbox('usesitenameforsitepages', new lang_string('usesitenameforsitepages', 'admin'), new lang_string('configusesitenameforsitepages', 'admin'), 0));
83f78f8d 181 $temp->add(new admin_setting_configcheckbox('linkadmincategories', new lang_string('linkadmincategories', 'admin'), new lang_string('linkadmincategories_help', 'admin'), 0));
53623a70 182 $temp->add(new admin_setting_configcheckbox('linkcoursesections', new lang_string('linkcoursesections', 'admin'), new lang_string('linkcoursesections_help', 'admin'), 0));
4037098e 183 $temp->add(new admin_setting_configcheckbox('navshowfrontpagemods', new lang_string('navshowfrontpagemods', 'admin'), new lang_string('navshowfrontpagemods_help', 'admin'), 1));
e106013f 184 $temp->add(new admin_setting_configcheckbox('navadduserpostslinks', new lang_string('navadduserpostslinks', 'admin'), new lang_string('navadduserpostslinks_help', 'admin'), 1));
89c51017 185
da3ab9c4
SH
186 $ADMIN->add('appearance', $temp);
187
5ca3c838 188 // "htmlsettings" settingpage
e106013f
SH
189 $temp = new admin_settingpage('htmlsettings', new lang_string('htmlsettings', 'admin'));
190 $temp->add(new admin_setting_configcheckbox('formatstringstriptags', new lang_string('stripalltitletags', 'admin'), new lang_string('configstripalltitletags', 'admin'), 1));
c3ed4a5a 191 $temp->add(new admin_setting_emoticons());
8eb1d25f 192 $ADMIN->add('appearance', $temp);
e106013f 193 $ADMIN->add('appearance', new admin_externalpage('resetemoticons', new lang_string('emoticonsreset', 'admin'),
7680da6c 194 new moodle_url('/admin/resetemoticons.php'), 'moodle/site:config', true));
8eb1d25f 195
daefd6eb 196
197 // The "media" subpage.
198 $temp = new admin_settingpage('mediasettings', get_string('mediasettings', 'core_media'));
199
200 $temp->add(new admin_setting_heading('mediaformats', get_string('mediaformats', 'core_media'),
201 format_text(get_string('mediaformats_desc', 'core_media'), FORMAT_MARKDOWN)));
202
203 // External services.
204 $temp->add(new admin_setting_configcheckbox('core_media_enable_youtube',
205 get_string('siteyoutube', 'core_media'), get_string('siteyoutube_desc', 'core_media'), 1));
206 $temp->add(new admin_setting_configcheckbox('core_media_enable_vimeo',
207 get_string('sitevimeo', 'core_media'), get_string('sitevimeo_desc', 'core_media'), 0));
208
209 // Options which require Flash.
210 $temp->add(new admin_setting_configcheckbox('core_media_enable_mp3',
211 get_string('mp3audio', 'core_media'), get_string('mp3audio_desc', 'core_media'), 1));
212 $temp->add(new admin_setting_configcheckbox('core_media_enable_flv',
213 get_string('flashvideo', 'core_media'), get_string('flashvideo_desc', 'core_media'), 1));
214 $temp->add(new admin_setting_configcheckbox('core_media_enable_swf',
215 get_string('flashanimation', 'core_media'), get_string('flashanimation_desc', 'core_media'), 1));
216
217 // HTML 5 media.
218 // Audio now enabled by default so that it can provide a fallback for mp3 on devices without flash.
219 $temp->add(new admin_setting_configcheckbox('core_media_enable_html5audio',
220 get_string('html5audio', 'core_media'), get_string('html5audio_desc', 'core_media'), 1));
221 // Video now enabled by default so it can provide mp4 support.
222 $temp->add(new admin_setting_configcheckbox('core_media_enable_html5video',
223 get_string('html5video', 'core_media'), get_string('html5video_desc', 'core_media'), 1));
224
225 // Legacy players.
226 $temp->add(new admin_setting_heading('legacymediaformats',
227 get_string('legacyheading', 'core_media'), get_string('legacyheading_desc', 'core_media')));
228
229 $temp->add(new admin_setting_configcheckbox('core_media_enable_qt',
230 get_string('legacyquicktime', 'core_media'), get_string('legacyquicktime_desc', 'core_media'), 1));
231 $temp->add(new admin_setting_configcheckbox('core_media_enable_wmp',
232 get_string('legacywmp', 'core_media'), get_string('legacywmp_desc', 'core_media'), 1));
233 $temp->add(new admin_setting_configcheckbox('core_media_enable_rm',
234 get_string('legacyreal', 'core_media'), get_string('legacyreal_desc', 'core_media'), 1));
235
236 $ADMIN->add('appearance', $temp);
237
238
220a90c5 239 // "documentation" settingpage
e106013f
SH
240 $temp = new admin_settingpage('documentation', new lang_string('moodledocs'));
241 $temp->add(new admin_setting_configtext('docroot', new lang_string('docroot', 'admin'), new lang_string('configdocroot', 'admin'), 'http://docs.moodle.org', PARAM_URL));
9452cae8
DN
242 $ltemp = array('' => get_string('forceno'));
243 $ltemp += get_string_manager()->get_list_of_translations(true);
244 $temp->add(new admin_setting_configselect('doclang', get_string('doclang', 'admin'), get_string('configdoclang', 'admin'), '', $ltemp));
e106013f 245 $temp->add(new admin_setting_configcheckbox('doctonewwindow', new lang_string('doctonewwindow', 'admin'), new lang_string('configdoctonewwindow', 'admin'), 0));
220a90c5 246 $ADMIN->add('appearance', $temp);
247
823c593f
RT
248 $temp = new admin_externalpage('mypage', new lang_string('mypage', 'admin'), $CFG->wwwroot . '/my/indexsys.php',
249 'moodle/my:configsyspages');
03d9401e
MD
250 $ADMIN->add('appearance', $temp);
251
823c593f
RT
252 $temp = new admin_externalpage('profilepage', new lang_string('myprofile', 'admin'), $CFG->wwwroot . '/user/profilesys.php',
253 'moodle/my:configsyspages');
220a90c5 254 $ADMIN->add('appearance', $temp);
255
df997f84 256 // coursecontact is the person responsible for course - usually manages enrolments, receives notification, etc.
e106013f 257 $temp = new admin_settingpage('coursecontact', new lang_string('courses'));
df997f84 258 $temp->add(new admin_setting_special_coursecontact());
7fb46992 259 $temp->add(new admin_setting_configcheckbox('courselistshortnames',
e106013f
SH
260 new lang_string('courselistshortnames', 'admin'),
261 new lang_string('courselistshortnames_desc', 'admin'), 0));
3b7bfbb5
FM
262 $temp->add(new admin_setting_configtext('coursesperpage', new lang_string('coursesperpage', 'admin'), new lang_string('configcoursesperpage', 'admin'), 20, PARAM_INT));
263 $temp->add(new admin_setting_configtext('courseswithsummarieslimit', new lang_string('courseswithsummarieslimit', 'admin'), new lang_string('configcourseswithsummarieslimit', 'admin'), 10, PARAM_INT));
d1f8c1bd
MG
264 $temp->add(new admin_setting_configtext('courseoverviewfileslimit', new lang_string('courseoverviewfileslimit'),
265 new lang_string('configcourseoverviewfileslimit', 'admin'), 1, PARAM_INT));
266 $temp->add(new admin_setting_configtext('courseoverviewfilesext', new lang_string('courseoverviewfilesext'),
267 new lang_string('configcourseoverviewfilesext', 'admin'), '.jpg,.gif,.png'));
220a90c5 268 $ADMIN->add('appearance', $temp);
269
e106013f 270 $temp = new admin_settingpage('ajax', new lang_string('ajaxuse'));
e106013f
SH
271 $temp->add(new admin_setting_configcheckbox('useexternalyui', new lang_string('useexternalyui', 'admin'), new lang_string('configuseexternalyui', 'admin'), 0));
272 $temp->add(new admin_setting_configcheckbox('yuicomboloading', new lang_string('yuicomboloading', 'admin'), new lang_string('configyuicomboloading', 'admin'), 1));
273 $setting = new admin_setting_configcheckbox('cachejs', new lang_string('cachejs', 'admin'), new lang_string('cachejs_help', 'admin'), 1);
2288073a
PS
274 $setting->set_updatedcallback('js_reset_all_caches');
275 $temp->add($setting);
945a81a9 276 $temp->add(new admin_setting_configcheckbox('modchooserdefault', new lang_string('modchooserdefault', 'admin'), new lang_string('configmodchooserdefault', 'admin'), 1));
10fc1569
SH
277 $temp->add(new admin_setting_configcheckbox('modeditingmenu', new lang_string('modeditingmenu', 'admin'), new lang_string('modeditingmenu_desc', 'admin'), 1));
278 $temp->add(new admin_setting_configcheckbox('blockeditingmenu', new lang_string('blockeditingmenu', 'admin'), new lang_string('blockeditingmenu_desc', 'admin'), 1));
220a90c5 279 $ADMIN->add('appearance', $temp);
280
281 // link to tag management interface
823c593f 282 $ADMIN->add('appearance', new admin_externalpage('managetags', new lang_string('managetags', 'tag'), $CFG->wwwroot.'/tag/manage.php', 'moodle/tag:manage'));
8f6c1f34 283
e106013f
SH
284 $temp = new admin_settingpage('additionalhtml', new lang_string('additionalhtml', 'admin'));
285 $temp->add(new admin_setting_heading('additionalhtml_heading', new lang_string('additionalhtml_heading', 'admin'), new lang_string('additionalhtml_desc', 'admin')));
286 $temp->add(new admin_setting_configtextarea('additionalhtmlhead', new lang_string('additionalhtmlhead', 'admin'), new lang_string('additionalhtmlhead_desc', 'admin'), '', PARAM_RAW));
287 $temp->add(new admin_setting_configtextarea('additionalhtmltopofbody', new lang_string('additionalhtmltopofbody', 'admin'), new lang_string('additionalhtmltopofbody_desc', 'admin'), '', PARAM_RAW));
288 $temp->add(new admin_setting_configtextarea('additionalhtmlfooter', new lang_string('additionalhtmlfooter', 'admin'), new lang_string('additionalhtmlfooter_desc', 'admin'), '', PARAM_RAW));
90e920c7 289 $ADMIN->add('appearance', $temp);
a559f630 290
291} // end of speedup
78946b9b 292