? 115315.profile_autocomplete.patch
? 145164_3.patch
? 204106-path-multilingual-alias-test.patch
? 223820-core-book-empty-log.patch
? 261258-node-save-required-fields-3.patch
? 299136-book-test-extended.patch
? 304924-exception-handler_0.patch
? 304924_3.patch
? 314349-comment-stop-gap_1_0.patch
? SA-2008-044-7.x.patch
? admincontentnode_0.patch
? anon_user_0.patch
? completedjv.patch
? content-type-js-302054-22.patch
? file_test_cleanup_0.patch
? filterTips_0.patch
? filter_administration.patch
? help.test.patch
? incremental_filter_access_control_29.patch
? install_check_for_defaultsettingsfile_1.patch
? installer-status-report-2008-09-27.patch
? installer_status_report.patch
? installer_status_report_1.patch
? installer_status_report_3.patch
? node-type-namespace-206138-15.patch
? node-type-namespace-206138-27.patch
? node-type-namespace-206138-32a.patch
? node-type-namespace-206138-34.patch
? node_load.patch
? node_page.patch
? password_checker_8.patch
? password_checker_8.patch.1
? path.patch
? path_alias_translated_nodes.patch
? path_revert.patch
? recentPollTest.3.patch
? should_learn_how_to_use_git_or_something.patch
? static_tree.patch
? static_tree.patch.1
? table_header_adjust.patch
? taxonomy-reset-vocabulary-cache-296910-1.patch
? taxonomy-synonym-cache_0.patch.txt
? taxonomy_hierarchy.patch
? taxonomy_isset_plus_test.patch
? taxonomy_isset_plus_test.patch.1
? taxonomy_objects.patch
? taxonomy_term_load.patch
? term_hooks.patch
? term_hooks_0.patch
? term_hooks_0.patch.1
? term_hooks_4.patch
? term_object_again.patch
? trackerfix.patch
? upload_test_0.patch
? user_107.patch
? variable_defaults_0.patch
? vocabulary_static_reset.patch
? modules/node/.node.module.swp
? modules/node/content_types.js
? modules/simpletest/tests/file_test.info
? modules/simpletest/tests/file_test.module
? modules/taxonomy/taxonomy_vocabulary_load.patch
? modules/user/user.admin.js
? sites/default/files
? sites/default/hello
? sites/default/settings.php
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.988
diff -u -p -r1.988 node.module
--- modules/node/node.module	13 Oct 2008 00:33:03 -0000	1.988
+++ modules/node/node.module	21 Oct 2008 18:01:58 -0000
@@ -726,6 +726,69 @@ function node_invoke_nodeapi(&$node, $op
 }
 
 /**
+ * Load node objects from the database.
+ *
+ * @param $nids
+ *  A single nid or array of nids.
+ * @param $reset
+ *   Whether to reset the internal node_load cache.
+ *
+ * @return
+ *   An node object, or an object containing node objects indexed by nid.
+ */
+function node_load2($nids, $reset = FALSE) {
+  static $cache = array();
+
+  if ($reset && is_numeric($nids)) {
+    unset($cache[$nids]);
+  }
+  elseif ($reset && is_array($nids)) {
+    foreach $nids AS $nid)) {
+      unset($cache[$nid]);
+    }
+  }
+
+  $nodes = new stdClass;
+
+  if (is_numeric($nids)) {
+    // If the node is in the internal cache, load it from there.
+    if (isset($cache[$nids]) {
+      $nodes->nids = $cache[$nids];
+    }
+    else {
+      $nodes->nids = db_query("SELECT n.nid, n.type, n.language, n.uid, n.status, n.created, n.changed, n.comment, n.promote, n.moderate, n.sticky, n.tnid, n.translate, r.vid, r.uid AS revision_uid, r.title, r.body, r.teaser, r.log, r.timestamp AS revision_timestamp, r.format, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN node_revisions r ON r.vid = n.vid WHERE n.nid = :nid", array(':nid' => $nids))->fetchObject();
+      module_invoke_all('nodeapi_load', $nodes);
+      $cache[$nids] = $nodes->nids;
+    }
+
+    return $nodes->nids;
+  }
+
+  elseif (is_array($nids)) {
+    // If any of the nodes are cached, load them from there and exclude 
+    // from the subsequent query.
+    foreach ($nids AS $nid) {
+      if (isset($cache[$nid])) {
+        $nodes->$nid = $cache[$nid];
+        unset($nids[$nid]);
+      }
+    }
+    if (!empty($nids)) {
+      $result = db_query("SELECT n.nid, n.type, n.language, n.uid, n.status, n.created, n.changed, n.comment, n.promote, n.moderate, n.sticky, n.tnid, n.translate, r.vid, r.uid AS revision_uid, r.title, r.body, r.teaser, r.log, r.timestamp AS revision_timestamp, r.format, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN node_revisions r ON r.vid = n.vid WHERE n.nid IN(:nids)", array(':nids' => db_placeholders($nids)));
+      foreach ($result AS $node) {
+        $nodes->node->nid] = $node;
+      }
+      module_invoke_all('nodeapi_load', $nodes);
+      foreach ($nodes AS $node) {
+        $cache[$node->nid] = $node;
+      }
+    }
+    return $nodes;
+  }
+
+}
+
+/**
  * Load a node object from the database.
  *
  * @param $param
Index: modules/openid/openid.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/openid/openid.pages.inc,v
retrieving revision 1.10
diff -u -p -r1.10 openid.pages.inc
--- modules/openid/openid.pages.inc	13 Oct 2008 00:33:03 -0000	1.10
+++ modules/openid/openid.pages.inc	21 Oct 2008 18:01:58 -0000
@@ -44,7 +44,7 @@ function openid_user_identities($account
 
   $result = db_query("SELECT * FROM {authmap} WHERE module='openid' AND uid=%d", $account->uid);
   while ($identity = db_fetch_object($result)) {
-    $rows[] = array($identity->authname, l(t('Delete'), 'user/' . $account->uid . '/openid/delete/' . $identity->aid));
+    $rows[] = array(check_plain($identity->authname), l(t('Delete'), 'user/' . $account->uid . '/openid/delete/' . $identity->aid));
   }
 
   $output = theme('table', $header, $rows);
