2023-01-21 23:12:42 +00:00
|
|
|
<?php
|
|
|
|
|
namespace jobs\controllers;
|
2023-01-23 14:38:15 +00:00
|
|
|
class Jobs {
|
2023-01-23 16:08:51 +00:00
|
|
|
private $jobsTable;
|
|
|
|
|
private $catsTable;
|
2023-01-23 17:50:11 +00:00
|
|
|
private $appsTable;
|
2023-02-05 15:56:21 +00:00
|
|
|
private $enquiryTable;
|
2023-01-23 16:44:56 +00:00
|
|
|
private $vars = [];
|
2023-01-21 23:12:42 +00:00
|
|
|
|
2023-02-05 15:56:21 +00:00
|
|
|
public function __construct(\jobs\JobDatabaseTable $jobsTable, \jobs\JobDatabaseTable $catsTable, \jobs\JobDatabaseTable $appsTable, \jobs\JobDatabaseTable $enquiryTable) {
|
2023-01-23 16:08:51 +00:00
|
|
|
$this->jobsTable = $jobsTable;
|
|
|
|
|
$this->catsTable = $catsTable;
|
2023-01-23 17:50:11 +00:00
|
|
|
$this->appsTable = $appsTable;
|
2023-02-05 15:56:21 +00:00
|
|
|
$this->enquiryTable = $enquiryTable;
|
2023-01-23 16:44:56 +00:00
|
|
|
$this->vars['cats'] = $this->catsTable->findAll();
|
2023-01-21 23:12:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function home() {
|
2023-02-05 13:50:57 +00:00
|
|
|
$this->vars['jobs'] = $this->jobsTable->find(["closingDate", 'archived'], ['value0' => date('y-m-d'), 'value1' => 'n'], ['>', '='], "DESC", "closingDate");
|
2023-01-21 23:12:42 +00:00
|
|
|
return ['template' => 'home.html.php',
|
|
|
|
|
'title' => 'Jo\'s Jobs- Home',
|
2023-01-23 16:44:56 +00:00
|
|
|
'vars' => $this->vars
|
2023-01-23 16:08:51 +00:00
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function category() {
|
2023-02-04 22:19:29 +00:00
|
|
|
$cat = $this->catsTable->find(['name'], ['value0' => $_GET['page']]);
|
2023-01-23 16:08:51 +00:00
|
|
|
if ($cat == null) {
|
|
|
|
|
return $this->notFound();
|
|
|
|
|
}
|
|
|
|
|
else {
|
2023-01-25 16:33:08 +00:00
|
|
|
if (isset($_GET['filter'])) {
|
2023-02-05 13:50:57 +00:00
|
|
|
$columns = ['categoryId', "location", 'closingDate', 'archived'];
|
2023-02-04 22:19:29 +00:00
|
|
|
$values = ['value0' => $cat[0]->id,
|
|
|
|
|
'value1' => $_GET['filter'],
|
2023-02-05 13:50:57 +00:00
|
|
|
'value2' => date('y-m-d'),
|
|
|
|
|
'value3' => 'n'
|
2023-02-04 22:19:29 +00:00
|
|
|
];
|
2023-02-05 13:50:57 +00:00
|
|
|
$comparators = ["=","=",">",'='];
|
2023-02-04 22:19:29 +00:00
|
|
|
$this->vars['jobs'] = $this->jobsTable->find($columns, $values, $comparators);
|
2023-01-25 16:33:08 +00:00
|
|
|
}
|
|
|
|
|
else {
|
2023-02-05 13:50:57 +00:00
|
|
|
$this->vars['jobs'] = $this->jobsTable->find(['categoryId', 'closingDate', 'archived'], ["value0" => $cat[0]->id, "value1" => date("y-m-d"), 'value2' => 'n'], ["=", ">", '=']);
|
2023-01-25 16:33:08 +00:00
|
|
|
|
|
|
|
|
}
|
2023-01-23 16:44:56 +00:00
|
|
|
$this->vars['heading'] = $cat[0]->name;
|
2023-01-23 16:08:51 +00:00
|
|
|
return ['template' => 'category.html.php',
|
|
|
|
|
'title' => 'Jo\'s Jobs- '. $_GET['page'],
|
2023-01-23 16:44:56 +00:00
|
|
|
'vars' => $this->vars
|
|
|
|
|
];
|
2023-01-23 16:08:51 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-01-23 16:44:56 +00:00
|
|
|
public function about() {
|
|
|
|
|
return ['template' => 'about.html.php',
|
|
|
|
|
'title' => 'Jo\'s Jobs- About us',
|
|
|
|
|
'vars' => $this->vars
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
2023-02-05 15:56:21 +00:00
|
|
|
public function contact() {
|
|
|
|
|
return ['template' => 'contact.html.php',
|
|
|
|
|
'title' => 'Jo\'s Jobs- Contact',
|
|
|
|
|
'vars' => $this->vars
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function contactSubmit() {
|
|
|
|
|
$record = [
|
|
|
|
|
'name' => $_POST['name'],
|
|
|
|
|
'email' => $_POST['email'],
|
|
|
|
|
'telephone' => $_POST['number'],
|
|
|
|
|
'enquiry' => $_POST['enquiry']
|
|
|
|
|
];
|
|
|
|
|
$this->enquiryTable->save($record);
|
|
|
|
|
$this->vars['response'] = 'Enquiry Sent';
|
|
|
|
|
return ['template' => 'response.html.php',
|
|
|
|
|
'title' => 'Jo\'s Jobs- Enquiry Sent',
|
|
|
|
|
'vars' => $this->vars];
|
|
|
|
|
}
|
2023-01-23 17:50:11 +00:00
|
|
|
|
2023-01-23 16:08:51 +00:00
|
|
|
public function notFound() {
|
2023-01-23 17:50:11 +00:00
|
|
|
$this->vars['response'] = 'The page you have requested has not been found';
|
|
|
|
|
return ['template' => 'response.html.php',
|
2023-01-23 16:08:51 +00:00
|
|
|
'title' => 'Jo\'s Jobs- 404 Not Found',
|
2023-01-23 16:44:56 +00:00
|
|
|
'vars' => $this->vars
|
|
|
|
|
];
|
2023-01-21 23:12:42 +00:00
|
|
|
}
|
2023-01-23 17:50:11 +00:00
|
|
|
|
|
|
|
|
public function apply() {
|
2023-02-04 22:19:29 +00:00
|
|
|
$this->vars['job'] = $this->jobsTable->find(['id'], ["value0" => $_GET['id']])[0];
|
2023-01-23 17:50:11 +00:00
|
|
|
return ['template' => 'apply.html.php',
|
|
|
|
|
'title' => 'Jo\'s Jobs- Apply',
|
|
|
|
|
'vars' => $this->vars];
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function applySubmit() {
|
|
|
|
|
if ($_FILES['cv']['error'] == 0) {
|
|
|
|
|
$parts = explode('.', $_FILES['cv']['name']);
|
|
|
|
|
$extension = end($parts);
|
|
|
|
|
$fileName = uniqid() . '.' . $extension;
|
|
|
|
|
move_uploaded_file($_FILES['cv']['tmp_name'], 'cvs/' . $fileName);
|
|
|
|
|
$record = [
|
|
|
|
|
'name' => $_POST['name'],
|
|
|
|
|
'email' => $_POST['email'],
|
|
|
|
|
'details' => $_POST['details'],
|
|
|
|
|
'jobId' => $_POST['jobId'],
|
|
|
|
|
'cv' => $fileName
|
|
|
|
|
];
|
2023-02-05 12:05:49 +00:00
|
|
|
if (count($this->appsTable->find(['email', 'jobId'], ['value0' => $_POST['email'], 'value1' => $_POST['jobId']])) > 0) {
|
|
|
|
|
$this->vars['response'] = 'You have already applied for this job';
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$this->appsTable->save($record);
|
|
|
|
|
$this->vars['response'] = 'Your application is complete. We will contact you after the closing date.';
|
|
|
|
|
}
|
2023-01-23 17:50:11 +00:00
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$this->vars['response'] = 'There was an error uploading your CV';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ['template' => 'response.html.php',
|
|
|
|
|
'title' => 'Jo\'s Jobs- Apply',
|
|
|
|
|
'vars' => $this->vars];
|
|
|
|
|
|
|
|
|
|
}
|
2023-01-23 19:07:28 +00:00
|
|
|
|
|
|
|
|
public function faq() {
|
|
|
|
|
return ['template' => 'construction.html.php',
|
|
|
|
|
'title' => 'Jo\'s Jobs- FAQ',
|
|
|
|
|
'vars' => $this->vars];
|
|
|
|
|
}
|
2023-01-21 23:12:42 +00:00
|
|
|
}
|
|
|
|
|
?>
|