class ReleaseNotes in Production check & Production monitor 8
Release notes check
Plugin annotation
@ProdCheck(
id = "release_notes",
title = @Translation("Release notes & help files"),
category = "server",
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\prod_check\Plugin\ProdCheck\ProdCheckBase implements ConfigurableInterface, ContainerFactoryPluginInterface, PluginFormInterface, ProdCheckInterface
- class \Drupal\prod_check\Plugin\ProdCheck\Server\ReleaseNotes
- class \Drupal\prod_check\Plugin\ProdCheck\ProdCheckBase implements ConfigurableInterface, ContainerFactoryPluginInterface, PluginFormInterface, ProdCheckInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of ReleaseNotes
File
- src/
Plugin/ ProdCheck/ Server/ ReleaseNotes.php, line 17
Namespace
Drupal\prod_check\Plugin\ProdCheck\ServerView source
class ReleaseNotes extends ProdCheckBase {
/**
* Remaining files
*/
public $remaining_files;
/**
* {@inheritdoc}
*/
public function init() {
$this->remaining_files = [];
foreach ($this->configuration['files'] as $file) {
if (file_exists(DRUPAL_ROOT . '/' . $file)) {
array_push($this->remaining_files, $file);
}
}
}
/**
* {@inheritdoc}
*/
public function state() {
return empty($this->remaining_files);
}
/**
* {@inheritdoc}
*/
public function successMessages() {
return [
'value' => $this
->t('Release note & help files have been removed.'),
'description' => $this
->t('Status is OK for production use.'),
];
}
/**
* {@inheritdoc}
*/
public function failMessages() {
return [
'value' => $this
->t('Release note & help files still present on your server!'),
'description' => $this
->t('Leaving the "@files" files present on the webserver is a minor security risk. These files are useless on production anyway and they simply should not be there.', [
'@files' => implode(', ', $this->remaining_files),
]),
];
}
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
$configuration = parent::defaultConfiguration();
$configuration['files'] = [
'core/CHANGELOG.txt',
'core/COPYRIGHT.txt',
'core/INSTALL.mysql.txt',
'core/INSTALL.pgsql.txt',
'core/INSTALL.sqlite.txt',
'core/INSTALL.txt',
'core/LICENSE.txt',
'core/MAINTAINERS.txt',
'README.txt',
'core/UPGRADE.txt',
'themes/README.txt',
'modules/README.txt',
];
return $configuration;
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$form = parent::buildConfigurationForm($form, $form_state);
$form['files'] = [
'#type' => 'textarea',
'#title' => t('Files to check'),
'#default_value' => implode("\n", $this->configuration['files']),
'#rows' => 20,
'#required' => TRUE,
];
return $form;
}
/**
* {@inheritdoc}
*/
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
parent::submitConfigurationForm($form, $form_state);
$files = $form_state
->getValue('files');
$files = explode("\n", $files);
// Ensure that all strings are trimmed, eg. don't have extra spaces,
// \r chars etc.
foreach ($files as $k => $v) {
$files[$k] = trim($v);
}
$this->configuration['files'] = $files;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
ProdCheckBase:: |
protected | property | The config factory | |
ProdCheckBase:: |
protected | property | The date formatter service | |
ProdCheckBase:: |
protected | property | The redirect destination service. | |
ProdCheckBase:: |
protected | property | The link generator service. | |
ProdCheckBase:: |
protected | property | The module handler service | 1 |
ProdCheckBase:: |
protected | property | The prod check processor plugin manager. | |
ProdCheckBase:: |
public | function | ||
ProdCheckBase:: |
public | function |
Returns the title of the check Overrides ProdCheckInterface:: |
|
ProdCheckBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
1 |
ProdCheckBase:: |
public | function |
Returns the extra data of the check. Overrides ProdCheckInterface:: |
1 |
ProdCheckBase:: |
protected | function | Helper function to generate generic 'settings OK' description. | |
ProdCheckBase:: |
protected | function | Helper function to generate link array to pass to the t() function | |
ProdCheckBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
|
ProdCheckBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
|
ProdCheckBase:: |
public | function | Sets the processor | |
ProdCheckBase:: |
public | function |
Defines the severity of the check. Overrides ProdCheckInterface:: |
2 |
ProdCheckBase:: |
public | function |
Returns the title of the plugin. Overrides ProdCheckInterface:: |
|
ProdCheckBase:: |
public | function |
Form validation handler. Overrides PluginFormInterface:: |
|
ProdCheckBase:: |
public | function |
Constructs a Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: |
1 |
ReleaseNotes:: |
public | property | Remaining files | |
ReleaseNotes:: |
public | function |
Form constructor. Overrides ProdCheckBase:: |
|
ReleaseNotes:: |
public | function |
Gets default configuration for this plugin. Overrides ProdCheckBase:: |
|
ReleaseNotes:: |
public | function |
Returns the fail messages for the check Overrides ProdCheckInterface:: |
|
ReleaseNotes:: |
public | function |
Initializes the check plugin. Overrides ProdCheckBase:: |
|
ReleaseNotes:: |
public | function |
Calculates the state for the check. Overrides ProdCheckInterface:: |
|
ReleaseNotes:: |
public | function |
Form submission handler. Overrides ProdCheckBase:: |
|
ReleaseNotes:: |
public | function |
Returns the success messages for the check. Overrides ProdCheckInterface:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |