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');
|
||||
$jobsTable = new \CSY2028\DatabaseTable('job', 'id', '\jobs\Entity\Job', [$catsTable]);
|
||||
$appsTable = new \CSY2028\DatabaseTable('applicants', 'id', '\jobs\Entity\Applicant', [$jobsTable]);
|
||||
$usersTable = new \CSY2028\DatabaseTable('users', 'id', '\jobs\Entity\User');
|
||||
|
||||
$controllers = [];
|
||||
//TODO: Add Controllers
|
||||
$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)) {
|
||||
return $controllers[$name];
|
||||
|
|
@ -27,11 +29,11 @@ class Routes implements \CSY2028\Routes {
|
|||
\session_start();
|
||||
$loginRoutes = [];
|
||||
//TODO: Add login routes
|
||||
//$loginRoutes['job/edit'] = true;
|
||||
//$loginRoutes['admin/'] = true;
|
||||
$requiresLogin = $loginRoutes[$route] ?? false;
|
||||
|
||||
if ($requiresLogin && !\isset($_SESSION['loggedin'])) {
|
||||
\header('location: /user/login');
|
||||
\header('location: /admin/');
|
||||
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">
|
||||
<p><?=$response?></p>
|
||||
<p><?=nl2br($response)?></p>
|
||||
</main>
|
||||
Loading…
Reference in New Issue