15
15
use Magento \Store \Model \Store ;
16
16
use Opengento \StorePathUrl \Model \Config ;
17
17
18
- use function explode ;
19
18
use function parse_url ;
20
19
use function strtok ;
21
20
@@ -31,21 +30,22 @@ public function __construct(
31
30
public function beforeGetValidStoreCode (Subject $ subject , Http $ request , string $ pathInfo = '' ): array
32
31
{
33
32
if ($ this ->config ->isEnabled ()) {
34
- $ uri = explode ('? ' , $ request ->getUriString ())[0 ] . '/ ' ;
35
- if ($ pathInfo === '' ) {
36
- $ pathInfo = parse_url ($ uri , PHP_URL_PATH );
37
- if ($ pathInfo === false ) {
38
- return [$ request , $ pathInfo ];
33
+ $ uri = strtok ($ request ->getUriString (), '? ' ) . '/ ' ;
34
+ if ($ uri !== false ) {
35
+ if ($ pathInfo === '' ) {
36
+ $ pathInfo = parse_url ($ uri , PHP_URL_PATH );
37
+ if ($ pathInfo !== false ) {
38
+ $ pathInfo = strtok ($ pathInfo , '/ ' );
39
+ }
39
40
}
40
- $ pathInfo = strtok ( $ pathInfo, ' / ' );
41
+ $ pathInfo = $ pathInfo === false ? $ this -> resolveByWebUrl ( $ uri ) : $ this -> resolveByLinkUrl ( $ uri );
41
42
}
42
- $ pathInfo = $ pathInfo === false ? $ this ->resolveByWebUrl ($ uri ) : $ this ->resolveByLinkUrl ($ uri , $ pathInfo );
43
43
}
44
44
45
45
return [$ request , $ pathInfo ];
46
46
}
47
47
48
- private function resolveByLinkUrl (string $ uri, string $ pathInfo ): string
48
+ private function resolveByLinkUrl (string $ uri ): string
49
49
{
50
50
/** @var Store $store */
51
51
foreach ($ this ->storeRepository ->getList () as $ store ) {
@@ -54,7 +54,7 @@ private function resolveByLinkUrl(string $uri, string $pathInfo): string
54
54
}
55
55
}
56
56
57
- return $ pathInfo ;
57
+ return '' ;
58
58
}
59
59
60
60
private function resolveByWebUrl (string $ uri ): string
0 commit comments