You are here

function joomla_batch_save in Joomla to Drupal 7.2

1 string reference to 'joomla_batch_save'
joomla_import_form_submit in ./joomla.module
Submit import form.

File

./joomla.batch.inc, line 6

Code

function joomla_batch_save($jos, $joomla_update_duplicate, &$context) {
  joomla_database_init();
  if (empty($context['sandbox'])) {

    // accounts
    $context['results']['accounts_total'] = 0;
    $context['results']['accounts_updated'] = 0;
    $context['results']['accounts_new'] = 0;
    $context['results']['accounts_failed'] = 0;
    $context['results']['accounts_duplicate'] = 0;

    // sections
    $context['results']['sections_total'] = 0;
    $context['results']['sections_updated'] = 0;
    $context['results']['sections_new'] = 0;
    $context['results']['sections_failed'] = 0;
    $context['results']['categories_total'] = 0;
    $context['results']['categories_updated'] = 0;
    $context['results']['categories_new'] = 0;
    $context['results']['categories_failed'] = 0;

    // content
    $context['results']['content_total'] = 0;
    $context['results']['content_updated'] = 0;
    $context['results']['content_new'] = 0;
    $context['results']['content_failed'] = 0;

    // comments
    $context['results']['comments_total'] = 0;
    $context['results']['comments_updated'] = 0;
    $context['results']['comments_new'] = 0;
    $context['results']['comments_failed'] = 0;

    // other
    $context['sandbox']['images'] = array();
    $context['sandbox']['progress'] = 0;
    $context['sandbox']['joomla_update_duplicate'] = isset($joomla_update_duplicate) ? $joomla_update_duplicate : variable_get('joomla_update_duplicate', JOOMLA_UPDATE_DUPLICATE);
    $context['sandbox']['sections_finished'] = FALSE;
    db_set_active('joomla');
    $max = 0;
    if ($jos['users']) {
      $max += db_query('SELECT COUNT( id ) FROM {users}')
        ->fetchField();
    }
    if ($jos['comments']) {
      $max += db_query('SELECT COUNT( id ) FROM {jcomments}')
        ->fetchField();
    }
    if ($jos['categories']) {
      $max += db_query('SELECT COUNT( id ) FROM {sections}')
        ->fetchField();
      $max += db_query('SELECT COUNT( id ) FROM {categories}')
        ->fetchField();
    }
    if ($jos['content']) {
      $max += db_query('SELECT COUNT( id ) FROM {content}')
        ->fetchField();
    }
    $context['sandbox']['max'] = $max;
    db_set_active();
    $context['sandbox']['users_offset'] = 0;
    $context['sandbox']['comments_offset'] = 0;
    $context['sandbox']['categories_offset'] = 0;
    $context['sandbox']['sections_offset'] = 0;
    $context['sandbox']['content_offset'] = 0;
  }
  if ($jos['users']) {
    joomla_user_save($context);
  }
  if ($jos['categories']) {
    joomla_category_save($context);
  }
  if ($jos['content']) {
    joomla_content_save($context);
  }
  if ($jos['comments']) {
    joomla_comment_save($context);
  }
  if ($context['sandbox']['progress'] != $context['sandbox']['max']) {
    $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
  }
}