Skip to content

Commit ebc2643

Browse files
committed
fix: Command routes with {locale} in route
1 parent b951a15 commit ebc2643

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

system/Commands/Utilities/Routes/FilterFinder.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use CodeIgniter\Filters\Filters;
1616
use CodeIgniter\HTTP\Exceptions\RedirectException;
1717
use CodeIgniter\Router\Router;
18+
use Config\App;
1819
use Config\Feature;
1920
use Config\Services;
2021

@@ -50,6 +51,12 @@ public function find(string $uri): array
5051
{
5152
$this->filters->reset();
5253

54+
$isLocaleExist = strpos($uri, '{locale}') !== false;
55+
56+
if ($isLocaleExist) {
57+
$uri = str_replace('{locale}', config(App::class)->defaultLocale, $uri);
58+
}
59+
5360
// Add route filters
5461
try {
5562
$routeFilters = $this->getRouteFilters($uri);
@@ -64,7 +71,14 @@ public function find(string $uri): array
6471

6572
$this->filters->initialize($uri);
6673

67-
return $this->filters->getFilters();
74+
$filters = $this->filters->getFilters();
75+
76+
if ($isLocaleExist) {
77+
$filters['before'] = array_map(static fn ($filter) => '!' . $filter, $filters['before']);
78+
$filters['after'] = array_map(static fn ($filter) => '!' . $filter, $filters['after']);
79+
}
80+
81+
return $filters;
6882
} catch (RedirectException $e) {
6983
return [
7084
'before' => [],

0 commit comments

Comments
 (0)