You are here

class ContribModuleVersionRequirement in Acquia Content Hub 8

Requirement to verify no untested module versions are installed.

Plugin annotation


@ContentHubRequirement(
  id = "contrib_module_versions",
  title = @Translation("Untested contributed module versions"),
)

Hierarchy

Expanded class hierarchy of ContribModuleVersionRequirement

File

acquia_contenthub_diagnostic/src/Plugin/ContentHubRequirement/ContribModuleVersionRequirement.php, line 15

Namespace

Drupal\acquia_contenthub_diagnostic\Plugin\ContentHubRequirement
View source
class ContribModuleVersionRequirement extends ContentHubRequirementBase {
  const MODULE_VERSIONS = [
    'workbench_moderation' => '8.x-1.2',
    'paragraphs' => '8.x-1.0',
    'entity_reference_revisions' => '8.x-1.0',
  ];

  /**
   * Verify no untested module versions are installed.
   */
  public function verify() {
    $issues_found = [];
    foreach (static::MODULE_VERSIONS as $module => $recommended_version) {
      if ($this->moduleHandler
        ->moduleExists($module)) {
        $current_version = \Drupal::service('extension.list.module')
          ->getAllInstalledInfo()['acquia_contenthub']['version'];
        if ($current_version !== $recommended_version) {
          $name = $this->moduleHandler
            ->getName($module);
          $issues_found[] = $this
            ->t('@name @current_version (Recommended @recommended_version)', [
            '@name' => $name,
            '@current_version' => $current_version,
            '@recommended_version' => $recommended_version,
          ]);
        }
      }
    }
    if (empty($issues_found)) {
      return REQUIREMENT_OK;
    }
    $this
      ->setValue($this
      ->t('Untested module versions active'));
    $this
      ->setDescription($this
      ->t('The following untested module versions were found: @module_list', [
      '@module_list' => implode(', ', $issues_found),
    ]));
    return REQUIREMENT_WARNING;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ContentHubRequirementBase::$description protected property The description of the requirement/status. 1
ContentHubRequirementBase::$moduleHandler protected property The module handler.
ContentHubRequirementBase::$severity protected property The requirement's result/severity level.
ContentHubRequirementBase::$value protected property The current value.
ContentHubRequirementBase::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create
ContentHubRequirementBase::description public function Returns the description of the requirement/status. Overrides ContentHubRequirementInterface::description 1
ContentHubRequirementBase::getDomain protected function Get the domain to run the tests on.
ContentHubRequirementBase::setDescription protected function Sets the description of the requirement/status.
ContentHubRequirementBase::setValue protected function Sets the current value.
ContentHubRequirementBase::severity public function Returns the requirement's result/severity level. Overrides ContentHubRequirementInterface::severity
ContentHubRequirementBase::title public function Returns the name of the requirement. Overrides ContentHubRequirementInterface::title
ContentHubRequirementBase::value public function Returns the current value. Overrides ContentHubRequirementInterface::value
ContentHubRequirementBase::__construct public function Constructs a new ContentHubRequirementBase. Overrides PluginBase::__construct
ContribModuleVersionRequirement::MODULE_VERSIONS constant
ContribModuleVersionRequirement::verify public function Verify no untested module versions are installed. Overrides ContentHubRequirementBase::verify
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.