function node_access_rebuild_progressive_trigger in Node Access Rebuild Progressive 7
Same name and namespace in other branches
- 8 node_access_rebuild_progressive.module \node_access_rebuild_progressive_trigger()
- 2.x node_access_rebuild_progressive.module \node_access_rebuild_progressive_trigger()
Initiate the full rebuild.
2 calls to node_access_rebuild_progressive_trigger()
- drush_node_access_rebuild_progressive_rebuild in ./
node_access_rebuild_progressive.drush.inc - Rebuilds the node access grants table.
- node_access_rebuild_progressive_cron in ./
node_access_rebuild_progressive.module - Implements hook_cron().
File
- ./
node_access_rebuild_progressive.module, line 78 - Provides ability to rebuild node access silently.
Code
function node_access_rebuild_progressive_trigger() {
// Prevents default message/behaviour.
node_access_needs_rebuild(FALSE);
// Add default grants in the unlikely case
// no modules implement node_grants anymore.
if (!count(module_implements('node_grants'))) {
node_access_rebuild_progressive_set_default();
return node_access_rebuild_progressive_finished();
}
// Clean up possible mismatches.
db_query("DELETE FROM {node_access} WHERE nid NOT IN (SELECT nid FROM {node})");
// We only need the current one, nodes created afterward would get processed
// at save time.
$highest = db_query("SELECT nid FROM {node} ORDER BY nid DESC LIMIT 0,1")
->fetchField();
$count = db_query("SELECT count(nid) FROM {node}")
->fetchField();
variable_set('node_access_rebuild_progressive_current', $highest + 1);
watchdog('node_access_rebuild_progressive', '%count nodes queued for node access rebuild.', array(
'%count' => $count,
), WATCHDOG_INFO);
}