diff --git a/app/Http/Controllers/GUI/AdminController.php b/app/Http/Controllers/GUI/AdminController.php index 0c67b93..8781a44 100644 --- a/app/Http/Controllers/GUI/AdminController.php +++ b/app/Http/Controllers/GUI/AdminController.php @@ -24,15 +24,6 @@ class AdminController extends Controller { // } - - public function listMails() { - if(!Auth::user()->admin) { - throw new HTTPException("Need Admin Access"); - } - $mails = Mail::query()->get("*"); - return view('admin/mails_list', ["mails"=>$mails]); - } - public function inviteView() { if(!Auth::user()->admin) { throw new HTTPException("Need Admin Access"); @@ -133,5 +124,41 @@ class AdminController extends Controller } + public function listUser() { + if(!Auth::user()->admin) { + throw new HTTPException("Need Admin Access"); + } + $users = User::query()->get(); + + return view('admin/user_list', ["msg"=>"", "users" => $users]); + } + + public function userDetails($id) { + if(!Auth::user()->admin) { + throw new HTTPException("Need Admin Access"); + } + $user = User::query()->where("id", "=", $id)->firstOrFail(); + + $mails = Mail::query()->where("user_id", "=", $id)->get(); + + return view('admin/user_details', ["msg"=>"", "editUser" => $user, "mails" => $mails]); + } + + public function saveUserDetails(Request $request, $id) { + if(!Auth::user()->admin) { + throw new HTTPException("Need Admin Access"); + } + $user = User::query()->where("id", "=", $id)->firstOrFail(); + + $user->admin = (bool)$request->input("admin", false); + $user->developer = (bool)$request->input("developer", false); + $user->username = $request->input("username"); + + $user->saveOrFail(); + + return redirect("/gui/admin/users/".$id); + } + + // } diff --git a/app/Http/Controllers/GUI/AppController.php b/app/Http/Controllers/GUI/AppController.php index f6ce2f7..c299467 100644 --- a/app/Http/Controllers/GUI/AppController.php +++ b/app/Http/Controllers/GUI/AppController.php @@ -35,7 +35,7 @@ class AppController extends Controller 'url' => 'required|url' ]); - $app = App::createApp($request->input("name"), $request->input("description"), $request->input("url"), Auth::user()); + $app = App::createApp($request->input("name"), htmlspecialchars($request->input("description")), $request->input("url"), Auth::user()); return "App created"; } @@ -68,7 +68,7 @@ class AppController extends Controller } $app->name = $request->input("name"); - $app->description = $request->input("description"); + $app->description = htmlspecialchars($request->input("description")); $app->url = $request->input("url"); $app->direct_url = $request->input("direct_url"); diff --git a/resources/views/admin/mails_list.php b/resources/views/admin/mails_list.php deleted file mode 100644 index 0e4e15c..0000000 --- a/resources/views/admin/mails_list.php +++ /dev/null @@ -1,32 +0,0 @@ - -
-
-

E-Mail adresses

- - - - - - - - - - - - - - -
User IDMailActions
user_id; ?>mail; ?> - status == "waiting") { - echo 'Aktivieren'; - } - ?> -
-
-
- \ No newline at end of file diff --git a/resources/views/admin/user_details.php b/resources/views/admin/user_details.php new file mode 100644 index 0000000..1e0ff3c --- /dev/null +++ b/resources/views/admin/user_details.php @@ -0,0 +1,54 @@ + +
+
+

Users

+
+ + + + + + + + + + + + + + + + + +
Username
Primary Mail
Developerdeveloper) { echo 'checked'; } ?>>
Adminadmin) { echo 'checked'; } ?>>
+ +
+ +

Mails

