diff --git a/app/Domains/Settings/ManageTemplates/Services/CreateTemplatePage.php b/app/Domains/Settings/ManageTemplates/Services/CreateTemplatePage.php index b80ce84a23e..6ae97108d29 100644 --- a/app/Domains/Settings/ManageTemplates/Services/CreateTemplatePage.php +++ b/app/Domains/Settings/ManageTemplates/Services/CreateTemplatePage.php @@ -57,7 +57,7 @@ public function execute(array $data): TemplatePage 'template_id' => $data['template_id'], 'name' => $data['name'] ?? null, 'name_translation_key' => $data['name_translation_key'] ?? null, - 'slug' => Str::slug($data['name'] ?? $data['name_translation_key'], '-'), + 'slug' => Str::slug($data['name'] ?? $data['name_translation_key'], '-', language: currentLang()), 'type' => $this->valueOrNull($data, 'type'), 'position' => $newPosition, 'can_be_deleted' => $this->valueOrTrue($data, 'can_be_deleted'), diff --git a/app/Domains/Settings/ManageTemplates/Services/UpdateTemplatePage.php b/app/Domains/Settings/ManageTemplates/Services/UpdateTemplatePage.php index 347524ad3b5..2848e10e537 100644 --- a/app/Domains/Settings/ManageTemplates/Services/UpdateTemplatePage.php +++ b/app/Domains/Settings/ManageTemplates/Services/UpdateTemplatePage.php @@ -50,7 +50,7 @@ public function execute(array $data): TemplatePage ->findOrFail($data['template_page_id']); $this->templatePage->name = $data['name']; - $this->templatePage->slug = Str::slug($data['name'], '-'); + $this->templatePage->slug = Str::slug($data['name'], '-', language: currentLang()); $this->templatePage->save(); return $this->templatePage; diff --git a/app/Domains/Vault/ManageReports/Web/Controllers/ReportAddressesCitiesController.php b/app/Domains/Vault/ManageReports/Web/Controllers/ReportAddressesCitiesController.php index 33c24655ccd..c99ea6f5fc6 100644 --- a/app/Domains/Vault/ManageReports/Web/Controllers/ReportAddressesCitiesController.php +++ b/app/Domains/Vault/ManageReports/Web/Controllers/ReportAddressesCitiesController.php @@ -14,7 +14,7 @@ class ReportAddressesCitiesController extends Controller public function show(Request $request, string $vaultId, string $city) { $vault = Vault::findOrFail($vaultId); - $city = utf8_decode(urldecode($city)); + $city = mb_convert_encoding(urldecode($city), 'UTF-8'); return Inertia::render('Vault/Reports/Address/Cities/Index', [ 'layoutData' => VaultIndexViewHelper::layoutData($vault), diff --git a/app/Domains/Vault/ManageReports/Web/Controllers/ReportAddressesCountriesController.php b/app/Domains/Vault/ManageReports/Web/Controllers/ReportAddressesCountriesController.php index 9992ec93aa7..630d01c1087 100644 --- a/app/Domains/Vault/ManageReports/Web/Controllers/ReportAddressesCountriesController.php +++ b/app/Domains/Vault/ManageReports/Web/Controllers/ReportAddressesCountriesController.php @@ -14,7 +14,7 @@ class ReportAddressesCountriesController extends Controller public function show(Request $request, string $vaultId, string $country) { $vault = Vault::findOrFail($vaultId); - $country = utf8_decode(urldecode($country)); + $country = mb_convert_encoding(urldecode($country), 'UTF-8'); return Inertia::render('Vault/Reports/Address/Countries/Index', [ 'layoutData' => VaultIndexViewHelper::layoutData($vault), diff --git a/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportAddressIndexViewHelper.php b/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportAddressIndexViewHelper.php index be40adc6d97..593643d5694 100644 --- a/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportAddressIndexViewHelper.php +++ b/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportAddressIndexViewHelper.php @@ -27,7 +27,7 @@ public static function data(Vault $vault): array 'url' => [ 'index' => route('vault.reports.addresses.cities.show', [ 'vault' => $vault->id, - 'city' => urlencode(utf8_encode($address->city)), + 'city' => urlencode(mb_convert_encoding($address->city, 'UTF-8')), ]), ], ]) @@ -47,7 +47,7 @@ public static function data(Vault $vault): array 'url' => [ 'index' => route('vault.reports.addresses.countries.show', [ 'vault' => $vault->id, - 'country' => urlencode(utf8_encode($address->country)), + 'country' => urlencode(mb_convert_encoding($address->country, 'UTF-8')), ]), ], ]) diff --git a/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportCitiesShowViewHelper.php b/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportCitiesShowViewHelper.php index 34b366390b8..c4148feb131 100644 --- a/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportCitiesShowViewHelper.php +++ b/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportCitiesShowViewHelper.php @@ -16,8 +16,7 @@ public static function data(Vault $vault, string $city): array { $addresses = $vault->addresses() ->whereNotNull('city') - ->where('city', Str::ucfirst($city)) - ->orWhere('city', Str::lcfirst($city)) + ->where('city', 'like', $city) ->with('contacts') ->get() ->map(fn (Address $address) => [ diff --git a/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportCountriesShowViewHelper.php b/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportCountriesShowViewHelper.php index 8596c5ce5d9..986d1d2642b 100644 --- a/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportCountriesShowViewHelper.php +++ b/app/Domains/Vault/ManageReports/Web/ViewHelpers/ReportCountriesShowViewHelper.php @@ -16,8 +16,7 @@ public static function data(Vault $vault, string $country): array { $addresses = $vault->addresses() ->whereNotNull('country') - ->where('country', Str::ucfirst($country)) - ->orWhere('country', Str::lcfirst($country)) + ->where('country', 'like', $country) ->with('contacts') ->get() ->map(fn (Address $address) => [ diff --git a/app/Domains/Vault/ManageVaultSettings/Services/CreateLabel.php b/app/Domains/Vault/ManageVaultSettings/Services/CreateLabel.php index 9ebc866d94e..2c8d5ef62b4 100644 --- a/app/Domains/Vault/ManageVaultSettings/Services/CreateLabel.php +++ b/app/Domains/Vault/ManageVaultSettings/Services/CreateLabel.php @@ -50,7 +50,7 @@ public function execute(array $data): Label 'vault_id' => $data['vault_id'], 'name' => $data['name'], 'description' => $this->valueOrNull($data, 'description'), - 'slug' => Str::slug($data['name'], '-'), + 'slug' => Str::slug($data['name'], '-', language: currentLang()), 'bg_color' => $data['bg_color'], 'text_color' => $data['text_color'], ]); diff --git a/app/Domains/Vault/ManageVaultSettings/Services/CreateTag.php b/app/Domains/Vault/ManageVaultSettings/Services/CreateTag.php index f6f526f67e8..04df3c74fef 100644 --- a/app/Domains/Vault/ManageVaultSettings/Services/CreateTag.php +++ b/app/Domains/Vault/ManageVaultSettings/Services/CreateTag.php @@ -46,7 +46,7 @@ public function execute(array $data): Tag $this->tag = Tag::create([ 'vault_id' => $data['vault_id'], 'name' => $data['name'], - 'slug' => Str::slug($data['name'], '-'), + 'slug' => Str::slug($data['name'], '-', language: currentLang()), ]); return $this->tag; diff --git a/app/Domains/Vault/ManageVaultSettings/Services/UpdateLabel.php b/app/Domains/Vault/ManageVaultSettings/Services/UpdateLabel.php index e793d0f62bb..fdfc560ef37 100644 --- a/app/Domains/Vault/ManageVaultSettings/Services/UpdateLabel.php +++ b/app/Domains/Vault/ManageVaultSettings/Services/UpdateLabel.php @@ -53,7 +53,7 @@ public function execute(array $data): Label $label->bg_color = $data['bg_color']; $label->text_color = $data['text_color']; $label->description = $this->valueOrNull($data, 'description'); - $label->slug = Str::slug($data['name'], '-'); + $label->slug = Str::slug($data['name'], '-', language: currentLang()); $label->save(); return $label; diff --git a/app/Domains/Vault/ManageVaultSettings/Services/UpdateTag.php b/app/Domains/Vault/ManageVaultSettings/Services/UpdateTag.php index 14d7c6f90e4..9a936d86648 100644 --- a/app/Domains/Vault/ManageVaultSettings/Services/UpdateTag.php +++ b/app/Domains/Vault/ManageVaultSettings/Services/UpdateTag.php @@ -46,7 +46,7 @@ public function execute(array $data): Tag ->findOrFail($data['tag_id']); $tag->name = $data['name']; - $tag->slug = Str::slug($data['name'], '-'); + $tag->slug = Str::slug($data['name'], '-', language: currentLang()); $tag->save(); return $tag; diff --git a/app/Helpers/WikipediaHelper.php b/app/Helpers/WikipediaHelper.php index 7a9ce93151e..51cb4d0d930 100644 --- a/app/Helpers/WikipediaHelper.php +++ b/app/Helpers/WikipediaHelper.php @@ -22,11 +22,17 @@ public static function getInformation(string $topic): array 'format' => 'json', ]); - $url = 'https://en.wikipedia.org/w/api.php?'.$query; + $lang = currentLang(); + $url = "https://$lang.wikipedia.org/w/api.php?$query"; - $response = Http::get($url)->throw(); + $response = null; + try { + $response = Http::get($url)->throw(); + } catch (\Illuminate\Http\Client\RequestException) { + // Ignore the exception. + } - if ($response->json('query.pages.*.missing')[0] === true) { + if ($response === null || $response->json('query.pages.*.missing')[0] === true) { return [ 'url' => null, 'description' => null, @@ -35,7 +41,7 @@ public static function getInformation(string $topic): array } return [ - 'url' => 'https://en.wikipedia.org/wiki/'.Str::slug($topic), + 'url' => "https://$lang.wikipedia.org/wiki/".Str::slug($topic, language: $lang), 'description' => $response->json('query.pages.*.description')[0], 'thumbnail' => $response->json('query.pages.*.thumbnail.source')[0], ]; diff --git a/resources/js/Pages/Profile/Partials/LogoutOtherBrowserSessionsForm.vue b/resources/js/Pages/Profile/Partials/LogoutOtherBrowserSessionsForm.vue index eeb960f3926..b4fb8d92564 100644 --- a/resources/js/Pages/Profile/Partials/LogoutOtherBrowserSessionsForm.vue +++ b/resources/js/Pages/Profile/Partials/LogoutOtherBrowserSessionsForm.vue @@ -1,5 +1,5 @@