function UpdateHookRegistry::getAvailableUpdates
Returns an array of available schema versions for a module.
Parameters
string $module: A module name.
Return value
int[] An array of available updates sorted by version. Empty array returned if no updates available.
File
- 
              core/lib/ Drupal/ Core/ Update/ UpdateHookRegistry.php, line 106 
Class
- UpdateHookRegistry
- Provides module updates versions handling.
Namespace
Drupal\Core\UpdateCode
public function getAvailableUpdates(string $module) : array {
  if (!isset($this->allAvailableSchemaVersions[$module])) {
    $this->allAvailableSchemaVersions[$module] = [];
    foreach ($this->enabledModules as $enabled_module) {
      $this->allAvailableSchemaVersions[$enabled_module] = [];
    }
    $functions = get_defined_functions();
    // Narrow this down to functions ending with an integer, since all
    // hook_update_N() functions end this way, and there are other
    // possible functions which match '_update_'. We use preg_grep() here
    // since looping through all PHP functions can take significant page
    // execution time and this function is called on every administrative page
    // via system_requirements().
    foreach (preg_grep('/_\\d+$/', $functions['user']) as $function) {
      // If this function is a module update function, add it to the list of
      // module updates.
      if (preg_match(self::FUNC_NAME_REGEXP, $function, $matches)) {
        $this->allAvailableSchemaVersions[$matches['module']][] = (int) $matches['version'];
      }
    }
    // Ensure that updates are applied in numerical order.
    array_walk($this->allAvailableSchemaVersions, static function (&$module_updates) {
      sort($module_updates, SORT_NUMERIC);
    });
  }
  return $this->allAvailableSchemaVersions[$module];
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
