1
0
Fork 0
mirror of https://github.com/wallabag/wallabag.git synced 2025-06-27 16:36:00 +00:00

Modernize to PHP 7.4

This commit is contained in:
Yassine Guedidi 2025-04-05 13:20:44 +02:00
parent ce8ed589d5
commit 4168727f36
21 changed files with 31 additions and 75 deletions

View file

@ -14,5 +14,5 @@ return RectorConfig::configure()
])
->withImportNames(importShortClasses: false)
->withAttributesSets(doctrine: true)
->withPhpSets(php73: true)
->withPhpSets(php74: true)
->withTypeCoverageLevel(0);

View file

@ -107,9 +107,7 @@ class ImportCommand extends Command
// Turning off doctrine default logs queries for saving memory
$middlewares = $this->entityManager->getConnection()->getConfiguration()->getMiddlewares();
$middlewaresWithoutLogging = array_filter($middlewares, function (Middleware $middleware) {
return !$middleware instanceof LoggingMiddleware;
});
$middlewaresWithoutLogging = array_filter($middlewares, fn (Middleware $middleware) => !$middleware instanceof LoggingMiddleware);
$this->entityManager->getConnection()->getConfiguration()->setMiddlewares($middlewaresWithoutLogging);
if ($input->getOption('useUserId')) {

View file

@ -132,9 +132,7 @@ class EntryRestController extends WallabagRestController
}
if (false === $returnId) {
$results = array_map(function ($v) {
return null !== $v;
}, $results);
$results = array_map(fn ($v) => null !== $v, $results);
}
$results = $this->replaceUrlHashes($results, $urlHashMap);

View file

@ -367,9 +367,7 @@ class ConfigController extends AbstractController
$backupCodes = (new BackupCodes())->toArray();
$backupCodesHashed = array_map(
function ($backupCode) {
return password_hash($backupCode, \PASSWORD_DEFAULT);
},
fn ($backupCode) => password_hash($backupCode, \PASSWORD_DEFAULT),
$backupCodes
);

View file

@ -89,9 +89,7 @@ abstract class WallabagMigration extends AbstractMigration
*/
protected function generateIdentifierName(array $columnNames, string $prefix = ''): string
{
$hash = implode('', array_map(static function ($column): string {
return dechex(crc32($column));
}, $columnNames));
$hash = implode('', array_map(static fn ($column): string => dechex(crc32($column)), $columnNames));
return strtoupper(substr($prefix . '_' . $hash, 0, $this->platform->getMaxIdentifierLength()));
}

View file

@ -34,9 +34,7 @@ class AuthenticatorProvider implements ExpressionFunctionProviderInterface
function (): void {
throw new \Exception('Not supported');
},
function (array $arguments, $uri) {
return $this->requestHtmlFunctionClient->request('GET', $uri)->getContent();
}
fn (array $arguments, $uri) => $this->requestHtmlFunctionClient->request('GET', $uri)->getContent()
);
}

View file

@ -28,12 +28,8 @@ class ClientType extends AbstractType
$builder->get('redirect_uris')
->addModelTransformer(new CallbackTransformer(
function ($originalUri) {
return $originalUri;
},
function ($submittedUri) {
return [$submittedUri];
}
fn ($originalUri) => $originalUri,
fn ($submittedUri) => [$submittedUri]
))
;
}

View file

@ -294,9 +294,7 @@ class DownloadImages
preg_match_all($pattern, $srcsetAttribute, $matches);
$srcset = \call_user_func_array('array_merge', $matches);
$srcsetUrls = array_map(function ($src) {
return trim(explode(' ', $src, 2)[0]);
}, $srcset);
$srcsetUrls = array_map(fn ($src) => trim(explode(' ', $src, 2)[0]), $srcset);
$urls = array_merge($srcsetUrls, $urls);
}

View file

