mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 01:11:46 +08:00 
			
		
		
		
	feature: multiple ban
This commit is contained in:
		| @@ -215,9 +215,9 @@ class UserController extends Controller | |||||||
|     { |     { | ||||||
|         $sortType = in_array($request->input('sort_type'), ['ASC', 'DESC']) ? $request->input('sort_type') : 'DESC'; |         $sortType = in_array($request->input('sort_type'), ['ASC', 'DESC']) ? $request->input('sort_type') : 'DESC'; | ||||||
|         $sort = $request->input('sort') ? $request->input('sort') : 'created_at'; |         $sort = $request->input('sort') ? $request->input('sort') : 'created_at'; | ||||||
|         $userModel = User::orderBy($sort, $sortType); |         $builder = User::orderBy($sort, $sortType); | ||||||
|         $this->filter($request, $userModel); |         $this->filter($request, $builder); | ||||||
|         $users = $userModel->get(); |         $users = $builder->get(); | ||||||
|         foreach ($users as $user) { |         foreach ($users as $user) { | ||||||
|             SendEmailJob::dispatch([ |             SendEmailJob::dispatch([ | ||||||
|                 'email' => $user->email, |                 'email' => $user->email, | ||||||
| @@ -235,4 +235,23 @@ class UserController extends Controller | |||||||
|             'data' => true |             'data' => true | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     public function ban(Request $request) | ||||||
|  |     { | ||||||
|  |         $sortType = in_array($request->input('sort_type'), ['ASC', 'DESC']) ? $request->input('sort_type') : 'DESC'; | ||||||
|  |         $sort = $request->input('sort') ? $request->input('sort') : 'created_at'; | ||||||
|  |         $builder = User::orderBy($sort, $sortType); | ||||||
|  |         $this->filter($request, $builder); | ||||||
|  |         try { | ||||||
|  |             $builder->update([ | ||||||
|  |                 'banned' => 1 | ||||||
|  |             ]); | ||||||
|  |         } catch (\Exception $e) { | ||||||
|  |             abort(500, '处理失败'); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return response([ | ||||||
|  |             'data' => true | ||||||
|  |         ]); | ||||||
|  |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -139,6 +139,10 @@ class AuthController extends Controller | |||||||
|             $request->session()->put('is_admin', true); |             $request->session()->put('is_admin', true); | ||||||
|             $data['is_admin'] = true; |             $data['is_admin'] = true; | ||||||
|         } |         } | ||||||
|  |         if ($user->is_staff) { | ||||||
|  |             $request->session()->put('is_staff', true); | ||||||
|  |             $data['is_staff'] = true; | ||||||
|  |         } | ||||||
|         return response([ |         return response([ | ||||||
|             'data' => $data |             'data' => $data | ||||||
|         ]); |         ]); | ||||||
| @@ -185,7 +189,7 @@ class AuthController extends Controller | |||||||
|     { |     { | ||||||
|         $user = User::where('token', $request->input('token'))->first(); |         $user = User::where('token', $request->input('token'))->first(); | ||||||
|         if (!$user) { |         if (!$user) { | ||||||
|             abort(500, '用户不存在'); |             abort(500, '令牌有误'); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $code = Helper::guid(); |         $code = Helper::guid(); | ||||||
| @@ -196,6 +200,27 @@ class AuthController extends Controller | |||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     public function getQuickLoginUrl(Request $request) | ||||||
|  |     { | ||||||
|  |         $user = User::where('token', $request->input('token'))->first(); | ||||||
|  |         if (!$user) { | ||||||
|  |             abort(500, '令牌有误'); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         $code = Helper::guid(); | ||||||
|  |         $key = CacheKey::get('TEMP_TOKEN', $code); | ||||||
|  |         Cache::put($key, $user->id, 60); | ||||||
|  |         $redirect = '/#/login?verify=' . $code . '&redirect=' . ($request->input('redirect') ? $request->input('redirect') : 'dashboard'); | ||||||
|  |         if (config('v2board.app_url')) { | ||||||
|  |             $url = config('v2board.app_url') . $redirect; | ||||||
|  |         } else { | ||||||
|  |             $url = url($redirect); | ||||||
|  |         } | ||||||
|  |         return response([ | ||||||
|  |             'data' => $url | ||||||
|  |         ]); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     public function check(Request $request) |     public function check(Request $request) | ||||||
|     { |     { | ||||||
|         $data = [ |         $data = [ | ||||||
|   | |||||||
| @@ -54,7 +54,6 @@ class UserController extends Controller | |||||||
|                 'last_login_at', |                 'last_login_at', | ||||||
|                 'created_at', |                 'created_at', | ||||||
|                 'banned', |                 'banned', | ||||||
|                 'is_admin', |  | ||||||
|                 'remind_expire', |                 'remind_expire', | ||||||
|                 'remind_traffic', |                 'remind_traffic', | ||||||
|                 'expired_at', |                 'expired_at', | ||||||
|   | |||||||
| @@ -70,6 +70,7 @@ class AdminRoute | |||||||
|             $router->post('/user/generate', 'Admin\\UserController@generate'); |             $router->post('/user/generate', 'Admin\\UserController@generate'); | ||||||
|             $router->post('/user/dumpCSV', 'Admin\\UserController@dumpCSV'); |             $router->post('/user/dumpCSV', 'Admin\\UserController@dumpCSV'); | ||||||
|             $router->post('/user/sendMail', 'Admin\\UserController@sendMail'); |             $router->post('/user/sendMail', 'Admin\\UserController@sendMail'); | ||||||
|  |             $router->post('/user/ban', 'Admin\\UserController@ban'); | ||||||
|             // Stat |             // Stat | ||||||
|             $router->get ('/stat/getOverride', 'Admin\\StatController@getOverride'); |             $router->get ('/stat/getOverride', 'Admin\\StatController@getOverride'); | ||||||
|             // Notice |             // Notice | ||||||
|   | |||||||
| @@ -17,6 +17,7 @@ class PassportRoute | |||||||
|             $router->get ('/auth/check', 'Passport\\AuthController@check'); |             $router->get ('/auth/check', 'Passport\\AuthController@check'); | ||||||
|             $router->post('/auth/forget', 'Passport\\AuthController@forget'); |             $router->post('/auth/forget', 'Passport\\AuthController@forget'); | ||||||
|             $router->post('/auth/getTempToken', 'Passport\\AuthController@getTempToken'); |             $router->post('/auth/getTempToken', 'Passport\\AuthController@getTempToken'); | ||||||
|  |             $router->post('/auth/getQuickLoginUrl', 'Passport\\AuthController@getQuickLoginUrl'); | ||||||
|             // Comm |             // Comm | ||||||
|             $router->get ('/comm/config', 'Passport\\CommController@config'); |             $router->get ('/comm/config', 'Passport\\CommController@config'); | ||||||
|             $router->post('/comm/sendEmailVerify', 'Passport\\CommController@sendEmailVerify'); |             $router->post('/comm/sendEmailVerify', 'Passport\\CommController@sendEmailVerify'); | ||||||
|   | |||||||
| @@ -288,7 +288,6 @@ CREATE TABLE `v2_user` ( | |||||||
|   `u` bigint(20) NOT NULL DEFAULT '0', |   `u` bigint(20) NOT NULL DEFAULT '0', | ||||||
|   `d` bigint(20) NOT NULL DEFAULT '0', |   `d` bigint(20) NOT NULL DEFAULT '0', | ||||||
|   `transfer_enable` bigint(20) NOT NULL DEFAULT '0', |   `transfer_enable` bigint(20) NOT NULL DEFAULT '0', | ||||||
|   `enable` tinyint(1) NOT NULL DEFAULT '1', |  | ||||||
|   `banned` tinyint(1) NOT NULL DEFAULT '0', |   `banned` tinyint(1) NOT NULL DEFAULT '0', | ||||||
|   `is_admin` tinyint(1) NOT NULL DEFAULT '0', |   `is_admin` tinyint(1) NOT NULL DEFAULT '0', | ||||||
|   `is_staff` tinyint(1) NOT NULL DEFAULT '0', |   `is_staff` tinyint(1) NOT NULL DEFAULT '0', | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								public/assets/admin/umi.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								public/assets/admin/umi.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user