1 | <?php |
---|
2 | |
---|
3 | // * Miscellaneous settings |
---|
4 | |
---|
5 | if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page |
---|
6 | |
---|
7 | // Experimental settings page |
---|
8 | $ADMIN->add('development', new admin_category('experimental', new lang_string('experimental','admin'))); |
---|
9 | |
---|
10 | $temp = new admin_settingpage('experimentalsettings', new lang_string('experimentalsettings', 'admin')); |
---|
11 | //TODO: Re-enable cc-import once re-implemented in 2.0.x |
---|
12 | //$temp->add(new admin_setting_configcheckbox('enableimsccimport', new lang_string('enable_cc_import', 'imscc'), new lang_string('enable_cc_import_description', 'imscc'), 0)); |
---|
13 | $temp->add(new admin_setting_configcheckbox('enablesafebrowserintegration', new lang_string('enablesafebrowserintegration', 'admin'), new lang_string('configenablesafebrowserintegration', 'admin'), 0)); |
---|
14 | |
---|
15 | $temp->add(new admin_setting_configcheckbox('dndallowtextandlinks', new lang_string('dndallowtextandlinks', 'admin'), new lang_string('configdndallowtextandlinks', 'admin'), 0)); |
---|
16 | // The CSS optimiser setting. When changed we need to reset the theme caches in order to ensure they are regenerated through the optimiser. |
---|
17 | $enablecssoptimiser = new admin_setting_configcheckbox('enablecssoptimiser', new lang_string('enablecssoptimiser','admin'), new lang_string('enablecssoptimiser_desc','admin'), 0); |
---|
18 | $enablecssoptimiser->set_updatedcallback('theme_reset_all_caches'); |
---|
19 | $temp->add($enablecssoptimiser); |
---|
20 | |
---|
21 | // Backup archive .mbz format: switching to .tar.gz enables larger files, better |
---|
22 | // progress reporting and possibly better performance. This is an experimental |
---|
23 | // setting but if successful, should be removed and enabled by default in a future |
---|
24 | // version. Note: this setting controls newly-created backups only; restore always |
---|
25 | // supports both formats. |
---|
26 | $temp->add(new admin_setting_configcheckbox('enabletgzbackups', |
---|
27 | new lang_string('enabletgzbackups', 'admin'), |
---|
28 | new lang_string('enabletgzbackups_desc', 'admin'), 0)); |
---|
29 | |
---|
30 | $ADMIN->add('experimental', $temp); |
---|
31 | |
---|
32 | // "debugging" settingpage |
---|
33 | $temp = new admin_settingpage('debugging', new lang_string('debugging', 'admin')); |
---|
34 | $temp->add(new admin_setting_special_debug()); |
---|
35 | $temp->add(new admin_setting_configcheckbox('debugdisplay', new lang_string('debugdisplay', 'admin'), new lang_string('configdebugdisplay', 'admin'), ini_get_bool('display_errors'))); |
---|
36 | $temp->add(new admin_setting_configcheckbox('debugsmtp', new lang_string('debugsmtp', 'admin'), new lang_string('configdebugsmtp', 'admin'), 0)); |
---|
37 | $temp->add(new admin_setting_configcheckbox('perfdebug', new lang_string('perfdebug', 'admin'), new lang_string('configperfdebug', 'admin'), '7', '15', '7')); |
---|
38 | $temp->add(new admin_setting_configcheckbox('debugstringids', new lang_string('debugstringids', 'admin'), new lang_string('debugstringids_desc', 'admin'), 0)); |
---|
39 | $temp->add(new admin_setting_configcheckbox('debugvalidators', new lang_string('debugvalidators', 'admin'), new lang_string('configdebugvalidators', 'admin'), 0)); |
---|
40 | $temp->add(new admin_setting_configcheckbox('debugpageinfo', new lang_string('debugpageinfo', 'admin'), new lang_string('configdebugpageinfo', 'admin'), 0)); |
---|
41 | $ADMIN->add('development', $temp); |
---|
42 | |
---|
43 | // "Profiling" settingpage (conditionally if the 'xhprof' extension is available only). |
---|
44 | $xhprofenabled = extension_loaded('xhprof') && function_exists('xhprof_enable'); |
---|
45 | $temp = new admin_settingpage('profiling', new lang_string('profiling', 'admin'), 'moodle/site:config', !$xhprofenabled); |
---|
46 | // Main profiling switch. |
---|
47 | $temp->add(new admin_setting_configcheckbox('profilingenabled', new lang_string('profilingenabled', 'admin'), new lang_string('profilingenabled_help', 'admin'), false)); |
---|
48 | // List of URLs that will be automatically profiled. |
---|
49 | $temp->add(new admin_setting_configtextarea('profilingincluded', new lang_string('profilingincluded', 'admin'), new lang_string('profilingincluded_help', 'admin'), '')); |
---|
50 | // List of URLs that won't be profiled ever. |
---|
51 | $temp->add(new admin_setting_configtextarea('profilingexcluded', new lang_string('profilingexcluded', 'admin'), new lang_string('profilingexcluded_help', 'admin'), '')); |
---|
52 | // Allow random profiling each XX requests. |
---|
53 | $temp->add(new admin_setting_configtext('profilingautofrec', new lang_string('profilingautofrec', 'admin'), new lang_string('profilingautofrec_help', 'admin'), 0, PARAM_INT)); |
---|
54 | // Allow PROFILEME/DONTPROFILEME GPC. |
---|
55 | $temp->add(new admin_setting_configcheckbox('profilingallowme', new lang_string('profilingallowme', 'admin'), new lang_string('profilingallowme_help', 'admin'), false)); |
---|
56 | // Allow PROFILEALL/PROFILEALLSTOP GPC. |
---|
57 | $temp->add(new admin_setting_configcheckbox('profilingallowall', new lang_string('profilingallowall', 'admin'), new lang_string('profilingallowall_help', 'admin'), false)); |
---|
58 | // TODO: Allow to skip PHP functions (XHPROF_FLAGS_NO_BUILTINS) |
---|
59 | // TODO: Allow to skip call_user functions (ignored_functions array) |
---|
60 | // Specify the life time (in minutes) of profiling runs. |
---|
61 | $temp->add(new admin_setting_configselect('profilinglifetime', new lang_string('profilinglifetime', 'admin'), new lang_string('profilinglifetime_help', 'admin'), 24*60, array( |
---|
62 | 0 => new lang_string('neverdeleteruns', 'admin'), |
---|
63 | 30*24*60 => new lang_string('numdays', '', 30), |
---|
64 | 15*24*60 => new lang_string('numdays', '', 15), |
---|
65 | 7*24*60 => new lang_string('numdays', '', 7), |
---|
66 | 4*24*60 => new lang_string('numdays', '', 4), |
---|
67 | 2*24*60 => new lang_string('numdays', '', 2), |
---|
68 | 24*60 => new lang_string('numhours', '', 24), |
---|
69 | 16*80 => new lang_string('numhours', '', 16), |
---|
70 | 8*60 => new lang_string('numhours', '', 8), |
---|
71 | 4*60 => new lang_string('numhours', '', 4), |
---|
72 | 2*60 => new lang_string('numhours', '', 2), |
---|
73 | 60 => new lang_string('numminutes', '', 60), |
---|
74 | 30 => new lang_string('numminutes', '', 30), |
---|
75 | 15 => new lang_string('numminutes', '', 15)))); |
---|
76 | // Define the prefix to be added to imported profiling runs. |
---|
77 | $temp->add(new admin_setting_configtext('profilingimportprefix', |
---|
78 | new lang_string('profilingimportprefix', 'admin'), |
---|
79 | new lang_string('profilingimportprefix_desc', 'admin'), '(I)', PARAM_TAG, 10)); |
---|
80 | |
---|
81 | // Add the 'profiling' page to admin block. |
---|
82 | $ADMIN->add('development', $temp); |
---|
83 | |
---|
84 | // Web service test clients DO NOT COMMIT : THE EXTERNAL WEB PAGE IS NOT AN ADMIN PAGE !!!!! |
---|
85 | $ADMIN->add('development', new admin_externalpage('testclient', new lang_string('testclient', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/testclient.php")); |
---|
86 | |
---|
87 | |
---|
88 | if ($CFG->mnet_dispatcher_mode !== 'off') { |
---|
89 | $ADMIN->add('development', new admin_externalpage('mnettestclient', new lang_string('testclient', 'mnet'), "$CFG->wwwroot/$CFG->admin/mnet/testclient.php")); |
---|
90 | } |
---|
91 | |
---|
92 | $ADMIN->add('development', new admin_externalpage('purgecaches', new lang_string('purgecaches','admin'), "$CFG->wwwroot/$CFG->admin/purgecaches.php")); |
---|
93 | |
---|
94 | $ADMIN->add('development', new admin_externalpage('thirdpartylibs', new lang_string('thirdpartylibs','admin'), "$CFG->wwwroot/$CFG->admin/thirdpartylibs.php")); |
---|
95 | } // end of speedup |
---|