function acquia_agent_migrate_form_submit in Acquia Connector 7.2
Same name and namespace in other branches
- 6.2 acquia_agent/acquia_agent.pages.inc \acquia_agent_migrate_form_submit()
Submit handler for Acquia Cloud migrate button.
File
- acquia_agent/
acquia_agent.pages.inc, line 598 - Acquia Agent configuration page.
Code
function acquia_agent_migrate_form_submit($form, &$form_state) {
module_load_include('inc', 'acquia_agent', 'acquia_agent.migrate');
if (empty($form_state['values']['envs'])) {
// Sanity check.
return;
}
$migrate_files = isset($form_state['values']['migrate_files']) ? $form_state['values']['migrate_files'] : 1;
variable_set('acquia_migrate_files', $migrate_files);
$reduce_db_size = !empty($form_state['values']['reduce_db_size']) ? $form_state['values']['reduce_db_size'] : 0;
if (count($form_state['values']['envs']) > 1) {
// Use selected environment.
$env = $form_state['values']['envs'][$form_state['values']['environment']];
$site_name = $form_state['values']['environment'];
}
else {
$env = array_pop($form_state['values']['envs']);
$site_name = $env;
}
// Prepare for migration.
$migration = acquia_migrate_prepare($env);
$migration['site_name'] = $site_name;
if ($reduce_db_size) {
$migration['no_data_tables'] = array(
'cache',
'cache_menu',
'cache_page',
'cache_field',
'sessions',
'watchdog',
);
}
if (isset($migration['error']) && $migration['error'] !== FALSE) {
drupal_set_message(t('Unable to begin migration. @error', array(
'@error' => $migration['error'],
)), 'error');
$form_state['redirect'] = array(
'admin/config/system/acquia-agent',
);
}
else {
$batch = array(
'title' => t('Acquia Cloud Migrate'),
'operations' => array(
array(
'acquia_migrate_batch_test',
array(
$migration,
),
),
array(
'acquia_migrate_batch_db',
array(
$migration,
),
),
array(
'acquia_migrate_batch_tar',
array(
$migration,
),
),
array(
'acquia_migrate_batch_transmit',
array(
$migration,
),
),
),
'init_message' => t('Preparing for migration'),
'progress_message' => t('Completed @current of @total steps.'),
'finished' => 'acquia_migrate_batch_finished',
'file' => drupal_get_path('module', 'acquia_agent') . '/acquia_agent.migrate.inc',
);
batch_set($batch);
}
}