output MDL-25597 Added three new config settings that allow you to add additional...
[moodle.git] / admin / settings / appearance.php
CommitLineData
11b749ca 1<?php
1ea1bcb3 2
3// This file defines settingpages and externalpages under the "appearance" category
4
a559f630 5if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
6
220a90c5 7 $ADMIN->add('appearance', new admin_category('themes', get_string('themes')));
8 // "themesettings" settingpage
9 $temp = new admin_settingpage('themesettings', get_string('themesettings', 'admin'));
10 $temp->add(new admin_setting_configtext('themelist', get_string('themelist', 'admin'), get_string('configthemelist','admin'), '', PARAM_NOTAGS));
78946b9b
PS
11 $setting = new admin_setting_configcheckbox('themedesignermode', get_string('themedesignermode', 'admin'), get_string('configthemedesignermode', 'admin'), 0);
12 $setting->set_updatedcallback('theme_reset_all_caches');
13 $temp->add($setting);
220a90c5 14 $temp->add(new admin_setting_configcheckbox('allowuserthemes', get_string('allowuserthemes', 'admin'), get_string('configallowuserthemes', 'admin'), 0));
15 $temp->add(new admin_setting_configcheckbox('allowcoursethemes', get_string('allowcoursethemes', 'admin'), get_string('configallowcoursethemes', 'admin'), 0));
16 $temp->add(new admin_setting_configcheckbox('allowcategorythemes', get_string('allowcategorythemes', 'admin'), get_string('configallowcategorythemes', 'admin'), 0));
b7009474 17 $temp->add(new admin_setting_configcheckbox('allowthemechangeonurl', get_string('allowthemechangeonurl', 'admin'), get_string('configallowthemechangeonurl', 'admin'), 0));
220a90c5 18 $temp->add(new admin_setting_configcheckbox('allowuserblockhiding', get_string('allowuserblockhiding', 'admin'), get_string('configallowuserblockhiding', 'admin'), 1));
d2c394f3 19 $temp->add(new admin_setting_configcheckbox('allowblockstodock', get_string('allowblockstodock', 'admin'), get_string('configallowblockstodock', 'admin'), 1));
d2dbd0c0 20 $temp->add(new admin_setting_configtextarea('custommenuitems', get_string('custommenuitems', 'admin'), get_string('configcustommenuitems', 'admin'), '', PARAM_TEXT, '50', '10'));
220a90c5 21 $ADMIN->add('themes', $temp);
22 $ADMIN->add('themes', new admin_externalpage('themeselector', get_string('themeselector','admin'), $CFG->wwwroot . '/theme/index.php'));
23
78946b9b
PS
24 // settings for each theme
25 foreach (get_plugin_list('theme') as $theme => $themedir) {
26 $settings_path = "$themedir/settings.php";
27 if (file_exists($settings_path)) {
dbf9e4ba 28 $settings = new admin_settingpage('themesetting'.$theme, get_string('pluginname', 'theme_'.$theme));
78946b9b 29 include($settings_path);
dbf9e4ba
PS
30 if ($settings) {
31 $ADMIN->add('themes', $settings);
32 }
78946b9b
PS
33 }
34 }
35
03d9401e 36
220a90c5 37 // calendar
38 $temp = new admin_settingpage('calendar', get_string('calendarsettings','admin'));
39 $temp->add(new admin_setting_special_adminseesall());
40 //this is hacky because we do not want to include the stuff from calendar/lib.php
41 $temp->add(new admin_setting_configselect('calendar_site_timeformat', get_string('pref_timeformat', 'calendar'),
42 get_string('explain_site_timeformat', 'calendar'), '0',
43 array('0' => get_string('default', 'calendar'),
44 '%I:%M %p' => get_string('timeformat_12', 'calendar'),
45 '%H:%M' => get_string('timeformat_24', 'calendar'))));
46 $temp->add(new admin_setting_configselect('calendar_startwday', get_string('configstartwday', 'admin'), get_string('helpstartofweek', 'admin'), 0,
47 array(
48 0 => get_string('sunday', 'calendar'),
49 1 => get_string('monday', 'calendar'),
50 2 => get_string('tuesday', 'calendar'),
51 3 => get_string('wednesday', 'calendar'),
52 4 => get_string('thursday', 'calendar'),
53 5 => get_string('friday', 'calendar'),
54 6 => get_string('saturday', 'calendar')
55 )));
56 $temp->add(new admin_setting_special_calendar_weekend());
57 $temp->add(new admin_setting_configtext('calendar_lookahead',get_string('configlookahead','admin'),get_string('helpupcominglookahead', 'admin'),21,PARAM_INT));
58 $temp->add(new admin_setting_configtext('calendar_maxevents',get_string('configmaxevents','admin'),get_string('helpupcomingmaxevents', 'admin'),10,PARAM_INT));
dbf9d4cb 59 $temp->add(new admin_setting_configcheckbox('enablecalendarexport', get_string('enablecalendarexport', 'admin'), get_string('configenablecalendarexport','admin'), 1));
7baf68d8 60 $temp->add(new admin_setting_configtext('calendar_exportsalt', get_string('calendarexportsalt','admin'), get_string('configcalendarexportsalt', 'admin'), random_string(60)));
220a90c5 61 $ADMIN->add('appearance', $temp);
62
cae83708 63 // blog
64 $temp = new admin_settingpage('blog', get_string('blog','blog'));
65 $temp->add(new admin_setting_configcheckbox('useblogassociations', get_string('useblogassociations', 'blog'), get_string('configuseblogassociations','blog'), 1));
ca497f4f 66 $temp->add(new admin_setting_bloglevel('bloglevel', get_string('bloglevel', 'admin'), get_string('configbloglevel', 'admin'), 4, array(5 => get_string('worldblogs','blog'),
cae83708 67 4 => get_string('siteblogs','blog'),
68 1 => get_string('personalblogs','blog'),
69 0 => get_string('disableblogs','blog'))));
70 $temp->add(new admin_setting_configcheckbox('useexternalblogs', get_string('useexternalblogs', 'blog'), get_string('configuseexternalblogs','blog'), 1));
71 $temp->add(new admin_setting_configselect('externalblogcrontime', get_string('externalblogcrontime', 'blog'), get_string('configexternalblogcrontime', 'blog'), 86400,
72 array(43200 => get_string('numhours', '', 12),
73 86400 => get_string('numhours', '', 24),
74 172800 => get_string('numdays', '', 2),
75 604800 => get_string('numdays', '', 7))));
76 $temp->add(new admin_setting_configtext('maxexternalblogsperuser', get_string('maxexternalblogsperuser','blog'), get_string('configmaxexternalblogsperuser', 'blog'), 1));
db954aba
DC
77 $temp->add(new admin_setting_configcheckbox('blogusecomments', get_string('enablecomments', 'admin'), get_string('configenablecomments', 'admin'), 1));
78 $temp->add(new admin_setting_configcheckbox('blogshowcommentscount', get_string('showcommentscount', 'admin'), get_string('configshowcommentscount', 'admin'), 1));
cae83708 79 $ADMIN->add('appearance', $temp);
80
da3ab9c4
SH
81 // Navigation settings
82 $temp = new admin_settingpage('navigation', get_string('navigation'));
89c51017
MD
83 $choices = array(
84 HOMEPAGE_SITE => get_string('site'),
85 HOMEPAGE_MY => get_string('mymoodle', 'admin'),
86 HOMEPAGE_USER => get_string('userpreference', 'admin')
87 );
88 $temp->add(new admin_setting_configselect('defaulthomepage', get_string('defaulthomepage', 'admin'), get_string('configdefaulthomepage', 'admin'), HOMEPAGE_SITE, $choices));
8958174c 89 $temp->add(new admin_setting_configcheckbox('navshowcategories', get_string('navshowcategories', 'admin'), get_string('confignavshowcategories', 'admin'), 1));
da3ab9c4 90 $temp->add(new admin_setting_configcheckbox('navshowallcourses', get_string('navshowallcourses', 'admin'), get_string('confignavshowallcourses', 'admin'), 0));
4766a50c 91 $temp->add(new admin_setting_configtext('navcourselimit',get_string('navcourselimit','admin'),get_string('confignavcourselimit', 'admin'),20,PARAM_INT));
89c51017 92
da3ab9c4
SH
93 $ADMIN->add('appearance', $temp);
94
5ca3c838 95 // "htmlsettings" settingpage
8eb1d25f 96 $temp = new admin_settingpage('htmlsettings', get_string('htmlsettings', 'admin'));
97 $temp->add(new admin_setting_configcheckbox('formatstringstriptags', get_string('stripalltitletags', 'admin'), get_string('configstripalltitletags', 'admin'), 1));
c3ed4a5a 98 $temp->add(new admin_setting_emoticons());
8eb1d25f 99 $ADMIN->add('appearance', $temp);
7680da6c
DM
100 $ADMIN->add('appearance', new admin_externalpage('resetemoticons', get_string('emoticonsreset', 'admin'),
101 new moodle_url('/admin/resetemoticons.php'), 'moodle/site:config', true));
8eb1d25f 102
220a90c5 103 // "documentation" settingpage
104 $temp = new admin_settingpage('documentation', get_string('moodledocs'));
105 $temp->add(new admin_setting_configtext('docroot', get_string('docroot', 'admin'), get_string('configdocroot', 'admin'), 'http://docs.moodle.org', PARAM_URL));
106 $temp->add(new admin_setting_configcheckbox('doctonewwindow', get_string('doctonewwindow', 'admin'), get_string('configdoctonewwindow', 'admin'), 0));
107 $ADMIN->add('appearance', $temp);
108
03d9401e
MD
109 $temp = new admin_externalpage('mypage', get_string('mypage', 'admin'), $CFG->wwwroot . '/my/indexsys.php');
110 $ADMIN->add('appearance', $temp);
111
112 $temp = new admin_externalpage('profilepage', get_string('myprofile', 'admin'), $CFG->wwwroot . '/user/profilesys.php');
220a90c5 113 $ADMIN->add('appearance', $temp);
114
df997f84
PS
115 // coursecontact is the person responsible for course - usually manages enrolments, receives notification, etc.
116 $temp = new admin_settingpage('coursecontact', get_string('coursecontact', 'admin'));
117 $temp->add(new admin_setting_special_coursecontact());
220a90c5 118 $ADMIN->add('appearance', $temp);
119
220a90c5 120 $temp = new admin_settingpage('ajax', get_string('ajaxuse'));
6d77b23c 121 $temp->add(new admin_setting_configcheckbox('enableajax', get_string('enableajax', 'admin'), get_string('configenableajax', 'admin'), 1));
7f2a7c3c 122 $temp->add(new admin_setting_configcheckbox('useexternalyui', get_string('useexternalyui', 'admin'), get_string('configuseexternalyui', 'admin'), 0));
84d6e832 123 $temp->add(new admin_setting_configcheckbox('yuicomboloading', get_string('yuicomboloading', 'admin'), get_string('configyuicomboloading', 'admin'), 1));
2288073a
PS
124 $setting = new admin_setting_configcheckbox('cachejs', get_string('cachejs', 'admin'), get_string('cachejs_help', 'admin'), 1);
125 $setting->set_updatedcallback('js_reset_all_caches');
126 $temp->add($setting);
8b2918a4
DM
127 $temp->add(new admin_setting_configcheckbox('enablecourseajax', get_string('enablecourseajax', 'admin'),
128 get_string('enablecourseajax_desc', 'admin'), 1));
220a90c5 129 $ADMIN->add('appearance', $temp);
130
131 // link to tag management interface
132 $ADMIN->add('appearance', new admin_externalpage('managetags', get_string('managetags', 'tag'), "$CFG->wwwroot/tag/manage.php"));
90e920c7
SH
133
134 $temp = new admin_settingpage('additionalhtml', get_string('additionalhtml', 'admin'));
135 $temp->add(new admin_setting_heading('additionalhtml_heading', get_string('additionalhtml_heading', 'admin'), get_string('additionalhtml_desc', 'admin')));
136 $temp->add(new admin_setting_configtextarea('additionalhtmlhead', get_string('additionalhtmlhead', 'admin'), get_string('additionalhtmlhead_desc', 'admin'), '', PARAM_RAW));
137 $temp->add(new admin_setting_configtextarea('additionalhtmltopofbody', get_string('additionalhtmltopofbody', 'admin'), get_string('additionalhtmltopofbody_desc', 'admin'), '', PARAM_RAW));
138 $temp->add(new admin_setting_configtextarea('additionalhtmlfooter', get_string('additionalhtmlfooter', 'admin'), get_string('additionalhtmlfooter_desc', 'admin'), '', PARAM_RAW));
139 $ADMIN->add('appearance', $temp);
a559f630 140
141} // end of speedup
78946b9b 142