summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/module.inc11
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;
}