Skip to content

Commit 09fd0d5

Browse files
committed
refactor: added more literal named arguments
1 parent a26bf3b commit 09fd0d5

File tree

1 file changed

+99
-41
lines changed

1 file changed

+99
-41
lines changed

phpmyfaq/src/phpMyFAQ/Controller/Administration/BackupController.php

Lines changed: 99 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -48,28 +48,33 @@ public function index(Request $request): Response
4848
{
4949
$this->userHasPermission(PermissionType::BACKUP);
5050

51-
return $this->render('@admin/backup/main.twig', [
52-
...$this->getHeader($request),
53-
...$this->getFooter(),
54-
'adminHeaderBackup' => Translation::get(key: 'msgBackup'),
55-
'adminBackupCardHeader' => Translation::get(key: 'ad_csv_head'),
56-
'adminBackupCardBody' => Translation::get(key: 'ad_csv_make'),
57-
'adminBackupLinkData' => Translation::get(key: 'ad_csv_linkdat'),
58-
'adminBackupLinkLogs' => Translation::get(key: 'ad_csv_linklog'),
59-
'csrfToken' => Token::getInstance($this->container->get(id: 'session'))->getTokenString('restore'),
60-
'adminRestoreCardHeader' => Translation::get(key: 'ad_csv_head2'),
61-
'adminRestoreCardBody' => Translation::get(key: 'ad_csv_restore'),
62-
'adminRestoreLabel' => Translation::get(key: 'ad_csv_file'),
63-
'adminRestoreButton' => Translation::get(key: 'ad_csv_ok'),
64-
]);
51+
return $this->render(
52+
file: '@admin/backup/main.twig',
53+
context: [
54+
...$this->getHeader($request),
55+
...$this->getFooter(),
56+
'adminHeaderBackup' => Translation::get(key: 'msgBackup'),
57+
'adminBackupCardHeader' => Translation::get(key: 'ad_csv_head'),
58+
'adminBackupCardBody' => Translation::get(key: 'ad_csv_make'),
59+
'adminBackupLinkData' => Translation::get(key: 'ad_csv_linkdat'),
60+
'adminBackupLinkLogs' => Translation::get(key: 'ad_csv_linklog'),
61+
'csrfToken' => Token::getInstance($this->container->get(id: 'session'))->getTokenString(
62+
page: 'restore',
63+
),
64+
'adminRestoreCardHeader' => Translation::get(key: 'ad_csv_head2'),
65+
'adminRestoreCardBody' => Translation::get(key: 'ad_csv_restore'),
66+
'adminRestoreLabel' => Translation::get(key: 'ad_csv_file'),
67+
'adminRestoreButton' => Translation::get(key: 'ad_csv_ok'),
68+
],
69+
);
6570
}
6671

6772
#[Route(path: '/backup/export/:type', name: 'admin.backup.export', methods: ['GET'])]
6873
public function export(Request $request): Response
6974
{
7075
$this->userHasPermission(PermissionType::BACKUP);
7176

72-
$type = $request->attributes->get('type');
77+
$type = $request->attributes->get(key: 'type');
7378
$backup = $this->container->get(id: 'phpmyfaq.backup');
7479

7580
switch ($type) {
@@ -94,8 +99,14 @@ public function export(Request $request): Response
9499
urlencode($backupFileName),
95100
);
96101

97-
$response->headers->set('Content-Type', 'application/octet-stream; charset=UTF-8');
98-
$response->headers->set('Content-Disposition', $disposition);
102+
$response->headers->set(
103+
key: 'Content-Type',
104+
values: 'application/octet-stream; charset=UTF-8',
105+
);
106+
$response->headers->set(
107+
key: 'Content-Disposition',
108+
values: $disposition,
109+
);
99110

100111
return $response;
101112
} catch (SodiumException) {
@@ -115,8 +126,14 @@ public function export(Request $request): Response
115126
urlencode($backupFileName),
116127
);
117128

118-
$response->headers->set('Content-Type', 'application/octet-stream; charset=UTF-8');
119-
$response->headers->set('Content-Disposition', $disposition);
129+
$response->headers->set(
130+
key: 'Content-Type',
131+
values: 'application/octet-stream; charset=UTF-8',
132+
);
133+
$response->headers->set(
134+
key: 'Content-Disposition',
135+
values: $disposition,
136+
);
120137

