1
0
mirror of https://github.com/cydrobolt/polr.git synced 2024-11-14 22:22:32 +01:00
polr/app/Http/Controllers/AdminController.php

67 lines
2.0 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
2016-10-01 04:10:58 +02:00
use Yajra\Datatables\Facades\Datatables;
use Hash;
use App\Models\Link;
use App\Models\User;
2015-12-28 22:33:17 +01:00
use App\Helpers\UserHelper;
class AdminController extends Controller {
/**
* Show the admin panel, and process setting changes.
*
* @return Response
*/
2016-10-01 04:10:58 +02:00
public function displayAdminPage(Request $request) {
if (!$this->isLoggedIn()) {
return redirect(route('login'))->with('error', 'Please login to access your dashboard.');
}
$username = session('username');
$role = session('role');
$user = UserHelper::getUserByUsername($username);
if (!$user) {
return redirect(route('index'))->with('error', 'Invalid or disabled account.');
}
2015-11-09 01:49:45 +01:00
return view('admin', [
'role' => $role,
'admin_role' => UserHelper::canonicalUserRole('admin'),
'user_roles' => UserHelper::USER_ROLES,
'api_key' => $user->api_key,
'api_active' => $user->api_active,
'api_quota' => $user->api_quota,
'user_id' => $user->id
2015-11-09 01:49:45 +01:00
]);
}
2015-12-28 22:33:17 +01:00
public function changePassword(Request $request) {
if (!$this->isLoggedIn()) {
2016-01-19 00:23:33 +01:00
return abort(404);
2015-12-28 22:33:17 +01:00
}
2015-12-28 22:33:17 +01:00
$username = session('username');
$old_password = $request->input('current_password');
$new_password = $request->input('new_password');
if (UserHelper::checkCredentials($username, $old_password) == false) {
// Invalid credentials
return redirect('admin')->with('error', 'Current password invalid. Try again.');
2015-12-28 22:33:17 +01:00
}
else {
// Credentials are correct
$user = UserHelper::getUserByUsername($username);
$user->password = Hash::make($new_password);
$user->save();
2015-12-28 22:33:17 +01:00
$request->session()->flash('success', "Password changed successfully.");
return redirect(route('admin'));
2015-12-28 22:33:17 +01:00
}
}
}