diff --git a/modules/project_browser_devel/src/Plugin/ProjectBrowserSource/RandomDataPlugin.php b/modules/project_browser_devel/src/Plugin/ProjectBrowserSource/RandomDataPlugin.php index 747235227fd78094fb37a0d375f97f2bcafa370d..7b4a9cc65add3fd579482ae48dc33bcc9219a3d7 100644 --- a/modules/project_browser_devel/src/Plugin/ProjectBrowserSource/RandomDataPlugin.php +++ b/modules/project_browser_devel/src/Plugin/ProjectBrowserSource/RandomDataPlugin.php @@ -163,17 +163,17 @@ final class RandomDataPlugin extends ProjectBrowserSourceBase { // Filter by project machine name. if (!empty($query['machine_name'])) { - $projects = array_filter($projects, fn(Project $project) => $project->machineName === $query['machine_name']); + $projects = array_filter($projects, fn(Project $project): bool => $project->machineName === $query['machine_name']); } // Filter by categories. if (!empty($query['categories'])) { - $projects = array_filter($projects, fn(Project $project) => empty(array_intersect(array_column($project->categories, 'id'), explode(',', $query['categories'])))); + $projects = array_filter($projects, fn(Project $project): bool => empty(array_intersect(array_column($project->categories, 'id'), explode(',', $query['categories'])))); } // Filter by search text. if (!empty($query['search'])) { - $projects = array_filter($projects, fn(Project $project) => stripos($project->title, $query['search']) !== FALSE); + $projects = array_filter($projects, fn(Project $project): bool => stripos($project->title, $query['search']) !== FALSE); } return $this->createResultsPage($projects); diff --git a/src/Form/SettingsForm.php b/src/Form/SettingsForm.php index dfce29d5854fe8bb7d1a9de6f9d470a3d58313de..3429dbd4b629f6723b61ab008c5d3d259709f9eb 100644 --- a/src/Form/SettingsForm.php +++ b/src/Form/SettingsForm.php @@ -219,7 +219,7 @@ final class SettingsForm extends ConfigFormBase { public function submitForm(array &$form, FormStateInterface $form_state): void { $settings = $this->config('project_browser.admin_settings'); $all_plugins = $form_state->getValue('enabled_sources'); - $enabled_plugins = array_filter($all_plugins, fn($source) => $source['status'] === 'enabled'); + $enabled_plugins = array_filter($all_plugins, fn($source): bool => $source['status'] === 'enabled'); $settings ->set('enabled_sources', array_keys($enabled_plugins)) ->set('allow_ui_install', $form_state->getValue('allow_ui_install')) diff --git a/src/Plugin/ProjectBrowserSource/DrupalCore.php b/src/Plugin/ProjectBrowserSource/DrupalCore.php index 2129ede94e950ed4c928e6e54522c9a9abb6a1bb..f8a48728608221ec90463cb15ff7377ae8780535 100644 --- a/src/Plugin/ProjectBrowserSource/DrupalCore.php +++ b/src/Plugin/ProjectBrowserSource/DrupalCore.php @@ -92,10 +92,10 @@ final class DrupalCore extends ProjectBrowserSourceBase { * The array containing core modules, keyed by module machine name. */ protected function getCoreModules() { - $projects = array_filter($this->moduleExtensionList->reset()->getList(), fn(Extension $project) => $project->origin === 'core'); + $projects = array_filter($this->moduleExtensionList->reset()->getList(), fn(Extension $project): bool => $project->origin === 'core'); $include_tests = Settings::get('extension_discovery_scan_tests') || drupal_valid_test_ua(); if (!$include_tests) { - $projects = array_filter($projects, fn(Extension $project) => empty($project->info['hidden']) && $project->info['package'] !== 'Testing'); + $projects = array_filter($projects, fn(Extension $project): bool => empty($project->info['hidden']) && $project->info['package'] !== 'Testing'); } return $projects; } @@ -123,22 +123,22 @@ final class DrupalCore extends ProjectBrowserSourceBase { // Filter by project machine name. if (!empty($query['machine_name'])) { - $projects = array_filter($projects, fn(Project $project) => $project->machineName === $query['machine_name']); + $projects = array_filter($projects, fn(Project $project): bool => $project->machineName === $query['machine_name']); } // Filter by coverage. if (!empty($query['security_advisory_coverage'])) { - $projects = array_filter($projects, fn(Project $project) => $project->isCovered ?? FALSE); + $projects = array_filter($projects, fn(Project $project): bool => $project->isCovered ?? FALSE); } // Filter by categories. if (!empty($query['categories'])) { - $projects = array_filter($projects, fn(Project $project) => empty(array_intersect(array_column($project->categories, 'id'), explode(',', $query['categories'])))); + $projects = array_filter($projects, fn(Project $project): bool => empty(array_intersect(array_column($project->categories, 'id'), explode(',', $query['categories'])))); } // Filter by search text. if (!empty($query['search'])) { - $projects = array_filter($projects, fn(Project $project) => stripos($project->title, $query['search']) !== FALSE); + $projects = array_filter($projects, fn(Project $project): bool => stripos($project->title, $query['search']) !== FALSE); } // Filter by sorting criterion. diff --git a/src/Plugin/ProjectBrowserSource/Recipes.php b/src/Plugin/ProjectBrowserSource/Recipes.php index 6b671641242309b7f3ac2b57de08500ace4eef81..a658c1ea0ce075ee5f88ede6da1475674f4c33d6 100644 --- a/src/Plugin/ProjectBrowserSource/Recipes.php +++ b/src/Plugin/ProjectBrowserSource/Recipes.php @@ -127,22 +127,22 @@ final class Recipes extends ProjectBrowserSourceBase { // Filter by project machine name. if (!empty($query['machine_name'])) { - $projects = array_filter($projects, fn(Project $project) => $project->machineName === $query['machine_name']); + $projects = array_filter($projects, fn(Project $project): bool => $project->machineName === $query['machine_name']); } // Filter by coverage. if (!empty($query['security_advisory_coverage'])) { - $projects = array_filter($projects, fn(Project $project) => $project->isCovered ?? FALSE); + $projects = array_filter($projects, fn(Project $project): bool => $project->isCovered ?? FALSE); } // Filter by categories. if (!empty($query['categories'])) { - $projects = array_filter($projects, fn(Project $project) => empty(array_intersect(array_column($project->categories, 'id'), explode(',', $query['categories'])))); + $projects = array_filter($projects, fn(Project $project): bool => empty(array_intersect(array_column($project->categories, 'id'), explode(',', $query['categories'])))); } // Filter by search text. if (!empty($query['search'])) { - $projects = array_filter($projects, fn(Project $project) => stripos($project->title, $query['search']) !== FALSE); + $projects = array_filter($projects, fn(Project $project): bool => stripos($project->title, $query['search']) !== FALSE); } $total = count($projects); diff --git a/tests/modules/project_browser_test/src/Plugin/ProjectBrowserSource/ProjectBrowserTestMock.php b/tests/modules/project_browser_test/src/Plugin/ProjectBrowserSource/ProjectBrowserTestMock.php index 6dbe6c8d67bb3282590960026062f0a8c873913d..248149b423a04414dba27787a99009352545e9b5 100644 --- a/tests/modules/project_browser_test/src/Plugin/ProjectBrowserSource/ProjectBrowserTestMock.php +++ b/tests/modules/project_browser_test/src/Plugin/ProjectBrowserSource/ProjectBrowserTestMock.php @@ -383,7 +383,7 @@ final class ProjectBrowserTestMock extends ProjectBrowserSourceBase { isCompatible: TRUE, isMaintained: in_array($project_data['maintenance_status'], self::MAINTAINED_VALUES), isCovered: in_array($project_data['field_security_advisory_coverage'], self::COVERED_VALUES), - projectUsageTotal: (int) array_reduce($project_data['project_data']['project_usage'] ?? [], fn($total, $project_usage) => $total + $project_usage) ?: 0, + projectUsageTotal: array_reduce($project_data['project_data']['project_usage'] ?? [], fn($total, $project_usage): int => $total + $project_usage) ?: 0, machineName: $project_data['field_project_machine_name'], body: $this->relativeToAbsoluteUrls($project_data['project_data']['body'], 'https://www.drupal.org'), title: $project_data['title'], @@ -391,7 +391,7 @@ final class ProjectBrowserTestMock extends ProjectBrowserSourceBase { packageName: 'drupal/' . $project_data['field_project_machine_name'], url: Url::fromUri('https://www.drupal.org/project/' . $project_data['field_project_machine_name']), // Add name property to each category, so it can be rendered. - categories: array_map(fn($category) => $categories[$category['id']] ?? '', $project_data['project_data']['taxonomy_vocabulary_3'] ?? []), + categories: array_map(fn($category): array => $categories[$category['id']] ?? [], $project_data['project_data']['taxonomy_vocabulary_3'] ?? []), images: $project_data['project_data']['field_project_images'] ?? [], warnings: $this->getWarnings($project_data), id: $project_data['field_project_machine_name'], diff --git a/tests/src/Kernel/CoreExperimentalLabelTest.php b/tests/src/Kernel/CoreExperimentalLabelTest.php index 05725211e0b743a6d46f8edcefc9c8a496dbe15c..17c787316367deb9f0ca5c49fa40c9a0edf40eba 100644 --- a/tests/src/Kernel/CoreExperimentalLabelTest.php +++ b/tests/src/Kernel/CoreExperimentalLabelTest.php @@ -38,7 +38,7 @@ class CoreExperimentalLabelTest extends KernelTestBase { $plugin_instance = $this->container->get(ProjectBrowserSourceManager::class) ->createInstance('drupal_core'); $modules_to_test = ['Experimental Test', 'System']; - $filtered_projects = array_filter($plugin_instance->getProjects()->list, fn(Project $value) => in_array($value->title, $modules_to_test)); + $filtered_projects = array_filter($plugin_instance->getProjects()->list, fn(Project $value): bool => in_array($value->title, $modules_to_test)); $this->assertCount(2, $filtered_projects); foreach ($filtered_projects as $project) { if ($project->title === 'System') {