|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00003 // This file defines settingpages and externalpages under the "appearance" category 00004 00005 if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page 00006 00007 $ADMIN->add('appearance', new admin_category('themes', get_string('themes'))); 00008 // "themesettings" settingpage 00009 $temp = new admin_settingpage('themesettings', get_string('themesettings', 'admin')); 00010 $temp->add(new admin_setting_configtext('themelist', get_string('themelist', 'admin'), get_string('configthemelist','admin'), '', PARAM_NOTAGS)); 00011 $setting = new admin_setting_configcheckbox('themedesignermode', get_string('themedesignermode', 'admin'), get_string('configthemedesignermode', 'admin'), 0); 00012 $setting->set_updatedcallback('theme_reset_all_caches'); 00013 $temp->add($setting); 00014 $temp->add(new admin_setting_configcheckbox('allowuserthemes', get_string('allowuserthemes', 'admin'), get_string('configallowuserthemes', 'admin'), 0)); 00015 $temp->add(new admin_setting_configcheckbox('allowcoursethemes', get_string('allowcoursethemes', 'admin'), get_string('configallowcoursethemes', 'admin'), 0)); 00016 $temp->add(new admin_setting_configcheckbox('allowcategorythemes', get_string('allowcategorythemes', 'admin'), get_string('configallowcategorythemes', 'admin'), 0)); 00017 $temp->add(new admin_setting_configcheckbox('allowthemechangeonurl', get_string('allowthemechangeonurl', 'admin'), get_string('configallowthemechangeonurl', 'admin'), 0)); 00018 $temp->add(new admin_setting_configcheckbox('allowuserblockhiding', get_string('allowuserblockhiding', 'admin'), get_string('configallowuserblockhiding', 'admin'), 1)); 00019 $temp->add(new admin_setting_configcheckbox('allowblockstodock', get_string('allowblockstodock', 'admin'), get_string('configallowblockstodock', 'admin'), 1)); 00020 $temp->add(new admin_setting_configtextarea('custommenuitems', get_string('custommenuitems', 'admin'), get_string('configcustommenuitems', 'admin'), '', PARAM_TEXT, '50', '10')); 00021 $temp->add(new admin_setting_configcheckbox('enabledevicedetection', get_string('enabledevicedetection', 'admin'), get_string('configenabledevicedetection', 'admin'), 1)); 00022 $temp->add(new admin_setting_devicedetectregex('devicedetectregex', get_string('devicedetectregex', 'admin'), get_string('devicedetectregex_desc', 'admin'), '')); 00023 $ADMIN->add('themes', $temp); 00024 $ADMIN->add('themes', new admin_externalpage('themeselector', get_string('themeselector','admin'), $CFG->wwwroot . '/theme/index.php')); 00025 00026 // settings for each theme 00027 foreach (get_plugin_list('theme') as $theme => $themedir) { 00028 $settings_path = "$themedir/settings.php"; 00029 if (file_exists($settings_path)) { 00030 $settings = new admin_settingpage('themesetting'.$theme, get_string('pluginname', 'theme_'.$theme)); 00031 include($settings_path); 00032 if ($settings) { 00033 $ADMIN->add('themes', $settings); 00034 } 00035 } 00036 } 00037 00038 00039 // calendar 00040 $temp = new admin_settingpage('calendar', get_string('calendarsettings','admin')); 00041 $temp->add(new admin_setting_special_adminseesall()); 00042 //this is hacky because we do not want to include the stuff from calendar/lib.php 00043 $temp->add(new admin_setting_configselect('calendar_site_timeformat', get_string('pref_timeformat', 'calendar'), 00044 get_string('explain_site_timeformat', 'calendar'), '0', 00045 array('0' => get_string('default', 'calendar'), 00046 '%I:%M %p' => get_string('timeformat_12', 'calendar'), 00047 '%H:%M' => get_string('timeformat_24', 'calendar')))); 00048 $temp->add(new admin_setting_configselect('calendar_startwday', get_string('configstartwday', 'admin'), get_string('helpstartofweek', 'admin'), 0, 00049 array( 00050 0 => get_string('sunday', 'calendar'), 00051 1 => get_string('monday', 'calendar'), 00052 2 => get_string('tuesday', 'calendar'), 00053 3 => get_string('wednesday', 'calendar'), 00054 4 => get_string('thursday', 'calendar'), 00055 5 => get_string('friday', 'calendar'), 00056 6 => get_string('saturday', 'calendar') 00057 ))); 00058 $temp->add(new admin_setting_special_calendar_weekend()); 00059 $options = array(); 00060 for ($i=1; $i<=99; $i++) { 00061 $options[$i] = $i; 00062 } 00063 $temp->add(new admin_setting_configselect('calendar_lookahead',get_string('configlookahead','admin'),get_string('helpupcominglookahead', 'admin'),21,$options)); 00064 $options = array(); 00065 for ($i=1; $i<=20; $i++) { 00066 $options[$i] = $i; 00067 } 00068 $temp->add(new admin_setting_configselect('calendar_maxevents',get_string('configmaxevents','admin'),get_string('helpupcomingmaxevents', 'admin'),10,$options)); 00069 $temp->add(new admin_setting_configcheckbox('enablecalendarexport', get_string('enablecalendarexport', 'admin'), get_string('configenablecalendarexport','admin'), 1)); 00070 $temp->add(new admin_setting_configtext('calendar_exportsalt', get_string('calendarexportsalt','admin'), get_string('configcalendarexportsalt', 'admin'), random_string(60))); 00071 $ADMIN->add('appearance', $temp); 00072 00073 // blog 00074 $temp = new admin_settingpage('blog', get_string('blog','blog')); 00075 $temp->add(new admin_setting_configcheckbox('useblogassociations', get_string('useblogassociations', 'blog'), get_string('configuseblogassociations','blog'), 1)); 00076 $temp->add(new admin_setting_bloglevel('bloglevel', get_string('bloglevel', 'admin'), get_string('configbloglevel', 'admin'), 4, array(BLOG_GLOBAL_LEVEL => get_string('worldblogs','blog'), 00077 BLOG_SITE_LEVEL => get_string('siteblogs','blog'), 00078 BLOG_USER_LEVEL => get_string('personalblogs','blog'), 00079 0 => get_string('disableblogs','blog')))); 00080 $temp->add(new admin_setting_configcheckbox('useexternalblogs', get_string('useexternalblogs', 'blog'), get_string('configuseexternalblogs','blog'), 1)); 00081 $temp->add(new admin_setting_configselect('externalblogcrontime', get_string('externalblogcrontime', 'blog'), get_string('configexternalblogcrontime', 'blog'), 86400, 00082 array(43200 => get_string('numhours', '', 12), 00083 86400 => get_string('numhours', '', 24), 00084 172800 => get_string('numdays', '', 2), 00085 604800 => get_string('numdays', '', 7)))); 00086 $temp->add(new admin_setting_configtext('maxexternalblogsperuser', get_string('maxexternalblogsperuser','blog'), get_string('configmaxexternalblogsperuser', 'blog'), 1)); 00087 $temp->add(new admin_setting_configcheckbox('blogusecomments', get_string('enablecomments', 'admin'), get_string('configenablecomments', 'admin'), 1)); 00088 $temp->add(new admin_setting_configcheckbox('blogshowcommentscount', get_string('showcommentscount', 'admin'), get_string('configshowcommentscount', 'admin'), 1)); 00089 $ADMIN->add('appearance', $temp); 00090 00091 // Navigation settings 00092 $temp = new admin_settingpage('navigation', get_string('navigation')); 00093 $choices = array( 00094 HOMEPAGE_SITE => get_string('site'), 00095 HOMEPAGE_MY => get_string('mymoodle', 'admin'), 00096 HOMEPAGE_USER => get_string('userpreference', 'admin') 00097 ); 00098 $temp->add(new admin_setting_configselect('defaulthomepage', get_string('defaulthomepage', 'admin'), get_string('configdefaulthomepage', 'admin'), HOMEPAGE_SITE, $choices)); 00099 $temp->add(new admin_setting_configcheckbox('navshowcategories', get_string('navshowcategories', 'admin'), get_string('confignavshowcategories', 'admin'), 1)); 00100 $temp->add(new admin_setting_configcheckbox('navshowallcourses', get_string('navshowallcourses', 'admin'), get_string('confignavshowallcourses', 'admin'), 0)); 00101 $temp->add(new admin_setting_configtext('navcourselimit',get_string('navcourselimit','admin'),get_string('confignavcourselimit', 'admin'),20,PARAM_INT)); 00102 $temp->add(new admin_setting_configcheckbox('navlinkcoursesections', get_string('navlinkcoursesections', 'admin'), get_string('navlinkcoursesections_help', 'admin'), 0)); 00103 $temp->add(new admin_setting_configcheckbox('usesitenameforsitepages', get_string('usesitenameforsitepages', 'admin'), get_string('configusesitenameforsitepages', 'admin'), 0)); 00104 $temp->add(new admin_setting_configcheckbox('navadduserpostslinks', get_string('navadduserpostslinks', 'admin'), get_string('navadduserpostslinks_help', 'admin'), 1)); 00105 00106 $ADMIN->add('appearance', $temp); 00107 00108 // "htmlsettings" settingpage 00109 $temp = new admin_settingpage('htmlsettings', get_string('htmlsettings', 'admin')); 00110 $temp->add(new admin_setting_configcheckbox('formatstringstriptags', get_string('stripalltitletags', 'admin'), get_string('configstripalltitletags', 'admin'), 1)); 00111 $temp->add(new admin_setting_emoticons()); 00112 $ADMIN->add('appearance', $temp); 00113 $ADMIN->add('appearance', new admin_externalpage('resetemoticons', get_string('emoticonsreset', 'admin'), 00114 new moodle_url('/admin/resetemoticons.php'), 'moodle/site:config', true)); 00115 00116 // "documentation" settingpage 00117 $temp = new admin_settingpage('documentation', get_string('moodledocs')); 00118 $temp->add(new admin_setting_configtext('docroot', get_string('docroot', 'admin'), get_string('configdocroot', 'admin'), 'http://docs.moodle.org', PARAM_URL)); 00119 $temp->add(new admin_setting_configcheckbox('doctonewwindow', get_string('doctonewwindow', 'admin'), get_string('configdoctonewwindow', 'admin'), 0)); 00120 $ADMIN->add('appearance', $temp); 00121 00122 $temp = new admin_externalpage('mypage', get_string('mypage', 'admin'), $CFG->wwwroot . '/my/indexsys.php'); 00123 $ADMIN->add('appearance', $temp); 00124 00125 $temp = new admin_externalpage('profilepage', get_string('myprofile', 'admin'), $CFG->wwwroot . '/user/profilesys.php'); 00126 $ADMIN->add('appearance', $temp); 00127 00128 // coursecontact is the person responsible for course - usually manages enrolments, receives notification, etc. 00129 $temp = new admin_settingpage('coursecontact', get_string('courses')); 00130 $temp->add(new admin_setting_special_coursecontact()); 00131 $temp->add(new admin_setting_configcheckbox('courselistshortnames', 00132 get_string('courselistshortnames', 'admin'), 00133 get_string('courselistshortnames_desc', 'admin'), 0)); 00134 $ADMIN->add('appearance', $temp); 00135 00136 $temp = new admin_settingpage('ajax', get_string('ajaxuse')); 00137 $temp->add(new admin_setting_configcheckbox('enableajax', get_string('enableajax', 'admin'), get_string('configenableajax', 'admin'), 1)); 00138 $temp->add(new admin_setting_configcheckbox('useexternalyui', get_string('useexternalyui', 'admin'), get_string('configuseexternalyui', 'admin'), 0)); 00139 $temp->add(new admin_setting_configcheckbox('yuicomboloading', get_string('yuicomboloading', 'admin'), get_string('configyuicomboloading', 'admin'), 1)); 00140 $setting = new admin_setting_configcheckbox('cachejs', get_string('cachejs', 'admin'), get_string('cachejs_help', 'admin'), 1); 00141 $setting->set_updatedcallback('js_reset_all_caches'); 00142 $temp->add($setting); 00143 $temp->add(new admin_setting_configcheckbox('enablecourseajax', get_string('enablecourseajax', 'admin'), 00144 get_string('enablecourseajax_desc', 'admin'), 1)); 00145 $ADMIN->add('appearance', $temp); 00146 00147 // link to tag management interface 00148 $ADMIN->add('appearance', new admin_externalpage('managetags', get_string('managetags', 'tag'), "$CFG->wwwroot/tag/manage.php")); 00149 00150 $temp = new admin_settingpage('additionalhtml', get_string('additionalhtml', 'admin')); 00151 $temp->add(new admin_setting_heading('additionalhtml_heading', get_string('additionalhtml_heading', 'admin'), get_string('additionalhtml_desc', 'admin'))); 00152 $temp->add(new admin_setting_configtextarea('additionalhtmlhead', get_string('additionalhtmlhead', 'admin'), get_string('additionalhtmlhead_desc', 'admin'), '', PARAM_RAW)); 00153 $temp->add(new admin_setting_configtextarea('additionalhtmltopofbody', get_string('additionalhtmltopofbody', 'admin'), get_string('additionalhtmltopofbody_desc', 'admin'), '', PARAM_RAW)); 00154 $temp->add(new admin_setting_configtextarea('additionalhtmlfooter', get_string('additionalhtmlfooter', 'admin'), get_string('additionalhtmlfooter_desc', 'admin'), '', PARAM_RAW)); 00155 $ADMIN->add('appearance', $temp); 00156 00157 } // end of speedup 00158