Added admin login page
This commit is contained in:
parent
09a0367bdc
commit
422c89f80d
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?php
|
||||||
|
namespace jobs\Entity;
|
||||||
|
class User {
|
||||||
|
public $id;
|
||||||
|
public $username;
|
||||||
|
public $password;
|
||||||
|
public $admin;
|
||||||
|
}
|
||||||
|
|
@ -5,10 +5,12 @@ class Routes implements \CSY2028\Routes {
|
||||||
$catsTable = new \CSY2028\DatabaseTable('category', 'id', '\jobs\Entity\Category');
|
$catsTable = new \CSY2028\DatabaseTable('category', 'id', '\jobs\Entity\Category');
|
||||||
$jobsTable = new \CSY2028\DatabaseTable('job', 'id', '\jobs\Entity\Job', [$catsTable]);
|
$jobsTable = new \CSY2028\DatabaseTable('job', 'id', '\jobs\Entity\Job', [$catsTable]);
|
||||||
$appsTable = new \CSY2028\DatabaseTable('applicants', 'id', '\jobs\Entity\Applicant', [$jobsTable]);
|
$appsTable = new \CSY2028\DatabaseTable('applicants', 'id', '\jobs\Entity\Applicant', [$jobsTable]);
|
||||||
|
$usersTable = new \CSY2028\DatabaseTable('users', 'id', '\jobs\Entity\User');
|
||||||
|
|
||||||
$controllers = [];
|
$controllers = [];
|
||||||
//TODO: Add Controllers
|
//TODO: Add Controllers
|
||||||
$controllers['jobs'] = new \jobs\controllers\Jobs($jobsTable, $catsTable, $appsTable);
|
$controllers['jobs'] = new \jobs\controllers\Jobs($jobsTable, $catsTable, $appsTable);
|
||||||
|
$controllers['admin'] = new \jobs\controllers\Admin($jobsTable, $catsTable, $appsTable, $usersTable);
|
||||||
|
|
||||||
if (array_key_exists($name, $controllers)) {
|
if (array_key_exists($name, $controllers)) {
|
||||||
return $controllers[$name];
|
return $controllers[$name];
|
||||||
|
|
@ -27,11 +29,11 @@ class Routes implements \CSY2028\Routes {
|
||||||
\session_start();
|
\session_start();
|
||||||
$loginRoutes = [];
|
$loginRoutes = [];
|
||||||
//TODO: Add login routes
|
//TODO: Add login routes
|
||||||
//$loginRoutes['job/edit'] = true;
|
//$loginRoutes['admin/'] = true;
|
||||||
$requiresLogin = $loginRoutes[$route] ?? false;
|
$requiresLogin = $loginRoutes[$route] ?? false;
|
||||||
|
|
||||||
if ($requiresLogin && !\isset($_SESSION['loggedin'])) {
|
if ($requiresLogin && !\isset($_SESSION['loggedin'])) {
|
||||||
\header('location: /user/login');
|
\header('location: /admin/');
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
<?php
|
||||||
|
namespace jobs\controllers;
|
||||||
|
class Admin {
|
||||||
|
private $jobsTable;
|
||||||
|
private $catsTable;
|
||||||
|
private $appsTable;
|
||||||
|
private $usersTable;
|
||||||
|
private $vars = [];
|
||||||
|
|
||||||
|
public function __construct(\CSY2028\DatabaseTable $jobsTable, \CSY2028\DatabaseTable $catsTable, \CSY2028\DatabaseTable $appsTable, \CSY2028\DatabaseTable $usersTable) {
|
||||||
|
$this->jobsTable = $jobsTable;
|
||||||
|
$this->catsTable = $catsTable;
|
||||||
|
$this->appsTable = $appsTable;
|
||||||
|
$this->usersTable = $usersTable;
|
||||||
|
$this->vars['cats'] = $this->catsTable->findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function home() {
|
||||||
|
return ['template' => 'admin.html.php',
|
||||||
|
'title' => 'Jo\'s Jobs- Login',
|
||||||
|
'vars' => $this->vars];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function homeSubmit() {
|
||||||
|
if ($_POST['username'] == '' && $_POST['password'] = '') {
|
||||||
|
$user = $this->usersTable->find("username", $_POST['username']);
|
||||||
|
if (password_verify($_POST['password'], $user->password)) {
|
||||||
|
$_SESSION['loggedin'] = true;
|
||||||
|
$this->vars['response'] = 'You are now logged in';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
unset($_SESSION['loggedin']);
|
||||||
|
$this->vars['response'] = 'Login Unsuccessful';
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$this->vars['response'] = '';
|
||||||
|
if ($_POST['username'] == '') {
|
||||||
|
$this->vars['response'] .= "No Username was entered \n";
|
||||||
|
}
|
||||||
|
if ($_POST['password'] == '') {
|
||||||
|
$this->vars['response'] .= "No Username was entered \n";
|
||||||
|
}
|
||||||
|
$this->vars['response'] .= 'Login Unsuccessful';
|
||||||
|
}
|
||||||
|
|
||||||
|
return ['template' => 'response.html.php',
|
||||||
|
'title' => 'Jo\'s Jobs- Login',
|
||||||
|
'vars' => $this->vars
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
<?php
|
|
||||||
$pdo = new PDO('mysql:dbname=job;host=mysql', 'student', 'student');
|
|
||||||
session_start();
|
|
||||||
?>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<link rel="stylesheet" href="/styles.css"/>
|
|
||||||
<title>Jo's Jobs - Admin Home</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header>
|
|
||||||
<section>
|
|
||||||
<aside>
|
|
||||||
<h3>Office Hours:</h3>
|
|
||||||
<p>Mon-Fri: 09:00-17:30</p>
|
|
||||||
<p>Sat: 09:00-17:00</p>
|
|
||||||
<p>Sun: Closed</p>
|
|
||||||
</aside>
|
|
||||||
<h1>Jo's Jobs</h1>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
</header>
|
|
||||||
<nav>
|
|
||||||
<ul>
|
|
||||||
<li><a href="/">Home</a></li>
|
|
||||||
<li>Jobs
|
|
||||||
<ul>
|
|
||||||
<li><a href="/it.php">IT</a></li>
|
|
||||||
<li><a href="/hr.php">Human Resources</a></li>
|
|
||||||
<li><a href="/sales.php">Sales</a></li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li><a href="/about.html">About Us</a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</nav>
|
|
||||||
<img src="/images/randombanner.php"/>
|
|
||||||
<main class="sidebar">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
|
||||||
if (isset($_POST['submit'])) {
|
|
||||||
if ($_POST['password'] == 'letmein') {
|
|
||||||
$_SESSION['loggedin'] = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true) {
|
|
||||||
?>
|
|
||||||
|
|
||||||
<section class="left">
|
|
||||||
<ul>
|
|
||||||
<li><a href="jobs.php">Jobs</a></li>
|
|
||||||
<li><a href="categories.php">Categories</a></li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="right">
|
|
||||||
<h2>You are now logged in</h2>
|
|
||||||
</section>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
|
||||||
?>
|
|
||||||
<h2>Log in</h2>
|
|
||||||
|
|
||||||
<form action="index.php" method="post" style="padding: 40px">
|
|
||||||
|
|
||||||
<label>Enter Password</label>
|
|
||||||
<input type="password" name="password" />
|
|
||||||
|
|
||||||
<input type="submit" name="submit" value="Log In" />
|
|
||||||
</form>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
© Jo's Jobs 2017
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<main class="home">
|
||||||
|
<h2>Log in</h2>
|
||||||
|
|
||||||
|
<form action="/admin/" method="post" style="padding: 40px">
|
||||||
|
<label>Enter Username</label>
|
||||||
|
<input type="username" name="username" />
|
||||||
|
|
||||||
|
<label>Enter Password</label>
|
||||||
|
<input type="password" name="password" />
|
||||||
|
|
||||||
|
<input type="submit" name="submit" value="Log In" />
|
||||||
|
</form>
|
||||||
|
</main>
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
<main class="home">
|
<main class="home">
|
||||||
<p><?=$response?></p>
|
<p><?=nl2br($response)?></p>
|
||||||
</main>
|
</main>
|
||||||
Loading…
Reference in New Issue