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