summaryrefslogtreecommitdiff
path: root/modules/node/node.module
diff options
context:
space:
mode:
authorNeil Drumm <drumm@3064.no-reply.drupal.org>2006-12-25 22:02:05 +0000
committerNeil Drumm <drumm@3064.no-reply.drupal.org>2006-12-25 22:02:05 +0000
commitc45264163cd715d6105af2af53f11dfe5b519a92 (patch)
tree38402c3a50c552d53bdc066df5d771f71559ebd2 /modules/node/node.module
parent9c86de1824e0372848af8963ef3b4a61254f66fa (diff)
downloadbrdo-c45264163cd715d6105af2af53f11dfe5b519a92.tar.gz
brdo-c45264163cd715d6105af2af53f11dfe5b519a92.tar.bz2
#104508 by Steven. Use standard SQL for updating post grants.
Diffstat (limited to 'modules/node/node.module')
-rw-r--r--modules/node/node.module20
1 files changed, 2 insertions, 18 deletions
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);
- }
}
}