the browser-facing portion of osu!
at master 1.5 kB view raw
1<?php 2 3// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4// See the LICENCE file in the repository root for full licence text. 5 6namespace App\Http\Controllers; 7 8use App; 9use App\Http\Middleware\VerifyUserAlways; 10use App\Libraries\LocaleMeta; 11use App\Models\Log; 12use Auth; 13use Carbon\Carbon; 14use Illuminate\Foundation\Bus\DispatchesJobs; 15use Illuminate\Foundation\Validation\ValidatesRequests; 16use Illuminate\Routing\Controller as BaseController; 17use Request; 18 19abstract class Controller extends BaseController 20{ 21 use DispatchesJobs, ValidatesRequests; 22 23 public function __construct() 24 { 25 } 26 27 protected function log($params) 28 { 29 $params['user_id'] = Auth::user()->user_id ?? 0; 30 $params['log_ip'] = Request::ip(); 31 $params['log_time'] = Carbon::now(); 32 33 Log::log($params); 34 } 35 36 protected function login($user, $remember = false) 37 { 38 cleanup_cookies(); 39 40 $session = \Session::instance(); 41 $session->flush(); 42 $session->regenerateToken(); 43 $session->put('requires_verification', VerifyUserAlways::isRequired($user)); 44 Auth::login($user, $remember); 45 if ($GLOBALS['cfg']['osu']['user']['bypass_verification']) { 46 $session->markVerified(); 47 } 48 $session->migrate(true); 49 } 50 51 protected function logout() 52 { 53 logout(); 54 } 55 56 protected function locale() 57 { 58 return LocaleMeta::sanitizeCode(request('locale')) ?? App::getLocale(); 59 } 60}