You are here

function acquia_migrate_prepare in Acquia Connector 6.2

Same name and namespace in other branches
  1. 7.2 acquia_agent/acquia_agent.migrate.inc \acquia_migrate_prepare()

Setup archive directory and internal migrate data struct.

Parameters

array $environment: Environment to migrate to, from NSPI acquia_agent_cloud_migration_environments()

1 call to acquia_migrate_prepare()
acquia_agent_migrate_form_submit in acquia_agent/acquia_agent.pages.inc
Submit handler for Acquia Cloud migrate button.

File

acquia_agent/acquia_agent.migrate.inc, line 58
Upload to Acquia Cloud.

Code

function acquia_migrate_prepare($environment) {
  cache_clear_all();

  // Internal migration store is an array because objects cannot be stored
  // by Drupal's Batch API.
  $local_env = _acquia_migrate_check_env();
  if ($local_env['error'] !== FALSE) {
    return $local_env;
  }

  // Modify environment URL if SSL is available for use.
  if (in_array('ssl', stream_get_transports(), TRUE) && !defined('ACQUIA_DEVELOPMENT_NOSSL')) {
    $uri = parse_url($environment['url']);
    if (isset($uri['host'])) {
      $environment['url'] = $uri['host'];
    }
    $environment['url'] .= isset($uri['port']) ? ':' . $uri['port'] : '';
    $environment['url'] .= isset($uri['path']) && isset($uri['host']) ? $uri['path'] : '';
    $environment['url'] = 'https://' . $environment['url'];
  }
  $time = time();
  $date = gmdate('Ymd_his');
  $migration = array(
    'error' => FALSE,
    'id' => uniqid() . '_' . $date,
    'date' => $date,
    'time' => $time,
    'compression_ext' => $local_env['compression_ext'],
    // Parameters used in transmission request.
    'request_params' => array(
      'r' => url('admin/settings/acquia-agent', array(
        'absolute' => TRUE,
      )),
      // Return URL on this site.
      'y' => 'sar',
      // For Acquia Hosting
      'stage' => $environment['stage'],
      'nonce' => $environment['nonce'],
    ),
    'env' => $environment,
    'no_data_tables' => array(),
  );

  // Set up local storage of archive.
  _acquia_migrate_destination($migration);
  return $migration;
}