Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Updater.php

function Updater::findInfoFile

Determines what the most important (or only) info file is in a directory.

Since there is no enforcement of which info file is the project's "main" info file, this will get one with the same name as the directory, or the first one it finds. Not ideal, but needs a larger solution.

Parameters

string $directory: Directory to search in.

Return value

string Path to the info file.

2 calls to Updater::findInfoFile()
Updater::getExtensionInfo in core/lib/Drupal/Core/Updater/Updater.php
Get Extension information from directory.
Updater::getProjectTitle in core/lib/Drupal/Core/Updater/Updater.php
Returns the project name from a Drupal info file.

File

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

Class

Updater
Defines the base class for Updaters used in Drupal.

Namespace

Drupal\Core\Updater

Code

public static function findInfoFile($directory) {
    
    /** @var \Drupal\Core\File\FileSystemInterface $file_system */
    $file_system = \Drupal::service('file_system');
    $info_files = [];
    if (is_dir($directory)) {
        $info_files = $file_system->scanDirectory($directory, '/.*\\.info.yml$/');
    }
    if (!$info_files) {
        return FALSE;
    }
    foreach ($info_files as $info_file) {
        if (mb_substr($info_file->filename, 0, -9) == $file_system->basename($directory)) {
            // Info file Has the same name as the directory, return it.
            return $info_file->uri;
        }
    }
    // Otherwise, return the first one.
    $info_file = array_shift($info_files);
    return $info_file->uri;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal