Skip to content

Commit 4ec3748

Browse files
authored
Replace Request::get with explicit input sources (#543)
1 parent 4416393 commit 4ec3748

24 files changed

+111
-109
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#### v4.2.0
2+
- Bumped minimum requirement of `pimcore/pimcore` to `^11.2`. Replaced all `$request->get()` with their explicit input source.
13
#### v4.1.2
24
Removed the package "rybakit/twig-deferred-extension". If you extend the twig layout from the Customer Data Framework, please check if custom CSS/JS code added by pimcore_head_script and pimcore_head_link is still working.
35

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@
2626
"pimcore/number-sequence-generator": "^2.0",
2727
"pimcore/admin-ui-classic-bundle": "^1.0",
2828
"pimcore/object-merger": "^4.0",
29-
"pimcore/pimcore": "^11.0",
29+
"pimcore/pimcore": "^11.2",
3030
"pimcore/search-query-parser": "^1.3",
3131
"pimcore/personalization-bundle": "^1.0",
3232
"symfony/asset": "^6.2",
3333
"symfony/config": "^6.2",
3434
"symfony/console": "^6.2",
3535
"symfony/dependency-injection": "^6.2",
3636
"symfony/event-dispatcher": "^6.2",
37-
"symfony/http-foundation": "^6.2",
37+
"symfony/http-foundation": "^6.3",
3838
"symfony/http-kernel": "^6.2",
3939
"symfony/options-resolver": "^6.2",
4040
"symfony/routing": "^6.2",

src/Controller/Admin.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ protected function buildPaginator(Request $request, mixed $data, int $defaultPag
104104
$defaultPageSize = $this->defaultPageSize;
105105
}
106106

107-
$page = (int)$request->get('page', 1);
108-
$pageSize = (int)$request->get('perPage', $defaultPageSize);
107+
$page = $request->query->getInt('page', 1);
108+
$pageSize = $request->query->getInt('perPage', $defaultPageSize);
109109

110110
return $this->paginator->paginate($data, $page, $pageSize);
111111
}

