function node_access_rebuild_progressive_trigger in Node Access Rebuild Progressive 8
Same name and namespace in other branches
- 7 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()
- node_access_rebuild_progressive_cron in ./
node_access_rebuild_progressive.module - Implements hook_cron().
- _drush_node_access_rebuild_progressive_rebuild in ./
node_access_rebuild_progressive.module - Rebuilds the node access grants table.
File
- ./
node_access_rebuild_progressive.module, line 30 - 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(\Drupal::moduleHandler()
->getImplementations('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();
\Drupal::state()
->set('node_access_rebuild_progressive.current', $highest + 1);
\Drupal::logger('node_access_rebuild_progressive')
->info('%count nodes queued for node access rebuild.', [
'%count' => $count,
]);
}