Skip to content

Commit 1fcf0ca

Browse files
committed
MDL-35628 performance: Remove dirname() where possible.
dirname() is a slow function compared with __DIR__ and using '/../'. Moodle has a large number of legacy files that are included each time a page loads and is not able to use an autoloader as it is functional code. This allows those required includes to perform as best as possible in this situation.
1 parent 4ee8ef5 commit 1fcf0ca

File tree

352 files changed

+499
-499
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

352 files changed

+499
-499
lines changed

admin/cli/automated_backups.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
define('CLI_SCRIPT', true);
3030

31-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
31+
require(__DIR__.'/../../config.php');
3232
require_once($CFG->libdir.'/clilib.php'); // cli only functions
3333
require_once($CFG->libdir.'/cronlib.php');
3434

admin/cli/backup.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
define('CLI_SCRIPT', 1);
2727

28-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
28+
require(__DIR__.'/../../config.php');
2929
require_once($CFG->libdir.'/clilib.php');
3030
require_once($CFG->dirroot . '/backup/util/includes/backup_includes.php');
3131

admin/cli/cron.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
define('CLI_SCRIPT', true);
3232

33-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
33+
require(__DIR__.'/../../config.php');
3434
require_once($CFG->libdir.'/clilib.php'); // cli only functions
3535
require_once($CFG->libdir.'/cronlib.php');
3636

admin/cli/install.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090

9191

9292
// distro specific customisation
93-
$distrolibfile = dirname(dirname(dirname(__FILE__))).'/install/distrolib.php';
93+
$distrolibfile = __DIR__.'/../../install/distrolib.php';
9494
$distro = null;
9595
if (file_exists($distrolibfile)) {
9696
require_once($distrolibfile);
@@ -100,7 +100,7 @@
100100
}
101101

102102
// Nothing to do if config.php exists
103-
$configfile = dirname(dirname(dirname(__FILE__))).'/config.php';
103+
$configfile = __DIR__.'/../../config.php';
104104
if (file_exists($configfile)) {
105105
require($configfile);
106106
require_once($CFG->libdir.'/clilib.php');
@@ -159,7 +159,7 @@
159159
global $CFG;
160160
$CFG = new stdClass();
161161
$CFG->lang = 'en';
162-
$CFG->dirroot = dirname(dirname(dirname(__FILE__)));
162+
$CFG->dirroot = dirname(dirname(__DIR__));
163163
$CFG->libdir = "$CFG->dirroot/lib";
164164
$CFG->wwwroot = "http://localhost";
165165
$CFG->httpswwwroot = $CFG->wwwroot;
@@ -172,7 +172,7 @@
172172
$CFG->debugdisplay = true;
173173
$CFG->debugdeveloper = true;
174174

175-
$parts = explode('/', str_replace('\\', '/', dirname(dirname(__FILE__))));
175+
$parts = explode('/', str_replace('\\', '/', dirname(__DIR__)));
176176
$CFG->admin = array_pop($parts);
177177

178178
//point pear include path to moodles lib/pear so that includes and requires will search there for files before anywhere else
@@ -244,7 +244,7 @@
244244
'chmod' => isset($distro->directorypermissions) ? sprintf('%04o',$distro->directorypermissions) : '2777', // let distros set dir permissions
245245
'lang' => $CFG->lang,
246246
'wwwroot' => '',
247-
'dataroot' => empty($distro->dataroot) ? str_replace('\\', '/', dirname(dirname(dirname(dirname(__FILE__)))).'/moodledata'): $distro->dataroot, // initialised later after including libs or by distro
247+
'dataroot' => empty($distro->dataroot) ? str_replace('\\', '/', dirname(dirname(dirname(__DIR__))).'/moodledata'): $distro->dataroot, // initialised later after including libs or by distro
248248
'dbtype' => empty($distro->dbtype) ? $defaultdb : $distro->dbtype, // let distro skip dbtype selection
249249
'dbhost' => empty($distro->dbhost) ? 'localhost' : $distro->dbhost, // let distros set dbhost
250250
'dbname' => 'moodle',

admin/cli/install_database.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
}
7373

