You are here

function metatags_quick_upgrade_batch in Meta tags quick 8.3

Same name and namespace in other branches
  1. 7.2 metatags_quick_import.admin.inc \metatags_quick_upgrade_batch()
1 call to metatags_quick_upgrade_batch()
metatags_quick_upgrade_submit in ./metatags_quick_import.admin.inc

File

./metatags_quick_import.admin.inc, line 94
upgrade path from the D6 nodewords module @author maxiorel <http://drupal.org/user/49016> @author valthebald <http://drupal.org/user/239562>

Code

function metatags_quick_upgrade_batch($batch_size, $fields_to_import) {
  if ($batch_size < 2) {
    $batch_size = 1;
  }
  $num_operations = metatags_quick_get_node_count();
  $_SESSION['nodewords_upgrade_total'] = $num_operations;
  $_SESSION['nodewords_upgrade_processed'] = 0;
  drupal_set_message(t('Converting metatags for @num nodes', array(
    '@num' => $num_operations,
  )));
  $operations = array();
  $nid_result = db_select('node', 'n')
    ->fields('n', array(
    'nid',
  ))
    ->execute();
  $nids = array();
  foreach ($nid_result as $node) {
    $nids[] = $node->nid;
    if (count($nids) >= $batch_size) {
      $operations[] = array(
        'metatags_quick_convert_metatags',
        array(
          $nids,
          $fields_to_import,
        ),
      );
      $nids = array();
    }
  }
  if (count($nids)) {
    $operations[] = array(
      'metatags_quick_convert_metatags',
      array(
        $nids,
        $fields_to_import,
      ),
    );
  }
  $batch = array(
    'operations' => $operations,
    'progress_message' => t('Completed :nodes_completed of :nodes_total', array(
      ':nodes_completed' => $_SESSION['nodewords_upgrade_processed'],
      ':nodes_total' => $_SESSION['nodewords_upgrade_total'],
    )),
    'finished' => 'metatags_quick_upgrade_finished',
    'file' => drupal_get_path('module', 'metatags_quick') . '/metatags_quick_import.admin.inc',
  );
  return $batch;
}