-
Notifications
You must be signed in to change notification settings - Fork 0
/
job.php
113 lines (100 loc) · 3.18 KB
/
job.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php
session_start();
require_once "private/lib/utilities.php";
require_once "private/lib/classes/pages/job_page.php";
// 1. Check whether session has been initialized
if (!isset($_SESSION['yel'])) {
initialize_session();
}
$criteria = array();
$from_search = false;
if (isset($_SESSION['yel']['job_search']['criteria'])) {
$criteria = $_SESSION['yel']['job_search']['criteria'];
$from_search = true;
}
$job_id = 0;
if (isset($_GET['id'])) {
$job_id = $_GET['id'];
} else {
$url_elements = explode('/', $_SERVER['REQUEST_URI']);
if (!empty($url_elements[count($url_elements)-1])) {
$job_id = $url_elements[count($url_elements)-1];
} else {
$job_id = $url_elements[count($url_elements)-2];
}
$pos = stripos($job_id, '?');
if ($pos !== false) {
$job_id = substr($job_id, 0, $pos);
}
}
// 2. Generate page
$search = '';
if (isset($_SESSION['yel']['member']) &&
!empty($_SESSION['yel']['member']['id']) &&
!empty($_SESSION['yel']['member']['sid']) &&
!empty($_SESSION['yel']['member']['hash'])) {
$job_page = new JobPage($_SESSION['yel']['member'], $job_id, $criteria);
} else {
$job_page = new JobPage(NULL, $job_id, $criteria);
}
if (isset($_SESSION['yel']['employee']) &&
!empty($_SESSION['yel']['employee']['uid']) ||
!empty($_SESSION['yel']['employee']['id']) ||
!empty($_SESSION['yel']['employee']['sid']) ||
!empty($_SESSION['yel']['employee']['hash'])) {
$job_page->is_employee_viewing();
}
$criteria = array(
'columns' => 'jobs.title, jobs.alternate_employer, employers.name',
'joins' => 'employers ON employers.id = jobs.employer',
'match' => 'jobs.id = '. $job_id,
'limit' => '1'
);
$job = new Job();
$result = $job->find($criteria);
$job_title = (!is_null($result[0]['title'])) ? $result[0]['title'] : 'Unknown Job';
$employer = (!is_null($result[0]['name'])) ? $result[0]['name'] : 'Unknown Employer';
if (!is_null($result[0]['alternate_employer'])) {
$employer = $result[0]['alternate_employer'];
}
$show_popup = '';
$buffer_id = '';
$action_response = -1;
$url_elements = explode('/', $_SERVER['REQUEST_URI']);
$popup_params = explode('?', $url_elements[count($url_elements)-1]);
if (count($popup_params) > 1) {
$params = explode('&', $popup_params[1]);
// 1. error and popup?
switch ($params[0]) {
case 'refer=1':
$show_popup = 'refer';
break;
case 'apply=1':
$show_popup = 'apply';
break;
case 'success=1':
$job_page->set_request_status(0);
break;
case 'error=1':
case 'error=2':
case 'error=3':
$response = explode('=', $params[0]);
$job_page->set_request_status($response[1]);
break;
}
// 2. buffer ID
if (count($params) > 1) {
$buffer_kv = explode('=', $params[1]);
$buffer_id = $buffer_kv[1];
}
}
$job_page->header(array(
'override_title' => true,
'title' => $employer. ' - '. $job_title
));
$job_page->insert_job_css();
$job_page->insert_job_scripts();
$job_page->insert_inline_scripts($show_popup, $buffer_id);
$job_page->show($from_search);
$job_page->footer();
?>