7474
// Nothing to do if config.php does not exist
75-
$configfile = dirname(dirname(dirname(__FILE__))).'/config.php';
75+
$configfile = __DIR__.'/../../config.php';
7676
if (!file_exists($configfile)) {
7777
fwrite(STDERR, 'config.php does not exist, can not continue'); // do not localize
7878
fwrite(STDERR, "\n");

admin/cli/mysql_collation.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
define('CLI_SCRIPT', true);
2626

27-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
27+
require(__DIR__.'/../../config.php');
2828
require_once($CFG->libdir.'/clilib.php'); // cli only functions
2929

3030
if ($DB->get_dbfamily() !== 'mysql') {

admin/cli/mysql_compressed_rows.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
define('CLI_SCRIPT', true);
2727

28-
require(dirname(__FILE__).'/../../config.php');
28+
require(__DIR__.'/../../config.php');
2929
require_once($CFG->libdir . '/clilib.php');
3030

3131
if ($DB->get_dbfamily() !== 'mysql') {

admin/cli/mysql_engine.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
define('CLI_SCRIPT', true);
2828

29-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
29+
require(__DIR__.'/../../config.php');
3030
require_once($CFG->libdir.'/clilib.php'); // cli only functions
3131

3232
if ($DB->get_dbfamily() !== 'mysql') {

admin/cli/purge_caches.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
define('CLI_SCRIPT', true);
2525

26-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
26+
require(__DIR__.'/../../config.php');
2727
require_once($CFG->libdir.'/clilib.php');
2828

2929
list($options, $unrecognized) = cli_get_params(array('help' => false), array('h' => 'help'));

admin/cli/reset_password.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
define('CLI_SCRIPT', true);
2828

29-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
29+
require(__DIR__.'/../../config.php');
3030
require_once($CFG->libdir.'/clilib.php'); // cli only functions
3131

3232

admin/cli/upgrade.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
define('CLI_SCRIPT', true);
3939
define('CACHE_DISABLE_ALL', true);
4040

41-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
41+
require(__DIR__.'/../../config.php');
4242
require_once($CFG->libdir.'/adminlib.php'); // various admin-only functions
4343
require_once($CFG->libdir.'/upgradelib.php'); // general upgrade/install related functions
4444
require_once($CFG->libdir.'/clilib.php'); // cli only functions

admin/filters.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2323
*/
2424

25-
require_once(dirname(__FILE__) . '/../config.php');
25+
require_once(__DIR__ . '/../config.php');
2626
require_once($CFG->libdir . '/adminlib.php');
2727

2828
$action = optional_param('action', '', PARAM_ALPHA);

admin/localplugins.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2828
*/
2929

30-
require_once(dirname(dirname(__FILE__)) . '/config.php');
30+
require_once(__DIR__ . '/../config.php');
3131
require_once($CFG->libdir.'/adminlib.php');
3232
require_once($CFG->libdir.'/tablelib.php');
3333

admin/mailout-debugger.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
*/
3030

3131
// Security check.
32-
if (!file_exists(dirname(__FILE__).'/mailout-debugger.enable')) {
32+
if (!file_exists(__DIR__.'/mailout-debugger.enable')) {
3333
mdie("Disabled.");
3434
}
3535
$tmpdir=sys_get_temp_dir(); // default

admin/message.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* @copyright 2011 Lancaster University Network Services Limited
2222
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2323
*/
24-
require_once(dirname(__FILE__) . '/../config.php');
24+
require_once(__DIR__ . '/../config.php');
2525
require_once($CFG->dirroot . '/message/lib.php');
2626
require_once($CFG->libdir.'/adminlib.php');
2727

admin/mnet/access_control.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
// Allows the admin to control user logins from remote moodles.
44

5-
require_once dirname(dirname(dirname(__FILE__))) . '/config.php';
5+
require_once(__DIR__ . '/../../config.php');
66
require_once($CFG->libdir.'/adminlib.php');
77
include_once($CFG->dirroot.'/mnet/lib.php');
88

admin/mnet/delete.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2828
*/
2929

30-
require_once(dirname(dirname(dirname(__FILE__))) . '/config.php');
30+
require(__DIR__.'/../../config.php');
3131
require_once($CFG->libdir . '/adminlib.php');
3232

3333
$step = optional_param('step', 'verify', PARAM_ALPHA);

admin/mnet/index.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
// Allows the admin to configure mnet stuff
44

5-
require_once(dirname(dirname(dirname(__FILE__))) . '/config.php');
5+
require(__DIR__.'/../../config.php');
66
require_once($CFG->libdir.'/adminlib.php');
77
include_once($CFG->dirroot.'/mnet/lib.php');
88

admin/mnet/peers.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2828
*/
2929

30-
require_once(dirname(dirname(dirname(__FILE__))) . '/config.php');
30+
require(__DIR__.'/../../config.php');
3131
require_once($CFG->libdir.'/adminlib.php');
3232
require_once($CFG->dirroot.'/mnet/lib.php');
3333
require_once($CFG->dirroot.'/'.$CFG->admin.'/mnet/peer_forms.php');

admin/mnet/profilefields.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2525
*/
2626

27-
require(dirname(dirname(dirname(__FILE__))).'/config.php');
27+
require(__DIR__.'/../../config.php');
2828
require_once($CFG->libdir.'/adminlib.php');
2929
require_once($CFG->dirroot . '/admin/mnet/profilefields_form.php');
3030
$mnet = get_mnet_environment();

admin/mnet/services.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2626
*/
2727

28-
require_once(dirname(dirname(dirname(__FILE__))) . '/config.php');
28+
require(__DIR__.'/../../config.php');
2929
require_once($CFG->libdir.'/adminlib.php');
3030
require_once($CFG->dirroot . '/admin/mnet/services_form.php');
3131
$mnet = get_mnet_environment();

admin/mnet/testclient.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
1313
* @package mnet
1414
*/
15-
require_once(dirname(dirname(dirname(__FILE__))) . '/config.php');
15+
require(__DIR__.'/../../config.php');
1616
require_once $CFG->dirroot.'/mnet/xmlrpc/client.php';
1717
require_once($CFG->libdir.'/adminlib.php');
1818
include_once($CFG->dirroot.'/mnet/lib.php');

admin/mnet/trustedhosts.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
// Allows the admin to configure services for remote hosts
33

4-
require_once(dirname(dirname(dirname(__FILE__))) . '/config.php');
4+
require(__DIR__.'/../../config.php');
55
require_once($CFG->libdir.'/adminlib.php');
66
include_once($CFG->dirroot.'/mnet/lib.php');
77

admin/oauth2callback.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2929
*/
3030

31-
require_once(dirname(dirname(__FILE__)).'/config.php');
31+
require_once(__DIR__ . '/../config.php');
3232

3333
// The authorization code generated by the authorization server.
3434
$code = required_param('code', PARAM_RAW);

admin/plagiarism.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2727
*/
2828

29-
require_once(dirname(dirname(__FILE__)) . '/config.php');
29+
require_once(__DIR__ . '/../config.php');
3030
require_once($CFG->libdir.'/adminlib.php');
3131
require_once($CFG->libdir.'/tablelib.php');
3232

admin/plugins.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2525
*/
2626

27-
require_once(dirname(dirname(__FILE__)) . '/config.php');
27+
require_once(__DIR__ . '/../config.php');
2828
require_once($CFG->libdir . '/adminlib.php');
2929
require_once($CFG->libdir . '/filelib.php');
3030

admin/portfolio.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
require_once(dirname(dirname(__FILE__)) . '/config.php');
3+
require_once(__DIR__ . '/../config.php');
44
require_once($CFG->libdir . '/portfoliolib.php');
55
require_once($CFG->libdir . '/portfolio/forms.php');
66
require_once($CFG->libdir . '/adminlib.php');

admin/process_email.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
//error_reporting(0);
55
//ini_set('display_errors',0);
6-
require_once(dirname(dirname(__FILE__)).'/config.php');
6+
require_once(__DIR__ . '/../config.php');
77
$tmp = explode('@',$_ENV['RECIPIENT']);
88
$address = $tmp[0];
99

admin/qbehaviours.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
*/
2626

2727

28-
require_once(dirname(__FILE__) . '/../config.php');
28+
require_once(__DIR__ . '/../config.php');
2929
require_once($CFG->libdir . '/questionlib.php');
3030
require_once($CFG->libdir . '/adminlib.php');
3131
require_once($CFG->libdir . '/tablelib.php');

admin/qtypes.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
*/
2626

2727

28-
require_once(dirname(__FILE__) . '/../config.php');
28+
require_once(__DIR__ . '/../config.php');
2929
require_once($CFG->libdir . '/questionlib.php');
3030
require_once($CFG->libdir . '/adminlib.php');
3131
require_once($CFG->libdir . '/tablelib.php');

admin/reports.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2828
*/
2929

30-
require_once(dirname(__FILE__) . '/../config.php');
30+
require_once(__DIR__ . '/../config.php');
3131
require_once($CFG->libdir.'/adminlib.php');
3232
require_once($CFG->libdir.'/tablelib.php');
3333

admin/repository.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
// You should have received a copy of the GNU General Public License
1515
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
1616

17-
require_once(dirname(dirname(__FILE__)) . '/config.php');
17+
require_once(__DIR__ . '/../config.php');
1818
require_once($CFG->dirroot . '/repository/lib.php');
1919
require_once($CFG->libdir . '/adminlib.php');
2020

admin/repositoryinstance.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
// You should have received a copy of the GNU General Public License
1515
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
1616

17-
require_once(dirname(dirname(__FILE__)) . '/config.php');
17+
require_once(__DIR__ . '/../config.php');
1818
require_once($CFG->dirroot . '/repository/lib.php');
1919
require_once($CFG->libdir . '/adminlib.php');
2020

admin/resetemoticons.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2424
*/
2525

26-
require(dirname(dirname(__FILE__)) . '/config.php');
26+
require(__DIR__ . '/../config.php');
2727
require_once($CFG->libdir.'/adminlib.php');
2828

2929
admin_externalpage_setup('resetemoticons');

admin/roles/allow.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2323
*/
2424

25-
require_once(dirname(__FILE__) . '/../../config.php');
25+
require_once(__DIR__ . '/../../config.php');
2626
require_once($CFG->libdir . '/adminlib.php');
2727

2828
$mode = required_param('mode', PARAM_ALPHANUMEXT);

admin/roles/check.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2323
*/
2424

25-
require_once(dirname(__FILE__) . '/../../config.php');
25+
require_once(__DIR__ . '/../../config.php');
2626

2727
$contextid = required_param('contextid', PARAM_INT);
2828

admin/roles/define.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2929
*/
3030

31-
require_once(dirname(__FILE__) . '/../../config.php');
31+
require_once(__DIR__ . '/../../config.php');
3232
require_once($CFG->libdir.'/adminlib.php');
3333

3434
$action = required_param('action', PARAM_ALPHA);

admin/roles/manage.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
3232
*/
3333

34-
require_once(dirname(__FILE__) . '/../../config.php');
34+
require_once(__DIR__ . '/../../config.php');
3535
require_once($CFG->libdir.'/adminlib.php');
3636
require_once($CFG->dirroot . '/' . $CFG->admin . '/roles/lib.php');
3737

admin/tool/assignmentupgrade/batchupgrade.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
define('NO_OUTPUT_BUFFERING', true);
2626

27-
require_once(dirname(__FILE__) . '/../../../config.php');
27+
require_once(__DIR__ . '/../../../config.php');
2828
require_once($CFG->libdir . '/adminlib.php');
2929
require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/locallib.php');
3030
require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/upgradableassignmentstable.php');

admin/tool/assignmentupgrade/index.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
3434
*/
3535

36-
require_once(dirname(__FILE__) . '/../../../config.php');
36+
require_once(__DIR__ . '/../../../config.php');
3737
require_once($CFG->libdir . '/adminlib.php');
3838
require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/locallib.php');
3939

0 commit comments

Comments
 (0)