+ + + + + + + + + + + + + + + +
#MailStatusActions
id; ?>mail; ?>status ?> + status == "waiting") { + echo 'Aktivieren'; + } + ?> +
+
+
+ \ No newline at end of file diff --git a/resources/views/admin/user_list.php b/resources/views/admin/user_list.php new file mode 100644 index 0000000..f5f0214 --- /dev/null +++ b/resources/views/admin/user_list.php @@ -0,0 +1,49 @@ + +
+
+

Users

+ + + + + + + + + + + + + + + + + + + +
#UsernameStatusPrimary MailFlagsActions
id; ?>username; ?>status; ?>getMail(); ?> + developer) { + echo ''; + } + + if($user->admin) { + echo ''; + } + + + ?> + + Edit
+ +
+ Flags:
+ = Admin
+ = Developer +
+
+ \ No newline at end of file diff --git a/resources/views/layout/top.php b/resources/views/layout/top.php index 81c2556..fb05807 100644 --- a/resources/views/layout/top.php +++ b/resources/views/layout/top.php @@ -54,12 +54,11 @@ diff --git a/routes/web.php b/routes/web.php index 7584ad0..1386047 100644 --- a/routes/web.php +++ b/routes/web.php @@ -15,6 +15,22 @@ $router->get('/', ['middleware' => 'gui', 'uses' => 'GUI\PublicController@index' $router->get('/api/v4/user', ['uses' => 'oAuthController@getUserTMP']); $router->get('/api/v4/groups', ['uses' => 'oAuthController@getGroupsTMP']); +//Gitlab like oauth +$router->group(['prefix' => 'gitlab', 'middleware' => 'gui'], function () use ($router) { + +}); + +//Oauth URLS +$router->group(['prefix' => 'oauth'], function () use ($router) { + $router->get("/authorize", ['middleware' => 'gui', 'uses' => 'oAuthController@authorizeView']); + $router->post("/authorize", ['middleware' => 'gui', 'uses' => 'oAuthController@authorizeDo']); + $router->post("/token", ['uses' => 'oAuthController@token']); +}); + + +//Internal API +$router->group(['prefix' => 'api'], function () use ($router) { +}); $router->group(['prefix' => 'gui', 'middleware' => 'gui'], function () use ($router) { $router->get('/register', ['uses' => 'GUI\AccountController@registerView']); @@ -36,7 +52,6 @@ $router->group(['prefix' => 'gui', 'middleware' => 'gui'], function () use ($rou //Admin - $router->get("/admin/mails", ['uses' => 'GUI\AdminController@listMails']); $router->get("/admin/settings", ['uses' => 'GUI\AdminController@settingsView']); $router->post("/admin/settings", ["uses" => "GUI\AdminController@saveSettings"]); $router->get("/admin/apps", ["uses" => "GUI\AdminController@appList"]); @@ -45,6 +60,11 @@ $router->group(['prefix' => 'gui', 'middleware' => 'gui'], function () use ($rou $router->get("/admin/invites", ["uses" => "GUI\AdminController@inviteView"]); $router->get("/admin/invites/new", ["uses" => "GUI\AdminController@inviteNewView"]); $router->post("/admin/invites/new", ["uses" => "GUI\AdminController@inviteNew"]); + $router->get("/admin/users", ["uses" => 'GUI\AdminController@listUser']); + $router->get("/admin/users/{id}", ["uses" => 'GUI\AdminController@userDetails']); + $router->post("/admin/users/{id}", ["uses" => 'GUI\AdminController@saveUserDetails']); + + $router->get('user/profile', function () { // Uses Auth Middleware @@ -58,8 +78,3 @@ $router->group(['prefix' => 'gui', 'middleware' => 'gui'], function () use ($rou });*/ -$router->group(['prefix' => 'oauth'], function () use ($router) { - $router->get("/authorize", ['middleware' => 'gui', 'uses' => 'oAuthController@authorizeView']); - $router->post("/authorize", ['middleware' => 'gui', 'uses' => 'oAuthController@authorizeDo']); - $router->post("/token", ['uses' => 'oAuthController@token']); -});