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

66 lines
1.8 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
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 admin AJAX requests.
*
* @return Response
*/
public function displayAdminPage(Request $request) {
if (!$this->isLoggedIn()) {
2016-01-19 00:23:33 +01:00
return abort(404);
}
$username = session('username');
$role = session('role');
$admin_users = null;
$admin_links = null;
if ($this->currIsAdmin()) {
$admin_users = User::paginate(15);
$admin_links = Link::paginate(15);
}
$user_links = Link::where('creator', $username)
->paginate(15);
2015-11-09 01:49:45 +01:00
return view('admin', [
'role' => $role,
'admin_users' => $admin_users,
'admin_links' => $admin_links,
'user_links' => $user_links
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
}
$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
}
}
}