public function Updater::install

public Updater::install(&$filetransfer, $overrides = array())

Installs a Drupal project, returns a list of next actions.

Parameters

\Drupal\Core\FileTransfer\FileTransfer $filetransfer: Object that is a child of FileTransfer.

array $overrides: An array of settings to override defaults; see self::getInstallArgs().

Return value

array An array of links which the user may need to complete the install.

Throws

\Drupal\Core\Updater\UpdaterFileTransferException

File

core/lib/Drupal/Core/Updater/Updater.php, line 269

Class

Updater
Defines the base class for Updaters used in Drupal.

Namespace

Drupal\Core\Updater

Code

public function install(&$filetransfer, $overrides = array()) {
  try {
    // Establish arguments with possible overrides.
    $args = $this->getInstallArgs($overrides);

    // Make sure the installation parent directory exists and is writable.
    $this->prepareInstallDirectory($filetransfer, $args['install_dir']);

    // Copy the directory in place.
    $filetransfer->copyDirectory($this->source, $args['install_dir']);

    // Make sure what we just installed is readable by the web server.
    $this->makeWorldReadable($filetransfer, $args['install_dir'] . '/' . $this->name);

    // Potentially enable something?
    // @todo Decide if we want to implement this.
    $this->postInstall();
    // For now, just return a list of links of things to do.
    return $this->postInstallTasks();
  }
  catch (FileTransferException $e) {
    throw new UpdaterFileTransferException(t('File Transfer failed, reason: @reason', array('@reason' => strtr($e->getMessage(), $e->arguments))));
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Updater!Updater.php/function/Updater::install/8.1.x