3 // * Miscellaneous settings
5 if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
7 // Experimental settings page
8 $ADMIN->add('development', new admin_category('experimental', new lang_string('experimental','admin')));
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));
14 $temp->add(new admin_setting_configcheckbox('dndallowtextandlinks', new lang_string('dndallowtextandlinks', 'admin'), new lang_string('configdndallowtextandlinks', 'admin'), 0));
16 $temp->add(new admin_setting_configexecutable('pathtosassc', new lang_string('pathtosassc', 'admin'), new lang_string('pathtosassc_help', 'admin'), ''));
18 $temp->add(new admin_setting_configcheckbox('contextlocking', new lang_string('contextlocking', 'core_admin'),
19 new lang_string('contextlocking_desc', 'core_admin'), 0));
21 $temp->add(new admin_setting_configcheckbox(
22 'contextlockappliestoadmin',
23 new lang_string('contextlockappliestoadmin', 'core_admin'),
24 new lang_string('contextlockappliestoadmin_desc', 'core_admin'),
28 $temp->add(new admin_setting_configcheckbox('forceclean', new lang_string('forceclean', 'core_admin'),
29 new lang_string('forceclean_desc', 'core_admin'), 0));
31 // Relative course dates mode setting.
32 $temp->add(new admin_setting_configcheckbox('enablecourserelativedates',
33 new lang_string('enablecourserelativedates', 'core_admin'),
34 new lang_string('enablecourserelativedates_desc', 'core_admin'), 0));
36 $ADMIN->add('experimental', $temp);
38 // "debugging" settingpage
39 $temp = new admin_settingpage('debugging', new lang_string('debugging', 'admin'));
40 $temp->add(new admin_setting_special_debug());
41 $temp->add(new admin_setting_configcheckbox('debugdisplay', new lang_string('debugdisplay', 'admin'),
42 new lang_string('configdebugdisplay', 'admin'), 0));
43 $temp->add(new admin_setting_configcheckbox('perfdebug', new lang_string('perfdebug', 'admin'), new lang_string('configperfdebug', 'admin'), '7', '15', '7'));
44 $temp->add(new admin_setting_configcheckbox('debugstringids', new lang_string('debugstringids', 'admin'), new lang_string('debugstringids_desc', 'admin'), 0));
45 $temp->add(new admin_setting_configselect('debugsqltrace',
46 new lang_string('debugsqltrace', 'admin'),
47 new lang_string('debugsqltrace_desc', 'admin'), 0, array(
48 0 => new lang_string('disabled', 'admin'),
49 1 => new lang_string('debugsqltrace1', 'admin'),
50 2 => new lang_string('debugsqltrace2', 'admin'),
51 100 => new lang_string('debugsqltrace100', 'admin'))));
52 $temp->add(new admin_setting_configcheckbox('debugvalidators', new lang_string('debugvalidators', 'admin'), new lang_string('configdebugvalidators', 'admin'), 0));
53 $temp->add(new admin_setting_configcheckbox('debugpageinfo', new lang_string('debugpageinfo', 'admin'), new lang_string('configdebugpageinfo', 'admin'), 0));
54 $ADMIN->add('development', $temp);
56 // "Profiling" settingpage (conditionally if the 'xhprof' extension is available only).
57 $xhprofenabled = extension_loaded('tideways_xhprof');
58 $xhprofenabled = $xhprofenabled ||
extension_loaded('tideways');
59 $xhprofenabled = $xhprofenabled ||
extension_loaded('xhprof');
60 $temp = new admin_settingpage('profiling', new lang_string('profiling', 'admin'), 'moodle/site:config', !$xhprofenabled);
61 // Main profiling switch.
62 $temp->add(new admin_setting_configcheckbox('profilingenabled', new lang_string('profilingenabled', 'admin'), new lang_string('profilingenabled_help', 'admin'), false));
63 // List of URLs that will be automatically profiled.
64 $temp->add(new admin_setting_configtextarea('profilingincluded', new lang_string('profilingincluded', 'admin'), new lang_string('profilingincluded_help', 'admin'), ''));
65 // List of URLs that won't be profiled ever.
66 $temp->add(new admin_setting_configtextarea('profilingexcluded', new lang_string('profilingexcluded', 'admin'), new lang_string('profilingexcluded_help', 'admin'), ''));
67 // Allow random profiling each XX requests.
68 $temp->add(new admin_setting_configtext('profilingautofrec', new lang_string('profilingautofrec', 'admin'), new lang_string('profilingautofrec_help', 'admin'), 0, PARAM_INT
));
69 // Allow PROFILEME/DONTPROFILEME GPC.
70 $temp->add(new admin_setting_configcheckbox('profilingallowme', new lang_string('profilingallowme', 'admin'), new lang_string('profilingallowme_help', 'admin'), false));
71 // Allow PROFILEALL/PROFILEALLSTOP GPC.
72 $temp->add(new admin_setting_configcheckbox('profilingallowall', new lang_string('profilingallowall', 'admin'), new lang_string('profilingallowall_help', 'admin'), false));
73 $temp->add(new admin_setting_configtext('profilingslow', new lang_string('profilingslow', 'admin'),
74 new lang_string('profilingslow_help', 'admin'), 0, PARAM_FLOAT
));
75 // TODO: Allow to skip PHP functions (XHPROF_FLAGS_NO_BUILTINS)
76 // TODO: Allow to skip call_user functions (ignored_functions array)
77 // Specify the life time (in minutes) of profiling runs.
78 $temp->add(new admin_setting_configselect('profilinglifetime', new lang_string('profilinglifetime', 'admin'), new lang_string('profilinglifetime_help', 'admin'), 24*60, array(
79 0 => new lang_string('neverdeleteruns', 'admin'),
80 30*24*60 => new lang_string('numdays', '', 30),
81 15*24*60 => new lang_string('numdays', '', 15),
82 7*24*60 => new lang_string('numdays', '', 7),
83 4*24*60 => new lang_string('numdays', '', 4),
84 2*24*60 => new lang_string('numdays', '', 2),
85 24*60 => new lang_string('numhours', '', 24),
86 16*80 => new lang_string('numhours', '', 16),
87 8*60 => new lang_string('numhours', '', 8),
88 4*60 => new lang_string('numhours', '', 4),
89 2*60 => new lang_string('numhours', '', 2),
90 60 => new lang_string('numminutes', '', 60),
91 30 => new lang_string('numminutes', '', 30),
92 15 => new lang_string('numminutes', '', 15))));
93 // Define the prefix to be added to imported profiling runs.
94 $temp->add(new admin_setting_configtext('profilingimportprefix',
95 new lang_string('profilingimportprefix', 'admin'),
96 new lang_string('profilingimportprefix_desc', 'admin'), '(I)', PARAM_TAG
, 10));
98 // Add the 'profiling' page to admin block.
99 $ADMIN->add('development', $temp);
101 // Web service test clients DO NOT COMMIT : THE EXTERNAL WEB PAGE IS NOT AN ADMIN PAGE !!!!!
102 $ADMIN->add('development', new admin_externalpage('testclient', new lang_string('testclient', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/testclient.php"));
105 if ($CFG->mnet_dispatcher_mode
!== 'off') {
106 $ADMIN->add('development', new admin_externalpage('mnettestclient', new lang_string('testclient', 'mnet'), "$CFG->wwwroot/$CFG->admin/mnet/testclient.php"));
109 $ADMIN->add('development', new admin_externalpage('purgecaches', new lang_string('purgecachespage', 'admin'),
110 "$CFG->wwwroot/$CFG->admin/purgecaches.php"));
112 $ADMIN->add('development', new admin_externalpage('thirdpartylibs', new lang_string('thirdpartylibs','admin'), "$CFG->wwwroot/$CFG->admin/thirdpartylibs.php"));