1
0
mirror of https://github.com/devfake/flox.git synced 2024-11-15 14:42:31 +01:00
flox/backend/app/Http/Controllers/UserController.php
Viktor Geringer a50a7d7c5b change settings page (#31)
* prepare languages

* prepare routes

* split settings into smaller components

* move debounce and vue-router into vendor

* remove dependency from index

* refactor

* update method comment
2017-02-13 21:17:33 +01:00

86 lines
1.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Input;
class UserController {
private $auth;
/**
* Create an instance for 'auth'.
*
* @param Guard $auth
*/
public function __construct(Guard $auth)
{
$this->auth = $auth;
}
/**
* Login user and return correct response.
*
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
*/
public function login()
{
$username = Input::get('username');
$password = Input::get('password');
if($this->auth->attempt(['username' => $username, 'password' => $password], true)) {
return response('Success', 200);
}
return response('Unauthorized', 401);
}
/**
* @return array
*/
public function getUserData()
{
return [
'username' => Auth::user()->username,
];
}
/**
* Save new user credentials.
*
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
*/
public function changeUserData()
{
$username = Input::get('username');
$password = Input::get('password');
$user = Auth::user();
$user->username = $username;
if($password != '') {
$user->password = bcrypt($password);
}
if($user->save()) {
return response('Success', 200);
}
return response('Server Error', 500);
}
/**
* Logout user and redirect to home.
*
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function logout()
{
$this->auth->logout();
return redirect('/');
}
}