@ -40,13 +40,11 @@ abstract class HtmlImport extends AbstractImport
return false;
}
$entries = $hrefs->each(function (Crawler $node) {
return [
'url' => $node->attr('href'),
'tags' => $node->attr('tags'),
'created_at' => $node->attr('add_date'),
];
});
$entries = $hrefs->each(fn (Crawler $node) => [
'url' => $node->attr('href'),
'tags' => $node->attr('tags'),
'created_at' => $node->attr('add_date'),
]);
if ($this->producer) {
$this->parseEntriesForProducer($entries);

View file

@ -56,13 +56,11 @@ class PocketHtmlImport extends HtmlImport
return false;
}
$entries = $hrefs->each(function (Crawler $node) {
return [
'url' => $node->attr('href'),
'tags' => $node->attr('tags'),
'created_at' => $node->attr('time_added'),
];
});
$entries = $hrefs->each(fn (Crawler $node) => [
'url' => $node->attr('href'),
'tags' => $node->attr('tags'),
'created_at' => $node->attr('time_added'),
]);
if ($this->producer) {
$this->parseEntriesForProducer($entries);

View file

@ -289,9 +289,7 @@ class EntryRepository extends ServiceEntityRepository
if ('metadata' === $detail) {
$fieldNames = $this->getClassMetadata()->getFieldNames();
$fields = array_filter($fieldNames, function ($k) {
return 'content' !== $k;
});
$fields = array_filter($fieldNames, fn ($k) => 'content' !== $k);
$qb->select(\sprintf('partial e.{%s}', implode(',', $fields)));
}

View file

@ -23,9 +23,7 @@ class TagRestControllerTest extends WallabagApiTestCase
$this->assertArrayHasKey('label', $content[0]);
$this->assertArrayHasKey('nbEntries', $content[0]);
$tagLabels = array_map(function ($i) {
return $i['label'];
}, $content);
$tagLabels = array_map(fn ($i) => $i['label'], $content);
$this->assertNotContains($this->otherUserTagLabel, $tagLabels, 'There is a possible tag leak');
}

View file

@ -95,9 +95,7 @@ class ChromeImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
->with($this->callback(function ($persistedEntry) {
return (bool) $persistedEntry->isArchived();
}));
->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $chromeImport->setMarkAsRead(true)->import();

View file

@ -95,9 +95,7 @@ class FirefoxImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
->with($this->callback(function ($persistedEntry) {
return (bool) $persistedEntry->isArchived();
}));
->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $firefoxImport->setMarkAsRead(true)->import();

View file

@ -97,9 +97,7 @@ class InstapaperImportTest extends TestCase
$this->em
->expects($this->once())
->method('persist')
->with($this->callback(function ($persistedEntry) {
return (bool) $persistedEntry->isArchived();
}));
->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $instapaperImport->setMarkAsRead(true)->import();

View file

@ -95,9 +95,7 @@ class PocketHtmlImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
->with($this->callback(function ($persistedEntry) {
return (bool) $persistedEntry->isArchived();
}));
->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $pocketHtmlImport
->setMarkAsRead(true)

View file

@ -207,9 +207,7 @@ JSON
$this->em
->expects($this->any())
->method('persist')
->with($this->callback(function ($persistedEntry) {
return (bool) $persistedEntry->isArchived() && (bool) $persistedEntry->isStarred();
}));
->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived() && (bool) $persistedEntry->isStarred()));
$entry = new Entry($this->user);
@ -299,9 +297,7 @@ JSON
$this->em
->expects($this->any())
->method('persist')
->with($this->callback(function ($persistedEntry) {
return (bool) $persistedEntry->isArchived();
}));
->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$entry = new Entry($this->user);

View file

@ -95,9 +95,7 @@ class ReadabilityImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
->with($this->callback(function ($persistedEntry) {
return (bool) $persistedEntry->isArchived();
}));
->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $readabilityImport->setMarkAsRead(true)->import();

View file

@ -95,9 +95,7 @@ class ShaarliImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
->with($this->callback(function ($persistedEntry) {
return (bool) $persistedEntry->isArchived();
}));
->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $shaarliImport
->setMarkAsRead(true)

View file

@ -99,9 +99,7 @@ class WallabagV1ImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
->with($this->callback(function ($persistedEntry) {
return (bool) $persistedEntry->isArchived();
}));
->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $wallabagV1Import->setMarkAsRead(true)->import();

View file

@ -93,9 +93,7 @@ class WallabagV2ImportTest extends TestCase
$this->em
->expects($this->any())
->method('persist')
->with($this->callback(function ($persistedEntry) {
return (bool) $persistedEntry->isArchived();
}));
->with($this->callback(fn ($persistedEntry) => (bool) $persistedEntry->isArchived()));
$res = $wallabagV2Import->setMarkAsRead(true)->import();