diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 1dfcf98c..938a8d3b 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -47,12 +47,12 @@ class AdminController extends Controller $updater = new \Updater(\App::version()); if ($updater->newVersionAvailable()) { - View::json([ + return json([ 'new_version_available' => true, 'latest_version' => $updater->latest_version ]); } else { - View::json([ + return json([ 'new_version_available' => false, 'latest_version' => $updater->current_version ]); @@ -142,7 +142,7 @@ class AdminController extends Controller $color_scheme = str_replace('_', '-', $request->input('color_scheme')); \Option::set('color_scheme', $color_scheme); - View::json('修改配色成功', 0); + return json('修改配色成功', 0); } $user = new User($request->input('uid')); @@ -150,7 +150,7 @@ class AdminController extends Controller $cur_user = new User(session('uid')); if (!$user->is_registered) - View::json('用户不存在', 1); + return json('用户不存在', 1); if ($action == "email") { $this->validate($request, [ @@ -158,7 +158,7 @@ class AdminController extends Controller ]); if ($user->setEmail($request->input('email'))) - View::json('邮箱修改成功', 0); + return json('邮箱修改成功', 0); } elseif ($action == "nickname") { $this->validate($request, [ @@ -166,7 +166,7 @@ class AdminController extends Controller ]); if ($user->setNickName($request->input('nickname'))) - View::json('昵称已成功设置为 '.$request->input('nickname'), 0); + return json('昵称已成功设置为 '.$request->input('nickname'), 0); } elseif ($action == "password") { $this->validate($request, [ @@ -174,7 +174,7 @@ class AdminController extends Controller ]); if ($user->changePasswd($request->input('password'))) - View::json('密码修改成功', 0); + return json('密码修改成功', 0); } elseif ($action == "score") { $this->validate($request, [ @@ -182,20 +182,20 @@ class AdminController extends Controller ]); if ($user->setScore($request->input('score'))) - View::json('积分修改成功', 0); + return json('积分修改成功', 0); } elseif ($action == "ban") { if ($user->getPermission() == "1") { if ($cur_user->getPermission() != "2") - View::json('非超级管理员无法封禁普通管理员'); + return json('非超级管理员无法封禁普通管理员'); } elseif ($user->getPermission() == "2") { - View::json('超级管理员无法被封禁'); + return json('超级管理员无法被封禁'); } $permission = $user->getPermission() == "-1" ? "0" : "-1"; if ($user->setPermission($permission)) { - View::json([ + return json([ 'errno' => 0, 'msg' => '账号已被' . ($permission == '-1' ? '封禁' : '解封'), 'permission' => $user->getPermission() @@ -204,15 +204,15 @@ class AdminController extends Controller } elseif ($action == "admin") { if ($cur_user->getPermission() != "2") - View::json('非超级管理员无法进行此操作'); + return json('非超级管理员无法进行此操作'); if ($user->getPermission() == "2") - View::json('超级管理员无法被解除'); + return json('超级管理员无法被解除'); $permission = $user->getPermission() == "1" ? "0" : "1"; if ($user->setPermission($permission)) { - View::json([ + return json([ 'errno' => 0, 'msg' => '账号已被' . ($permission == '1' ? '设为' : '解除') . '管理员', 'permission' => $user->getPermission() @@ -221,10 +221,10 @@ class AdminController extends Controller } elseif ($action == "delete") { if ($user->delete()) - View::json('账号已被成功删除', 0); + return json('账号已被成功删除', 0); } else { - View::json('非法参数', 1); + return json('非法参数', 1); } } @@ -244,7 +244,7 @@ class AdminController extends Controller ]); if ($player->setPreference($request->input('preference'))) - View::json('角色 '.$player->player_name.' 的优先模型已更改至 '.$request->input('preference'), 0); + return json('角色 '.$player->player_name.' 的优先模型已更改至 '.$request->input('preference'), 0); } elseif ($action == "texture") { $this->validate($request, [ @@ -253,10 +253,10 @@ class AdminController extends Controller ]); if (!Texture::find($request->tid)) - View::json("材质 tid.{$request->tid} 不存在", 1); + return json("材质 tid.{$request->tid} 不存在", 1); if ($player->setTexture(['tid_'.$request->model => $request->tid])) - View::json("角色 {$player->player_name} 的材质修改成功", 0); + return json("角色 {$player->player_name} 的材质修改成功", 0); } elseif ($action == "owner") { $this->validate($request, [ @@ -267,16 +267,16 @@ class AdminController extends Controller $user = new User($request->input('uid')); if (!$user->is_registered) - View::json('不存在的用户', 1); + return json('不存在的用户', 1); if ($player->setOwner($request->input('uid'))) - View::json("角色 $player->player_name 已成功让渡至 ".$user->getNickName(), 0); + return json("角色 $player->player_name 已成功让渡至 ".$user->getNickName(), 0); } elseif ($action == "delete") { if (PlayerModel::where('pid', $request->input('pid'))->delete()) - View::json('角色已被成功删除', 0); + return json('角色已被成功删除', 0); } else { - View::json('非法参数', 1); + return json('非法参数', 1); } } diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 1360f53b..e26fd45f 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -32,7 +32,7 @@ class AuthController extends Controller } elseif ($request->has('username')) { $auth_type = "username"; } else { - View::json('邮箱或角色名格式错误', 3); + return json('邮箱或角色名格式错误', 3); } // instantiate user @@ -42,11 +42,11 @@ class AuthController extends Controller if (session('login_fails', 0) > 3) { if (strtolower($request->input('captcha')) != strtolower(session('phrase'))) - View::json('验证码填写错误', 1); + return json('验证码填写错误', 1); } if (!$user->is_registered) { - View::json('用户不存在哦', 2); + return json('用户不存在哦', 2); } else { if ($user->checkPasswd($request->input('password'))) { Session::forget('login_fails'); @@ -59,7 +59,7 @@ class AuthController extends Controller setcookie('uid', $user->uid, time()+$time, '/'); setcookie('token', $user->getToken(), time()+$time, '/'); - View::json([ + return json([ 'errno' => 0, 'msg' => '登录成功,欢迎回来~', 'token' => $user->getToken() @@ -68,7 +68,7 @@ class AuthController extends Controller $fails = session('login_fails', 0); Session::put('login_fails', $fails + 1); - View::json([ + return json([ 'errno' => 1, 'msg' => '邮箱或密码不对哦~', 'login_fails' => session('login_fails') @@ -85,9 +85,9 @@ class AuthController extends Controller Session::flush(); - View::json('登出成功~', 0); + return json('登出成功~', 0); } else { - View::json('并没有有效的 session', 1); + return json('并没有有效的 session', 1); } } @@ -103,7 +103,7 @@ class AuthController extends Controller public function handleRegister(Request $request) { if (strtolower($request->input('captcha')) != strtolower(session('phrase'))) - View::json('验证码填写错误', 1); + return json('验证码填写错误', 1); $this->validate($request, [ 'email' => 'required|email', @@ -129,20 +129,20 @@ class AuthController extends Controller setcookie('uid', $user->uid, time() + 3600, '/'); setcookie('token', $user->getToken(), time() + 3600, '/'); - View::json([ + return json([ 'errno' => 0, 'msg' => '注册成功,正在跳转~', 'token' => $user->getToken() ]); } else { - View::json('你最多只能注册 '.Option::get('regs_per_ip').' 个账户哦', 7); + return json('你最多只能注册 '.Option::get('regs_per_ip').' 个账户哦', 7); } } else { - View::json('残念。。本皮肤站已经关闭注册咯 QAQ', 7); + return json('残念。。本皮肤站已经关闭注册咯 QAQ', 7); } } else { - View::json('这个邮箱已经注册过啦,换一个吧', 5); + return json('这个邮箱已经注册过啦,换一个吧', 5); } } @@ -158,18 +158,18 @@ class AuthController extends Controller public function handleForgot(Request $request) { if (strtolower($request->input('captcha')) != strtolower(session('phrase'))) - View::json('验证码填写错误', 1); + return json('验证码填写错误', 1); if (config('mail.host') == "") - View::json('本站已关闭重置密码功能', 1); + return json('本站已关闭重置密码功能', 1); if (Session::has('last_mail_time') && (time() - session('last_mail_time')) < 60) - View::json('你邮件发送得太频繁啦,过 60 秒后再点发送吧', 1); + return json('你邮件发送得太频繁啦,过 60 秒后再点发送吧', 1); $user = new User(null, ['email' => $request->input('email')]); if (!$user->is_registered) - View::json('该邮箱尚未注册', 1); + return json('该邮箱尚未注册', 1); $uid = $user->uid; $token = base64_encode($user->getToken().substr(time(), 4, 6).Utils::generateRndString(16)); @@ -184,12 +184,12 @@ class AuthController extends Controller $m->to($request->input('email'))->subject("重置您在 $site_name 上的账户密码"); }); } catch(\Exception $e) { - View::json('邮件发送失败,详细信息:'.$e->getMessage(), 2); + return json('邮件发送失败,详细信息:'.$e->getMessage(), 2); } Session::put('last_mail_time', time()); - View::json('邮件已发送,一小时内有效,请注意查收.', 0); + return json('邮件已发送,一小时内有效,请注意查收.', 0); } public function reset() @@ -229,7 +229,7 @@ class AuthController extends Controller $user->changePasswd($request->input('password')); - View::json('密码重置成功', 0); + return json('密码重置成功', 0); } diff --git a/app/Http/Controllers/ClosetController.php b/app/Http/Controllers/ClosetController.php index 5e88ce42..b2c5ec02 100644 --- a/app/Http/Controllers/ClosetController.php +++ b/app/Http/Controllers/ClosetController.php @@ -44,7 +44,7 @@ class ClosetController extends Controller public function info() { - View::json($this->closet->getItems()); + return json($this->closet->getItems()); } public function add(Request $request) @@ -59,7 +59,9 @@ class ClosetController extends Controller $t->likes += 1; $t->save(); - View::json('材质 '.$request->input('name').' 收藏成功~', 0); + return json('材质 '.$request->input('name').' 收藏成功~', 0); + } else { + return json('你已经收藏过这个材质啦', 1); } } @@ -74,7 +76,9 @@ class ClosetController extends Controller $t->likes = $t->likes - 1; $t->save(); - View::json('材质已从衣柜中移除', 0); + return json('材质已从衣柜中移除', 0); + } else { + return json('衣柜中不存在此材质', 0); } } diff --git a/app/Http/Controllers/PlayerController.php b/app/Http/Controllers/PlayerController.php index d0180246..8e7bce99 100644 --- a/app/Http/Controllers/PlayerController.php +++ b/app/Http/Controllers/PlayerController.php @@ -52,10 +52,10 @@ class PlayerController extends Controller $player_name = $request->input('player_name'); if (!PlayerModel::where('player_name', $player_name)->get()->isEmpty()) - View::json('该角色名已经被其他人注册掉啦', 6); + return json('该角色名已经被其他人注册掉啦', 6); if ($this->user->getScore() < Option::get('score_per_player')) - View::json('积分不够添加角色啦', 7); + return json('积分不够添加角色啦', 7); $player = new PlayerModel(); $player->uid = $this->user->uid; @@ -68,7 +68,7 @@ class PlayerController extends Controller $this->user->setScore(Option::get('score_per_player'), 'minus'); - View::json("成功添加了角色 $player_name", 0); + return json("成功添加了角色 $player_name", 0); } public function delete(Request $request) @@ -78,7 +78,7 @@ class PlayerController extends Controller if ($this->player->delete()) { $this->user->setScore(Option::get('score_per_player'), 'plus'); - View::json("角色 $player_name 已被删除", 0); + return json("角色 $player_name 已被删除", 0); } } @@ -96,12 +96,12 @@ class PlayerController extends Controller $new_player_name = $request->input('new_player_name'); if (!PlayerModel::where('player_name', $new_player_name)->get()->isEmpty()) - View::json('此角色名已被他人使用,换一个吧~', 6); + return json('此角色名已被他人使用,换一个吧~', 6); $old_player_name = $this->player->player_name; $this->player->rename($new_player_name); - View::json("角色 $old_player_name 已更名为 $new_player_name", 0); + return json("角色 $old_player_name 已更名为 $new_player_name", 0); } /** @@ -114,20 +114,20 @@ class PlayerController extends Controller ]); if (!($texture = Texture::find($tid))) - View::json('材质不存在', 6); + return json('材质不存在', 6); $field_name = "tid_".$texture->type; $this->player->setTexture([$field_name => $tid]); - View::json('材质已成功应用至角色 '.$this->player->player_name, 0); + return json('材质已成功应用至角色 '.$this->player->player_name, 0); } public function clearTexture() { $this->player->clearTexture(); - View::json('角色 '.$this->player->player_name.' 的材质已被成功重置', 0); + return json('角色 '.$this->player->player_name.' 的材质已被成功重置', 0); } public function setPreference(Request $request) @@ -138,7 +138,7 @@ class PlayerController extends Controller $this->player->setPreference($request->preference); - View::json('角色 '.$this->player->player_name.' 的优先模型已更改至 '.$request->preference, 0); + return json('角色 '.$this->player->player_name.' 的优先模型已更改至 '.$request->preference, 0); } } diff --git a/app/Http/Controllers/SkinlibController.php b/app/Http/Controllers/SkinlibController.php index f4dd1750..4add492e 100644 --- a/app/Http/Controllers/SkinlibController.php +++ b/app/Http/Controllers/SkinlibController.php @@ -119,7 +119,7 @@ class SkinlibController extends Controller public function info($tid) { - View::json(Texture::find($tid)->toArray()); + return json(Texture::find($tid)->toArray()); } public function upload() @@ -144,14 +144,14 @@ class SkinlibController extends Controller $cost = $t->size * (($t->public == "1") ? Option::get('score_per_storage') : Option::get('private_score_per_storage')); if ($this->user->getScore() < $cost) - View::json('积分不够啦', 7); + return json('积分不够啦', 7); $results = Texture::where('hash', $t->hash)->get(); if (!$results->isEmpty()) { foreach ($results as $result) { if ($result->type == $t->type) { - View::json([ + return json([ 'errno' => 0, 'msg' => '已经有人上传过这个材质了,直接添加到衣柜使用吧~', 'tid' => $result->tid @@ -165,7 +165,7 @@ class SkinlibController extends Controller $this->user->setScore($cost, 'minus'); if ($this->user->closet->add($t->tid, $t->name)) { - View::json([ + return json([ 'errno' => 0, 'msg' => '材质 '.$request->input('name').' 上传成功', 'tid' => $t->tid @@ -178,10 +178,10 @@ class SkinlibController extends Controller $result = Texture::find($request->tid); if (!$result) - View::json('材质不存在', 1); + return json('材质不存在', 1); if ($result->uploader != $this->user->uid && !$this->user->is_admin) - View::json('你不是这个材质的上传者哦', 1); + return json('你不是这个材质的上传者哦', 1); // check if file occupied if (Texture::where('hash', $result['hash'])->count() == 1) @@ -190,7 +190,7 @@ class SkinlibController extends Controller $this->user->setScore($result->size * Option::get('score_per_storage'), 'plus'); if ($result->delete()) - View::json('材质已被成功删除', 0); + return json('材质已被成功删除', 0); } public function privacy($tid, Request $request) @@ -198,13 +198,13 @@ class SkinlibController extends Controller $t = Texture::find($request->tid); if (!$t) - View::json('材质不存在', 1); + return json('材质不存在', 1); if ($t->uploader != $this->user->uid && !$this->user->is_admin) - View::json('你不是这个材质的上传者哦', 1); + return json('你不是这个材质的上传者哦', 1); if ($t->setPrivacy(!$t->public)) { - View::json([ + return json([ 'errno' => 0, 'msg' => '材质已被设为'.($t->public == "0" ? "隐私" : "公开"), 'public' => $t->public @@ -221,15 +221,15 @@ class SkinlibController extends Controller $t = Texture::find($request->input('tid')); if (!$t) - View::json('材质不存在', 1); + return json('材质不存在', 1); if ($t->uploader != $this->user->uid && !$this->user->is_admin) - View::json('你不是这个材质的上传者哦', 1); + return json('你不是这个材质的上传者哦', 1); $t->name = $request->input('new_name'); if ($t->save()) { - View::json('材质名称已被成功设置为'.$request->input('new_name'), 0); + return json('材质名称已被成功设置为'.$request->input('new_name'), 0); } } @@ -249,7 +249,7 @@ class SkinlibController extends Controller // if error occured while uploading file if ($_FILES['file']["error"] > 0) - View::json($_FILES['file']["error"], 1); + return json($_FILES['file']["error"], 1); $type = $request->input('type'); $size = getimagesize($_FILES['file']["tmp_name"]); @@ -257,12 +257,12 @@ class SkinlibController extends Controller if ($type == "steve" || $type == "alex") { if ($ratio != 2 && $ratio != 1) - View::json("不是有效的皮肤文件(宽 {$size[0]},高 {$size[1]})", 1); + return json("不是有效的皮肤文件(宽 {$size[0]},高 {$size[1]})", 1); } elseif ($type == "cape") { if ($ratio != 2) - View::json("不是有效的披风文件(宽 {$size[0]},高 {$size[1]})", 1); + return json("不是有效的披风文件(宽 {$size[0]},高 {$size[1]})", 1); } else { - View::json('非法参数', 1); + return json('非法参数', 1); } } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 27c7ecd0..524db3a6 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -33,14 +33,14 @@ class UserController extends Controller public function sign() { if ($aquired_score = $this->user->sign()) { - View::json([ + return json([ 'errno' => 0, 'msg' => "签到成功,获得了 $aquired_score 积分~", 'score' => $this->user->getScore(), 'remaining_time' => $this->user->canSign(true) ]); } else { - View::json($this->user->canSign(true).' 小时后才能再次签到哦~', 1); + return json($this->user->canSign(true).' 小时后才能再次签到哦~', 1); } } @@ -66,7 +66,7 @@ class UserController extends Controller $nickname = $request->input('new_nickname'); if ($this->user->setNickName($nickname)) - View::json("昵称已成功设置为 $nickname", 0); + return json("昵称已成功设置为 $nickname", 0); break; @@ -77,10 +77,10 @@ class UserController extends Controller ]); if (!$this->user->checkPasswd($request->input('current_password'))) - View::json('原密码错误', 1); + return json('原密码错误', 1); if ($this->user->changePasswd($request->input('new_password'))) - View::json('密码修改成功,请重新登录', 0); + return json('密码修改成功,请重新登录', 0); break; @@ -91,10 +91,10 @@ class UserController extends Controller ]); if (!$this->user->checkPasswd($request->input('password'))) - View::json('密码错误', 1); + return json('密码错误', 1); if ($this->user->setEmail($request->input('new_email'))) - View::json('邮箱修改成功,请重新登录', 0); + return json('邮箱修改成功,请重新登录', 0); break; @@ -104,7 +104,7 @@ class UserController extends Controller ]); if (!$this->user->checkPasswd($request->input('password'))) - View::json('密码错误', 1); + return json('密码错误', 1); if ($this->user->delete()) { setcookie('uid', '', time() - 3600, '/'); @@ -112,13 +112,13 @@ class UserController extends Controller Session::flush(); - View::json('账号已被成功删除', 0); + return json('账号已被成功删除', 0); } break; default: - View::json('非法参数', 1); + return json('非法参数', 1); break; } @@ -144,13 +144,13 @@ class UserController extends Controller if ($result) { if ($result->type == "cape") - View::json('披风可不能设置为头像哦~', 1); + return json('披风可不能设置为头像哦~', 1); if ($this->user->setAvatar($request->input('tid'))) { - View::json('设置成功!', 0); + return json('设置成功!', 0); } } else { - View::json('材质不存在。', 1); + return json('材质不存在。', 1); } } diff --git a/app/Models/Closet.php b/app/Models/Closet.php index 1f045355..4c9ec018 100644 --- a/app/Models/Closet.php +++ b/app/Models/Closet.php @@ -94,7 +94,7 @@ class Closet { foreach ($this->textures as $item) { if ($item['tid'] == $tid) - View::json('你已经收藏过这个材质啦', 1); + return false; } $this->textures[] = array( @@ -138,7 +138,7 @@ class Closet $offset++; } - View::json('The texture is not in the closet.', 1); + return false; } private function checkTextureExist($tid) diff --git a/app/Models/Player.php b/app/Models/Player.php index 08554a4b..e16d702e 100644 --- a/app/Models/Player.php +++ b/app/Models/Player.php @@ -77,14 +77,14 @@ class Player public function setTexture(Array $tids) { - if (!isset($tids['tid_steve']) && !isset($tids['tid_alex']) && !isset($tids['tid_cape'])) - { - View::json('非法参数', 1); - } + $map = ['steve', 'alex', 'cape']; - $this->model->tid_steve = isset($tids['tid_steve']) ? $tids['tid_steve'] : $this->model['tid_steve']; - $this->model->tid_alex = isset($tids['tid_alex']) ? $tids['tid_alex'] : $this->model['tid_alex']; - $this->model->tid_cape = isset($tids['tid_cape']) ? $tids['tid_cape'] : $this->model['tid_cape']; + foreach ($map as $model) { + $property = "tid_$model"; + if (isset($tids[$property])) { + $this->model->$property = $tids[$property]; + } + } $this->model->last_modified = Utils::getTimeFormatted(); diff --git a/app/helpers.php b/app/helpers.php index a987c005..14aa5fbd 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -57,3 +57,21 @@ if (! function_exists('assets')) { return url("assets/$relative_uri")."?v=".config('app.version'); } } + +if (! function_exists('json')) { + + function json() + { + @header('Content-type: application/json; charset=utf-8'); + $args = func_get_args(); + + if (count($args) == 1 && is_array($args[0])) { + return Response::json($args[0]); + } elseif(count($args) == 2) { + return Response::json([ + 'errno' => $args[1], + 'msg' => $args[0] + ]); + } + } +} diff --git a/resources/lang/en/validation.php b/resources/lang/en/validation.php index c012700e..303952d5 100644 --- a/resources/lang/en/validation.php +++ b/resources/lang/en/validation.php @@ -82,6 +82,11 @@ return [ 'username' => ':attribute format is invalid.', 'nickname' => ':attribute format is invalid.', + 'playername' => 'The :attribute may only contain letters, numbers and dashes.', + 'pname_chinese' => 'The :attribute may only contain letters, numbers, dashes and chinese characters.', + 'no_special_chars' => 'The :attribute must not contain special characters.', + 'preference' => 'The :attribute must be default or slim.', + 'model' => 'The :attribute must be steve, alex or cape.', /* |-------------------------------------------------------------------------- @@ -111,6 +116,8 @@ return [ | */ - 'attributes' => [], + 'attributes' => [ + 'player_name' => 'Player Name' + ], ];