12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- function batch_example_update_7100(&$sandbox) {
- $ret = array();
-
-
- if (!isset($sandbox['progress'])) {
-
- $sandbox['progress'] = 0;
-
- $sandbox['max'] = db_query('SELECT COUNT(nid) FROM {node}')->fetchField();
-
- $sandbox['messages'] = array();
-
- $sandbox['current_node'] = -1;
- }
-
-
-
-
- $limit = 10;
-
- $result = db_select('node', 'n')
- ->fields('n', array('nid'))
- ->orderBy('n.nid', 'ASC')
- ->where('n.nid > :nid', array(':nid' => $sandbox['current_node']))
- ->extend('PagerDefault')
- ->limit($limit)
- ->execute();
- foreach ($result as $row) {
-
- $node = db_query('SELECT nid FROM {node} WHERE nid = :nid', array(':nid' => $row->nid))->fetchField();
-
- $sandbox['progress']++;
- $sandbox['current_node'] = $row->nid;
- }
-
-
-
- $sandbox['#finished'] = ($sandbox['progress'] >= $sandbox['max']) ? TRUE : ($sandbox['progress'] / $sandbox['max']);
-
-
-
- $sandbox_status = $sandbox;
-
- unset($sandbox_status['messages']);
- $sandbox['messages'][] = t('$sandbox=') . print_r($sandbox_status, TRUE);
- if ($sandbox['#finished']) {
-
-
- $final_message = '<ul><li>' . implode('</li><li>', $sandbox['messages']) . "</li></ul>";
- return t('The batch_example demonstration update did what it was supposed to do: @message', array('@message' => $final_message));
- }
- }
|