Rest seems fine to me.
Please wait for a Project Moderator to take a look and if everything goes fine, you will get the role.
vishal.kadam → made their first commit to this issue’s fork.
1. FILE: zenwidgets.info.yml
core_version_requirement: ^8 || ^9 || ^10 || ^11
A new project should not declare itself compatible with a Drupal release that is no longer supported. No site should be using Drupal 8 nor Drupal 9, and people should not be encouraged to use those Drupal releases.
2. FILE: zenwidgets.module
/**
* @file
* Add the script to the page bottom.
*/The usual description for a .module file is “Hook implementations for the [module name] module”, where [module name] is the module name given in the .info.yml file.
3. FILE: src/Form/ZenWidgetsConfigForm.php
With Drupal 10 and Drupal 11, there is no longer need to use #default_value for each form element, when the parent class is ConfigFormBase: It is sufficient to use #config_target, as in the following code.
$form['image_toolkit'] = [
'#type' => 'radios',
'#title' => $this->t('Select an image processing toolkit'),
'#config_target' => 'system.image:toolkit',
'#options' => [],
];Using that code, it is no longer needed to save the configuration values in the form submission handler: The parent class will take care of that.
4. FILE: src/Form/ZenWidgetsConfigForm.php
/**
* The global configuration object.
*
* @var Drupal\Core\Config\Config
*/
protected Config $config;
/**
* Constructor.
*
* @param Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory.
* @param Drupal\Core\Config\TypedConfigManagerInterface $typedConfigManager
* The config manager.
*/
public function __construct(
ConfigFactoryInterface $config_factory,
protected TypedConfigManagerInterface $typedConfigManager,
) {
parent::__construct($config_factory, $this->typedConfigManager);
$this->config = $this->config('zenwidgets.config');
}FILE: src/Plugin/Field/FieldFormatter/WidgetDefaultFormatter.php
/**
* ZEN widgets service.
*
* @var \Drupal\zenwidgets\Service\ZenWidgetsService
* The ZEN widgets service.
*/
protected ZenWidgetsService $widgetsService;
/**
* Constructs a WidgetDefaultFormatter instance.
*
* @param string $plugin_id
* The plugin ID for the formatter.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\Core\Field\FieldDefinitionInterface $field_definition
* The definition of the field to which the formatter is associated.
* @param array $settings
* The formatter settings.
* @param string $label
* The formatter label display setting.
* @param string $view_mode
* The view mode.
* @param array $third_party_settings
* Any third party settings.
* @param \Drupal\zenwidgets\Service\ZenWidgetsService $widgets_service
* The ZEN widgets service.
*/
public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, ZenWidgetsService $widgets_service) {
parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings);
$this->widgetsService = $widgets_service;
}FILE: src/Plugin/Field/FieldWidget/WidgetDefaultWidget.php
/**
* ZEN widgets service.
*
* @var \Drupal\zenwidgets\Service\ZenWidgetsService
* The ZEN widgets service.
*/
protected ZenWidgetsService $widgetsService;
/**
* Constructs a WidgetBase object.
*
* @param string $plugin_id
* The plugin ID for the widget.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\Core\Field\FieldDefinitionInterface $field_definition
* The definition of the field to which the widget is associated.
* @param array $settings
* The widget settings.
* @param array $third_party_settings
* Any third party settings.
* @param \Drupal\zenwidgets\Service\ZenWidgetsService $widgets_service
* The ZEN widgets service.
*/
public function __construct(
$plugin_id,
$plugin_definition,
FieldDefinitionInterface $field_definition,
array $settings,
array $third_party_settings,
ZenWidgetsService $widgets_service,
) {
parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $third_party_settings);
$this->widgetsService = $widgets_service;
}FILE: src/Service/ZenWidgetsService.php
/**
* Http client interface.
*
* @var \GuzzleHttp\ClientInterface
* The client to retrieve the widgets.
*/
protected ClientInterface $httpClient;
/**
* Language manager.
*
* @var \Drupal\Core\Language\LanguageManagerInterface
* The language manager.
*/
protected LanguageManagerInterface $languageManager;
/**
* Configuration object.
*
* @var \Drupal\Core\Config\ImmutableConfig
*/
protected ImmutableConfig $config;
/**
* Logger object.
*
* @var \Psr\Log\LoggerInterface
*/
protected LoggerInterface $logger;
/**
* Constructor.
*
* @param GuzzleHttp\ClientInterface $http_client
* The HTTP client.
* @param Drupal\Core\Language\LanguageManagerInterface $language_manager
* The language manager.
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory.
* @param \Psr\Log\LoggerInterface $logger
* The logger interface.
*/
public function __construct(
ClientInterface $http_client,
LanguageManagerInterface $language_manager,
ConfigFactoryInterface $config_factory,
LoggerInterface $logger,
) {
$this->httpClient = $http_client;
$this->languageManager = $language_manager;
$this->config = $config_factory->get('zenwidgets.config');
$this->logger = $logger;
}New modules, which are compatible with Drupal 10 and higher versions are expected to include type declarations in property definitions, and use constructor property promotion.
1.
main is acceptable as branch name, but it is not yet fully supported on drupal.org. For the moment, it is better to avoid it.
Release branch names always end with the literal .x as described in Release branches → .
2. FILE: advanced_country_field.module
/**
* @file
* Advanced Country Field module file.
*/The usual description for a .module file is “Hook implementations for the [module name] module”, where [module name] is the module name given in the .info.yml file.
3. FILE: src/Form/AdvancedCountryFieldSettingsForm.php, src/Form/CustomCountryForm.php
ConfigFormBase::__construct() needs to be called. Since its parameters changed in Drupal 10.2, the project cannot be compatible with all the Drupal 10 releases and Drupal 11; it needs to require at least Drupal 10.2.
4. FILE: src/Form/AdvancedCountryFieldSettingsForm.php, src/Form/CountryFilterForm.php and src/Form/CustomCountryForm.php
With Drupal 10 and Drupal 11, there is no longer need to use #default_value for each form element, when the parent class is ConfigFormBase: It is sufficient to use #config_target, as in the following code.
$form['image_toolkit'] = [
'#type' => 'radios',
'#title' => $this->t('Select an image processing toolkit'),
'#config_target' => 'system.image:toolkit',
'#options' => [],
];Using that code, it is no longer needed to save the configuration values in the form submission handler: The parent class will take care of that.
5. FILE: src/Service/CountryDataService.php
/**
* The language manager.
*
* @var \Drupal\Core\Language\LanguageManagerInterface
*/
protected $languageManager;
/**
* The config factory.
*
* @var \Drupal\Core\Config\ConfigFactoryInterface
*/
protected $configFactory;
/**
* The module handler.
*
* @var \Drupal\Core\Extension\ModuleHandlerInterface
*/
protected $moduleHandler;
/**
* Constructs a CountryDataService object.
*
* @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
* The language manager.
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory.
* @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
* The string translation manager.
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* The module handler.
*/
public function __construct(LanguageManagerInterface $language_manager, ConfigFactoryInterface $config_factory, TranslationInterface $string_translation, ModuleHandlerInterface $module_handler) {
$this->languageManager = $language_manager;
$this->configFactory = $config_factory;
$this->stringTranslation = $string_translation;
$this->moduleHandler = $module_handler;
}New modules, which are compatible with Drupal 10 and higher versions are expected to include type declarations in property definitions, and use constructor property promotion.
6. Fix the warnings/errors reported by PHP_CodeSniffer (see attached advanced_country_field-phpcs-issues.txt → file).
Note: I would suggest enabling GitLab CI for the project, follow the Drupal Association .gitlab-ci.yml template and fix the PHP_CodeSniffer errors/warnings it reports.
1. FILE: src/Form/ContentTypesForm.php, src/Form/FieldMappingForm.php, src/Form/SettingsForm.php
parent::__construct($config_factory);
ConfigFormBase::__construct() requires two parameters. See the change record → .
2. FILE: templates/ai-content-assistant-usage-stats.html.twig
Twig code needs to be correctly indented. Drupal uses two spaces for indentation, not four spaces or tabs.
3. Fix the warnings/errors reported by PHP_CodeSniffer (see attached sphoenixai-phpcs-issues.txt → file).
Note: I would suggest enabling GitLab CI for the project, follow the Drupal Association .gitlab-ci.yml template and fix the PHP_CodeSniffer errors/warnings it reports.
As a side note: These applications do not require that new releases are created after reviews.
Except for the first point regarding the removal of the main branch, I don’t see the other mentioned changes reflected in the 1.0.x branch. It seems you might have forgotten to push the latest changes.
1. FILE: zenwidgets.info.yml
core_version_requirement: ^8 || ^9 || ^10 || ^11
FILE: composer.json
"drupal/core": "^9.5 || ^10 || ^11"
A new project should not declare itself compatible with a Drupal release that is no longer supported. No site should be using Drupal 8 nor Drupal 9, and people should not be encouraged to use those Drupal releases.
2. Fix the warnings/errors reported by PHP_CodeSniffer.
Note: I would suggest enabling GitLab CI for the project, follow the Drupal Association .gitlab-ci.yml template and fix the PHP_CodeSniffer errors/warnings it reports.
phpcs --standard=Drupal,DrupalPractice --extensions=php,module,inc,install,test,profile,theme,info,txt,md,yml zenwidgets/
FILE: zenwidgets/README.md
----------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------
15 | WARNING | Line exceeds 80 characters; contains 125 characters
----------------------------------------------------------------------
FILE: zenwidgets/src/Plugin/Field/FieldFormatter/WidgetDefaultFormatter.php
--------------------------------------------------------------------------------
FOUND 1 ERROR AND 1 WARNING AFFECTING 2 LINES
--------------------------------------------------------------------------------
10 | ERROR | [x] Missing class doc comment
37 | WARNING | [ ] \Drupal calls should be avoided in classes, use dependency injection instead
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: zenwidgets/src/Plugin/Field/FieldWidget/WidgetDefaultWidget.php
--------------------------------------------------------------------------------
FOUND 3 ERRORS AND 1 WARNING AFFECTING 4 LINES
--------------------------------------------------------------------------------
11 | ERROR | [x] Missing class doc comment
32 | ERROR | [ ] Missing short description in doc comment
33 | ERROR | [ ] Description for the @return value is missing
39 | WARNING | [ ] \Drupal calls should be avoided in classes, use dependency injection instead
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: zenwidgets/src/Plugin/Field/FieldType/WidgetItem.php
--------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
--------------------------------------------------------------------------------
11 | ERROR | [x] Missing class doc comment
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: zenwidgets/src/Form/ZenWidgetsConfigForm.php
--------------------------------------------------------------------------------
FOUND 2 ERRORS AFFECTING 2 LINES
--------------------------------------------------------------------------------
11 | ERROR | [x] Missing class doc comment
13 | ERROR | [ ] Missing member variable doc comment
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: zenwidgets/src/Service/ZenWidgetsService.php
--------------------------------------------------------------------------------
FOUND 28 ERRORS AND 2 WARNINGS AFFECTING 28 LINES
--------------------------------------------------------------------------------
11 | ERROR | [x] Missing class doc comment
15 | ERROR | [ ] Missing short description in doc comment
16 | ERROR | [x] Data types in @var tags need to be fully namespaced
20 | ERROR | [ ] Missing short description in doc comment
21 | ERROR | [x] Data types in @var tags need to be fully namespaced
25 | ERROR | [ ] Missing short description in doc comment
26 | ERROR | [ ] Missing parameter comment
26 | ERROR | [x] Data types in @param tags need to be fully namespaced
27 | ERROR | [ ] Missing parameter comment
27 | ERROR | [x] Data types in @param tags need to be fully namespaced
37 | ERROR | [ ] Missing short description in doc comment
38 | ERROR | [ ] Description for the @return value is missing
46 | ERROR | [ ] Missing short description in doc comment
47 | ERROR | [ ] Description for the @return value is missing
53 | ERROR | [ ] Missing short description in doc comment
54 | ERROR | [ ] Description for the @return value is missing
60 | ERROR | [ ] Missing short description in doc comment
61 | ERROR | [ ] Description for the @return value is missing
67 | ERROR | [ ] Missing short description in doc comment
68 | ERROR | [ ] Description for the @return value is missing
74 | ERROR | [ ] Missing short description in doc comment
75 | ERROR | [ ] Description for the @return value is missing
100 | ERROR | [ ] Missing short description in doc comment
101 | ERROR | [ ] Missing parameter comment
102 | ERROR | [ ] Missing parameter comment
104 | ERROR | [ ] Description for the @return value is missing
117 | ERROR | [ ] Missing short description in doc comment
118 | ERROR | [ ] Description for the @return value is missing
124 | WARNING | [ ] \Drupal calls should be avoided in classes, use dependency injection instead
130 | WARNING | [ ] \Drupal calls should be avoided in classes, use dependency injection instead
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 5 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: zenwidgets/zenwidgets.module
----------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
----------------------------------------------------------------------
1 | ERROR | [x] Missing file doc comment
----------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
---------------------------------------------------------------------- vishal.kadam → made their first commit to this issue’s fork.
The typical path to confirming users usually involves reviewing the content that you've created on this site. In this case, you've not created any content except this post, so there is no content to review. Postponing for now, after you have posted some content on Drupal.org you may want to add a comment to this issue to request a new review. Please visit the Become a confirmed user → page for information. That page also tells you what "limitations" mean.
Since you haven't contributed yet here is a list of resources to help you on your journey:
Rest looks good to me.
Please wait for a Project Moderator to take a look and if everything goes fine, you will get the role.
1. FILE: require_revision.module
/**
* Implements hook_form_alter().
*/
function require_revision_form_alter(&$form, FormStateInterface $form_state, $form_id) {
\Drupal::service('require_revision.hooks')->formAlter($form, $form_state, $form_id);
}/**
* Implements hook_entity_presave().
*/
function require_revision_entity_presave(EntityInterface $entity) {
\Drupal::service('require_revision.hooks')->entityPresave($entity);
}
Procedural hooks should be marked with the #[LegacyHook] attribute.
2. FILE: src/Hook/RequireRevisionHooks.php
/**
* Implements hook_form_alter().
*/
public function formAlter(&$form, FormStateInterface $form_state, $form_id): void { /**
* Implements hook_entity_presave().
*/
public function entityPresave(EntityInterface $entity): void {
The hook method must have a #[Hook()] attribute.
We do not delete projects with commits; it is not even possible to delete
them, since the /Delete/ button is programmatically removed in that case.
I have published Hardcoded 'article' bundle type in addLink prevents double-click event creation for other content types 🐛 Hardcoded 'article' bundle type in addLink prevents double-click event creation for other content types Active and confirmed the account.
1. FILE: composer.json
"require": {
"drupal/core": "^10 || ^11"
},Update drupal core requirement as per info file.
2. FILE: require_revision.module
For a new module that aims to be compatible with Drupal 10/11, it is expected it implements hooks as class methods as described in Support for object oriented hook implementations using autowired services → .
3. FILE: src/Form/RequireRevisionSettingsForm.php
$form['revision_required_' . $entity_type] = [
'#type' => 'checkboxes',
'#title' => $this->t('Requiring revisions'),
'#description' => $this->t('Select the types that should require a new revision to be created when edited.'),
'#options' => $options,
'#config_target' => 'require_revision.settings:revision_required_' . $entity_type,
'#default_value' => $config->get('revision_required_' . $entity_type) ?? [],
];
$form['revision_log_required_' . $entity_type] = [
'#type' => 'checkboxes',
'#title' => $this->t('Requiring revision log messages'),
'#description' => $this->t('Select the types that should require a revision log message. This only applies when the type is also set to require revisions above.'),
'#options' => $options,
'#config_target' => 'require_revision.settings:revision_log_required_' . $entity_type,
'#default_value' => $config->get('revision_log_required_' . $entity_type) ?? [],
];It is sufficient to use #config_target. There is no longer need to use #default_value.
/**
* The entity type manager.
*
* @var \Drupal\Core\Entity\EntityTypeManagerInterface
*/
protected $entityTypeManager;
/**
* Constructs a RequireRevisionSettingsForm object.
*
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory service.
* @param \Drupal\Core\Config\TypedConfigManagerInterface $typed_config
* The typed config manager service.
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager service.
*/
public function __construct(ConfigFactoryInterface $config_factory, TypedConfigManagerInterface $typed_config, EntityTypeManagerInterface $entity_type_manager) {
parent::__construct($config_factory, $typed_config);
$this->entityTypeManager = $entity_type_manager;
}New modules, which are compatible with Drupal 10 and higher versions are expected to use constructor property promotion.
Rest looks good to me.
Please wait for a Project Moderator to take a look and if everything goes fine, you will get the role.
main is acceptable as branch name, but it is not yet fully supported on drupal.org. For the moment, it is better to avoid it.
The typical path to confirming users usually involves reviewing the content that you've created on this site. In this case, you've not created any content except this post, so there is no content to review. Postponing for now, after you have posted some content on Drupal.org you may want to add a comment to this issue to request a new review. Please visit the Become a confirmed user → page for information. That page also tells you what "limitations" mean.
Since you haven't contributed yet here is a list of resources to help you on your journey:
The typical path to confirming users usually involves reviewing the content that you've created on this site. In this case, you've not created any content except this post, so there is no content to review. Postponing for now, after you have posted some content on Drupal.org you may want to add a comment to this issue to request a new review. Please visit the Become a confirmed user → page for information. That page also tells you what "limitations" mean.
Since you haven't contributed yet here is a list of resources to help you on your journey:
FILE: src/Form/RequireRevisionSettingsForm.php
parent::__construct($config_factory);
ConfigFormBase::__construct() requires two parameters. See the change record → .
FILE: src/Form/RequireRevisionSettingsForm.php
ConfigFormBase::__construct() needs to be called. Since its parameters changed in Drupal 10.2, the project cannot be compatible with all the Drupal 10 releases and Drupal 11; it needs to require at least Drupal 10.2.
With Drupal 10 and Drupal 11, there is no longer need to use #default_value for each form element, when the parent class is ConfigFormBase: It is sufficient to use #config_target, as in the following code.
$form['image_toolkit'] = [
'#type' => 'radios',
'#title' => $this->t('Select an image processing toolkit'),
'#config_target' => 'system.image:toolkit',
'#options' => [],
];Using that code, it is no longer needed to save the configuration values in the form submission handler: The parent class will take care of that.
FILE: src/Controller/PublishToggleController.php
/**
* Constructs a new PublishToggleController object.
*
* @param \Drupal\Core\Session\AccountProxyInterface $current_user
* The current user service.
* @param \Drupal\node\NodeStorageInterface $nodeStorage
* The node storage service.
*/
public function __construct(AccountProxyInterface $current_user,protected NodeStorageInterface $nodeStorage) {
$this->currentUser = $current_user;
}
/**
* {@inheritdoc}
*
* @noinspection PhpParamsInspection
*/
public static function create(ContainerInterface $container) {
return new static(
$container->get('current_user'),
$container->get('entity_type.manager')->getStorage('node')
);
}The parent class already has properties and methods for the entity type manager, and the current user service object. There is no need to redefine properties for the same purpose; instead, the parent class methods should be used.
1.
main is acceptable as branch name, but it is not yet fully supported on drupal.org. For the moment, it is better to avoid it.
2. FILE: require_revision.module
/**
* @file
* Primary module hooks for Require Revision module.
*
* Provides functionality to enforce revision creation and revision log messages
* for configured entity types.
*/Drupal does not have primary and secondary hooks. Instead of that, it is preferable to use the usual description: “Hook implementations for the [module name] module”, where [module name] is the name of the module given in its .info.yml file.
3. Fix the warnings/errors reported by PHP_CodeSniffer.
Note: I would suggest enabling GitLab CI for the project, follow the Drupal Association .gitlab-ci.yml template and fix the PHP_CodeSniffer errors/warnings it reports.
phpcs --standard=Drupal,DrupalPractice --extensions=php,module,inc,install,test,profile,theme,info,txt,md,yml require_revision/
FILE: require_revision/require_revision.info.yml
--------------------------------------------------------------------------------
FOUND 1 ERROR AND 1 WARNING AFFECTING 2 LINES
--------------------------------------------------------------------------------
1 | WARNING | [ ] Remove "version" from the info file, it will be added by drupal.org packaging automatically
13 | ERROR | [x] Expected 1 newline at end of file; 0 found
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: require_revision/require_revision.module
------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------------
138 | ERROR | [x] Expected 1 newline at end of file; 0 found
------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------------
FILE: require_revision/README.md
-------------------------------------------------------------------------
FOUND 1 ERROR AND 26 WARNINGS AFFECTING 27 LINES
-------------------------------------------------------------------------
3 | WARNING | [ ] Line exceeds 80 characters; contains 140 characters
20 | WARNING | [ ] Line exceeds 80 characters; contains 340 characters
25 | WARNING | [ ] Line exceeds 80 characters; contains 88 characters
33 | WARNING | [ ] Line exceeds 80 characters; contains 95 characters
34 | WARNING | [ ] Line exceeds 80 characters; contains 93 characters
35 | WARNING | [ ] Line exceeds 80 characters; contains 106 characters
36 | WARNING | [ ] Line exceeds 80 characters; contains 91 characters
37 | WARNING | [ ] Line exceeds 80 characters; contains 93 characters
38 | WARNING | [ ] Line exceeds 80 characters; contains 85 characters
77 | WARNING | [ ] Line exceeds 80 characters; contains 87 characters
82 | WARNING | [ ] Line exceeds 80 characters; contains 81 characters
84 | WARNING | [ ] Line exceeds 80 characters; contains 88 characters
88 | WARNING | [ ] Line exceeds 80 characters; contains 88 characters
91 | WARNING | [ ] Line exceeds 80 characters; contains 84 characters
92 | WARNING | [ ] Line exceeds 80 characters; contains 92 characters
94 | WARNING | [ ] Line exceeds 80 characters; contains 83 characters
103 | WARNING | [ ] Line exceeds 80 characters; contains 152 characters
106 | WARNING | [ ] Line exceeds 80 characters; contains 104 characters
109 | WARNING | [ ] Line exceeds 80 characters; contains 103 characters
115 | WARNING | [ ] Line exceeds 80 characters; contains 109 characters
116 | WARNING | [ ] Line exceeds 80 characters; contains 142 characters
117 | WARNING | [ ] Line exceeds 80 characters; contains 113 characters
121 | WARNING | [ ] Line exceeds 80 characters; contains 111 characters
122 | WARNING | [ ] Line exceeds 80 characters; contains 110 characters
132 | WARNING | [ ] Line exceeds 80 characters; contains 91 characters
176 | WARNING | [ ] Line exceeds 80 characters; contains 158 characters
209 | ERROR | [x] Expected 1 newline at end of file; 0 found
-------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
-------------------------------------------------------------------------
FILE: require_revision/config/schema/require_revision.schema.yml
--------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
--------------------------------------------------------------------------------
40 | ERROR | [x] Expected 1 newline at end of file; 0 found
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: require_revision/require_revision.permissions.yml
--------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
--------------------------------------------------------------------------------
4 | ERROR | [x] Expected 1 newline at end of file; 0 found
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: require_revision/tests/src/Functional/RequireRevisionSettingsFormTest.php
--------------------------------------------------------------------------------
FOUND 116 ERRORS AFFECTING 115 LINES
--------------------------------------------------------------------------------
3 | ERROR | [x] Namespaced classes, interfaces and traits should not begin with a file doc comment
20 | ERROR | [x] Opening brace should be on the same line as the declaration
22 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
25 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
27 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
30 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
31 | ERROR | [x] Array indentation error, expected 6 spaces but found 4
32 | ERROR | [x] Array indentation error, expected 6 spaces but found 4
33 | ERROR | [x] Array indentation error, expected 6 spaces but found 4
34 | ERROR | [x] Array indentation error, expected 6 spaces but found 4
37 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
42 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
44 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
47 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
48 | ERROR | [x] Opening brace should be on the same line as the declaration
49 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
51 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
52 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
54 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
55 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
56 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
57 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
60 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
62 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
65 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
66 | ERROR | [x] Opening brace should be on the same line as the declaration
67 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
68 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
69 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
71 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
72 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
73 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
74 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
75 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
76 | ERROR | [x] Object operator not indented correctly; expected 10 spaces but found 12
77 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
79 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
82 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
83 | ERROR | [x] Opening brace should be on the same line as the declaration
84 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
85 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
87 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
88 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
92 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
93 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
95 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
96 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
98 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
99 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
101 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
102 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
103 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
103 | ERROR | [x] TRUE, FALSE and NULL must be uppercase; expected "TRUE" but found "true"
105 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
107 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
108 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
109 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
110 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
111 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
112 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
114 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
117 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
118 | ERROR | [x] Opening brace should be on the same line as the declaration
119 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
120 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
122 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
123 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
127 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
128 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
129 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
131 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
132 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
134 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
135 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
138 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
140 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
141 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
143 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
144 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
148 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
149 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
151 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
152 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
153 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
154 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
155 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
156 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
158 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
161 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
162 | ERROR | [x] Opening brace should be on the same line as the declaration
163 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
164 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
166 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
167 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
171 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
172 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
173 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
174 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
176 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
177 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
179 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
180 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
183 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
185 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
186 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
188 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
189 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
193 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
194 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
196 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
197 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
198 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
202 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
203 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
204 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
206 | ERROR | [x] Expected 1 newline at end of file; 0 found
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 116 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: require_revision/src/Form/RequireRevisionSettingsForm.php
--------------------------------------------------------------------------------
FOUND 156 ERRORS AND 3 WARNINGS AFFECTING 153 LINES
--------------------------------------------------------------------------------
3 | ERROR | [x] Namespaced classes, interfaces and traits should not begin with a file doc comment
23 | ERROR | [x] Opening brace should be on the same line as the declaration
25 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
30 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
32 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
38 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
39 | ERROR | [x] Opening brace should be on the same line as the declaration
40 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
41 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
43 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
46 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
47 | ERROR | [x] Opening brace should be on the same line as the declaration
48 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
51 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
53 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
56 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
57 | ERROR | [x] Opening brace should be on the same line as the declaration
58 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
59 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
61 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
64 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
65 | ERROR | [x] Opening brace should be on the same line as the declaration
66 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
67 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
69 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
72 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
73 | ERROR | [x] Opening brace should be on the same line as the declaration
74 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
76 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
77 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
78 | ERROR | [x] Object operator not indented correctly; expected 10 spaces but found 12
80 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
81 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
82 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
83 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
85 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
86 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
87 | ERROR | [x] Object operator not indented correctly; expected 10 spaces but found 12
89 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
90 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
91 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
92 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
94 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
95 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
96 | ERROR | [x] Object operator not indented correctly; expected 10 spaces but found 12
98 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
99 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
100 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
101 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
103 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
104 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
105 | WARNING | [ ] Translatable strings must not begin or end with white spaces, use placeholders with t() for variables
106 | ERROR | [ ] Concatenating translatable strings is not allowed, use placeholders instead and only one string literal
107 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
108 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
111 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
112 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
113 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
114 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
115 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
116 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
116 | ERROR | [x] TRUE, FALSE and NULL must be uppercase; expected "FALSE" but found "false"
118 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
124 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
126 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
127 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
128 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
129 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
130 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
131 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
131 | ERROR | [x] TRUE, FALSE and NULL must be uppercase; expected "FALSE" but found "false"
133 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
139 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
141 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
142 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
143 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
144 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
145 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
146 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
146 | ERROR | [x] TRUE, FALSE and NULL must be uppercase; expected "FALSE" but found "false"
148 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
154 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
156 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
160 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
161 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
163 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
163 | ERROR | [x] Expected newline after closing brace
164 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
165 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
166 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
167 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
168 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
171 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
172 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
173 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
175 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
177 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
178 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
180 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
183 | ERROR | [x] Expected 1 spaces after parameter type; 31 found
185 | ERROR | [x] Expected 1 spaces after parameter type; 30 found
187 | ERROR | [x] Expected 1 spaces after parameter type; 31 found
192 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
193 | ERROR | [x] Multi-line function declaration not indented correctly; expected 6 spaces but found 8
194 | ERROR | [x] Multi-line function declaration not indented correctly; expected 6 spaces but found 8
195 | ERROR | [x] Multi-line function declaration not indented correctly; expected 6 spaces but found 8
196 | ERROR | [x] Multi-line function declaration not indented correctly; expected 6 spaces but found 8
196 | ERROR | [x] Multi-line function declarations must have a trailing comma after the last parameter
198 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
199 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
200 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
201 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
202 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
205 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
206 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
207 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
208 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
209 | WARNING | [ ] Translatable strings must not begin or end with white spaces, use placeholders with t() for variables
210 | ERROR | [ ] Concatenating translatable strings is not allowed, use placeholders instead and only one string literal
211 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
212 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
213 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
214 | ERROR | [x] Array indentation error, expected 12 spaces but found 8
217 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
218 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
219 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
220 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
221 | WARNING | [ ] Translatable strings must not begin or end with white spaces, use placeholders with t() for variables
222 | ERROR | [ ] Concatenating translatable strings is not allowed, use placeholders instead and only one string literal
224 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
225 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
226 | ERROR | [x] Array indentation error, expected 10 spaces but found 8
227 | ERROR | [x] Array indentation error, expected 12 spaces but found 8
230 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
231 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
232 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
233 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
234 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
235 | ERROR | [x] Array indentation error, expected 14 spaces but found 12
235 | ERROR | [x] TRUE, FALSE and NULL must be uppercase; expected "TRUE" but found "true"
238 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
239 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
241 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
244 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
245 | ERROR | [x] Opening brace should be on the same line as the declaration
246 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
248 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
249 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
250 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
251 | ERROR | [x] Line indented incorrectly; expected 6 spaces, found 12
254 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 12
256 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 12
257 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 12
260 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 12
264 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
266 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
267 | ERROR | [x] Line indented incorrectly; expected 4 spaces, found 8
268 | ERROR | [x] Line indented incorrectly; expected 2 spaces, found 4
270 | ERROR | [x] Expected 1 newline at end of file; 0 found
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 153 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: require_revision/require_revision.libraries.yml
--------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
--------------------------------------------------------------------------------
8 | ERROR | [x] Expected 1 newline at end of file; 0 found
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: require_revision/require_revision.links.menu.yml
--------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
--------------------------------------------------------------------------------
6 | ERROR | [x] Expected 1 newline at end of file; 0 found
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: require_revision/require_revision.routing.yml
--------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
--------------------------------------------------------------------------------
7 | ERROR | [x] Expected 1 newline at end of file; 0 found
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------vishal.kadam → made their first commit to this issue’s fork.
1. main is a wrong name for a branch and should be removed. Release branch names always end with the literal .x as described in
Release branches →
.
main will be a supported branch in future, but for the moment it is better not to use it. It is not wrong, but it is not completely supported on drupal.org.
2. FILE: sphoenix_ai.module
/**
* @file
* SPhoenix AI Content Assistant module.
*/The usual description for a .module file is “Hook implementations for the [module name] module”, where [module name] is the module name given in the .info.yml file.
/**
* Implements hook_cron().
*/
// function sphoenix_ai_cron()
// {
// // Clean up old usage data.
// $config = \Drupal::config('sphoenix_ai.settings');
// $cleanup_days = $config->get('cleanup_usage_days') ?: 365;
// if ($cleanup_days > 0) {
// try {
// $usage_tracker = \Drupal::service('sphoenix_ai.usage_tracker');
// $deleted = $usage_tracker->cleanupOldData($cleanup_days);
// if ($deleted > 0) {
// \Drupal::logger('sphoenix_ai')->info('Cleaned up @count old usage records.', ['@count' => $deleted]);
// }
// } catch (\Exception $e) {
// \Drupal::logger('sphoenix_ai')->error('Failed to cleanup usage data: @message', ['@message' => $e->getMessage()]);
// }
// }
// // Additional maintenance tasks for usage statistics
// try {
// // Update cached statistics
// $usage_tracker = \Drupal::service('sphoenix_ai.usage_tracker');
// $usage_tracker->refreshCachedStats();
// // Archive old detailed logs (keep summaries)
// $usage_tracker->archiveOldLogs(90); // Archive logs older than 90 days
// } catch (\Exception $e) {
// \Drupal::logger('sphoenix_ai')->warning('Usage statistics maintenance partially failed: @message', ['@message' => $e->getMessage()]);
// }
// }Remove commented code.
3. FILE: templates/ai-content-assistant-usage-stats.html.twig
Twig code needs to be correctly indented. Drupal uses two spaces for indentation, not four spaces or tabs.
4. FILE: src/Controller/AuthCallbackController.php
/**
* The authentication service.
*
* @var \Drupal\sphoenix_ai\Service\AuthenticationService
*/
protected $authService;
/**
* Constructs an AuthCallbackController object.
*/
public function __construct(AuthenticationService $auth_service)
{
$this->authService = $auth_service;
}FILE: src/Controller/AuthController.php
/**
* The authentication service.
*
* @var \Drupal\sphoenix_ai\Service\AuthenticationService
*/
protected $authService;
/**
* Constructs an AuthController object.
*
* @param \Drupal\sphoenix_ai\Service\AuthenticationService $auth_service
* The authentication service.
*/
public function __construct(AuthenticationService $auth_service)
{
$this->authService = $auth_service;
}FILE: src/Controller/ChatController.php
/**
* The API client service.
*
* @var \Drupal\sphoenix_ai\Service\ApiClientService
*/
protected $apiClient;
/**
* The field mapper service.
*
* @var \Drupal\sphoenix_ai\Service\FieldMapperService
*/
protected $fieldMapper;
/**
* The usage tracker service.
*
* @var \Drupal\sphoenix_ai\Service\UsageTrackerService
*/
protected $usageTracker;
/**
* The authentication service.
*
* @var \Drupal\sphoenix_ai\Service\AuthenticationService
*/
protected $authService;
/**
* The subscription service.
*
* @var \Drupal\sphoenix_ai\Service\SubscriptionService
*/
protected $subscriptionService;
/**
* The content analyzer service.
*
* @var \Drupal\sphoenix_ai\Service\ContentAnalyzerService
*/
protected $contentAnalyzer;
/**
* Constructs a ChatController object.
*/
public function __construct(
ApiClientService $api_client,
FieldMapperService $field_mapper,
UsageTrackerService $usage_tracker,
AuthenticationService $auth_service,
SubscriptionService $subscription_service,
ContentAnalyzerService $content_analyzer
) {
$this->apiClient = $api_client;
$this->fieldMapper = $field_mapper;
$this->usageTracker = $usage_tracker;
$this->authService = $auth_service;
$this->subscriptionService = $subscription_service;
$this->contentAnalyzer = $content_analyzer;
}FILE: src/Controller/FileUploadController.php
/**
* The file system service.
*
* @var \Drupal\Core\File\FileSystemInterface
*/
protected $fileSystem;
/**
* Constructs a FileUploadController object.
*/
public function __construct(
FileSystemInterface $file_system
) {
$this->fileSystem = $file_system;
}FILE: src/Controller/SubscriptionController.php
/**
* The subscription service.
*
* @var \Drupal\sphoenix_ai\Service\SubscriptionService
*/
protected $subscriptionService;
/**
* Constructs a SubscriptionController object.
*
* @param \Drupal\sphoenix_ai\Service\SubscriptionService $subscription_service
* The subscription service.
*/
public function __construct(SubscriptionService $subscription_service)
{
$this->subscriptionService = $subscription_service;
}FILE: src/Controller/UsageController.php
/**
* The usage tracker service.
*
* @var \Drupal\sphoenix_ai\Service\UsageTrackerService
*/
protected $usageTracker;
/**
* Constructs a UsageController object.
*
* @param \Drupal\sphoenix_ai\Service\UsageTrackerService $usage_tracker
* The usage tracker service.
*/
public function __construct(UsageTrackerService $usage_tracker)
{
$this->usageTracker = $usage_tracker;
}New modules, which are compatible with Drupal 10 and higher versions are expected to include type declarations in property definitions, and use constructor property promotion.
5. FILE: src/Form/ContentTypesForm.php, src/Form/FieldMappingForm.php, src/Form/SettingsForm.php
parent::__construct($config_factory, $typed_config_manager);
ConfigFormBase::__construct() parameters changed in Drupal 10.2, the project cannot be compatible with all the Drupal 10 releases and Drupal 11; it needs to require at least Drupal 10.2.
With Drupal 10 and Drupal 11, there is no longer need to use #default_value for each form element, when the parent class is ConfigFormBase: It is sufficient to use #config_target, as in the following code.
$form['image_toolkit'] = [
'#type' => 'radios',
'#title' => $this->t('Select an image processing toolkit'),
'#config_target' => 'system.image:toolkit',
'#options' => [],
];Using that code, it is no longer needed to save the configuration values in the form submission handler: The parent class will take care of that.
1. FILE: README.md
The README file is missing the required sections → - Requirements and Configuration.
2. FILE: edit_media_modal.module
For a new module that aims to be compatible with Drupal 10/11, it is expected it implements hooks as class methods as described in Support for object oriented hook implementations using autowired services → .
/**
* @file
* This is the module to improve working edit media entity in modal windows.
*/The usual description for a .module file is “Hook implementations for the [module name] module”, where [module name] is the module name given in the .info.yml file.
3. FILE: src/Plugin/CKEditor5Plugin/EditMediaModalSettings.php
/**
* The entity type manager.
*
* @var \Drupal\Core\Entity\EntityTypeManagerInterface
*/
protected EntityTypeManagerInterface $entityTypeManager;
/**
* The EditMediaModalSettings object construct.
*
* @param array $configuration
* A configuration array containing information about the plugin instance.
* @param string $plugin_id
* The plugin ID for the plugin instance.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->entityTypeManager = $entity_type_manager;
}New modules, which are compatible with Drupal 10 and higher versions are expected to include type declarations in property definitions, and use constructor property promotion.
Rest seems fine to me.
Please wait for other reviewers and Project Moderator to take a look and if everything goes fine, you will get the role.
The typical path to confirming users usually involves reviewing the content that you've created on this site. In this case, you've not created any content except this post, so there is no content to review. Postponing for now, after you have posted some content on Drupal.org you may want to add a comment to this issue to request a new review. Please visit the Become a confirmed user → page for information. That page also tells you what "limitations" mean.
Since you haven't contributed yet here is a list of resources to help you on your journey:
I have reviewed your post and confirmed the account.
I have reviewed your post and confirmed the account.
PHP Constructor Property Promotion has not been implemented correctly. Please refer to this guide for proper implementation.
And just a question: can this be checked in the codesniffer? If there a "drupal 10 ruleset" because it seems a good idea to have it, especially for me :D
I think this is already being discussed under issue #3278431 📌 Use PHP 8 constructor property promotion for existing code Needs work .
I have published Aspect ratio of uncached responsive images not correct in Firefox 🐛 Aspect ratio of uncached responsive images not correct in Firefox Active and confirmed the account.
FILE: src/Controller/PublishToggleController.php
/**
* The current user.
*
* @var \Drupal\Core\Session\AccountProxyInterface
*/
protected $currentUser;
/**
* The node storage service.
*
* @var \Drupal\node\NodeStorageInterface
*/
protected $nodeStorage;
/**
* Constructs a new PublishToggleController object.
*
* @param \Drupal\Core\Session\AccountProxyInterface $current_user
* The current user service.
* @param \Drupal\node\NodeStorageInterface $node_storage
* The node storage service.
*/
public function __construct(AccountProxyInterface $current_user, NodeStorageInterface $node_storage) {
$this->currentUser = $current_user;
$this->nodeStorage = $node_storage;
}FILE: src/Plugin/Field/FieldFormatter/PublishToggleFormatter.php
/**
* The current user.
*
* @var \Drupal\Core\Session\AccountProxyInterface
*/
protected $currentUser;
/**
* The CSRF token generator.
*
* @var \Drupal\Core\Access\CsrfTokenGenerator
*/
protected $csrfToken;
/**
* Constructs a PublishToggleFormatter object.
*/
public function __construct(
$plugin_id,
$plugin_definition,
FieldDefinitionInterface $field_definition,
array $settings,
$label,
$view_mode,
array $third_party_settings,
AccountProxyInterface $current_user,
CsrfTokenGenerator $csrf_token,
) {
parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings);
$this->currentUser = $current_user;
$this->csrfToken = $csrf_token;
}New modules, which are compatible with Drupal 10 and higher versions are expected to include type declarations in property definitions, and use property promotion.
FILE: src/Controller/MontonioWebhookController.php
/**
* The Montonio API client factory.
*
* @var \Drupal\commerce_montonio\Service\MontonioApiClientFactory
*/
protected $apiClientFactory;
/**
* Montonio logger.
*
* @var \Drupal\commerce_montonio\Service\MontonioLogger
*/
protected $montonioLogger;
/**
* Montonio payment service.
*
* @var \Drupal\commerce_montonio\Service\MontonioPaymentService
*/
protected $paymentService;
/**
* Order repository.
*
* @var \Drupal\commerce_montonio\Repository\OrderRepositoryInterface
*/
protected $orderRepository;
/**
* The webhook validator service.
*
* @var \Drupal\commerce_montonio\Service\WebhookValidator
*/
protected $webhookValidator;
/**
* Constructs a new MontonioWebhookController object.
*
* @param \Drupal\commerce_montonio\Service\MontonioApiClientFactory $apiClientFactory
* The Montonio API client factory.
* @param \Drupal\commerce_montonio\Service\MontonioLogger $montonioLogger
* The Montonio logger.
* @param \Drupal\commerce_montonio\Service\MontonioPaymentService $paymentService
* The Montonio payment service.
* @param \Drupal\commerce_montonio\Repository\OrderRepositoryInterface $orderRepository
* The order repository.
* @param \Drupal\commerce_montonio\Service\WebhookValidator $webhookValidator
* The webhook validator service.
*/
public function __construct(
MontonioApiClientFactory $apiClientFactory,
MontonioLogger $montonioLogger,
MontonioPaymentService $paymentService,
OrderRepositoryInterface $orderRepository,
WebhookValidator $webhookValidator,
) {
$this->apiClientFactory = $apiClientFactory;
$this->montonioLogger = $montonioLogger;
$this->paymentService = $paymentService;
$this->orderRepository = $orderRepository;
$this->webhookValidator = $webhookValidator;
}New modules, which are compatible with Drupal 10 and higher versions are expected to include type declarations in property definitions, and use property promotion.
I have unpublished the duplicate forum topic and retained the one with more comments.
It has also been moved to the "General Discussion" category, which seems most appropriate.
For reference, the active forum post is available at:
https://www.drupal.org/forum/general/general-discussion/2025-10-06/what-... →
Remember to change status, when the project is ready to be reviewed. In this queue, projects are only reviewed when the status is Needs review.
It appears there are multiple project applications created using your account.
Since a successful completion of the project application process results in the applicant being granted the necessary role to be able to opt projects into security advisory coverage, there is no need to take multiple applications through the process. Once the first application has been successfully approved, the applicant can promote other projects without review. Because of this, posting multiple applications is not necessary, and results in additional workload for reviewers, which in turn results in longer wait times for everyone in the queue. With this in mind, your secondary applications have been marked as Closed (duplicate), with only one application left open.
The typical path to confirming users usually involves reviewing the content that you've created on this site. In this case, you've not created any content except this post, so there is no content to review. Postponing for now, after you have posted some content on Drupal.org you may want to add a comment to this issue to request a new review. Please visit the Become a confirmed user → page for information. That page also tells you what "limitations" mean.
Since you haven't contributed yet here is a list of resources to help you on your journey:
The typical path to confirm users usually involves reviewing content you created on this site. In this case, you just created this issue, so there is no content to review.
I am postponing this issue. After you posted some content on Drupal.org, you may want to add a comment to this issue to request a new review.
Hello, and a warm welcome to the Drupal community!
You don't need a confirmed account to host your projects. The ability to host a module, theme, or distribution on Drupal.org requires the Git access permission.
See
Obtaining Git access. →
Rest looks good to me.
Please wait for a Project Moderator to take a look and if everything goes fine, you will get the role.
You can use PHP CodeSniffer's phpcbf command → on local to automatically fix coding standards.
1. FILE: readMe.md
File name should be all-caps i.e. READMe.md
2. Fix all the errors/warnings reported by the phpcs job.
I'm not sure if the "valid failed" eslint and phpcs really want changes at the intentdation or if they are just bored.
Drupal uses two spaces for indentation, not four spaces or tabs.
1. FILE: sudoku.info.yml
package: drupal/sudoku_gen
package entries should follow
Drupal capitalization standard →
and use sentence case ("User interface" not "User Interface") by default, except if referring to something which properly uses title case ("Organic Groups").
2. FILE: src/Controller/SudokuController.php
$this->logger->error('Sudoku solveAjax exception: @m', [
'@m' => $e->getMessage(),
]);
$this->logger->error($e->getTraceAsString());The $message parameter passed to the LoggerInterface methods must be a literal string that uses placeholders. It's not a translatable string returned from t()/$this->t(), a string concatenation, a value returned from a function/method, nor a variable containing an exception object.
Remove the second logger since it is duplicate.
1. main, 1.0.0 and 1.0.1 are wrong names for a branch and should be removed. Release branch names always end with the literal .x as described in
Release branches →
.
main will be a supported branch in future, but for the moment it is better not to use it. It is not wrong, but it is not completely supported on drupal.org.
2. FILE: readMe.md
The README file is missing the required section → - Configuration.
3. FILE: view_publish_toggle.info.yml
package: Custom
This line is used by custom modules created for specific sites. It is not a package name used for projects hosted on drupal.org.
4. Fix the warnings/errors reported by PHP_CodeSniffer.
I would suggest enabling GitLab CI for the project, follow the Drupal Association .gitlab-ci.yml template and fix the PHP_CodeSniffer errors/warnings it reports.
phpcs --standard=Drupal,DrupalPractice --extensions=php,module,inc,install,test,profile,theme,info,txt,md,yml view_publish_toggle/
FILE: view_publish_toggle/src/Plugin/Field/FieldFormatter/PublishToggleFormatter.php
--------------------------------------------------------------------------------
FOUND 1 ERROR AND 2 WARNINGS AFFECTING 3 LINES
--------------------------------------------------------------------------------
8 | ERROR | Missing short description in doc comment
22 | WARNING | \Drupal calls should be avoided in classes, use dependency injection instead
41 | WARNING | \Drupal calls should be avoided in classes, use dependency injection instead
--------------------------------------------------------------------------------
FILE: view_publish_toggle/src/Controller/PublishToggleController.php
--------------------------------------------------------------------------------
FOUND 1 ERROR AND 3 WARNINGS AFFECTING 4 LINES
--------------------------------------------------------------------------------
10 | ERROR | [x] Missing class doc comment
17 | WARNING | [ ] Node::load calls should be avoided in classes, use dependency injection instead
20 | WARNING | [ ] \Drupal calls should be avoided in classes, use dependency injection instead
38 | WARNING | [ ] \Drupal calls should be avoided in classes, use dependency injection instead
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: view_publish_toggle/view_publish_toggle.module
--------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
--------------------------------------------------------------------------------
1 | ERROR | [x] Missing file doc comment
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: view_publish_toggle/readMe.md
----------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------
5 | WARNING | Line exceeds 80 characters; contains 143 characters
----------------------------------------------------------------------
1. master and 1.0.1 are wrong names for a branch and should be removed. Release branch names always end with the literal .x as described in
Release branches →
.
2. FILE: sudoku.info.yml
package: Custom
This line is used by custom modules created for specific sites. It is not a package name used for projects hosted on drupal.org.
3. FILE: sudoku.module
/**
* @file
* Contains sudoku.module.
*/The usual description for a .module file is “Hook implementations for the [module name] module”, where [module name] is the module name given in the .info.yml file.
4. FILE: src/Controller/SudokuController.php
$this->logger->error($e->getTraceAsString());
The $message parameter passed to the LoggerInterface methods must be a literal string that uses placeholders. It's not a translatable string returned from t()/$this->t(), a string concatenation, a value returned from a function/method, nor a variable containing an exception object.
5. FILE: src/Controller/SudokuController.php
/**
* Constructor.
*/
public function __construct(FILE: src/Service/SudokuGenerator.php
/**
* SudokuGenerator constructor.
*
* @param SudokuSolver $solver
* The Sudoku solver service.
*/
public function __construct(SudokuSolver $solver) {The documentation comment for constructors is not mandatory anymore, If it is given, the description must be “Constructs a new [class name] object”, where [class name] includes the class namespace.
6. Fix the warnings/errors reported by PHP_CodeSniffer.
I would suggest enabling GitLab CI for the project, follow the Drupal Association .gitlab-ci.yml template and fix the PHP_CodeSniffer errors/warnings it reports.
phpcs --standard=Drupal,DrupalPractice --extensions=php,module,inc,install,test,profile,theme,info,txt,md,yml sudoku_gen/
FILE: sudoku_gen/README.md
----------------------------------------------------------------------
FOUND 0 ERRORS AND 10 WARNINGS AFFECTING 10 LINES
----------------------------------------------------------------------
4 | WARNING | Line exceeds 80 characters; contains 162 characters
46 | WARNING | Line exceeds 80 characters; contains 210 characters
57 | WARNING | Line exceeds 80 characters; contains 132 characters
58 | WARNING | Line exceeds 80 characters; contains 87 characters
76 | WARNING | Line exceeds 80 characters; contains 106 characters
77 | WARNING | Line exceeds 80 characters; contains 120 characters
78 | WARNING | Line exceeds 80 characters; contains 119 characters
79 | WARNING | Line exceeds 80 characters; contains 108 characters
80 | WARNING | Line exceeds 80 characters; contains 198 characters
81 | WARNING | Line exceeds 80 characters; contains 117 characters
----------------------------------------------------------------------
FILE: sudoku_gen/src/Form/SudokuForm.php
------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------
8 | WARNING | [x] Unused use statement
------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------I have reviewed your posts and confirmed the account.
There were no posts/comments to publish.
1. master is a wrong name for a branch and should be removed. Release branch names always end with the literal .x as described in
Release branches →
.
2. FILE: README.md
The README file is missing the required sections → - Installation, and Configuration.
3. FILE: did_ai_provider.module
Drupal does not have primary and secondary hooks. Instead of that, it is preferable to use the usual description: “Hook implementations for the [module name] module”, where [module name] is the name of the module given in its .info.yml file.
4. Fix the warnings/errors reported by PHP_CodeSniffer.
I would suggest enabling GitLab CI for the project, follow the Drupal Association .gitlab-ci.yml template and fix the PHP_CodeSniffer errors/warnings it reports.
phpcs --standard=Drupal,DrupalPractice --extensions=php,module,inc,install,test,profile,theme,info,txt,md,yml did_ai_provider/
FILE: did_ai_provider/definitions/api_defaults.yml
------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------------
57 | ERROR | [x] Expected 1 newline at end of file; 0 found
------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------------
FILE: did_ai_provider/README.md
------------------------------------------------------------------------
FOUND 1 ERROR AND 6 WARNINGS AFFECTING 7 LINES
------------------------------------------------------------------------
11 | WARNING | [ ] Line exceeds 80 characters; contains 96 characters
12 | WARNING | [ ] Line exceeds 80 characters; contains 86 characters
20 | WARNING | [ ] Line exceeds 80 characters; contains 99 characters
43 | WARNING | [ ] Line exceeds 80 characters; contains 110 characters
44 | WARNING | [ ] Line exceeds 80 characters; contains 118 characters
50 | WARNING | [ ] Line exceeds 80 characters; contains 95 characters
52 | ERROR | [x] Expected 1 newline at end of file; 2 found
------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------
FILE: did_ai_provider/config/schema/did_ai_provider.schema.yml
------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------------
22 | ERROR | [x] Expected 1 newline at end of file; 2 found
------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------------
FILE: did_ai_provider/config/install/did_ai_provider.settings.yml
------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------------
1 | ERROR | [x] Expected 1 newline at end of file; 2 found
------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------------
FILE: did_ai_provider/did_ai_provider.links.menu.yml
------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------------
5 | ERROR | [x] Expected 1 newline at end of file; 3 found
------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------------
FILE: did_ai_provider/src/Plugin/AiAutomatorType/DidImageAndAudioToVideo.php
------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------
540 | WARNING | Line exceeds 80 characters; contains 81 characters
------------------------------------------------------------------------------
FILE: did_ai_provider/src/DidApiService.php
---------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
---------------------------------------------------------------------------
430 | WARNING | Line exceeds 80 characters; contains 89 characters
---------------------------------------------------------------------------
FILE: did_ai_provider/did_ai_provider.services.yml
------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------------
15 | ERROR | [x] Expected 1 newline at end of file; 0 found
------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------------
FILE: did_ai_provider/did_ai_provider.info.yml
------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------------
8 | ERROR | [x] Expected 1 newline at end of file; 2 found
------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------------1. FILE: ai_webform_guard.info.yml
dependencies:
- ai
- webform:webform
The dependencies follow the format
:.
2. FILE: ai_webform_guard.module
/**
* @file
* Contains ai_webform_guard.module.
*/The usual description for a .module file is “Hook implementations for the [module name] module”, where [module name] is the module name given in the .info.yml file.
3. FILE: src/Service/ProviderHelper.php
/**
* Constructor.
*
* @param \Drupal\Core\Config\ConfigFactoryInterface $configFactory
* The configuration factory.
* @param \Drupal\ai\AiProviderPluginManager $aiProviderManager
* The AI provider manager.
*/
public function __construct(ConfigFactoryInterface $configFactory, AiProviderPluginManager $aiProviderManager) {
The documentation comment for constructors is not mandatory anymore, If it is given, the description must be “Constructs a new [class name] object”, where [class name] includes the class namespace.
1. FILE: deindex_unpublished_files.module
Since the module is declared compatible with Drupal 10.2, removing the function implementing the hook is not possible. The function still needs to be defined, but it calls the method defined by the service class, as described in Support for object oriented hook implementations using autowired services → (Backwards-compatible Hook implementation for Drupal versions from 10.1 to 11.0).
2. FILE: src/Form/SettingsForm.php
/**
* The file system service.
*
* @var \Drupal\Core\File\FileSystemInterface
*/
protected FileSystemInterface $fileSystem;
/**
* The stream wrapper manager service.
*
* @var \Drupal\Core\StreamWrapper\StreamWrapperManagerInterface
*/
protected StreamWrapperManagerInterface $streamWrapperManager;
/**
* Constructs a SettingsForm object.
*
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory service.
* @param \Drupal\Core\Config\TypedConfigManagerInterface $typed_config_manager
* The typed config manager service.
* @param \Drupal\Core\File\FileSystemInterface $fileSystem
* The file system service.
* @param \Drupal\Core\StreamWrapper\StreamWrapperManagerInterface $streamWrapperManager
* The stream wrapper manager service.
*/
public function __construct(
ConfigFactoryInterface $config_factory,
TypedConfigManagerInterface $typed_config_manager,
FileSystemInterface $fileSystem,
StreamWrapperManagerInterface $streamWrapperManager,
) {
parent::__construct($config_factory, $typed_config_manager);
$this->fileSystem = $fileSystem;
$this->streamWrapperManager = $streamWrapperManager;
}FILE: src/Hook/MediaHooks.php
/**
* The file system service.
*
* @var \Drupal\Core\File\FileSystemInterface
*/
protected FileSystemInterface $fileSystem;
/**
* The configuration factory service.
*
* @var \Drupal\Core\Config\ConfigFactoryInterface
*/
protected ConfigFactoryInterface $configFactory;
/**
* The entity type manager service.
*
* @var \Drupal\Core\Entity\EntityTypeManagerInterface
*/
protected EntityTypeManagerInterface $entityTypeManager;
/**
* MediaHooks constructor.
*
* @param \Drupal\Core\File\FileSystemInterface $file_system
* The file system service.
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The configuration factory service.
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager service.
*/
public function __construct(
FileSystemInterface $file_system,
ConfigFactoryInterface $config_factory,
EntityTypeManagerInterface $entity_type_manager,
) {
$this->fileSystem = $file_system;
$this->configFactory = $config_factory;
$this->entityTypeManager = $entity_type_manager;
}New modules, which are compatible with Drupal 10 and higher versions are expected to include type declarations in property definitions, and use property promotion.
vishal.kadam → made their first commit to this issue’s fork.
vishal.kadam → made their first commit to this issue’s fork.
1. FILE: ai_llms_txt_generator.module
/**
* @file
* Contains ai_llms_txt_generator.module.
*/The usual description for a .module file is “Hook implementations for the [module name] module”, where [module name] is the module name given in the .info.yml file.
2. FILE: src/Controller/GenerateController.php and src/Controller/LlmsTxtController.php
Since that class does not use methods from the parent class, it does not need to use ControllerBase as parent class. Controllers do not need to have a parent class; as long as they implement \Drupal\Core\DependencyInjection\ContainerInjectionInterface, they are fine.
3. FILE: src/Form/LlmsTxtSettingsForm.php
The parameters for ConfigFormBase::__construct() changed in Drupal 10.2; the project cannot be compatible with all the Drupal 10 releases and Drupal 11; it needs to require at least Drupal 10.2.
With Drupal 10 and Drupal 11, there is no longer need to use #default_value for each form element, when the parent class is ConfigFormBase: It is sufficient to use #config_target, as in the following code.
$form['image_toolkit'] = [
'#type' => 'radios',
'#title' => $this->t('Select an image processing toolkit'),
'#config_target' => 'system.image:toolkit',
'#options' => [],
];Using that code, it is no longer needed to save the configuration values in the form submission handler: The parent class will take care of that.
4. FILE: src/Controller/GenerateController.php
/**
* The config factory.
*
* @var \Drupal\Core\Config\ConfigFactoryInterface
*/
protected $configFactory;
/**
* The sitemap parser service.
*
* @var \Drupal\ai_llms_txt_generator\Service\SitemapParserService
*/
protected $sitemapParser;
/**
* The AI generator service.
*
* @var \Drupal\ai_llms_txt_generator\Service\AiGeneratorService
*/
protected $aiGenerator;
/**
* Constructs a GenerateController object.
*
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory.
* @param \Drupal\ai_llms_txt_generator\Service\SitemapParserService $sitemap_parser
* The sitemap parser service.
* @param \Drupal\ai_llms_txt_generator\Service\AiGeneratorService $ai_generator
* The AI generator service.
*/
public function __construct(
ConfigFactoryInterface $config_factory,
SitemapParserService $sitemap_parser,
AiGeneratorService $ai_generator
) {
$this->configFactory = $config_factory;
$this->sitemapParser = $sitemap_parser;
$this->aiGenerator = $ai_generator;
}FILE: src/Controller/LlmsTxtController.php
/**
* The config factory.
*
* @var \Drupal\Core\Config\ConfigFactoryInterface
*/
protected $configFactory;
/**
* Constructs a LlmsTxtController object.
*
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory.
*/
public function __construct(ConfigFactoryInterface $config_factory) {
$this->configFactory = $config_factory;
}FILE: src/Form/LlmsTxtSettingsForm.php
/**
* The sitemap parser service.
*
* @var \Drupal\ai_llms_txt_generator\Service\SitemapParserService
*/
protected $sitemapParser;
/**
* The AI generator service.
*
* @var \Drupal\ai_llms_txt_generator\Service\AiGeneratorService
*/
protected $aiGenerator;
/**
* Constructs a LlmsTxtSettingsForm object.
*
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory.
* @param \Drupal\ai_llms_txt_generator\Service\SitemapParserService $sitemap_parser
* The sitemap parser service.
* @param \Drupal\ai_llms_txt_generator\Service\AiGeneratorService $ai_generator
* The AI generator service.
*/
public function __construct(
ConfigFactoryInterface $config_factory,
SitemapParserService $sitemap_parser,
AiGeneratorService $ai_generator
) {
parent::__construct($config_factory);
$this->sitemapParser = $sitemap_parser;
$this->aiGenerator = $ai_generator;
} FILE: src/Service/AiGeneratorService.php
/**
* The AI provider manager.
*
* @var \Drupal\ai\AiProviderPluginManager
*/
protected $aiProvider;
/**
* The config factory.
*
* @var \Drupal\Core\Config\ConfigFactoryInterface
*/
protected $configFactory;
/**
* The logger.
*
* @var \Drupal\Core\Logger\LoggerChannelInterface
*/
protected $logger;
/**
* Constructs an AiGeneratorService object.
*
* @param \Drupal\ai\AiProviderPluginManager $ai_provider
* The AI provider plugin manager.
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory.
* @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $logger_factory
* The logger channel factory.
*/
public function __construct(
AiProviderPluginManager $ai_provider,
ConfigFactoryInterface $config_factory,
LoggerChannelFactoryInterface $logger_factory
) {
$this->aiProvider = $ai_provider;
$this->configFactory = $config_factory;
$this->logger = $logger_factory->get('ai_llms_txt_generator');
}FILE: src/Service/SitemapParserService.php
/**
* The HTTP client.
*
* @var \GuzzleHttp\ClientInterface
*/
protected $httpClient;
/**
* The logger.
*
* @var \Drupal\Core\Logger\LoggerChannelInterface
*/
protected $logger;
/**
* Constructs a SitemapParserService object.
*
* @param \GuzzleHttp\ClientInterface $http_client
* The HTTP client service.
* @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $logger_factory
* The logger factory service.
*/
public function __construct(ClientInterface $http_client, LoggerChannelFactoryInterface $logger_factory) {
$this->httpClient = $http_client;
$this->logger = $logger_factory->get('ai_llms_txt_generator');
}New modules, which are compatible with Drupal 10 and higher versions are expected to include type declarations in property definitions, and use property promotion.
5. Fix the warnings/errors reported by PHP_CodeSniffer.
I would suggest enabling GitLab CI for the project, follow the Drupal Association .gitlab-ci.yml template and fix the PHP_CodeSniffer errors/warnings it reports.
phpcs --standard=Drupal,DrupalPractice --extensions=php,module,inc,install,test,profile,theme,info,txt,md,yml ai_llms_txt_generator/
FILE: ai_llms_txt_generator/README.md
-------------------------------------------------------------------------
FOUND 1 ERROR AND 4 WARNINGS AFFECTING 5 LINES
-------------------------------------------------------------------------
3 | WARNING | [ ] Line exceeds 80 characters; contains 103 characters
7 | WARNING | [ ] Line exceeds 80 characters; contains 105 characters
9 | WARNING | [ ] Line exceeds 80 characters; contains 100 characters
11 | WARNING | [ ] Line exceeds 80 characters; contains 82 characters
190 | ERROR | [x] Expected 1 newline at end of file; 0 found
-------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
-------------------------------------------------------------------------
FILE: ai_llms_txt_generator/ai_llms_txt_generator.info.yml
--------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
--------------------------------------------------------------------------------
1 | WARNING | Remove "version" from the info file, it will be added by drupal.org packaging automatically
--------------------------------------------------------------------------------
FILE: ai_llms_txt_generator/src/Form/LlmsTxtSettingsForm.php
--------------------------------------------------------------------------------
FOUND 1 ERROR AND 1 WARNING AFFECTING 2 LINES
--------------------------------------------------------------------------------
44 | ERROR | [x] Multi-line function declarations must have a trailing comma after the last parameter
137 | WARNING | [ ] \Drupal calls should be avoided in classes, use dependency injection instead
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: ai_llms_txt_generator/src/Controller/GenerateController.php
--------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
--------------------------------------------------------------------------------
52 | ERROR | [x] Multi-line function declarations must have a trailing comma after the last parameter
v
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: ai_llms_txt_generator/src/Service/SitemapParserService.php
--------------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 2 LINES
--------------------------------------------------------------------------------
7 | WARNING | [x] Unused use statement
64 | WARNING | [ ] Unused variable $namespaces.
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------
FILE: ai_llms_txt_generator/src/Service/AiGeneratorService.php
--------------------------------------------------------------------------------
FOUND 2 ERRORS AND 2 WARNINGS AFFECTING 4 LINES
--------------------------------------------------------------------------------
10 | WARNING | [x] Unused use statement
51 | ERROR | [x] Multi-line function declarations must have a trailing comma after the last parameter
104 | ERROR | [x] Namespaced classes/interfaces/traits should be referenced with use statements
142 | WARNING | [ ] \Drupal calls should be avoided in classes, use dependency injection instead
--------------------------------------------------------------------------------
PHPCBF CAN FIX THE 3 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------1. FILE: encrypted_login.module
For a new module that aims to be compatible with Drupal 10/11, it is expected it implements hooks as class methods as described in Support for object oriented hook implementations using autowired services → .
It requires increasing the minimum required Drupal 10 version, but that is not an issue, since not all the Drupal 10 releases are currently supported.
/**
* @file
* Main module file for Encrypted Login.
*/The usual description for a .module file is “Hook implementations for the [module name] module”, where [module name] is the module name given in the .info.yml file.
2. FILE: src/Controller/EncryptedLoginController.php
Since that class does not use methods from the parent class, it does not need to use ControllerBase as parent class. Controllers do not need to have a parent class; as long as they implement \Drupal\Core\DependencyInjection\ContainerInjectionInterface, they are fine.
3. Every contributed project should provide a README file in the package. README.md template → should be used to write that file.
Without content to review, this request can only be closed. Feel free to re-open it after posting content on drupal.org, committing code in a project, or creating a merge request for a project, for example.
Without content to review, this request can only be closed. Feel free to re-open it after posting content on drupal.org, committing code in a project, or creating a merge request for a project, for example.
I published 🐛 Content Translation "Change source language" breaks inside Entity Browser modal Active and confirmed the account.
I am changing priority as per Issue priorities → .
I am changing priority as per Issue priorities → .
I am changing priority as per Issue priorities → .
I am changing priority as per Issue priorities → .
I am changing priority as per Issue priorities → .
I am changing priority as per Issue priorities → .
I am changing priority as per Issue priorities → .
I am changing priority as per Issue priorities → .
I am changing priority as per Issue priorities → .
I am changing priority as per Issue priorities → .
I am changing priority as per Issue priorities → .
1. FILE: README.md
The README file is missing the required section → - Requirements.
deindex_unpublished_files
Prject name should be the name of the module given in its .info.yml file, not module's machine name.
2. FILE: deindex_unpublished_files.module
For a new module that aims to be compatible with Drupal 10 and Drupal 11, I would rather implement hooks as class methods as described in
Support for object oriented hook implementations using autowired services →
.
It would require increasing the minimum Drupal 10 version supported, but Drupal 10.1 is no longer supported.
/**
* @file
* Contains hooks and logic for deindexing unpublished media files.
*/The usual description for a .module file is “Hook implementations for the [module name] module”, where [module name] is the module name given in the .info.yml file.
3. FILE: src/Form/SettingsForm.php
ConfigFormBase::__construct() needs to be called. Since its parameters changed in Drupal 10.2, the project cannot be compatible with all the Drupal 10 releases and Drupal 11; it needs to require at least Drupal 10.2.
With Drupal 10 and Drupal 11, there is no longer need to use #default_value for each form element, when the parent class is ConfigFormBase: It is sufficient to use #config_target, as in the following code.
$form['image_toolkit'] = [
'#type' => 'radios',
'#title' => $this->t('Select an image processing toolkit'),
'#config_target' => 'system.image:toolkit',
'#options' => [],
];Using that code, it is no longer needed to save the configuration values in the form submission handler: The parent class will take care of that.