From 269255e04ffbbc50de5ee26e26199fbdea4376d0 Mon Sep 17 00:00:00 2001 From: sindoring Date: Sun, 15 Mar 2026 17:15:52 +0400 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/LoginScreenNewsController.php | 3 ++- tests/Feature/LoginScreenNewsFeatureTest.php | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Admin/LoginScreenNewsController.php b/app/Http/Controllers/Admin/LoginScreenNewsController.php index 2eda7f2..fdf7aa6 100644 --- a/app/Http/Controllers/Admin/LoginScreenNewsController.php +++ b/app/Http/Controllers/Admin/LoginScreenNewsController.php @@ -7,6 +7,7 @@ use App\Http\Requests\SaveLoginScreenNewsRequest; use App\Models\LoginScreenNews; use App\Services\LoginScreenNewsService; use Illuminate\Http\RedirectResponse; +use Illuminate\Support\Str; use Illuminate\View\View; class LoginScreenNewsController extends Controller @@ -17,7 +18,7 @@ class LoginScreenNewsController extends Controller 'newsItems' => $news->listForAdmin(), 'newsStats' => $news->stats(), 'feedPreview' => $news->renderFeed(), - 'feedUrl' => route('launcher.login-news.show'), + 'feedUrl' => Str::replaceFirst('https://', 'http://', route('launcher.login-news.show')), ]); } diff --git a/tests/Feature/LoginScreenNewsFeatureTest.php b/tests/Feature/LoginScreenNewsFeatureTest.php index e196701..dce518e 100644 --- a/tests/Feature/LoginScreenNewsFeatureTest.php +++ b/tests/Feature/LoginScreenNewsFeatureTest.php @@ -91,6 +91,20 @@ class LoginScreenNewsFeatureTest extends TestCase $response->assertSee(route('launcher.login-news.show'), false); } + public function test_admin_page_always_renders_feed_link_with_http_scheme(): void + { + $response = $this->withServerVariables([ + 'HTTP_X_FORWARDED_PROTO' => 'https', + 'HTTP_X_FORWARDED_HOST' => 'moon-well.online', + 'HTTP_X_FORWARDED_PORT' => 443, + 'HTTP_HOST' => 'moon-well.online', + 'REMOTE_ADDR' => '127.0.0.1', + ])->actingAs($this->makeUser(3))->get(route('admin.login-screen-news.index')); + + $response->assertOk(); + $response->assertSee('http://moon-well.online/launcher/login-news.txt', false); + } + public function test_admin_can_create_update_and_delete_news_item(): void { $admin = $this->makeUser(3);