private function LibraryDeprecationAnalyzer::isLibraryDeprecated in Upgrade Status 8.3
Same name and namespace in other branches
- 8.2 src/LibraryDeprecationAnalyzer.php \Drupal\upgrade_status\LibraryDeprecationAnalyzer::isLibraryDeprecated()
Tests if library is deprecated.
Parameters
string $library: A string representing library. For example, 'node/drupal.node'.
Return value
bool|string|NULL|DeprecationMessage FALSE if the library is not deprecated. NULL if the library's module is not enabled. Deprecation message string otherwise.
5 calls to LibraryDeprecationAnalyzer::isLibraryDeprecated()
- LibraryDeprecationAnalyzer::analyzeLibraryDependencies in src/
LibraryDeprecationAnalyzer.php - Analyzes libraries for dependencies on deprecated libraries.
- LibraryDeprecationAnalyzer::analyzePhpLibraryReferences in src/
LibraryDeprecationAnalyzer.php - Analyzes libraries referenced in PHP.
- LibraryDeprecationAnalyzer::analyzeThemeLibraryExtends in src/
LibraryDeprecationAnalyzer.php - Analyze library extends in a theme.
- LibraryDeprecationAnalyzer::analyzeThemeLibraryOverrides in src/
LibraryDeprecationAnalyzer.php - Analyze library overrides in a theme.
- LibraryDeprecationAnalyzer::analyzeTwigLibraryDependencies in src/
LibraryDeprecationAnalyzer.php - Analyzes Twig library dependencies.
File
- src/
LibraryDeprecationAnalyzer.php, line 407
Class
- LibraryDeprecationAnalyzer
- A library deprecation analyzer.
Namespace
Drupal\upgrade_statusCode
private function isLibraryDeprecated($library) {
if (!strpos($library, '/')) {
return new DeprecationMessage('The ' . $library . ' library does not have an extension name and is therefore not valid.');
}
list($extension_name, $library_name) = explode('/', $library, 2);
// Drupal\Core\Asset\LibraryDiscoveryParser::buildByExtension() assumes a
// disabled module is a theme and fails not finding it then, so check if
// the extension identified he is an installed module or theme. The library
// info will not be available otherwise.
if ($extension_name != 'core') {
$installed_modules = array_keys($this->moduleExtensionList
->getAllInstalledInfo());
$installed_themes = array_keys($this->themeExtensionList
->getAllInstalledInfo());
if (!in_array($extension_name, $installed_modules) && !in_array($extension_name, $installed_themes)) {
return NULL;
}
}
try {
$dependency_libraries = $this->libraryDiscoveryParser
->buildByExtension($extension_name);
} catch (\Exception $e) {
return new DeprecationMessage($e
->getMessage());
}
if (isset($dependency_libraries[$library_name]) && isset($dependency_libraries[$library_name]['deprecated'])) {
return str_replace('%library_id%', "{$extension_name}/{$library_name}", $dependency_libraries[$library_name]['deprecated']);
}
return FALSE;
}