From c45264163cd715d6105af2af53f11dfe5b519a92 Mon Sep 17 00:00:00 2001 From: Neil Drumm Date: Mon, 25 Dec 2006 22:02:05 +0000 Subject: #104508 by Steven. Use standard SQL for updating post grants. --- modules/node/node.module | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) (limited to 'modules/node/node.module') diff --git a/modules/node/node.module b/modules/node/node.module index f301e635a..77a31ad9d 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -2848,33 +2848,17 @@ function node_access_write_grants($node, $grants, $realm = NULL, $delete = TRUE) db_query($query, $node->nid, $realm); } - // only perform work when node_access modules are active + // Only perform work when node_access modules are active. if (count(module_implements('node_grants'))) { - // This optimization reduces the number of db inserts a little bit. We could - // optimize further for mass updates if we wanted. - $values = array(); - $query = ''; foreach ($grants as $grant) { if ($realm && $realm != $grant['realm']) { continue; } // Only write grants; denies are implicit. if ($grant['grant_view'] || $grant['grant_update'] || $grant['grant_delete']) { - $query .= ($query ? ', ' : '') . "(%d, '%s', %d, %d, %d, %d)"; - - $values[] = $node->nid; - $values[] = $grant['realm']; - $values[] = $grant['gid']; - $values[] = $grant['grant_view']; - $values[] = $grant['grant_update']; - $values[] = $grant['grant_delete']; + db_query("INSERT INTO {node_access} (nid, realm, gid, grant_view, grant_update, grant_delete) VALUES (%d, '%s', %d, %d, %d, %d)", $node->nid, $grant['realm'], $grant['gid'], $grant['grant_view'], $grant['grant_update'], $grant['grant_delete']); } } - - if ($values) { - $query = "INSERT INTO {node_access} (nid, realm, gid, grant_view, grant_update, grant_delete) VALUES " . $query; - db_query($query, $values); - } } } -- cgit v1.2.3