diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 28195f42..c63cfc84 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -136,19 +136,15 @@ class AuthController extends Controller ]; $rows = $filter->apply('auth_page_rows:register', $rows); - if (option('user_can_register')) { - return view('auth.register', [ - 'site_name' => option_localized('site_name'), - 'rows' => $rows, - 'extra' => [ - 'player' => (bool) option('register_with_player_name'), - 'recaptcha' => option('recaptcha_sitekey'), - 'invisible' => (bool) option('recaptcha_invisible'), - ], - ]); - } else { - throw new PrettyPageException(trans('auth.register.close'), 7); - } + return view('auth.register', [ + 'site_name' => option_localized('site_name'), + 'rows' => $rows, + 'extra' => [ + 'player' => (bool) option('register_with_player_name'), + 'recaptcha' => option('recaptcha_sitekey'), + 'invisible' => (bool) option('recaptcha_invisible'), + ], + ]); } public function handleRegister( @@ -157,10 +153,6 @@ class AuthController extends Controller Dispatcher $dispatcher, Filter $filter ) { - if (!option('user_can_register')) { - return json(trans('auth.register.close'), 1); - } - $can = $filter->apply('can_register', null); if ($can instanceof Rejection) { return json($can->getReason(), 1); diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 90953bd2..3481466c 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -21,8 +21,7 @@ class HomeController extends Controller 'home_page_css_loader', config('app.asset.env') === 'development' ? $webpack->url('home.js') : null ) - ->with('app_js', $webpack->url('app.js')) - ->with('user_can_register', option('user_can_register')); + ->with('app_js', $webpack->url('app.js')); } public function apiRoot() diff --git a/app/Http/Controllers/OptionsController.php b/app/Http/Controllers/OptionsController.php index 1eea9ba8..500ebf26 100644 --- a/app/Http/Controllers/OptionsController.php +++ b/app/Http/Controllers/OptionsController.php @@ -152,7 +152,6 @@ class OptionsController extends Controller return $url; }); - $form->checkbox('user_can_register')->label(); $form->checkbox('register_with_player_name')->label(); $form->checkbox('require_verification')->label(); diff --git a/app/Providers/ViewServiceProvider.php b/app/Providers/ViewServiceProvider.php index 33788334..1191fbd6 100644 --- a/app/Providers/ViewServiceProvider.php +++ b/app/Providers/ViewServiceProvider.php @@ -75,5 +75,12 @@ class ViewServiceProvider extends ServiceProvider } // @codeCoverageIgnoreEnd }); + + View::composer('errors.503', function ($view) { + $view->with( + 'show_login_button', + !auth()->check() && request()->is('setup/*') + ); + }); } } diff --git a/config/options.php b/config/options.php index 2e4c1142..4002cf6e 100644 --- a/config/options.php +++ b/config/options.php @@ -4,7 +4,6 @@ return [ 'site_url' => '', 'site_name' => 'Blessing Skin', 'site_description' => 'Open-source PHP Minecraft Skin Hosting Service', - 'user_can_register' => 'true', 'register_with_player_name' => 'true', 'require_verification' => 'false', 'regs_per_ip' => '3', diff --git a/resources/assets/src/scripts/home-page.ts b/resources/assets/src/scripts/home-page.ts index b1d65342..b36a2fd8 100644 --- a/resources/assets/src/scripts/home-page.ts +++ b/resources/assets/src/scripts/home-page.ts @@ -1,4 +1,5 @@ import '@/styles/home.css' +import './i18n' import { getExtraData } from './extra' export function scrollHander() { diff --git a/resources/lang/en/options.yml b/resources/lang/en/options.yml index 14f4e5f6..37643975 100644 --- a/resources/lang/en/options.yml +++ b/resources/lang/en/options.yml @@ -101,9 +101,6 @@ general: site_url: title: Site URL hint: Begin with http(s)://, nerver ends with slash. - user_can_register: - title: Open Registration - label: Everyone is allowed to register. register_with_player_name: title: Register with Player Name label: Require Minecraft's player name when user register diff --git a/resources/views/errors/503.twig b/resources/views/errors/503.twig index e373521d..99f391f6 100644 --- a/resources/views/errors/503.twig +++ b/resources/views/errors/503.twig @@ -7,7 +7,7 @@

{{ trans('errors.exception.detail', {msg: exception.message ?: trans('errors.http.msg-503')}) }}

- {% if not auth_check() %} + {% if show_login_button %}
diff --git a/resources/views/home.twig b/resources/views/home.twig index 2dbf11e2..354afc46 100644 --- a/resources/views/home.twig +++ b/resources/views/home.twig @@ -68,15 +68,9 @@ {{ trans('general.user-center') }} {% else %} - {% if user_can_register %} - - {{ trans('general.register') }} - - {% else %} - - {{ trans('general.login') }} - - {% endif %} + + {{ trans('general.register') }} + {% endif %}

diff --git a/tests/HttpTest/ControllersTest/AuthControllerTest.php b/tests/HttpTest/ControllersTest/AuthControllerTest.php index a6956901..ea6df590 100644 --- a/tests/HttpTest/ControllersTest/AuthControllerTest.php +++ b/tests/HttpTest/ControllersTest/AuthControllerTest.php @@ -244,9 +244,6 @@ class AuthControllerTest extends TestCase $this->get('/auth/register')->assertSee('Register'); $filter->assertApplied('auth_page_rows:register'); - - option(['user_can_register' => false]); - $this->get('/auth/register')->assertSee(trans('auth.register.close')); } public function testHandleRegister() @@ -388,22 +385,7 @@ class AuthControllerTest extends TestCase ] )->assertJsonValidationErrors('captcha'); - // Should be forbidden if registering is closed - option(['user_can_register' => false]); - $this->postJson( - '/auth/register', - [ - 'email' => 'a@b.c', - 'password' => '12345678', - 'nickname' => 'nickname', - 'captcha' => 'a', - ] - )->assertJson([ - 'code' => 1, - 'message' => trans('auth.register.close'), - ]); - - option(['user_can_register' => true, 'regs_per_ip' => -1]); + option(['regs_per_ip' => -1]); $this->postJson( '/auth/register', [ diff --git a/tests/HttpTest/ControllersTest/OptionsControllerTest.php b/tests/HttpTest/ControllersTest/OptionsControllerTest.php index 492fdc23..edca9ee7 100644 --- a/tests/HttpTest/ControllersTest/OptionsControllerTest.php +++ b/tests/HttpTest/ControllersTest/OptionsControllerTest.php @@ -106,7 +106,6 @@ class OptionsControllerTest extends BrowserKitTestCase ->type('My Site', 'site_name') ->type('hi', 'site_description') ->type('http://blessing.skin/', 'site_url') - ->uncheck('user_can_register') ->type('8', 'regs_per_ip') ->type('2048', 'max_upload_file_size') ->see(trans( @@ -124,7 +123,6 @@ class OptionsControllerTest extends BrowserKitTestCase $this->assertEquals('My Site', option_localized('site_name')); $this->assertEquals('hi', option_localized('site_description')); $this->assertEquals('http://blessing.skin', option('site_url')); - $this->assertFalse(option('user_can_register')); $this->assertEquals('8', option('regs_per_ip')); $this->assertEquals('2048', option('max_upload_file_size')); $this->assertEquals('cjk', option('player_name_rule'));