MDL-14741: adding a setting to choose default htmleditor, and begin work on possibili...
[moodle.git] / admin / settings / appearance.php
1 <?php // $Id$
3 // This file defines settingpages and externalpages under the "appearance" category
5 if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
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));
11     $temp->add(new admin_setting_configcheckbox('allowuserthemes', get_string('allowuserthemes', 'admin'), get_string('configallowuserthemes', 'admin'), 0));
12     $temp->add(new admin_setting_configcheckbox('allowcoursethemes', get_string('allowcoursethemes', 'admin'), get_string('configallowcoursethemes', 'admin'), 0));
13     $temp->add(new admin_setting_configcheckbox('allowcategorythemes',  get_string('allowcategorythemes', 'admin'), get_string('configallowcategorythemes', 'admin'), 0));
14     $temp->add(new admin_setting_configcheckbox('allowuserblockhiding', get_string('allowuserblockhiding', 'admin'), get_string('configallowuserblockhiding', 'admin'), 1));
15     $temp->add(new admin_setting_configcheckbox('showblocksonmodpages', get_string('showblocksonmodpages', 'admin'), get_string('configshowblocksonmodpages', 'admin'), 0));
16     $temp->add(new admin_setting_configselect('hideactivitytypenavlink', get_string('hideactivitytypenavlink', 'admin'), get_string('confighideactivitytypenavlink', 'admin'), 0,
17     array(
18             0 => get_string('hidefromnone', 'admin'),
19             1 => get_string('hidefromstudents', 'admin'),
20             2 => get_string('hidefromall', 'admin')
21         )));
22     $ADMIN->add('themes', $temp);
23     $ADMIN->add('themes', new admin_externalpage('themeselector', get_string('themeselector','admin'), $CFG->wwwroot . '/theme/index.php'));
25     // calendar
26     $temp = new admin_settingpage('calendar', get_string('calendarsettings','admin'));
27     $temp->add(new admin_setting_special_adminseesall());
28     //this is hacky because we do not want to include the stuff from calendar/lib.php
29     $temp->add(new admin_setting_configselect('calendar_site_timeformat', get_string('pref_timeformat', 'calendar'),
30                                               get_string('explain_site_timeformat', 'calendar'), '0',
31                                               array('0'        => get_string('default', 'calendar'),
32                                                     '%I:%M %p' => get_string('timeformat_12', 'calendar'),
33                                                     '%H:%M'    => get_string('timeformat_24', 'calendar'))));
34     $temp->add(new admin_setting_configselect('calendar_startwday', get_string('configstartwday', 'admin'), get_string('helpstartofweek', 'admin'), 0,
35     array(
36             0 => get_string('sunday', 'calendar'),
37             1 => get_string('monday', 'calendar'),
38             2 => get_string('tuesday', 'calendar'),
39             3 => get_string('wednesday', 'calendar'),
40             4 => get_string('thursday', 'calendar'),
41             5 => get_string('friday', 'calendar'),
42             6 => get_string('saturday', 'calendar')
43         )));
44     $temp->add(new admin_setting_special_calendar_weekend());
45     $temp->add(new admin_setting_configtext('calendar_lookahead',get_string('configlookahead','admin'),get_string('helpupcominglookahead', 'admin'),21,PARAM_INT));
46     $temp->add(new admin_setting_configtext('calendar_maxevents',get_string('configmaxevents','admin'),get_string('helpupcomingmaxevents', 'admin'),10,PARAM_INT));
47     $ADMIN->add('appearance', $temp);
49     // "htmleditor" settingpage
50     $ADMIN->add('appearance', new admin_category('htmleditor', get_string('htmleditor', 'admin')));
52     $temp = new admin_settingpage('htmleditorsettings', get_string('htmleditorsettings', 'admin'));
54     $htmleditors = array();
55     foreach (get_available_html_editors() as $editor) {
56         //$htmleditors[$editor] = get_string($editor, 'admin');
57         $htmleditors[$editor] = $editor;
58     }
59     $temp->add(new admin_setting_configselect('defaulthtmleditor', get_string('defaulthtmleditor', 'admin'), null, 'tinymce', $htmleditors));
60     $temp->add(new admin_setting_configcheckbox('usehtmleditor', get_string('usehtmleditor', 'admin'), get_string('confightmleditor','admin'), 1));
61     $ADMIN->add('htmleditor', $temp);
63     $temp = new admin_settingpage('htmlarea', get_string('htmlarea', 'admin'));
64     $temp->add(new admin_setting_configtext('editorbackgroundcolor', get_string('editorbackgroundcolor', 'admin'), get_string('edhelpbgcolor'), '#ffffff', PARAM_NOTAGS));
65     $temp->add(new admin_setting_configtext('editorfontfamily', get_string('editorfontfamily', 'admin'), get_string('edhelpfontfamily'), 'Trebuchet MS,Verdana,Arial,Helvetica,sans-serif', PARAM_NOTAGS));
66     $temp->add(new admin_setting_configtext('editorfontsize', get_string('editorfontsize', 'admin'), get_string('edhelpfontsize'), '', PARAM_NOTAGS));
67     $temp->add(new admin_setting_special_editorfontlist());
68     $temp->add(new admin_setting_configcheckbox('editorkillword', get_string('editorkillword', 'admin'), get_string('edhelpcleanword'), 1));
69     if (!empty($CFG->aspellpath)) { // make aspell settings disappear if path isn't set
70       $temp->add(new admin_setting_configcheckbox('editorspelling', get_string('editorspelling', 'admin'), get_string('editorspellinghelp', 'admin'), 0));
71       $temp->add(new admin_setting_special_editordictionary());
72     }
73     $temp->add(new admin_setting_special_editorhidebuttons());
74     $temp->add(new admin_setting_emoticons());
75     $ADMIN->add('htmleditor', $temp);
77     $temp = new admin_settingpage('tinymce', get_string('tinymce', 'admin'));
78     // add tinymce configuration options here
79     $ADMIN->add('htmleditor', $temp);
81     // "documentation" settingpage
82     $temp = new admin_settingpage('documentation', get_string('moodledocs'));
83     $temp->add(new admin_setting_configtext('docroot', get_string('docroot', 'admin'), get_string('configdocroot', 'admin'), 'http://docs.moodle.org', PARAM_URL));
84     $temp->add(new admin_setting_configcheckbox('doctonewwindow', get_string('doctonewwindow', 'admin'), get_string('configdoctonewwindow', 'admin'), 0));
85     $ADMIN->add('appearance', $temp);
87     $temp = new admin_settingpage('mymoodle', get_string('mymoodle', 'admin'));
88     $temp->add(new admin_setting_configcheckbox('mymoodleredirect', get_string('mymoodleredirect', 'admin'), get_string('configmymoodleredirect', 'admin'), 0));
89     $ADMIN->add('appearance', $temp);
91     // new CFG variable for coursemanager (what roles to display)
92     $temp = new admin_settingpage('coursemanager', get_string('coursemanager', 'admin'));
93     $temp->add(new admin_setting_special_coursemanager());
94     $ADMIN->add('appearance', $temp);
96     $temp = new admin_settingpage('ajax', get_string('ajaxuse'));
97     $temp->add(new admin_setting_configcheckbox('enableajax', get_string('enableajax', 'admin'), get_string('configenableajax', 'admin'), 1));
98     $temp->add(new admin_setting_configcheckbox('disablecourseajax', get_string('disablecourseajax', 'admin'), get_string('configdisablecourseajax', 'admin'),
99                                                 isset($CFG->disablecourseajax) ? 1 : empty($CFG->enableajax)));
100     $ADMIN->add('appearance', $temp);
102     // link to tag management interface
103     $ADMIN->add('appearance', new admin_externalpage('managetags', get_string('managetags', 'tag'), "$CFG->wwwroot/tag/manage.php"));
105 } // end of speedup
106 ?>