src/Controller/Admin/ActivitiesController.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public function onKernelControllerEvent(ControllerEvent $event): void
5151
*/
5252
public function listAction(Request $request, CustomerProviderInterface $customerProvider): Response
5353
{
54-
if ($customer = $customerProvider->getById($request->get('customerId'))) {
54+
if ($customer = $customerProvider->getById($request->query->getInt('customerId'))) {
5555
$list = \Pimcore::getContainer()->get('cmf.activity_store')->getActivityList();
5656
$list->setCondition('customerId = ' . $customer->getId());
5757
$list->setOrderKey('activityDate');
@@ -65,13 +65,13 @@ public function listAction(Request $request, CustomerProviderInterface $customer
6565

6666
$types = \Pimcore\Db::get()->fetchFirstColumn((string)$select);
6767

68-
if ($type = $request->get('type')) {
68+
if ($type = $request->query->getString('type')) {
6969
$select = $list->getQueryBuilder(false);
7070
$select->andWhere('type = ' . $list->quote($type));
7171
$list->setCondition((string) $select->getQueryPart('where'));
7272
}
7373

74-
$paginator = $this->paginator->paginate($list, $request->get('page', 1), 25);
74+
$paginator = $this->paginator->paginate($list, $request->query->getInt('page', 1), 25);
7575

7676
return $this->render(
7777
'@PimcoreCustomerManagementFramework/admin/activities/list.html.twig',
@@ -94,7 +94,8 @@ public function listAction(Request $request, CustomerProviderInterface $customer
9494
*/
9595
public function detailAction(Request $request): Response
9696
{
97-
$activity = \Pimcore::getContainer()->get('cmf.activity_store')->getEntryById($request->get('activityId'));
97+
$activityId = $request->query->getInt('activityId');
98+
$activity = \Pimcore::getContainer()->get('cmf.activity_store')->getEntryById($activityId);
9899

99100
return $this->render(
100101
'@PimcoreCustomerManagementFramework/admin/activities/detail.html.twig',

src/Controller/Admin/Customers/FilterDefinitionController.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -198,17 +198,17 @@ protected function getRedirectToFilter(int $filterDefinitionId = 0, array $error
198198

199199
protected function getIdFromRequest(Request $request): int
200200
{
201-
return intval($request->get('filterDefinition', [])['id'] ?? 0);
201+
return intval($request->query->all('filterDefinition')['id'] ?? 0);
202202
}
203203

204204
protected function getNameFromRequest(Request $request): string
205205
{
206-
return strval($request->get('filterDefinition', [])['name'] ?? '');
206+
return strval($request->query->all('filterDefinition')['name'] ?? '');
207207
}
208208

209209
protected function getDefinitionFromRequest(Request $request): mixed
210210
{
211-
return $request->get('filter', []);
211+
return $request->query->all('filter');
212212
}
213213

214214
protected function getShowSegmentsFromRequest(Request $request): array
@@ -218,21 +218,21 @@ protected function getShowSegmentsFromRequest(Request $request): array
218218

219219
protected function getReadOnlyFromRequest(Request $request): bool
220220
{
221-
return boolval($request->get('filterDefinition', [])['readOnly'] ?? false);
221+
return boolval($request->query->all('filterDefinition')['readOnly'] ?? false);
222222
}
223223

224224
protected function getShortcutAvailableFromRequest(Request $request): bool
225225
{
226-
return boolval($request->get('filterDefinition', [])['shortcutAvailable'] ?? false);
226+
return boolval($request->query->all('filterDefinition')['shortcutAvailable'] ?? false);
227227
}
228228

229229
/**
230230
* Prepare allowed user ids from request. This parameter consists of allowedUserIds and allowedRoleIds
231231
*/
232232
protected function getAllowedUserIdsFromRequest(Request $request): array
233233
{
234-
$allowedUserIds = $request->get('filterDefinition', [])['allowedUserIds'] ?? [];
235-
$allowedRoleIds = $request->get('filterDefinition', [])['allowedRoleIds'] ?? [];
234+
$allowedUserIds = $request->query->all('filterDefinition')['allowedUserIds'] ?? [];
235+
$allowedRoleIds = $request->query->all('filterDefinition')['allowedRoleIds'] ?? [];
236236
$preparedAllowedUserIds = array_unique(array_merge($allowedUserIds, $allowedRoleIds));
237237
sort($preparedAllowedUserIds);
238238

src/Controller/Admin/CustomersController.php

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public function listAction(Request $request): Response
7676
{
7777
$filters = $this->fetchListFilters($request);
7878
$orders = $this->fetchListOrder($request);
79-
$errors = $request->get('errors', []);
79+
$errors = $request->query->all('errors');
8080
$paginator = null;
8181
$customerView = \Pimcore::getContainer()->get('cmf.customer_view');
8282

@@ -116,7 +116,7 @@ public function listAction(Request $request): Response
116116
'filterDefinitions' => $this->getFilterDefinitions(),
117117
'filterDefinition' => $this->getFilterDefinition($request),
118118
'accessToTempCustomerFolder' => boolval($this->hasUserAccessToTempCustomerFolder()),
119-
'hideAdvancedFilterSettings' => boolval($request->get('segmentId')),
119+
'hideAdvancedFilterSettings' => $request->query->getBoolean('segmentId'),
120120
'idField' => Service::getVersionDependentDatabaseColumnName('id'),
121121
]
122122
);
@@ -128,7 +128,7 @@ public function listAction(Request $request): Response
128128
*/
129129
public function detailAction(Request $request): Response
130130
{
131-
$customer = $this->getSearchHelper()->getCustomerProvider()->getById((int)$request->get('id'));
131+
$customer = $this->getSearchHelper()->getCustomerProvider()->getById($request->query->getInt('id'));
132132
if ($customer instanceof CustomerInterface) {
133133
$customerView = \Pimcore::getContainer()->get('cmf.customer_view');
134134
if (!$customerView->hasDetailView($customer)) {
@@ -172,14 +172,14 @@ public function exportAction(Request $request): JsonResponse
172172
$jobId = uniqid();
173173
$this->exporterManager->saveExportTmpData($jobId, [
174174
'processIds' => $ids,
175-
'exporter' => $request->get('exporter'),
175+
'exporter' => $request->query->getString('exporter'),
176176
]);
177177

178178
/** @noinspection PhpRouteMissingInspection */
179179
return $this->jsonResponse([
180180
'url' => $this->generateUrl('customermanagementframework_admin_customers_exportstep', ['jobId' => $jobId]),
181181
'jobId' => $jobId,
182-
'exporter' => $request->get('exporter'),
182+
'exporter' => $request->query->getString('exporter'),
183183
]);
184184
}
185185

@@ -188,7 +188,7 @@ public function exportAction(Request $request): JsonResponse
188188
*/
189189
public function exportStepAction(Request $request): JsonResponse
190190
{
191-
$perRequest = $request->get(
191+
$perRequest = $request->query->getInt(
192192
'perRequest',
193193
$this->getParameter('cmf.customer_export.items_per_request')
194194
);
@@ -208,8 +208,8 @@ public function exportStepAction(Request $request): JsonResponse
208208
return $this->jsonResponse([
209209
'finished' => true,
210210
'url' => $this->generateUrl('customermanagementframework_admin_customers_downloadfinishedexport',
211-
['jobId' => $request->get('jobId')]),
212-
'jobId' => $request->get('jobId'),
211+
['jobId' => $request->query->getString('jobId')]),
212+
'jobId' => $request->query->getString('jobId'),
213213
]);
214214
}
215215

@@ -230,7 +230,7 @@ public function exportStepAction(Request $request): JsonResponse
230230
$data['processIds'] = $processIds;
231231

232232
$this->exporterManager->saveExportTmpData(
233-
$request->get('jobId'),
233+
$request->query->getString('jobId'),
234234
$data
235235
);
236236

@@ -241,7 +241,7 @@ public function exportStepAction(Request $request): JsonResponse
241241

242242
return $this->jsonResponse([
243243
'finished' => false,
244-
'jobId' => $request->get('jobId'),
244+
'jobId' => $request->query->getString('jobId'),
245245
'notProcessedRecordsCount' => $notProcessedRecordsCount,
246246
'totalRecordsCount' => $totalRecordsCount,
247247
'percent' => $percent,
@@ -298,7 +298,7 @@ public function downloadFinishedExportAction(Request $request): JsonResponse | R
298298
]
299299
);
300300

301-
$this->exporterManager->deleteExportTmpData($request->get('jobId'));
301+
$this->exporterManager->deleteExportTmpData($request->query->getString('jobId'));
302302

303303
return $response;
304304
}
@@ -419,7 +419,7 @@ protected function buildListing(array $filters = [], array $orders = []): Listin
419419
*/
420420
protected function fetchListFilters(Request $request): array
421421
{
422-
$filters = $request->get('filter', []);
422+
$filters = $request->query->all('filter');
423423
$filters = $this->addPrefilteredSegmentToFilters($request, $filters);
424424
$filters = $this->addFilterDefinitionCustomer($request, $filters);
425425

@@ -431,7 +431,7 @@ protected function fetchListFilters(Request $request): array
431431
*/
432432
protected function fetchListOrder(Request $request): array
433433
{
434-
$orders = $request->get('order', []);
434+
$orders = $request->query->all('order');
435435
$ordersNullsLast = [];
436436

437437
foreach ($orders as $key => $val) {
@@ -472,7 +472,7 @@ protected function addPrefilteredSegmentToFilters(Request $request, array $filte
472472

473473
protected function fetchPrefilteredSegment(Request $request): ?CustomerSegmentInterface
474474
{
475-
$segmentId = $request->get('segmentId');
475+
$segmentId = $request->query->getInt('segmentId');
476476

477477
if ($segmentId) {
478478
$segment = \Pimcore::getContainer()->get('cmf.segment_manager')->getSegmentById($segmentId);
@@ -511,7 +511,7 @@ protected function getFilterDefinitions(): array
511511
protected function getFilterDefinition(Request $request): ?FilterDefinition
512512
{
513513
// fetch filter definition information
514-
$filterDefinitionData = $request->get('filterDefinition', []);
514+
$filterDefinitionData = $request->query->all('filterDefinition');
515515
// build default FilterDefinition object if no selected
516516
$segmentGroups = $this->loadSegmentGroups();
517517
$DefaultFilterDefinition = (new FilterDefinition())->setShowSegments(Objects::getIdsFromArray($segmentGroups));
@@ -605,7 +605,8 @@ protected function addFilterDefinitionSegments(Request $request, array $filters)
605605
}
606606

607607
// set to filter which segments to show
608-
$filters['showSegments'] = $request->get('apply-segment-selection') ? $filters['showSegments'] : $filterDefinition->getShowSegments();
608+
$segmentSelection = $request->query->getString('apply-segment-selection');
609+
$filters['showSegments'] = $segmentSelection ? $filters['showSegments'] : $filterDefinition->getShowSegments();
609610

610611
// return merged filters array
611612
return $filters;

src/Controller/Admin/DuplicatesController.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public function onKernelControllerEvent(ControllerEvent $event): void
5151
public function listAction(Request $request, DuplicatesIndexInterface $duplicatesIndex): Response
5252
{
5353
// fetch all filters
54-
$filters = $request->get('filter', []);
54+
$filters = $request->query->all('filter');
5555
// check if filters exist
5656
$customerList = null;
5757
if (!empty($filters)) {
@@ -67,9 +67,9 @@ public function listAction(Request $request, DuplicatesIndexInterface $duplicate
6767
}
6868

6969
$paginator = $duplicatesIndex->getPotentialDuplicates(
70-
$request->get('page', 1),
70+
$request->query->getInt('page', 1),
7171
50,
72-
$request->get('declined'),
72+
$request->query->getBoolean('declined'),
7373
$customerList
7474
);
7575

@@ -93,7 +93,7 @@ public function declineAction(Request $request): JsonResponse
9393
{
9494
try {
9595
\Pimcore::getContainer()->get('cmf.customer_duplicates_index')->declinePotentialDuplicate(
96-
$request->get('id')
96+
$request->request->getInt('id')
9797
);
9898

9999
return new JsonResponse(['success' => true]);

src/Controller/Admin/RulesController.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public function listAction(Request $request): JsonResponse
8383
*/
8484
public function getAction(Request $request): JsonResponse
8585
{
86-
$rule = Rule::getById((int)$request->get('id'));
86+
$rule = Rule::getById($request->query->getInt('id'));
8787
if ($rule) {
8888
// create json config
8989
$json = [
@@ -144,8 +144,8 @@ public function saveAction(Request $request): JsonResponse
144144

145145
// save rule config
146146
try {
147-
$rule = Rule::getById((int)$request->get('id'));
148-
$data = json_decode($request->get('data'));
147+
$rule = Rule::getById($request->request->getInt('id'));
148+
$data = json_decode($request->request->getString('data'));
149149

150150
// apply basic settings
151151
$rule->setName($data->settings->name);
@@ -224,7 +224,7 @@ public function addAction(Request $request): JsonResponse
224224
// save rule
225225
try {
226226
$rule = new Rule();
227-
$rule->setName($request->get('name'));
227+
$rule->setName($request->request->getString('name'));
228228
if ($rule->save()) {
229229
$return['success'] = true;
230230
$return['id'] = $rule->getId();
@@ -253,7 +253,7 @@ public function deleteAction(Request $request): JsonResponse
253253

254254
// delete rule
255255
try {
256-
$rule = Rule::getById((int)$request->get('id'));
256+
$rule = Rule::getById($request->request->getInt('id'));
257257
$rule->delete();
258258
$return['success'] = true;
259259
} catch (\Exception $e) {

src/Controller/Admin/SegmentAssignmentController.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ public function __construct(protected SegmentAssignerInterface $segmentAssigner)
4848
*/
4949
public function inheritableSegments(Request $request, SegmentManagerInterface $segmentManager): JsonResponse
5050
{
51-
$id = $request->get('id');
52-
$type = $request->get('type');
51+
$id = $request->query->getInt('id');
52+
$type = $request->query->getString('type');
5353
if (!$type || !$id) {
5454
return $this->jsonResponse(['data' => []]);
5555
}
@@ -80,8 +80,8 @@ public function inheritableSegments(Request $request, SegmentManagerInterface $s
8080
*/
8181
public function assignedSegments(Request $request): JsonResponse
8282
{
83-
$id = $request->get('id') ?? '';
84-
$type = $request->get('type') ?? '';
83+
$id = $request->query->getInt('id');
84+
$type = $request->query->getString('type');
8585
$assignmentTable = $this->getParameter('cmf.segmentAssignment.table.raw');
8686
$segmentIds = \Pimcore\Db::get()->fetchOne("SELECT `segments` FROM $assignmentTable WHERE `elementId` = ? AND `elementType` = ?", [$id, $type]);
8787

@@ -101,10 +101,10 @@ public function assignedSegments(Request $request): JsonResponse
101101
*/
102102
public function assign(Request $request): JsonResponse
103103
{
104-
$id = $request->get('id') ?? '';
105-
$type = $request->get('type') ?? '';
106-
$breaksInheritance = $request->get('breaksInheritance') === 'true';
107-
$segmentIds = json_decode($request->get('segmentIds'), true) ?? [];
104+
$id = $request->request->getString('id');
105+
$type = $request->request->getString('type');
106+
$breaksInheritance = $request->request->getBoolean('breaksInheritance');
107+
$segmentIds = json_decode($request->request->getString('segmentIds'), true) ?? [];
108108

109109
$success = $this->segmentAssigner->assignById($id, $type, $breaksInheritance, $segmentIds);
110110

@@ -116,8 +116,8 @@ public function assign(Request $request): JsonResponse
116116
*/
117117
public function breaksInheritance(Request $request): JsonResponse
118118
{
119-
$id = $request->get('id') ?? '';
120-
$type = $request->get('type') ?? '';
119+
$id = $request->request->getString('id');
120+
$type = $request->request->getString('type');
121121
$assignmentTable = $this->getParameter('cmf.segmentAssignment.table.raw');
122122

123123
$breaksInheritance = \Pimcore\Db::get()->fetchOne("SELECT `breaksInheritance` FROM $assignmentTable WHERE `elementId` = ? AND `elementType` = ?", [$id, $type]);

0 commit comments

Comments
 (0)