function _book_access_ui_rebuild_batch_operation in Book access 7.2
Same name and namespace in other branches
- 6.2 book_access_ui.admin.inc \_book_access_ui_rebuild_batch_operation()
2 string references 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().
- book_access_ui_rebuild_all_submit in ./
book_access_ui.admin.inc - Form submissions handler for book_access_ui_rebuild_all().
File
- ./
book_access_ui.admin.inc, line 619 - Administration interface for the Book access module.
Code
function _book_access_ui_rebuild_batch_operation($bid, &$context) {
if (!is_array($bid)) {
$bid = array(
$bid,
);
}
if (empty($context['sandbox'])) {
$context['sandbox']['current_node'] = 0;
$context['sandbox']['max'] = db_select('book', 'book')
->condition('book.bid', $bid, 'IN')
->fields('book', array(
'nid',
))
->distinct()
->countQuery()
->execute()
->fetchField();
$context['sandbox']['progress'] = 0;
}
$result = db_select('book', 'b')
->fields('b', array(
'bid',
'nid',
))
->condition('b.nid', $context['sandbox']['current_node'], '>')
->condition('b.bid', $bid, 'IN')
->orderBy('b.nid')
->distinct()
->range(0, 20)
->execute();
$list = '';
foreach ($result as $row) {
if ($node = node_load($row->nid, NULL, TRUE)) {
node_access_acquire_grants($node);
$list .= t('<li>%title</li>', array(
'%title' => $node->title,
));
}
$context['sandbox']['progress']++;
$context['sandbox']['current_node'] = $row->nid;
}
$context['message'] = t('Rebuilding access permissions for:<ul>!list</ul>', array(
'!list' => $list,
));
if ($context['sandbox']['progress'] != $context['sandbox']['max']) {
$context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
}
}