Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Updater/UpdaterInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
| author | Chris Cannam |
|---|---|
| date | Wed, 29 Nov 2017 16:09:58 +0000 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Updater/UpdaterInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,68 @@ +<?php + +namespace Drupal\Core\Updater; + +/** + * Defines an interface for a class which can update a Drupal project. + * + * An Updater currently serves the following purposes: + * - It can take a given directory, and determine if it can operate on it. + * - It can move the contents of that directory into the appropriate place + * on the system using FileTransfer classes. + * - It can return a list of "next steps" after an update or install. + * - In the future, it will most likely perform some of those steps as well. + */ +interface UpdaterInterface { + + /** + * Checks if the project is installed. + * + * @return bool + */ + public function isInstalled(); + + /** + * Returns the system name of the project. + * + * @param string $directory + * A directory containing a project. + */ + public static function getProjectName($directory); + + /** + * Returns the path to the default install location for the current project. + * + * @return string + * An absolute path to the default install location. + */ + public function getInstallDirectory(); + + /** + * Returns the name of the root directory under which projects will be copied. + * + * @return string + * A relative path to the root directory. + */ + public static function getRootDirectoryRelativePath(); + + /** + * Determines if the Updater can handle the project provided in $directory. + * + * @param string $directory + * + * @return bool + * TRUE if the project is installed, FALSE if not. + */ + public static function canUpdateDirectory($directory); + + /** + * Actions to run after an install has occurred. + */ + public function postInstall(); + + /** + * Actions to run after an update has occurred. + */ + public function postUpdate(); + +}
