diff --git a/app/Http/Controllers/TextureController.php b/app/Http/Controllers/TextureController.php index 459d2e1e..149eca92 100644 --- a/app/Http/Controllers/TextureController.php +++ b/app/Http/Controllers/TextureController.php @@ -64,39 +64,6 @@ class TextureController extends Controller return $this->texture($hash); } - public function skin($player_name) - { - return $this->getBinaryTextureFromPlayer($player_name, 'skin'); - } - - public function cape($player_name) - { - return $this->getBinaryTextureFromPlayer($player_name, 'cape'); - } - - /** - * Get the texture image of given type and player. - * - * @param string $player_name - * @param string $type "steve" or "alex" or "cape" - * - * @return Response - */ - protected function getBinaryTextureFromPlayer($player_name, $type) - { - $player = $this->getPlayerInstance($player_name); - - if ($hash = $player->getTexture($type)) { - return $this->texture( - $hash, - ['Last-Modified' => $player->last_modified], - trans('general.texture-deleted') - ); - } else { - abort(404, trans('general.texture-not-uploaded', ['type' => $type])); - } - } - public function avatarByTid($tid, $size = 128) { if ($t = Texture::find($tid)) { diff --git a/app/Http/Middleware/CheckPlayerExist.php b/app/Http/Middleware/CheckPlayerExist.php index df958e8c..ff39fa79 100644 --- a/app/Http/Middleware/CheckPlayerExist.php +++ b/app/Http/Middleware/CheckPlayerExist.php @@ -20,14 +20,8 @@ class CheckPlayerExist } } - if (stripos($request->getUri(), '.json') != false) { - preg_match('/\/([^\/]*)\.json/', $request->getUri(), $matches); - } else { - preg_match('/\/([^\/]*)\.png/', $request->getUri(), $matches); - } - + preg_match('/\/([^\/]*)\.json/', $request->getUri(), $matches); $player_name = urldecode($matches[1]); - $responses = event(new CheckPlayerExists($player_name)); if (is_array($responses)) { diff --git a/resources/misc/changelogs/en/5.0.0.md b/resources/misc/changelogs/en/5.0.0.md index 4f898e34..2e0dc194 100644 --- a/resources/misc/changelogs/en/5.0.0.md +++ b/resources/misc/changelogs/en/5.0.0.md @@ -57,6 +57,7 @@ - Removed settings of "Method of Retrieving IP". - Removed "3rd-party comment", and please install separated plugin if you need it. - Removed enabling or disabling Redis via Web UI. +- Removed Legacy API from core. (Install plugin if you need it.) ## Internal Changes diff --git a/resources/misc/changelogs/zh_CN/5.0.0.md b/resources/misc/changelogs/zh_CN/5.0.0.md index 8ee61e89..42be3690 100644 --- a/resources/misc/changelogs/zh_CN/5.0.0.md +++ b/resources/misc/changelogs/zh_CN/5.0.0.md @@ -57,6 +57,7 @@ - 移除「IP 获取方法」的设置 - 移除「第三方评论」功能,如有需要请安装独立插件 - 移除通过 UI 来开启或关闭 Redis 的功能 +- 移除「传统皮肤加载方式」(如有需要,请安装插件) ## 内部更改 diff --git a/routes/static.php b/routes/static.php index 9a2335fa..f3d92684 100644 --- a/routes/static.php +++ b/routes/static.php @@ -4,9 +4,6 @@ Route::group(['middleware' => 'player'], function () { // Json profile Route::get('/{player_name}.json', 'TextureController@json'); Route::get('/{api}/{player_name}.json', 'TextureController@jsonWithApi')->where('api', 'usm|csl'); - // Legacy links - Route::get('/skin/{player_name}.png', 'TextureController@skin'); - Route::get('/cape/{player_name}.png', 'TextureController@cape'); }); Route::get('/textures/{hash}', 'TextureController@texture'); diff --git a/tests/HttpTest/ControllersTest/TextureControllerTest.php b/tests/HttpTest/ControllersTest/TextureControllerTest.php index 7eff4fd9..2b7df430 100644 --- a/tests/HttpTest/ControllersTest/TextureControllerTest.php +++ b/tests/HttpTest/ControllersTest/TextureControllerTest.php @@ -151,40 +151,6 @@ class TextureControllerTest extends TestCase ->assertSuccessful(); } - public function testSkin() - { - Storage::fake('textures'); - $skin = factory(Texture::class)->create(); - $player = factory(Player::class)->create(); - - $this->get("/skin/{$player->name}.png") - ->assertSee(e(trans('general.texture-not-uploaded', ['type' => 'skin']))); - - $player->tid_skin = $skin->tid; - $player->save(); - $this->get("/skin/{$player->name}.png") - ->assertSee(trans('general.texture-deleted')); - - Storage::disk('textures')->put($skin->hash, ''); - $this->get("/skin/{$player->name}.png") - ->assertHeader('Content-Type', 'image/png') - ->assertHeader('Last-Modified') - ->assertHeader('Accept-Ranges', 'bytes') - ->assertHeader('Content-Length', Storage::disk('textures')->size($skin->hash)) - ->assertSuccessful(); - } - - public function testCape() - { - $cape = factory(Texture::class, 'cape')->create(); - $player = factory(Player::class)->create([ - 'tid_cape' => $cape->tid, - ]); - - $this->get("/cape/{$player->name}.png") - ->assertSee(trans('general.texture-deleted')); - } - public function testAvatarByTid() { $this->get('/avatar/1')->assertHeader('Content-Type', 'image/png'); diff --git a/tests/HttpTest/MiddlewareTest/CheckPlayerExistTest.php b/tests/HttpTest/MiddlewareTest/CheckPlayerExistTest.php index bcedef1b..ef4dbfea 100644 --- a/tests/HttpTest/MiddlewareTest/CheckPlayerExistTest.php +++ b/tests/HttpTest/MiddlewareTest/CheckPlayerExistTest.php @@ -18,10 +18,6 @@ class CheckPlayerExistTest extends TestCase ->assertStatus(404) ->assertSee(trans('general.unexistent-player')); - $this->get('/skin/nope.png') - ->assertStatus(404) - ->assertSee(trans('general.unexistent-player')); - option(['return_204_when_notfound' => true]); $this->getJson('/nope.json')->assertNoContent();