From fff8a8e2f949d0b15582b50a3a97884f4231141d Mon Sep 17 00:00:00 2001 From: DariusIII Date: Sun, 8 Apr 2018 22:24:37 +0200 Subject: [PATCH] Add ContentController and route --- Changelog | 2 + app/Http/Controllers/ContentController.php | 82 ++++++++++++++++++++ public/pages/contact-us.php | 36 --------- public/pages/forgottenpassword.php | 90 ---------------------- routes/web.php | 4 + 5 files changed, 88 insertions(+), 126 deletions(-) create mode 100644 app/Http/Controllers/ContentController.php delete mode 100644 public/pages/contact-us.php delete mode 100644 public/pages/forgottenpassword.php diff --git a/Changelog b/Changelog index 266eeccb6..8ca83fba0 100755 --- a/Changelog +++ b/Changelog @@ -1,3 +1,5 @@ +2018-04-08 DariusIII + * Chg: Add ContentController and route 2018-04-07 DariusIII * Chg: Add BtcPaymentController * Chg: Update libraries to their latest versions diff --git a/app/Http/Controllers/ContentController.php b/app/Http/Controllers/ContentController.php new file mode 100644 index 000000000..bd90c3d31 --- /dev/null +++ b/app/Http/Controllers/ContentController.php @@ -0,0 +1,82 @@ +userdata) && Auth::check()) { + $role = $this->userdata['role']; + } + + /* The role column in the content table values are : + * 1 = logged in users + * 2 = admins + * + * The user role values are: + * 1 = user + * 2 = admin + * 3 = disabled + * 4 = moderator + * + * Admins and mods should be the only ones to see admin content. + */ + $this->smarty->assign('admin', (($role === 2 || $role === 4) ? 'true' : 'false')); + + $contentId = 0; + if ($request->has('id')) { + $contentId = $request->input('id'); + } + + $contentPage = false; + if ($request->has('page')) { + $contentPage = $request->input('page'); + } + + if ($contentId === 0 && $contentPage === 'content') { + $content = $contents->getAllButFront(); + $this->smarty->assign('front', false); + $meta_title = 'Contents page'; + $meta_keywords = 'contents'; + $meta_description = 'This is the contents page.'; + } elseif ($contentId !== 0 && $contentPage !== false) { + $content = [$contents->getByID($contentId, $role)]; + $this->smarty->assign('front', false); + $meta_title = 'Contents page'; + $meta_keywords = 'contents'; + $meta_description = 'This is the contents page.'; + } else { + $content = $contents->getFrontPage(); + $index = $contents->getIndex(); + $this->smarty->assign('front', true); + $meta_title = $index->title; + $meta_keywords = $index->metakeywords; + $meta_description = $index->metadescription; + } + + if (empty($content)) { + $this->show404(); + } + + $this->smarty->assign('content', $content); + + $content = $this->smarty->fetch('content.tpl'); + $this->smarty->assign( + [ + 'content' => $content, + 'meta_title' => $meta_title, + 'meta_keywords' => $meta_keywords, + 'meta_description' => $meta_description, + ] + ); + $this->pagerender(); + } +} diff --git a/public/pages/contact-us.php b/public/pages/contact-us.php deleted file mode 100644 index 9c9f5d996..000000000 --- a/public/pages/contact-us.php +++ /dev/null @@ -1,36 +0,0 @@ -getError() === false && request()->has('useremail')) { - $email = request()->input('useremail'); - $mailTo = Settings::settingValue('site.main.email'); - $mailBody = "Values submitted from contact form:\n"; - $request = request()->all(); - - foreach ($request as $key => $value) { - if ($key !== 'submit') { - $mailBody .= "$key : $value
\r\n"; - } - } - - if (! preg_match("/\n/i", request()->input('useremail'))) { - Mail::to($mailTo)->send(new ContactUs($email, $mailBody)); - } - $msg = "

Thank you for getting in touch with ".Settings::settingValue('site.main.title').'.

'; -} -$page->smarty->assign('msg', $msg); -$page->title = 'Contact '.Settings::settingValue('site.main.title'); -$page->meta_title = 'Contact '.Settings::settingValue('site.main.title'); -$page->meta_keywords = 'contact us,contact,get in touch,email'; -$page->meta_description = 'Contact us at '.Settings::settingValue('site.main.title').' and submit your feedback'; - -$page->content = $page->smarty->fetch('contact.tpl'); - -$page->pagerender(); diff --git a/public/pages/forgottenpassword.php b/public/pages/forgottenpassword.php deleted file mode 100644 index 4ecc792c9..000000000 --- a/public/pages/forgottenpassword.php +++ /dev/null @@ -1,90 +0,0 @@ -input('action') ?? 'view'; - -$email = $rssToken = $sent = $confirmed = ''; - -switch ($action) { - case 'reset': - if (! request()->has('guid')) { - $page->smarty->assign('error', 'No reset code provided.'); - break; - } - - $ret = User::getByPassResetGuid(request()->input('guid')); - if (! $ret) { - $page->smarty->assign('error', 'Bad reset code provided.'); - break; - } - - // - // reset the password, inform the user, send out the email - // - User::updatePassResetGuid($ret['id'], ''); - $newpass = User::generatePassword(); - User::updatePassword($ret['id'], $newpass); - - $to = $ret['email']; - $onscreen = 'Your password has been reset to '.$newpass.' and sent to your e-mail address.'; - Mail::to($to)->send(new PasswordReset($ret['id'], $newpass)); - $page->smarty->assign('notice', $onscreen); - $confirmed = true; - break; - - break; - case 'submit': - $email = request()->input('email') ?? ''; - $rssToken = request()->input('apikey') ?? ''; - if (empty($email) && empty($rssToken)) { - $page->smarty->assign('error', 'Missing parameter(email and/or apikey to send password reset'); - } else { - // - // Check users exists and send an email - // - $ret = ! empty($rssToken) ? User::getByRssToken($rssToken) : User::getByEmail($email); - if ($ret === null) { - $page->smarty->assign('error', 'The email or apikey are not recognised.'); - $sent = true; - break; - } - // - // Generate a forgottenpassword guid, store it in the user table - // - $guid = md5(uniqid('', false)); - User::updatePassResetGuid($ret['id'], $guid); - // - // Send the email - // - $resetLink = $page->serverurl.'forgottenpassword?action=reset&guid='.$guid; - Mail::to($ret['email'])->send(new ForgottenPassword($resetLink)); - $sent = true; - break; - } - break; -} -$page->smarty->assign( - [ - 'email' => $email, - 'apikey' => $rssToken, - 'confirmed' => $confirmed, - 'sent' => $sent, - ] -); - -$page->title = 'Forgotten Password'; -$page->meta_title = 'Forgotten Password'; -$page->meta_keywords = 'forgotten,password,signup,registration'; -$page->meta_description = 'Forgotten Password'; - -$page->content = $page->smarty->fetch('forgottenpassword.tpl'); -$page->pagerender(); diff --git a/routes/web.php b/routes/web.php index 917f5739d..68002ba97 100644 --- a/routes/web.php +++ b/routes/web.php @@ -72,6 +72,10 @@ Route::get('console', 'ConsoleController@show'); Route::get('browsegroup', 'BrowseGroupController@show'); +Route::get('content', 'ContentController@show'); + +Route::post('content', 'ContentController@show'); + Route::get('/games', function () { redirect('/games'); })->middleware('auth');