diff --git a/core/modules/update/src/ProjectCoreCompatibility.php b/core/modules/update/src/ProjectCoreCompatibility.php index b3fed56e5f..2b74248fe7 100644 --- a/core/modules/update/src/ProjectCoreCompatibility.php +++ b/core/modules/update/src/ProjectCoreCompatibility.php @@ -143,6 +143,20 @@ public function setReleaseMessage(array &$project_data) { } } + /** + * Determines if a release is compatible with the currently installed core. + * + * @param string $core_compatibility_constraint + * A semantic version constraint. + * + * @return bool + * TRUE if the given constraint is satisfied by the currently installed + * version of Drupal core, otherwise FALSE. + */ + protected function isCoreCompatible($core_compatibility_constraint) { + return Semver::satisfies($this->existingCoreVersion, $core_compatibility_constraint); + } + /** * Creates core a compatibility message from a semantic version constraint. * @@ -169,20 +183,6 @@ protected function createMessageFromCoreCompatibility($core_compatibility_constr return $this->compatibilityMessages[$core_compatibility_constraint]; } - /** - * Determines if a release is compatible with the currently installed core. - * - * @param string $core_compatibility_constraint - * A semantic version constraint. - * - * @return bool - * TRUE if the given constraint is satisfied by the currently installed - * version of Drupal core, otherwise FALSE. - */ - protected function isCoreCompatible($core_compatibility_constraint) { - return Semver::satisfies($this->existingCoreVersion, $core_compatibility_constraint); - } - /** * Gets the compatibility ranges for a semantic version constraint. * diff --git a/core/modules/update/update.report.inc b/core/modules/update/update.report.inc index 87dab2020c..c352d4ce8b 100644 --- a/core/modules/update/update.report.inc +++ b/core/modules/update/update.report.inc @@ -112,24 +112,25 @@ function template_preprocess_update_report(&$variables) { */ function template_preprocess_update_version(array &$variables) { $version = $variables['version']; - $variables['show_download_link'] = !isset($version['core_compatible']) || $version['core_compatible'] === TRUE; + $variables['show_download_link'] = $version['core_compatible'] ?? TRUE; $core_compatible = !empty($version['core_compatible']); $core_compatibility_message = $version['core_compatibility_message'] ?? NULL; - if ($core_compatibility_message) { - $variables['core_compatibility_details'] = [ - '#type' => 'details', - '#title' => $core_compatible ? t('Compatible') : t('Not compatible'), - '#open' => !$core_compatible, - 'message' => [ - '#markup' => $core_compatibility_message, - ], - '#attributes' => [ - 'class' => [ - $core_compatible ? 'compatible' : 'not-compatible', - ], - ], - ]; + if (empty($version['core_compatibility_message'])) { + return; } + $variables['core_compatibility_details'] = [ + '#type' => 'details', + '#title' => $core_compatible ? t('Compatible') : t('Not compatible'), + '#open' => !$core_compatible, + 'message' => [ + '#markup' => $version['core_compatibility_message'], + ], + '#attributes' => [ + 'class' => [ + $core_compatible ? 'compatible' : 'not-compatible', + ], + ], + ]; } /**