diff options
author | David Rothstein <drothstein@gmail.com> | 2016-02-01 18:10:52 -0500 |
---|---|---|
committer | David Rothstein <drothstein@gmail.com> | 2016-02-01 18:10:52 -0500 |
commit | f0d59102f528a9c66b1c3355bb6b2ee48f8b0282 (patch) | |
tree | 5c2f0a90964d7d2635e2266b75e13fd2fce4cb88 /includes | |
parent | 50c9b281548c18f09f03625a7bd41acc296a18c1 (diff) | |
download | brdo-f0d59102f528a9c66b1c3355bb6b2ee48f8b0282.tar.gz brdo-f0d59102f528a9c66b1c3355bb6b2ee48f8b0282.tar.bz2 |
Issue #1443308 by cilefen, joseph.olstad, mikeytown2, joelpittet, btopro, alexpott, jonhattan, marcingy, stewsnooze, Fabianx, pounard, tstoeckler, penyaskito: Add static cache to module_load_include()
Diffstat (limited to 'includes')
-rw-r--r-- | includes/module.inc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/includes/module.inc b/includes/module.inc index 7bf619b47..b92abcde9 100644 --- a/includes/module.inc +++ b/includes/module.inc @@ -320,16 +320,27 @@ function module_load_install($module) { * The name of the included file, if successful; FALSE otherwise. */ function module_load_include($type, $module, $name = NULL) { + static $files = array(); + if (!isset($name)) { $name = $module; } + $key = $type . ':' . $module . ':' . $name; + if (isset($files[$key])) { + return $files[$key]; + } + if (function_exists('drupal_get_path')) { $file = DRUPAL_ROOT . '/' . drupal_get_path('module', $module) . "/$name.$type"; if (is_file($file)) { require_once $file; + $files[$key] = $file; return $file; } + else { + $files[$key] = FALSE; + } } return FALSE; } |