diff --git a/Changelog b/Changelog index ccdddf543..ba9627413 100755 --- a/Changelog +++ b/Changelog @@ -1,4 +1,5 @@ 2018-04-19 DariusIII + * Chg: Add MenuController * Chg: Add GameController * Chg: Update ForumController and routes for deleting forum * Chg: Add FailedReleasesController diff --git a/app/Http/Controllers/Admin/MenuController.php b/app/Http/Controllers/Admin/MenuController.php new file mode 100644 index 000000000..9bd06f95f --- /dev/null +++ b/app/Http/Controllers/Admin/MenuController.php @@ -0,0 +1,108 @@ +setAdminPrefs(); + + $title = 'Menu List'; + + $menulist = Menu::getAll(); + $this->smarty->assign('menulist', $menulist); + + $content = $this->smarty->fetch('menu-list.tpl'); + $this->smarty->assign( + [ + 'title' => $title, + 'content' => $content, + ] + ); + $this->adminrender(); + } + + /** + * @param \Illuminate\Http\Request $request + * + * @throws \Exception + */ + public function edit(Request $request) + { + $this->setAdminPrefs(); + + // Get the user roles. + $userroles = UserRole::getRoles(); + $roles = []; + foreach ($userroles as $r) { + $roles[$r['id']] = $r['name']; + } + + // set the current action + $action = $request->input('action') ?? 'view'; + + switch ($action) { + case 'submit': + if ($request->input('id') === '') { + Menu::addMenu($request->all()); + } else { + Menu::updateMenu($request->all()); + } + + header('Location:'.WWW_TOP.'/menu-list.php'); + break; + + case 'view': + default: + $menuRow = [ + 'id' => '', 'title' => '', 'href' => '', 'tooltip' => '', + 'menueval' => '', 'role' => 0, 'ordinal' => 0, 'newwindow' => 0, + ]; + if ($request->has('id')) { + $id = $request->input('id'); + $menuRow = Menu::find($id); + } + $title = 'Menu Edit'; + $this->smarty->assign('menu', $menuRow); + break; + } + + $this->smarty->assign('yesno_ids', [1, 0]); + $this->smarty->assign('yesno_names', ['Yes', 'No']); + + $this->smarty->assign('role_ids', array_keys($roles)); + $this->smarty->assign('role_names', $roles); + + $content = $this->smarty->fetch('menu-edit.tpl'); + $this->smarty->assign( + [ + 'title' => $title, + 'content' => $content, + ] + ); + $this->adminrender(); + } + + /** + * @param $id + * + * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + */ + public function destroy($id) + { + if ($id) { + Menu::deleteMenu($id); + } + + return redirect('admin/menu-list'); + } +} diff --git a/public/oldadmin/menu-delete.php b/public/oldadmin/menu-delete.php deleted file mode 100644 index a63499702..000000000 --- a/public/oldadmin/menu-delete.php +++ /dev/null @@ -1,12 +0,0 @@ -has('id')) { - Menu::deleteMenu(request()->input('id')); -} - -$referrer = request()->server('HTTP_REFERER'); -header('Location: '.$referrer); diff --git a/public/oldadmin/menu-edit.php b/public/oldadmin/menu-edit.php deleted file mode 100644 index 16a479219..000000000 --- a/public/oldadmin/menu-edit.php +++ /dev/null @@ -1,57 +0,0 @@ -setAdminPrefs(); - -$id = 0; - -// Get the user roles. -$userroles = UserRole::getRoles(); -$roles = []; -foreach ($userroles as $r) { - $roles[$r['id']] = $r['name']; -} - -// set the current action -$action = request()->input('action') ?? 'view'; - -switch ($action) { - case 'submit': - if (request()->input('id') === '') { - \App\Models\Menu::addMenu(request()->all()); - } else { - $ret = Menu::updateMenu(request()->all()); - } - - header('Location:'.WWW_TOP.'/menu-list.php'); - break; - - case 'view': - default: - $menuRow = [ - 'id' => '', 'title' => '', 'href' => '', 'tooltip' => '', - 'menueval' => '', 'role' => 0, 'ordinal' => 0, 'newwindow' => 0, - ]; - if (request()->has('id')) { - $id = request()->input('id'); - $menuRow = Menu::find($id); - } - $page->title = 'Menu Edit'; - $page->smarty->assign('menu', $menuRow); - break; -} - -$page->smarty->assign('yesno_ids', [1, 0]); -$page->smarty->assign('yesno_names', ['Yes', 'No']); - -$page->smarty->assign('role_ids', array_keys($roles)); -$page->smarty->assign('role_names', $roles); - -$page->content = $page->smarty->fetch('menu-edit.tpl'); -$page->adminrender(); diff --git a/public/oldadmin/menu-list.php b/public/oldadmin/menu-list.php deleted file mode 100644 index a9e55f316..000000000 --- a/public/oldadmin/menu-list.php +++ /dev/null @@ -1,17 +0,0 @@ -setAdminPrefs(); - -$page->title = 'Menu List'; - -$menulist = Menu::getAll(); -$page->smarty->assign('menulist', $menulist); - -$page->content = $page->smarty->fetch('menu-list.tpl'); -$page->adminrender(); diff --git a/resources/views/themes/admin/menu-list.tpl b/resources/views/themes/admin/menu-list.tpl index 9a48a92cf..1ecbcf48e 100644 --- a/resources/views/themes/admin/menu-list.tpl +++ b/resources/views/themes/admin/menu-list.tpl @@ -24,7 +24,7 @@ {if $menu.role == 0}Guests{elseif $menu.role == 1}Users{elseif $menu.role == 2}Admin{else}Other{/if} {$menu.ordinal} {if $menu.newwindow == 1}Yes{else}No{/if} - delete + delete {/foreach} diff --git a/routes/web.php b/routes/web.php index a7c9a54b2..04578fe9b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -295,5 +295,11 @@ Route::middleware('admin')->prefix('admin')->group(function () { Route::post('game-list', 'GameController@index'); Route::get('game-edit', 'GameController@edit'); Route::post('game-edit', 'GameController@edit'); + Route::get('menu-list', 'MenuController@index'); + Route::post('menu-list', 'MenuController@index'); + Route::get('menu-edit', 'MenuController@edit'); + Route::post('menu-edit', 'MenuController@edit'); + Route::get('menu-delete/{id}', 'MenuController@destroy'); + Route::post('menu-delete/{id}', 'MenuController@destroy'); }); });