121138
return $response;
122139
} catch (SodiumException) {
@@ -136,28 +153,40 @@ public function restore(Request $request): Response
136153
{
137154
$this->userHasPermission(PermissionType::RESTORE);
138155

139-
$csrfToken = $request->query->get('csrf');
140-
if (!Token::getInstance($this->container->get(id: 'session'))->verifyToken('restore', $csrfToken)) {
141-
throw new UnauthorizedHttpException('Invalid CSRF token');
156+
$csrfToken = $request->query->get(key: 'csrf');
157+
if (!Token::getInstance($this->container->get(id: 'session'))->verifyToken(
158+
page: 'restore',
159+
requestToken: $csrfToken,
160+
)) {
161+
throw new UnauthorizedHttpException(challenge: 'Invalid CSRF token');
142162
}
143163

144-
$file = $request->files->get('userfile');
164+
$file = $request->files->get(key: 'userfile');
145165

146166
if (!$file) {
147-
throw new RuntimeException('No file uploaded');
167+
throw new RuntimeException(message: 'No file uploaded');
148168
}
149169

150170
$templateVars = [
151171
'adminHeaderRestore' => Translation::get(key: 'ad_csv_rest'),
152172
];
153173

154-
if ($file && $file->isValid()) {
174+
if ($file->isValid()) {
155175
$backup = $this->container->get(id: 'phpmyfaq.backup');
156176

157-
$handle = fopen($file->getPathname(), 'r');
158-
$backupData = fgets($handle, 65536);
159-
$versionFound = Strings::substr($backupData, 0, 9);
160-
$versionExpected = '-- pmf' . substr($this->configuration->getVersion(), 0, 3);
177+
$handle = fopen($file->getPathname(), mode: 'r');
178+
$backupData = fgets($handle, length: 65536);
179+
$versionFound = Strings::substr(
180+
string: $backupData,
181+
start: 0,
182+
length: 9,
183+
);
184+
$versionExpected = '-- pmf'
185+
. substr(
186+
string: $this->configuration->getVersion(),
187+
offset: 0,
188+
length: 3,
189+
);
161190
$queries = [];
162191

163192
$fileName = $file->getClientOriginalName();
@@ -193,8 +222,14 @@ public function restore(Request $request): Response
193222

194223
if ($ok === 1) {
195224
// @todo: Start transaction for better recovery if something really bad happens
196-
$backupData = trim(Strings::substr($backupData, 11));
197-
$tables = explode(' ', $backupData);
225+
$backupData = trim(Strings::substr(
226+
string: $backupData,
227+
start: 11,
228+
));
229+
$tables = explode(
230+
separator: ' ',
231+
string: $backupData,
232+
);
198233
$numTables = count($tables);
199234
for ($h = 0; $h < $numTables; ++$h) {
200235
$queries[] = sprintf('DELETE FROM %s', $tables[$h]);
@@ -209,16 +244,36 @@ public function restore(Request $request): Response
209244
...$templateVars,
210245
'prepareMessage' => Translation::get(key: 'ad_csv_prepare'),
211246
];
212-
while ($backupData = fgets($handle, 65536)) {
247+
while ($backupData = fgets($handle, length: 65536)) {
213248
$backupData = trim($backupData);
214249
$backupPrefixPattern = '-- pmftableprefix:';
215250
$backupPrefixPatternLength = Strings::strlen($backupPrefixPattern);
216-
if (Strings::substr($backupData, 0, $backupPrefixPatternLength) === $backupPrefixPattern) {
217-
$tablePrefix = trim(Strings::substr($backupData, $backupPrefixPatternLength));
251+
if (
252+
Strings::substr(
253+
string: $backupData,
254+
start: 0,
255+
length: $backupPrefixPatternLength,
256+
) === $backupPrefixPattern
257+
) {
258+
$tablePrefix = trim(Strings::substr(
259+
string: $backupData,
260+
start: $backupPrefixPatternLength,
261+
));
218262
}
219263

220-
if (Strings::substr($backupData, 0, 2) !== '--' && $backupData !== '') {
221-
$queries[] = trim(Strings::substr($backupData, 0, -1));
264+
if (
265+
Strings::substr(
266+
string: $backupData,
267+
start: 0,
268+
length: 2,
269+
) !== '--'
270+
&& $backupData !== ''
271+
) {
272+
$queries[] = trim(Strings::substr(
273+
string: $backupData,
274+
start: 0,
275+
length: -1,
276+
));
222277
}
223278
}
224279

@@ -292,10 +347,13 @@ public function restore(Request $request): Response
292347
];
293348
}
294349

295-
return $this->render('@admin/backup/import.twig', [
296-
...$this->getHeader($request),
297-
...$this->getFooter(),
298-
...$templateVars,
299-
]);
350+
return $this->render(
351+
file: '@admin/backup/import.twig',
352+
context: [
353+
...$this->getHeader($request),
354+
...$this->getFooter(),
355+
...$templateVars,
356+
],
357+
);
300358
}
301359
}

0 commit comments

Comments
 (0)