1.20.x installer.authorize.inc installer_authorize_run_install($filetransfer, $project, $updater_name, $project_realpath, $redirect_callback = 'backdrop_goto')

Installs a new project when invoked by authorize.php.

Callback for system_authorized_init() in installer_manager_install_form_submit().

Parameters

FileTransfer $filetransfer: The FileTransfer object created by authorize.php for use during this operation.

string $project: The canonical project short name (e.g., {system}.name).

string $updater_name: The name of the Updater class to use for installing this project.

string $project_realpath: The path to the locally installed temp directory where the project has already been downloaded and extracted into.

string|FALSE $redirect_callback: Callback to handle the redirection to the authorize.php file.

File

modules/installer/installer.authorize.inc, line 82
Callbacks and related functions invoked by authorize.php to update projects.

Code

function installer_authorize_run_install($filetransfer, $project, $updater_name, $project_realpath, $redirect_callback = 'backdrop_goto') {
  $operations[] = array(
    'installer_authorize_batch_copy_project',
    array(
      $project,
      $updater_name,
      $project_realpath,
      $filetransfer,
    ),
  );

  // @todo Instantiate our Updater to set the human-readable title?
  $batch = array(
    'title' => t('Installing %project', array('%project' => $project)),
    'init_message' => t('Preparing to install'),
    'operations' => $operations,
    // @todo Use a different finished callback for different messages?
    'finished' => 'installer_authorize_install_batch_finished',
    'file' => backdrop_get_path('module', 'installer') . '/installer.authorize.inc',
  );
  batch_set($batch);

  // Invoke the batch via authorize.php.
  system_authorized_batch_process($redirect_callback);
}