You are here

function _book_access_ui_rebuild_batch_operation in Book access 6.2

Same name and namespace in other branches
  1. 7.2 book_access_ui.admin.inc \_book_access_ui_rebuild_batch_operation()
1 string reference to '_book_access_ui_rebuild_batch_operation'
book_access_ui_grants_form_submit in ./book_access_ui.admin.inc
Form submission callback for book_access_ui_grants_form().

File

./book_access_ui.admin.inc, line 450
Administration interface for the Book access module.

Code

function _book_access_ui_rebuild_batch_operation($bid, &$context) {
  if (empty($context['sandbox'])) {
    $context['sandbox']['current_node'] = 0;
    $context['sandbox']['max'] = db_result(db_query('SELECT COUNT(DISTINCT nid) FROM {book} WHERE bid = %d', $bid));
    $context['sandbox']['progress'] = 0;
  }
  $result = db_query_range("SELECT nid FROM {book} WHERE nid > %d AND bid = %d ORDER BY nid ASC", $context['sandbox']['current_node'], $bid, 0, 20);
  while ($row = db_fetch_array($result)) {
    if ($node = node_load($row['nid'], NULL, TRUE)) {
      node_access_acquire_grants($node);
      $context['message'] = t('Rebuilding access permissions for %title', array(
        '%title' => $node->title,
      ));
    }
    $context['sandbox']['progress']++;
    $context['sandbox']['current_node'] = $row['nid'];
  }
  if ($context['sandbox']['progress'] != $context['sandbox']['max']) {
    $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
  }
}