1 updater.inc public static Updater::getProjectType($directory)

Return the project type from a Backdrop info file or directory.


string $directory: Stream wrapper to directory to get the type from.

Return value

string: The type of the project, either "core", "module", "theme", or "layout".




core/includes/updater.inc, line 197
Classes used for updating various files in the Backdrop webroot. These classes use a FileTransfer object to actually perform the operations. Normally, the FileTransfer is provided when the site owner is redirected to authorize.php as part of a…


Base class for Updaters used in Backdrop.


public static function getProjectType($directory) {
  if (basename($directory) == 'backdrop') {
    $realpath = backdrop_realpath($directory);
    if (is_dir($realpath . '/core')) {
      return 'core';
    else {
      $message = t('Updating core from @directory was attempted, but either it doesn\'t contain a "core" directory, or it isn\'t accessible. You may need to update manually.', array('@directory' => $directory));
      throw new UpdaterException($message);
  else {
    $info_file = self::findInfoFile($directory);
    $info = backdrop_parse_info_file($info_file);
    if (empty($info)) {
      throw new UpdaterException(t('Unable to parse info file: %info_file.', array('%info_file' => $info_file)));
    if (empty($info['type'])) {
      throw new UpdaterException(t("The info file (%info_file) does not define a 'type' attribute.", array('%info_file' => $info_file)));

    return $info['type'];