From 3107cc2bcbb7a4c36ad5535b2af231af0c9ec56c Mon Sep 17 00:00:00 2001 From: printempw Date: Thu, 28 Jul 2016 16:25:20 +0800 Subject: [PATCH] ban player simultaneously when its owner is banned --- app/Controllers/TextureController.php | 20 +++++++++++++++++--- app/Models/Player.php | 5 +++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/Controllers/TextureController.php b/app/Controllers/TextureController.php index e695b9de..1eaefdc3 100644 --- a/app/Controllers/TextureController.php +++ b/app/Controllers/TextureController.php @@ -7,6 +7,7 @@ use App\Models\Player; use App\Models\Texture; use App\Exceptions\E; use Option; +use Http; class TextureController extends BaseController { @@ -18,6 +19,10 @@ class TextureController extends BaseController $player_name = \Option::get('allow_chinese_playername') ? $GLOBALS['player_name'] : $player_name; $player = new Player(0, $player_name); + + if ($player->is_banned) + Http::abort(404, '该角色拥有者已被本站封禁。'); + if ($api == "csl") { echo $player->getJsonProfile(0); } else if ($api == "usm") { @@ -25,7 +30,7 @@ class TextureController extends BaseController } else if ($api == "") { echo $player->getJsonProfile(Option::get('api_type')); } else { - \Http::abort(404, '不支持的 API_TYPE。'); + Http::abort(404, '不支持的 API_TYPE。'); } } @@ -37,6 +42,10 @@ class TextureController extends BaseController public function skin($player_name, $model = "") { $player = new Player(0, $player_name); + + if ($player->is_banned) + Http::abort(404, '该角色拥有者已被本站封禁。'); + if (!$this->checkCache($player_name)) { $model_preference = ($player->getPreference() == "default") ? "steve" : "alex"; $model = ($model == "") ? $model_preference : $model; @@ -46,8 +55,13 @@ class TextureController extends BaseController public function cape($player_name) { + $player = new Player(0, $player_name); + + if ($player->is_banned) + Http::abort(404, '该角色拥有者已被本站封禁。'); + if (!$this->checkCache($player_name)) { - echo (new Player(0, $player_name))->getBinaryTexture('cape'); + echo $player->getBinaryTexture('cape'); } } @@ -95,7 +109,7 @@ class TextureController extends BaseController header('Content-Type: image/png'); echo \Storage::fread(BASE_DIR."/textures/".$t->hash); } else { - \Http::abort(404, '材质不存在'); + Http::abort(404, '材质不存在'); } } diff --git a/app/Models/Player.php b/app/Models/Player.php index 362ca570..affad8ca 100644 --- a/app/Models/Player.php +++ b/app/Models/Player.php @@ -10,6 +10,8 @@ class Player public $pid = ""; public $player_name = ""; + public $is_banned = false; + public $eloquent_model = null; /** @@ -31,6 +33,9 @@ class Player \Http::abort(404, '角色不存在'); $this->player_name = $this->eloquent_model->player_name; + + if ((new User('', $this->eloquent_model->uid))->getPermission() == "-1") + $this->is_banned = true; } /**