function views_natural_sort_rebuild_index in Views Natural Sort 7
Same name and namespace in other branches
- 8.2 views_natural_sort.module \views_natural_sort_rebuild_index()
- 6 views_natural_sort.admin.inc \views_natural_sort_rebuild_index()
- 7.2 views_natural_sort.admin.inc \views_natural_sort_rebuild_index()
Batch API callback for rebuild_index.
1 string reference to 'views_natural_sort_rebuild_index'
- views_natural_sort_rebuild_index_submit in ./
views_natural_sort.admin.inc - Submit handler that triggers the rebuild_index batch.
File
- ./
views_natural_sort.admin.inc, line 97 - Callbacks for managing Views Natural Sort.
Code
function views_natural_sort_rebuild_index(&$context) {
// Alias sandbox for easier referencing.
$sandbox =& $context['sandbox'];
// Initialize our context.
if (!isset($sandbox['max'])) {
$sandbox['progress'] = 0;
$sandbox['max'] = db_query('SELECT MAX(nid) FROM {node}')
->fetchField();
$sandbox['total'] = db_query('SELECT COUNT(nid) FROM {node} WHERE nid <= :max', array(
'max' => $sandbox['max'],
))
->fetchField();
$sandbox['current'] = 0;
$context['results']['nodes'] = 0;
if ($sandbox['total'] == 0) {
$context['finished'] = 1;
return;
}
}
$results = db_query_range('SELECT nid, title FROM {node} WHERE nid > :current AND nid <= :max', 0, 10, array(
'current' => $sandbox['current'],
'max' => $sandbox['max'],
));
$title = '';
foreach ($results as $row) {
_views_natural_sort_store_node($row);
++$sandbox['progress'];
$sandbox['current'] = $row->nid;
$title = $row->title;
++$context['results']['nodes'];
}
$context['message'] = t('Processing node %title', array(
'%title' => $title,
));
$context['finished'] = $sandbox['progress'] / $sandbox['total'];
}