From befb2bc35ed41df6d74a43aab6366d41d0615802 Mon Sep 17 00:00:00 2001 From: DariusIII Date: Tue, 17 Apr 2018 15:55:15 +0200 Subject: [PATCH] Add admin GroupController --- Changelog | 1 + .../Controllers/Admin/GroupController.php | 254 ++++++++++++++++++ public/admin/group-bulk.php | 31 --- public/admin/group-edit.php | 62 ----- public/admin/group-list-active.php | 38 --- public/admin/group-list-inactive.php | 39 --- public/admin/group-list.php | 29 -- 7 files changed, 255 insertions(+), 199 deletions(-) create mode 100644 app/Http/Controllers/Admin/GroupController.php delete mode 100644 public/admin/group-bulk.php delete mode 100644 public/admin/group-edit.php delete mode 100644 public/admin/group-list-active.php delete mode 100644 public/admin/group-list-inactive.php delete mode 100644 public/admin/group-list.php diff --git a/Changelog b/Changelog index 8c4dfef32..450d440b0 100755 --- a/Changelog +++ b/Changelog @@ -1,4 +1,5 @@ 2018-04-17 DariusIII + * Chg: Add admin GroupController * Chg: Add admin ContentController * Chg: Add admin RoleController * Chg: Add admin SiteController diff --git a/app/Http/Controllers/Admin/GroupController.php b/app/Http/Controllers/Admin/GroupController.php new file mode 100644 index 000000000..82e72d2eb --- /dev/null +++ b/app/Http/Controllers/Admin/GroupController.php @@ -0,0 +1,254 @@ +setAdminPrefs(); + + $groupName = $request->input('groupname') ?? ''; + + $this->smarty->assign( + [ + 'groupname' => $groupName, + 'grouplist' => Group::getGroupsRange(config('nntmux.items_per_page'), $groupName), + ] + ); + + $title = 'Group List'; + $content = $this->smarty->fetch('group-list.tpl'); + + $this->smarty->assign( + [ + 'title' => $title, + 'content' => $content, + ] + ); + + $this->adminrender(); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + // + } + + /** + * @param \Illuminate\Http\Request $request + * + * @throws \Exception + */ + public function createBulk(Request $request) + { + $this->setAdminPrefs(); + + // set the current action + $action = $request->input('action') ?? 'view'; + + if ($action === 'submit') { + if ($request->has('groupfilter') && ! empty($request->input('groupfilter'))) { + $msgs = Group::addBulk($request->input('groupfilter'), $request->input('active'), $request->input('backfill')); + } + } else { + $msgs = ''; + } + + $this->smarty->assign('groupmsglist', $msgs); + $this->smarty->assign('yesno_ids', [1, 0]); + $this->smarty->assign('yesno_names', ['Yes', 'No']); + + $title = 'Bulk Add Newsgroups'; + $content = $this->smarty->fetch('group-bulk.tpl'); + + $this->smarty->assign( + [ + 'title' => $title, + 'content' => $content, + ] + ); + + $this->adminrender(); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + // + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($id) + { + // + } + + /** + * @param \Illuminate\Http\Request $request + * + * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + * @throws \Exception + */ + public function edit(Request $request) + { + $this->setAdminPrefs(); + + // Set the current action. + $action = $request->input('action') ?? 'view'; + + $group = [ + 'id' => '', + 'name' => '', + 'description' => '', + 'minfilestoformrelease' => 0, + 'active' => 0, + 'backfill' => 0, + 'minsizetoformrelease' => 0, + 'first_record' => 0, + 'last_record' => 0, + 'backfill_target' => 0, + ]; + + switch ($action) { + case 'submit': + if ($request->input('id') === '') { + // Add a new group. + $request->merge(['name' => Group::isValidGroup($request->input('name'))]); + if ($request->input('name') !== false) { + Group::addGroup($request->all()); + } + } else { + // Update an existing group. + Group::updateGroup($request->all()); + } + return redirect('group-list'); + break; + + case 'view': + default: + if ($request->has('id')) { + $title = 'Newsgroup Edit'; + $id = $request->input('id'); + $group = Group::getGroupByID($id); + } else { + $this->title = 'Newsgroup Add'; + } + break; + } + + $this->smarty->assign('yesno_ids', [1, 0]); + $this->smarty->assign('yesno_names', ['Yes', 'No']); + + $this->smarty->assign('group', $group); + + $content = $this->smarty->fetch('group-edit.tpl'); + + $this->smarty->assign( + [ + 'title' => $title, + 'content' => $content, + ] + ); + + $this->adminrender(); + } + + /** + * @param \Illuminate\Http\Request $request + * + * @throws \Exception + */ + public function active(Request $request) + { + $this->setAdminPrefs(); + $gname = ''; + if (! empty($request->input('groupname'))) { + $gname = $request->input('groupname'); + } + + $groupname = ! empty($request->input('groupname')) ? $request->input('groupname') : ''; + + $this->smarty->assign('groupname', $groupname); + + $page = $request->has('page') ? $request->input('page') : 1; + + $grouplist = Group::getGroupsRange($page, $gname, true); + + $this->smarty->assign('grouplist', $grouplist); + + $title = 'Group List'; + + $content = $this->smarty->fetch('group-list.tpl'); + + $this->smarty->assign( + [ + 'title' => $title, + 'content' => $content, + ] + ); + + $this->adminrender(); + } + + /** + * @param \Illuminate\Http\Request $request + * + * @throws \Exception + */ + public function inactive(Request $request) + { + $this->setAdminPrefs(); + $gname = ''; + if (! empty($request->input('groupname'))) { + $gname = $request->input('groupname'); + } + + $groupname = ! empty($request->input('groupname')) ? $request->input('groupname') : ''; + + $this->smarty->assign('groupname', $groupname); + + $page = $request->has('page') ? $request->input('page') : 1; + + $grouplist = Group::getGroupsRange($page, $gname, false); + + $this->smarty->assign('grouplist', $grouplist); + + $title = 'Group List'; + + $content = $this->smarty->fetch('group-list.tpl'); + + $this->smarty->assign( + [ + 'title' => $title, + 'content' => $content, + ] + ); + + $this->adminrender(); + } +} diff --git a/public/admin/group-bulk.php b/public/admin/group-bulk.php deleted file mode 100644 index 94aef87b8..000000000 --- a/public/admin/group-bulk.php +++ /dev/null @@ -1,31 +0,0 @@ -setAdminPrefs(); - -// set the current action -$action = request()->input('action') ?? 'view'; - -switch ($action) { - case 'submit': - if (request()->has('groupfilter') && ! empty(request()->input('groupfilter'))) { - $msgs = Group::addBulk(request()->input('groupfilter'), request()->input('active'), request()->input('backfill')); - } - break; - default: - $msgs = ''; - break; -} - -$page->smarty->assign('groupmsglist', $msgs); -$page->smarty->assign('yesno_ids', [1, 0]); -$page->smarty->assign('yesno_names', ['Yes', 'No']); - -$page->title = 'Bulk Add Newsgroups'; -$page->content = $page->smarty->fetch('group-bulk.tpl'); -$page->adminrender(); diff --git a/public/admin/group-edit.php b/public/admin/group-edit.php deleted file mode 100644 index f721cd84f..000000000 --- a/public/admin/group-edit.php +++ /dev/null @@ -1,62 +0,0 @@ -setAdminPrefs(); - -$id = 0; - -// Set the current action. -$action = request()->input('action') ?? 'view'; - -$group = [ - 'id' => '', - 'name' => '', - 'description' => '', - 'minfilestoformrelease' => 0, - 'active' => 0, - 'backfill' => 0, - 'minsizetoformrelease' => 0, - 'first_record' => 0, - 'last_record' => 0, - 'backfill_target' => 0, -]; - -switch ($action) { - case 'submit': - if (request()->input('id') === '') { - // Add a new group. - request()->merge(['name' => Group::isValidGroup(request()->input('name'))]); - if (request()->input('name') !== false) { - Group::addGroup(request()->all()); - } - } else { - // Update an existing group. - Group::updateGroup(request()->all()); - } - header('Location:'.WWW_TOP.'/group-list.php'); - break; - - case 'view': - default: - if (request()->has('id')) { - $page->title = 'Newsgroup Edit'; - $id = request()->input('id'); - $group = Group::getGroupByID($id); - } else { - $page->title = 'Newsgroup Add'; - } - break; -} - -$page->smarty->assign('yesno_ids', [1, 0]); -$page->smarty->assign('yesno_names', ['Yes', 'No']); - -$page->smarty->assign('group', $group); - -$page->content = $page->smarty->fetch('group-edit.tpl'); -$page->adminrender(); diff --git a/public/admin/group-list-active.php b/public/admin/group-list-active.php deleted file mode 100644 index da4e7bed9..000000000 --- a/public/admin/group-list-active.php +++ /dev/null @@ -1,38 +0,0 @@ -setAdminPrefs(); -$gname = ''; -if (! empty(request()->input('groupname'))) { - $gname = request()->input('groupname'); -} - -$groupcount = Group::getGroupsCount($gname, 1); - -$offset = request()->input('offset') ?? 0; -$groupname = ! empty(request()->input('groupname')) ? request()->input('groupname') : ''; - -$page->smarty->assign('groupname', $groupname); -$page->smarty->assign('pagertotalitems', $groupcount); -$page->smarty->assign('pageroffset', $offset); -$page->smarty->assign('pageritemsperpage', config('nntmux.items_per_page')); -$page->smarty->assign('pagerquerysuffix', '#results'); - -$groupsearch = $gname !== '' ? 'groupname='.$gname.'&' : ''; -$page->smarty->assign('pagerquerybase', WWW_TOP.'/group-list-active.php?'.$groupsearch.'offset='); -$pager = $page->smarty->fetch('pager.tpl'); -$page->smarty->assign('pager', $pager); - -$grouplist = Group::getGroupsRange($offset, config('nntmux.items_per_page'), $gname, true); - -$page->smarty->assign('grouplist', $grouplist); - -$page->title = 'Group List'; - -$page->content = $page->smarty->fetch('group-list.tpl'); -$page->adminrender(); diff --git a/public/admin/group-list-inactive.php b/public/admin/group-list-inactive.php deleted file mode 100644 index a38608419..000000000 --- a/public/admin/group-list-inactive.php +++ /dev/null @@ -1,39 +0,0 @@ -setAdminPrefs(); - -$gname = ''; -if (! empty(request()->input('groupname'))) { - $gname = request()->input('groupname'); -} - -$groupcount = Group::getGroupsCount($gname, 0); - -$offset = request()->input('offset') ?? 0; -$groupname = ! empty(request()->input('groupname')) ? request()->input('groupname') : ''; - -$page->smarty->assign('groupname', $groupname); -$page->smarty->assign('pagertotalitems', $groupcount); -$page->smarty->assign('pageroffset', $offset); -$page->smarty->assign('pageritemsperpage', config('nntmux.items_per_page')); -$page->smarty->assign('pagerquerysuffix', '#results'); - -$groupsearch = $gname !== '' ? 'groupname='.$gname.'&' : ''; -$page->smarty->assign('pagerquerybase', WWW_TOP.'/group-list-inactive.php?'.$groupsearch.'offset='); -$pager = $page->smarty->fetch('pager.tpl'); -$page->smarty->assign('pager', $pager); - -$grouplist = Group::getGroupsRange($offset, config('nntmux.items_per_page'), $gname, false); - -$page->smarty->assign('grouplist', $grouplist); - -$page->title = 'Group List'; - -$page->content = $page->smarty->fetch('group-list.tpl'); -$page->adminrender(); diff --git a/public/admin/group-list.php b/public/admin/group-list.php deleted file mode 100644 index 7deb770ea..000000000 --- a/public/admin/group-list.php +++ /dev/null @@ -1,29 +0,0 @@ -setAdminPrefs(); - -$groupName = request()->input('groupname') ?? ''; -$offset = request()->input('offset') ?? 0; - -$page->smarty->assign( - [ - 'groupname' => $groupName, - 'pagertotalitems' => Group::getGroupsCount($groupName, -1), - 'pageroffset' => $offset, - 'pageritemsperpage' => config('nntmux.items_per_page'), - 'pagerquerybase' => WWW_TOP.'/group-list.php?'.(($groupName !== '') ? "groupname=$groupName" : '').'&offset=', - 'pagerquerysuffix' => '', - 'grouplist' => Group::getGroupsRange($offset, config('nntmux.items_per_page'), $groupName), - ] -); -$page->smarty->assign('pager', $page->smarty->fetch('pager.tpl')); - -$page->title = 'Group List'; -$page->content = $page->smarty->fetch('group-list.tpl'); -$page->adminrender();