From 4ea16fe4b59f5e4694b08b138fb0afc4c6f5c478 Mon Sep 17 00:00:00 2001 From: DariusIII Date: Thu, 19 Apr 2018 14:37:07 +0200 Subject: [PATCH] Add MusicController --- Changelog | 1 + .../Controllers/Admin/MusicController.php | 98 +++++++++++++++++++ public/oldadmin/music-edit.php | 58 ----------- public/oldadmin/music-list.php | 35 ------- routes/web.php | 4 + 5 files changed, 103 insertions(+), 93 deletions(-) create mode 100644 app/Http/Controllers/Admin/MusicController.php delete mode 100644 public/oldadmin/music-edit.php delete mode 100644 public/oldadmin/music-list.php diff --git a/Changelog b/Changelog index bab4fd4e7..224eb36eb 100755 --- a/Changelog +++ b/Changelog @@ -1,4 +1,5 @@ 2018-04-19 DariusIII + * Chg: Add MusicController * Chg: Add MovieController * Chg: Add MenuController * Chg: Add GameController diff --git a/app/Http/Controllers/Admin/MusicController.php b/app/Http/Controllers/Admin/MusicController.php new file mode 100644 index 000000000..7055c9f67 --- /dev/null +++ b/app/Http/Controllers/Admin/MusicController.php @@ -0,0 +1,98 @@ +setAdminPrefs(); + + $title = 'Music List'; + + $musicList = Utility::getRange('musicinfo'); + + $this->smarty->assign('musiclist', $musicList); + + $content = $this->smarty->fetch('music-list.tpl'); + $this->smarty->assign( + [ + 'title' => $title, + 'content' => $content, + ] + ); + $this->adminrender(); + } + + /** + * @param \Illuminate\Http\Request $request + * + * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + * @throws \Exception + */ + public function edit(Request $request) + { + $this->setAdminPrefs(); + $music = new Music(); + $gen = new Genres(); + + // set the current action + $action = $request->input('action') ?? 'view'; + + if ($request->has('id')) { + $id = $request->input('id'); + $mus = $music->getMusicInfo($id); + + if (! $mus) { + $this->show404(); + } + + switch ($action) { + case 'submit': + $coverLoc = resource_path().'/covers/music/'.$id.'.jpg'; + + if ($_FILES['cover']['size'] > 0) { + $tmpName = $_FILES['cover']['tmp_name']; + $file_info = getimagesize($tmpName); + if (! empty($file_info)) { + move_uploaded_file($_FILES['cover']['tmp_name'], $coverLoc); + } + } + + $request->merge(['cover' => file_exists($coverLoc) ? 1 : 0]); + $request->merge(['salesrank' => (empty($request->input('salesrank')) || ! ctype_digit($request->input('salesrank'))) ? 'null' : $request->input('salesrank')]); + $request->merge(['releasedate' => (empty($request->input('releasedate')) || ! strtotime($request->input('releasedate'))) ? $mus['releasedate'] : Carbon::parse($request->input('releasedate'))->timestamp]); + + $music->update($id, $request->input('title'), $request->input('asin'), $request->input('url'), $request->input('salesrank'), $request->input('artist'), $request->input('publisher'), $request->input('releasedate'), $request->input('year'), $request->input('tracks'), $request->input('cover'), $request->input('genre')); + + return redirect('admin/music-list'); + + break; + case 'view': + default: + $title = 'Music Edit'; + $this->smarty->assign('music', $mus); + $this->smarty->assign('genres', $gen->getGenres(Genres::MUSIC_TYPE)); + break; + } + } + + $content = $this->smarty->fetch('music-edit.tpl'); + $this->smarty->assign( + [ + 'title' => $title, + 'content' => $content, + ] + ); + $this->adminrender(); + } +} diff --git a/public/oldadmin/music-edit.php b/public/oldadmin/music-edit.php deleted file mode 100644 index 64ae5e6f7..000000000 --- a/public/oldadmin/music-edit.php +++ /dev/null @@ -1,58 +0,0 @@ -setAdminPrefs(); -$music = new Music(); -$gen = new Genres(); -$id = 0; - -// set the current action -$action = request()->input('action') ?? 'view'; - -if (request()->has('id')) { - $id = request()->input('id'); - $mus = $music->getMusicInfo($id); - - if (! $mus) { - $page->show404(); - } - - switch ($action) { - case 'submit': - $coverLoc = WWW_DIR.'covers/music/'.$id.'.jpg'; - - if ($_FILES['cover']['size'] > 0) { - $tmpName = $_FILES['cover']['tmp_name']; - $file_info = getimagesize($tmpName); - if (! empty($file_info)) { - move_uploaded_file($_FILES['cover']['tmp_name'], $coverLoc); - } - } - - request()->merge(['cover' => file_exists($coverLoc) ? 1 : 0]); - request()->merge(['salesrank' => (empty(request()->input('salesrank')) || ! ctype_digit(request()->input('salesrank'))) ? 'null' : request()->input('salesrank')]); - request()->merge(['releasedate' => (empty(request()->input('releasedate')) || ! strtotime(request()->input('releasedate'))) ? $mus['releasedate'] : Carbon::parse(request()->input('releasedate'))->timestamp]); - - $music->update($id, request()->input('title'), request()->input('asin'), request()->input('url'), request()->input('salesrank'), request()->input('artist'), request()->input('publisher'), request()->input('releasedate'), request()->input('year'), request()->input('tracks'), request()->input('cover'), request()->input('genre')); - - header('Location:'.WWW_TOP.'/music-list.php'); - die(); - break; - case 'view': - default: - $page->title = 'Music Edit'; - $page->smarty->assign('music', $mus); - $page->smarty->assign('genres', $gen->getGenres(Genres::MUSIC_TYPE)); - break; - } -} - -$page->content = $page->smarty->fetch('music-edit.tpl'); -$page->adminrender(); diff --git a/public/oldadmin/music-list.php b/public/oldadmin/music-list.php deleted file mode 100644 index b232565aa..000000000 --- a/public/oldadmin/music-list.php +++ /dev/null @@ -1,35 +0,0 @@ -setAdminPrefs(); -$music = new Music(); - -$page->title = 'Music List'; - -$musCount = Utility::getCount('musicinfo'); - -$offset = request()->input('offset') ?? 0; - -$page->smarty->assign([ - 'pagertotalitems' => $musCount, - 'pagerquerysuffix' => '#results', - 'pageroffset' => $offset, - 'pageritemsperpage' => config('nntmux.items_per_page'), - 'pagerquerybase' => WWW_TOP.'/music-list.php?offset=', -]); - -$pager = $page->smarty->fetch('pager.tpl'); -$page->smarty->assign('pager', $pager); - -$musicList = Utility::getRange('musicinfo', $offset, config('nntmux.items_per_page')); - -$page->smarty->assign('musiclist', $musicList); - -$page->content = $page->smarty->fetch('music-list.tpl'); -$page->adminrender(); diff --git a/routes/web.php b/routes/web.php index 1d64c960e..789a86e44 100644 --- a/routes/web.php +++ b/routes/web.php @@ -307,5 +307,9 @@ Route::middleware('admin')->prefix('admin')->group(function () { Route::post('movie-edit', 'MovieController@edit'); Route::get('movie-add', 'MovieController@create'); Route::post('movie-add', 'MovieController@create'); + Route::get('music-list', 'MusicController@index'); + Route::post('music-list', 'MusicController@index'); + Route::get('music-edit', 'MusicController@edit'); + Route::post('music-edit', 'MusicController@edit'); }); });