@@ -49,9 +49,9 @@ class DbStorage extends AbstractStorage
49
49
private $ logger ;
50
50
51
51
/**
52
- * @param UrlRewriteFactory $urlRewriteFactory
53
- * @param DataObjectHelper $dataObjectHelper
54
- * @param ResourceConnection $resource
52
+ * @param UrlRewriteFactory $urlRewriteFactory
53
+ * @param DataObjectHelper $dataObjectHelper
54
+ * @param ResourceConnection $resource
55
55
* @param LoggerInterface|null $logger
56
56
*/
57
57
public function __construct (
@@ -71,7 +71,7 @@ public function __construct(
71
71
/**
72
72
* Prepare select statement for specific filter
73
73
*
74
- * @param array $data
74
+ * @param array $data
75
75
* @return Select
76
76
*/
77
77
protected function prepareSelect (array $ data )
@@ -106,12 +106,14 @@ protected function doFindOneByData(array $data)
106
106
107
107
$ requestPath = $ data [UrlRewrite::REQUEST_PATH ];
108
108
$ decodedRequestPath = urldecode ($ requestPath );
109
- $ data [UrlRewrite::REQUEST_PATH ] = array_unique ([
109
+ $ data [UrlRewrite::REQUEST_PATH ] = array_unique (
110
+ [
110
111
rtrim ($ requestPath , '/ ' ),
111
112
rtrim ($ requestPath , '/ ' ) . '/ ' ,
112
113
rtrim ($ decodedRequestPath , '/ ' ),
113
114
rtrim ($ decodedRequestPath , '/ ' ) . '/ ' ,
114
- ]);
115
+ ]
116
+ );
115
117
116
118
$ resultsFromDb = $ this ->connection ->fetchAll ($ this ->prepareSelect ($ data ));
117
119
if ($ resultsFromDb ) {
@@ -128,30 +130,30 @@ protected function doFindOneByData(array $data)
128
130
/**
129
131
* Extract most relevant url rewrite from url rewrites list
130
132
*
131
- * @param string $requestPath
132
- * @param array $urlRewrites
133
+ * @param string $requestPath
134
+ * @param array $urlRewrites
133
135
* @return array|null
134
136
*/
135
137
private function extractMostRelevantUrlRewrite (string $ requestPath , array $ urlRewrites ): ?array
136
138
{
137
139
$ prioritizedUrlRewrites = [];
138
140
foreach ($ urlRewrites as $ urlRewrite ) {
139
141
switch (true ) {
140
- case $ urlRewrite [UrlRewrite::REQUEST_PATH ] === $ requestPath :
141
- $ priority = 1 ;
142
- break ;
143
- case $ urlRewrite [UrlRewrite::REQUEST_PATH ] === urldecode ($ requestPath ):
144
- $ priority = 2 ;
145
- break ;
146
- case rtrim ($ urlRewrite [UrlRewrite::REQUEST_PATH ], '/ ' ) === rtrim ($ requestPath , '/ ' ):
147
- $ priority = 3 ;
148
- break ;
149
- case rtrim ($ urlRewrite [UrlRewrite::REQUEST_PATH ], '/ ' ) === rtrim (urldecode ($ requestPath ), '/ ' ):
150
- $ priority = 4 ;
151
- break ;
152
- default :
153
- $ priority = 5 ;
154
- break ;
142
+ case $ urlRewrite [UrlRewrite::REQUEST_PATH ] === $ requestPath :
143
+ $ priority = 1 ;
144
+ break ;
145
+ case $ urlRewrite [UrlRewrite::REQUEST_PATH ] === urldecode ($ requestPath ):
146
+ $ priority = 2 ;
147
+ break ;
148
+ case rtrim ($ urlRewrite [UrlRewrite::REQUEST_PATH ], '/ ' ) === rtrim ($ requestPath , '/ ' ):
149
+ $ priority = 3 ;
150
+ break ;
151
+ case rtrim ($ urlRewrite [UrlRewrite::REQUEST_PATH ], '/ ' ) === rtrim (urldecode ($ requestPath ), '/ ' ):
152
+ $ priority = 4 ;
153
+ break ;
154
+ default :
155
+ $ priority = 5 ;
156
+ break ;
155
157
}
156
158
$ prioritizedUrlRewrites [$ priority ] = $ urlRewrite ;
157
159
}
@@ -166,8 +168,8 @@ private function extractMostRelevantUrlRewrite(string $requestPath, array $urlRe
166
168
* If request path matches the DB value or it's redirect - we can return result from DB
167
169
* Otherwise return 301 redirect to request path from DB results
168
170
*
169
- * @param string $requestPath
170
- * @param array $urlRewrite
171
+ * @param string $requestPath
172
+ * @param array $urlRewrite
171
173
* @return array
172
174
*/
173
175
private function prepareUrlRewrite (string $ requestPath , array $ urlRewrite ): array
@@ -197,7 +199,7 @@ private function prepareUrlRewrite(string $requestPath, array $urlRewrite): arra
197
199
/**
198
200
* Delete old URLs from DB.
199
201
*
200
- * @param UrlRewrite[] $urls
202
+ * @param UrlRewrite[] $urls
201
203
* @return void
202
204
*/
203
205
private function deleteOldUrls (array $ urls ): void
@@ -242,7 +244,7 @@ private function deleteOldUrls(array $urls): void
242
244
/**
243
245
* Prepare array with unique entities
244
246
*
245
- * @param UrlRewrite[] $urls
247
+ * @param UrlRewrite[] $urls
246
248
* @return array
247
249
*/
248
250
private function prepareUniqueEntities (array $ urls ): array
@@ -258,13 +260,14 @@ private function prepareUniqueEntities(array $urls): array
258
260
}
259
261
$ uniqueEntities [$ url ->getStoreId ()][$ url ->getEntityType ()] = $ entityIds ;
260
262
}
263
+
261
264
return $ uniqueEntities ;
262
265
}
263
266
264
267
/**
265
268
* @inheritDoc
266
269
*/
267
- protected function doReplace (array $ urls )
270
+ protected function doReplace (array $ urls ): array
268
271
{
269
272
$ this ->connection ->beginTransaction ();
270
273
@@ -312,12 +315,12 @@ protected function doReplace(array $urls)
312
315
/**
313
316
* Insert multiple
314
317
*
315
- * @param array $data
318
+ * @param array $data
316
319
* @return void
317
320
* @throws \Magento\Framework\Exception\AlreadyExistsException|\Exception
318
321
* @throws \Exception
319
322
*/
320
- protected function insertMultiple ($ data )
323
+ protected function insertMultiple ($ data ): void
321
324
{
322
325
try {
323
326
$ this ->connection ->insertMultiple ($ this ->resource ->getTableName (self ::TABLE_NAME ), $ data );
@@ -337,11 +340,11 @@ protected function insertMultiple($data)
337
340
/**
338
341
* Get filter for url rows deletion due to provided urls
339
342
*
340
- * @param UrlRewrite[] $urls
341
- * @return array
343
+ * @param UrlRewrite[] $urls
344
+ * @return array
342
345
* @deprecated Not used anymore.
343
346
*/
344
- protected function createFilterDataBasedOnUrls ($ urls )
347
+ protected function createFilterDataBasedOnUrls ($ urls ): array
345
348
{
346
349
$ data = [];
347
350
foreach ($ urls as $ url ) {
0 commit comments