ban player simultaneously when its owner is banned

This commit is contained in:
printempw 2016-07-28 16:25:20 +08:00
parent dcbaabaa35
commit 3107cc2bcb
2 changed files with 22 additions and 3 deletions

View File

@ -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, '材质不存在');
}
}

View File

@ -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;
}
/**