diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/node/node.module | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/modules/node/node.module b/modules/node/node.module index 16d226f03..81f311db8 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -490,10 +490,9 @@ function node_load($param = array(), $revision = NULL, $reset = NULL) { $nodes = array(); } - $cachable = FALSE; + $cachable = ($revision == NULL); $arguments = array(); if (is_numeric($param)) { - $cachable = $revision == NULL; if ($cachable && isset($nodes[$param])) { return is_object($nodes[$param]) ? drupal_clone($nodes[$param]) : $nodes[$param]; } @@ -533,10 +532,9 @@ function node_load($param = array(), $revision = NULL, $reset = NULL) { $node->$key = $value; } } - } - - if ($cachable) { - $nodes[$param] = is_object($node) ? drupal_clone($node) : $node; + if ($cachable) { + $nodes[$node->nid] = is_object($node) ? drupal_clone($node) : $node; + } } return $node; |