diff --git a/app/Http/Controllers/LiveStreamController.php b/app/Http/Controllers/LiveStreamController.php index 311363fe9..7999a4b8b 100644 --- a/app/Http/Controllers/LiveStreamController.php +++ b/app/Http/Controllers/LiveStreamController.php @@ -363,7 +363,7 @@ class LiveStreamController extends Controller $key = $request->filled('name') ? $request->input('name') : $url['name']; } - $token = substr($name, 0, 10) === 'streamkey-'; + $token = str_starts_with($name, 'streamkey-'); if ($token) { $stream = LiveStream::whereStreamKey($key)->firstOrFail(); diff --git a/app/Http/Controllers/RemoteAuthController.php b/app/Http/Controllers/RemoteAuthController.php index 7a01aecde..3998afbe5 100644 --- a/app/Http/Controllers/RemoteAuthController.php +++ b/app/Http/Controllers/RemoteAuthController.php @@ -545,7 +545,7 @@ class RemoteAuthController extends Controller ]); $account = $request->input('account'); - abort_unless(substr(strtolower($account), 0, 8) === 'https://', 404); + abort_unless(str_starts_with(strtolower($account), 'https://'), 404); $host = strtolower(config('pixelfed.domain.app')); $domain = strtolower(parse_url($account, PHP_URL_HOST)); diff --git a/app/Http/Controllers/SpaController.php b/app/Http/Controllers/SpaController.php index 423606f8a..6e0235b63 100644 --- a/app/Http/Controllers/SpaController.php +++ b/app/Http/Controllers/SpaController.php @@ -52,7 +52,7 @@ class SpaController extends Controller { abort_unless(config('exp.spa'), 404); if ($request->user()) { - if (substr($id, 0, 1) == '@') { + if (str_starts_with($id, '@')) { $id = AccountService::usernameToId(substr($id, 1)); return redirect("/i/web/profile/{$id}"); diff --git a/app/Jobs/StatusPipeline/StatusTagsPipeline.php b/app/Jobs/StatusPipeline/StatusTagsPipeline.php index d882c9444..97e564c55 100644 --- a/app/Jobs/StatusPipeline/StatusTagsPipeline.php +++ b/app/Jobs/StatusPipeline/StatusTagsPipeline.php @@ -82,7 +82,7 @@ class StatusTagsPipeline implements ShouldQueue return $tag && $tag['type'] == 'Hashtag' && isset($tag['href'], $tag['name']); }) ->map(function ($tag) use ($status) { - $name = substr($tag['name'], 0, 1) == '#' ? + $name = str_starts_with($tag['name'], '#') ? substr($tag['name'], 1) : $tag['name']; $banned = TrendingHashtagService::getBannedHashtagNames(); @@ -143,7 +143,7 @@ class StatusTagsPipeline implements ShouldQueue return $tag && $tag['type'] == 'Mention' && isset($tag['href']) && - substr($tag['href'], 0, 8) === 'https://'; + str_starts_with($tag['href'], 'https://'); }) ->map(function ($tag) use ($status) { if (Helpers::validateLocalUrl($tag['href'])) { diff --git a/app/Models/Profile.php b/app/Models/Profile.php index 1355b3919..7e429396a 100644 --- a/app/Models/Profile.php +++ b/app/Models/Profile.php @@ -201,7 +201,7 @@ class Profile extends Model } if ($avatar->cdn_url) { - if (substr($avatar->cdn_url, 0, 8) === 'https://') { + if (str_starts_with($avatar->cdn_url, 'https://')) { return $avatar->cdn_url; } @@ -225,7 +225,7 @@ class Profile extends Model return url('/storage/avatars/default.jpg'); } - if (substr($path, 0, 6) !== 'public') { + if (!str_starts_with($path, 'public')) { return url('/storage/avatars/default.jpg'); } diff --git a/app/Services/SearchApiV2Service.php b/app/Services/SearchApiV2Service.php index 46234492a..b6b32fa5c 100644 --- a/app/Services/SearchApiV2Service.php +++ b/app/Services/SearchApiV2Service.php @@ -84,10 +84,10 @@ class SearchApiV2Service $rawQuery = $initalQuery ? $initalQuery : $this->query->input('q'); $query = $rawQuery.'%'; $webfingerQuery = $query; - if (Str::substrCount($rawQuery, '@') == 1 && substr($rawQuery, 0, 1) !== '@') { + if (Str::substrCount($rawQuery, '@') == 1 && !str_starts_with($rawQuery, '@')) { $query = '@'.$query; } - if (substr($webfingerQuery, 0, 1) !== '@') { + if (!str_starts_with($webfingerQuery, '@')) { $webfingerQuery = '@'.$webfingerQuery; } $banned = InstanceService::getBannedDomains() ?? []; @@ -222,7 +222,7 @@ class SearchApiV2Service ) ); } - if (substr($query, 0, 1) === '@' && ! Str::contains($query, '.')) { + if (str_starts_with($query, '@') && ! Str::contains($query, '.')) { $default['accounts'] = $this->accounts(substr($query, 1)); return $default; @@ -244,7 +244,7 @@ class SearchApiV2Service ! Str::startsWith($query, 'http') && Str::substrCount($query, '@') == 1 && str_contains($query, '@') && - strpos($query, '@') !== 0 + !str_starts_with($query, '@') ) { try { $res = WebfingerService::lookup('@'.$query, $mastodonMode);