Skip to content

Commit 97bb621

Browse files
committed
fix: use PHP 7.3 compatible syntax in AbandonedExtensionsFetcher and controller
1 parent 02d0c2e commit 97bb621

2 files changed

Lines changed: 50 additions & 11 deletions

File tree

framework/core/src/Api/Controller/SyncAbandonedExtensionsController.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,22 @@
1818

1919
class SyncAbandonedExtensionsController implements RequestHandlerInterface
2020
{
21-
public function __construct(
22-
protected AbandonedExtensionsFetcher $fetcher
23-
) {
21+
/**
22+
* @var AbandonedExtensionsFetcher
23+
*/
24+
protected $fetcher;
25+
26+
public function __construct(AbandonedExtensionsFetcher $fetcher)
27+
{
28+
$this->fetcher = $fetcher;
2429
}
2530

2631
public function handle(ServerRequestInterface $request): ResponseInterface
2732
{
2833
RequestUtil::getActor($request)->assertAdmin();
2934

3035
try {
31-
$result = $this->fetcher->sync(notify: true, manual: true);
36+
$result = $this->fetcher->sync(true, true);
3237
} catch (\RuntimeException $e) {
3338
return new JsonResponse(['error' => $e->getMessage()], 500);
3439
}

framework/core/src/Extension/AbandonedExtensionsFetcher.php

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,43 @@ class AbandonedExtensionsFetcher
2727

2828
protected const SOURCE_URL = 'https://raw.githubusercontent.com/flarum/abandoned-extensions/main/abandoned.json';
2929

30+
/**
31+
* @var ExtensionManager
32+
*/
33+
protected $extensions;
34+
35+
/**
36+
* @var SettingsRepositoryInterface
37+
*/
38+
protected $settings;
39+
40+
/**
41+
* @var Client
42+
*/
43+
protected $client;
44+
45+
/**
46+
* @var Queue
47+
*/
48+
protected $queue;
49+
50+
/**
51+
* @var TranslatorInterface
52+
*/
53+
protected $translator;
54+
3055
public function __construct(
31-
protected ExtensionManager $extensions,
32-
protected SettingsRepositoryInterface $settings,
33-
protected Client $client,
34-
protected Queue $queue,
35-
protected TranslatorInterface $translator
56+
ExtensionManager $extensions,
57+
SettingsRepositoryInterface $settings,
58+
Client $client,
59+
Queue $queue,
60+
TranslatorInterface $translator
3661
) {
62+
$this->extensions = $extensions;
63+
$this->settings = $settings;
64+
$this->client = $client;
65+
$this->queue = $queue;
66+
$this->translator = $translator;
3767
}
3868

3969
/**
@@ -56,7 +86,9 @@ public function sync(bool $notify = false, bool $manual = false): array
5686

5787
$filtered = array_filter(
5888
$map,
59-
fn (string $name) => isset($installed[$name]),
89+
function (string $name) use ($installed) {
90+
return isset($installed[$name]);
91+
},
6092
ARRAY_FILTER_USE_KEY
6193
);
6294

@@ -107,7 +139,9 @@ protected function fetch(): array
107139

108140
protected function notifyAdmins(array $newPackages, array $map): void
109141
{
110-
$admins = User::whereHas('groups', fn ($q) => $q->where('id', Group::ADMINISTRATOR_ID))->get();
142+
$admins = User::whereHas('groups', function ($q) {
143+
$q->where('id', Group::ADMINISTRATOR_ID);
144+
})->get();
111145

112146
$lines = array_map(function (string $package) use ($map) {
113147
$replacement = $map[$package]['replacement'] ?? null;

0 commit comments

Comments
 (0)