668 lines
28 KiB
PHP
668 lines
28 KiB
PHP
<?php
|
|
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
class Jobs extends CI_Controller {
|
|
|
|
var $actionMessage = '';
|
|
var $template = array(
|
|
'table_open' => "<table class='table table-striped table-hover table-bordered table-condensed'>",
|
|
'thead_open' => '<thead>',
|
|
'thead_close' => '</thead>',
|
|
'heading_row_start' => '<tr>',
|
|
'heading_row_end' => '</tr>',
|
|
'heading_cell_start' => '<th>',
|
|
'heading_cell_end' => '</th>',
|
|
'tbody_open' => '<tbody>',
|
|
'tbody_close' => '</tbody>',
|
|
'row_start' => '<tr>',
|
|
'row_end' => '</tr>',
|
|
'cell_start' => '<td>',
|
|
'cell_end' => '</td>',
|
|
'row_alt_start' => '<tr>',
|
|
'row_alt_end' => '</tr>',
|
|
'cell_alt_start' => '<td>',
|
|
'cell_alt_end' => '</td>',
|
|
'table_close' => '</table>'
|
|
);
|
|
|
|
function __construct() {
|
|
parent::__construct();
|
|
if (!isset($_SESSION['username']) or $_SESSION['username'] == '') {
|
|
redirect(home);
|
|
}
|
|
}
|
|
|
|
public function index() {
|
|
|
|
$data['username'] = $_SESSION['username']; // = $this->input->post('username');
|
|
$data['name'] = $_SESSION['name']; // = $this->input->post('username');
|
|
$data['firstname'] = $_SESSION['firstname']; // = $ret->firstname;
|
|
$data['lastname'] = $_SESSION['lastname']; // = $ret->lastname;
|
|
$data['email'] = $_SESSION['email']; // = $ret->email;
|
|
// print_r($_SESSION);
|
|
//Array ( [__ci_last_regenerate] => 1474689025 [username] => ses66181+1@gmail.com [name] => ses66181+1@gmail.com [firstname] => Olusesan [lastname] => Amey [email] => ses66181+1@gmail.com )
|
|
//
|
|
if (!isset($_SESSION['username']) or $_SESSION['username'] == '') {
|
|
redirect(home);
|
|
} else {
|
|
|
|
$this->load->view('users/view_header_user', $data);
|
|
$this->load->view('users/view_active', $data);
|
|
$this->load->view('users/view_footer_user', $data);
|
|
}
|
|
}
|
|
|
|
public function active() {
|
|
|
|
$data['username'] = $_SESSION['username']; // = $this->input->post('username');
|
|
$data['name'] = $_SESSION['name']; // = $this->input->post('username');
|
|
$data['firstname'] = $_SESSION['firstname']; // = $ret->firstname;
|
|
$data['lastname'] = $_SESSION['lastname']; // = $ret->lastname;
|
|
$data['email'] = $_SESSION['email']; // = $ret->email;
|
|
// print_r($_SESSION);
|
|
//Array ( [__ci_last_regenerate] => 1474689025 [username] => ses66181+1@gmail.com [name] => ses66181+1@gmail.com [firstname] => Olusesan [lastname] => Amey [email] => ses66181+1@gmail.com )
|
|
//
|
|
if (!isset($_SESSION['username']) or $_SESSION['username'] == '') {
|
|
redirect(home);
|
|
} else {
|
|
|
|
$this->load->view('users/view_header_user', $data);
|
|
$this->load->view('users/view_active', $data);
|
|
$this->load->view('users/view_footer_user', $data);
|
|
}
|
|
}
|
|
|
|
public function viewjob() {
|
|
$data = $this->getSessionArray();
|
|
$jobOfferID = $this->input->post('jobOfferID');
|
|
$data['jobOfferID'] = $jobOfferID;
|
|
if ($jobOfferID != '') {
|
|
$this->load->model('job_model');
|
|
$out = $this->job_model->loadJobOffer($_SESSION['member_id'], $jobOfferID);
|
|
|
|
// print_r($out);
|
|
if ($out['result'] == 1) {
|
|
|
|
$data["added_date"] = $out["added_date"];
|
|
$data["title"] = $out["title"];
|
|
$data["description"] = $out["description"];
|
|
$data["timeline_days"] = $out["timeline_days"];
|
|
$data["price"] = $out["price"];
|
|
$data["offer_code"] = $out["offer_code"];
|
|
$data["job_description"] = $out["job_description"];
|
|
$date = date_create($out["expire"]);
|
|
$out["expire"] = date_format($date, 'Y-m-d H:i');
|
|
$data["expire"] = $out["expire"];
|
|
|
|
$this->load->view('users/view_header_user', $data);
|
|
$this->load->view('jobs/view_viewjoboffer', $data);
|
|
$this->load->view('users/view_footer_user', $data);
|
|
} else {
|
|
redirect('dash'); // go back to dash if not valid
|
|
}
|
|
} else {
|
|
redirect('dash'); // go back to dash if not valid
|
|
}
|
|
}
|
|
|
|
public function market() {
|
|
|
|
$data = array();
|
|
$data = $this->getSessionArray();
|
|
$data['offer_dash'] = '';
|
|
$this->load->library('table');
|
|
$this->table->set_template($this->template);
|
|
|
|
|
|
/*
|
|
*
|
|
* wrenchboard=> SELECT mj.title,mj.description,mj.timeline_days,mj.price,jo.job_description FROM members_jobs_offer jo LEFT JOIN members_jobs mj ON mj.id=jo.job_id WHERE mj.status=1 AND jo.status=1 LIMIT 5;
|
|
title | description | timeline_days | price | job_description
|
|
-----------------------------------------------+-----------------------------------------------------------------------------+---------------+-------+----------------------------------------------------------------------------------------------------------------------------------------
|
|
595Job Title Job Title Job Title Job Title932 | Job descriptionJob descriptionJob descriptionJob descriptionJob description | 2 | 4000 | Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail
|
|
351Job Title Job Title Job Title Job Title923 | Job descriptionJob descriptionJob descriptionJob descriptionJob description | 3 | 1000 | Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail
|
|
595Job Title Job Title Job Title Job Title932 | Job descriptionJob descriptionJob descriptionJob descriptionJob description | 2 | 4000 | Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail
|
|
Test the ste for erro | Yes I am test | 7 | 10000 | Yes I am test
|
|
595Job Title Job Title Job Title Job Title932 | Job descriptionJob descriptionJob descriptionJob descriptionJob description | 2 | 4000 | Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail Job job_detail
|
|
(5 rows)
|
|
*
|
|
*/
|
|
|
|
$data["dash_title"] = "Available Jobs & Tasks";
|
|
|
|
$mysql = 'SELECT jo.offer_code,mj.title,mj.description,mj.timeline_days,mj.price,jo.job_description FROM members_jobs_offer jo '
|
|
. ' LEFT JOIN members_jobs mj ON mj.id=jo.job_id '
|
|
. ' WHERE mj.status=1 AND jo.status=1 '
|
|
. ' AND expire> now() AND public_view > 0';
|
|
$query = $this->db->query($mysql);
|
|
|
|
$num = $query->num_rows();
|
|
|
|
if ($num > 0) {
|
|
$myTable = "<table class='table table-striped table-hover table-bordered table-condensed'>";
|
|
|
|
foreach ($query->result_array() as $row) {
|
|
$myTable .= $this->makeMarketTableRow($row);
|
|
}
|
|
|
|
$myTable .="</table>";
|
|
// $this->table->set_heading('Added/Expire', 'Title/Recipient', 'Status', '');
|
|
$data['market_table'] = $myTable; // $this->table->generate($query);
|
|
// $offer_found = true;
|
|
}
|
|
|
|
$_SESSION['secure_data'] = $data; // all data needed for secure page
|
|
$this->load->view('users/view_header_user', $data);
|
|
$this->load->view('jobs/view_market', $data);
|
|
$this->load->view('users/view_footer_user', $data);
|
|
}
|
|
|
|
private function makeMarketTableRow($row) {
|
|
return "<tr><td style='width:100px;'><b>" . $row['offer_code'] . "</b></td><td>" . $row['title'] . "</td><td style='width:100px;'><input type=submit id='submit_" . $row['offer_code'] . "' name=\"mview\" onclick=\"return EDetail('" . $row['offer_code'] . "');\" class=\"btn btn-info btn-sm\" value=\"View\"></td></tr>"
|
|
. "<tr><td colspan = '3'><div id='" . $row['offer_code'] . "'></div></td></tr>";
|
|
}
|
|
|
|
public function showinterest()
|
|
{
|
|
$data = $this->getSessionArray();
|
|
$data['offer_code'] = $this->input->get('job_contract');
|
|
$data['member_id'] = $_SESSION['member_id']; // just maing sure
|
|
|
|
echo 'yes I hot here';
|
|
}
|
|
|
|
|
|
public function marketdetail() {
|
|
|
|
|
|
$offer_code = $this->input->get('job_contract');
|
|
|
|
$mysql = "SELECT jo.offer_code,mj.title,mj.description,mj.timeline_days,mj.price,jo.job_description FROM members_jobs_offer jo "
|
|
. "LEFT JOIN members_jobs mj ON mj.id=jo.job_id "
|
|
. " WHERE mj.status=1 AND jo.status=1 AND jo.offer_code ='".$offer_code."' ";
|
|
|
|
$query = $this->db->query($mysql);
|
|
$num = $query->num_rows();
|
|
|
|
if ($num > 0) {
|
|
$row = $query->row_array();
|
|
$myTable = "<table class='table table-sm table-hover table-bordered table-condensed' style=' background-color: #f1fdd5;'>";
|
|
$myTable .= $this->makeMarketDetailTableRow($row);
|
|
$myTable .="</table>";
|
|
}
|
|
|
|
echo $myTable ;
|
|
}
|
|
|
|
private function makeMarketDetailTableRow($row) {
|
|
return "<tr><td style='width:100px;'><b>Task Code</b></td><td><b>" . $row['offer_code'] . "</b></td></tr>"
|
|
. "<tr><td><b>Title</b></td><td>" . $row['title'] . "</td></tr>"
|
|
. "<tr><td><b>Description</b></td><td>" . $row['description'] . "</td></tr>"
|
|
. "<tr><td><b>Detail</b></td><td>" . $row['job_description'] . "</td></tr>"
|
|
. "<tr><td><b>Duration</b></td><td>" . $row['timeline_days'] . " day(s)</td></tr>"
|
|
. "<tr><td><b>Price</b></td><td>" . $row['price'] * 0.01 . " Naira</td></tr>"
|
|
. "<tr><td><b></b></td><td><input type=submit id='submit_interest_" . $row['offer_code'] . "' name=\"mview\" onclick=\"return SInterest('" . $row['offer_code'] . "');\" class=\"btn btn-success btn-sm\" value=\"Send Interest Request
|
|
\"></td></tr>"
|
|
. " ";
|
|
|
|
}
|
|
|
|
public function viewmyjob()
|
|
{
|
|
|
|
$data = $this->getSessionArray();
|
|
$jobOfferID = $this->input->post('jobOfferID');
|
|
$data['jobOfferID'] = $jobOfferID;
|
|
if ($jobOfferID != '') {
|
|
$this->load->model('job_model');
|
|
$out = $this->job_model->readMyloadJobOffer($_SESSION['member_id'], $jobOfferID);
|
|
|
|
// print_r($out);
|
|
if ($out['result'] == 1) {
|
|
|
|
$data["job_sent_to"] = $out["job_sent_to"];
|
|
|
|
$data["added_date"] = $out["added_date"];
|
|
$data["title"] = $out["title"];
|
|
$data["description"] = $out["job_description"];
|
|
$data["timeline_days"] = $out["timeline_days"];
|
|
$data["price"] = $out["price"];
|
|
$data["offer_code"] = $out["offer_code"];
|
|
$data["job_description"] = $out["job_description"];
|
|
$date = date_create($out["expire"]);
|
|
$out["expire"] = date_format($date, 'Y-m-d H:i');
|
|
$data["expire"] = $out["expire"];
|
|
|
|
$this->load->view('users/view_header_user', $data);
|
|
$this->load->view('jobs/view_viewmyjoboffer', $data);
|
|
$this->load->view('users/view_footer_user', $data);
|
|
} else {
|
|
redirect('dash'); // go back to dash if not valid
|
|
}
|
|
} else {
|
|
redirect('dash'); // go back to dash if not valid
|
|
}
|
|
}
|
|
|
|
public function pendingoffer() {
|
|
$data = array();
|
|
$data = $this->getSessionArray();
|
|
$data['offer_dash'] = '';
|
|
$this->load->library('table');
|
|
$this->table->set_template($this->template);
|
|
|
|
$data["offer_dash"] = "<div class=\"thumb\"><img src='assets/images/notask.png' alt=\"Active Projects\"></div>";
|
|
|
|
$data["dash_title"] = "<a href='/jobs/pendingoffer'>My Pending Offer(s)</a>";
|
|
$jbx = "''/jobs/viewmyjob''";
|
|
$mysql = "SELECT jo.added::date||'<br>'||jo.expire::date,j.title||'<br><b>To :</b>'||jo.email AS tRec,"
|
|
. 'CASE WHEN jo.status = 1 THEN \'Pending\' ELSE \'Other\' END AS status,'
|
|
. "'<input type=submit onclick=\"return post_nav_find_action($jbx,'''||jo.offer_code||''')\" name=\"manage\" class=\"btn btn-primary btn-sm\" value=\"View\">' AS View "
|
|
. "FROM members_jobs_offer jo LEFT JOIN members_jobs j ON j.id = jo.job_id "
|
|
. "WHERE jo.expire > now() AND jo.status = 1 "
|
|
. "AND jo.member_id = " . $_SESSION['member_id'] . "LIMIT 400";
|
|
|
|
$query = $this->db->query($mysql);
|
|
|
|
$num = $query->num_rows();
|
|
|
|
if ($num > 0) {
|
|
$this->table->set_heading('Added/Expire', 'Title/Recipient', 'Status', '');
|
|
$data['offer_dash'] = $this->table->generate($query);
|
|
$offer_found = true;
|
|
}
|
|
|
|
$_SESSION['secure_data'] = $data; // all data needed for secure page
|
|
|
|
$this->load->view('users/view_header_user', $data);
|
|
$this->load->view('jobs/view_pendingoffer', $data);
|
|
$this->load->view('users/view_footer_user', $data);
|
|
}
|
|
|
|
public function jobgrp() {
|
|
|
|
if (!isset($_SESSION['username']) or $_SESSION['username'] == '') {
|
|
redirect(home);
|
|
return;
|
|
}
|
|
|
|
$data = $this->getSessionArray();
|
|
|
|
$data["job_message"] = "";
|
|
$data["group_id"] = 0;
|
|
|
|
if ($_POST && isset($_POST['del'])) {
|
|
$group_id = $this->input->post('del');
|
|
$data['job_message'] = $this->deleteMemberGroup($group_id);
|
|
} else if ($_POST && isset($_POST['delmember'])) {
|
|
$data["group_id"] = $this->input->post('group_id') + 0;
|
|
$member_id = $this->input->post('delmember') + 0;
|
|
$data['job_message'] = $this->deleteMemberGroupMember($data["group_id"], $member_id);
|
|
} else if ($_POST && isset($_POST['group_id'])) {
|
|
$data["group_id"] = $this->input->post('group_id') + 0;
|
|
$data['job_message'] = $this->addMemberGroupMember($data["group_id"]);
|
|
} else if ($_POST) {
|
|
$group_name = trim($this->input->post('group_name'));
|
|
|
|
// echo 'ameye....'.$group_name ;
|
|
$x = array();
|
|
$x['member_id'] = $_SESSION['member_id'];
|
|
$x['group_name'] = $group_name;
|
|
$x['action'] = WRENCHBOARD_JOB_CREATE_GROUP;
|
|
$this->load->model('backend_model');
|
|
$out = array();
|
|
$res = $this->backend_model->wrenchboard_api($x, $out);
|
|
if ($res == PHP_CREATED_OK) {
|
|
// print_r($out);
|
|
} else {
|
|
$data['job_message'] = 'Unable to create job group...';
|
|
}
|
|
}
|
|
|
|
list($data['group_table'], $groups) = $this->getMembersJobGroup($data["group_id"]);
|
|
if (count($groups) > 0) {
|
|
if ($data["group_id"] > 0) {
|
|
$data["group_name"] = $groups[$data["group_id"]];
|
|
} else {
|
|
$data["group_name"] = reset($groups);
|
|
$data["group_id"] = key($groups);
|
|
}
|
|
$data['group_member_table'] = $this->addGroupMemberForm($data["group_id"]) . $this->getJobGroupMembers($data["group_id"]);
|
|
} else {
|
|
$data["group_id"] = 0;
|
|
$data["group_name"] = "";
|
|
$data["group_member_table"] = "Please add a group";
|
|
}
|
|
$this->load->view('users/view_header_user', $data);
|
|
$this->load->view('jobs/view_jobgroup', $data);
|
|
$this->load->view('users/view_footer_user', $data);
|
|
}
|
|
|
|
public function jobgrp_members() {
|
|
if (!isset($_SESSION['username']) or $_SESSION['username'] == '') {
|
|
echo "Denied";
|
|
return;
|
|
}
|
|
$group_id = $this->input->get('group_id');
|
|
echo $this->addGroupMemberForm($group_id) . $this->getJobGroupMembers($group_id);
|
|
}
|
|
|
|
private function deleteMemberGroup($group_id) {
|
|
$this->load->model('job_model');
|
|
return $this->job_model->deleteMemberGroup($group_id);
|
|
}
|
|
|
|
private function deleteMemberGroupMember($group_id, $group_member_id) {
|
|
$this->load->model('job_model');
|
|
return $this->job_model->deleteMemberGroupMember($group_id, $group_member_id);
|
|
}
|
|
|
|
private function addMemberGroupMember($group_id) {
|
|
$firstname = $this->input->post('firstname');
|
|
$lastname = $this->input->post('lastname');
|
|
$email = $this->input->post('email');
|
|
if ($firstname == '')
|
|
return 'Invalid first name';
|
|
if ($lastname == '')
|
|
return 'Invalid last name';
|
|
if ($email == '' || !filter_var($email, FILTER_VALIDATE_EMAIL))
|
|
return 'Invalid_e-mail';
|
|
$this->load->model('job_model');
|
|
return $this->job_model->addMemberGroupMember($group_id, $firstname, $lastname, $email);
|
|
}
|
|
|
|
private function getJobGroupMembers($group_id) {
|
|
$this->load->model('job_model');
|
|
return $this->job_model->getJobGroupMembers($group_id);
|
|
}
|
|
|
|
private function getMembersJobGroup($sel) {
|
|
$this->load->model('job_model');
|
|
return $this->job_model->getMembersJobGroup($sel);
|
|
}
|
|
|
|
private function addGroupMemberForm($group_id) {
|
|
$this->load->model('job_model');
|
|
return $this->job_model->addGroupMemberForm($group_id);
|
|
}
|
|
|
|
public function create() {
|
|
|
|
$data = $this->getSessionArray();
|
|
$mybalance = 0;
|
|
$data['job_message'] = '';
|
|
// print_r($_SESSION);
|
|
|
|
$title = NULL;
|
|
$description = NULL;
|
|
$job_detail = NULL;
|
|
$timeline = NULL;
|
|
// $timeline_days = NULL;
|
|
$price = NULL;
|
|
$submit = NULL;
|
|
|
|
extract($_POST);
|
|
$redirected = false;
|
|
if ($_POST) {
|
|
$in = array();
|
|
$in['title'] = $title;
|
|
$in['description'] = $description;
|
|
$in['timeline_days'] = $timeline;
|
|
$in['job_detail'] = $job_detail;
|
|
$in['price'] = $price * 100;
|
|
$in['member_id'] = $_SESSION['member_id'];
|
|
|
|
$this->load->model('job_model');
|
|
if ($this->job_model->verifyJobInputs($in) == true) {
|
|
$in['action'] = WRENCHBOARD_JOB_CREATEJOB;
|
|
$this->load->model('backend_model');
|
|
$out = array();
|
|
$res = $this->backend_model->wrenchboard_api($in, $out);
|
|
if ($res == PHP_CREATED_OK) {
|
|
// print_r($out);
|
|
if ($out['job_id'] > 0) {
|
|
|
|
$this->processingJob($out['job_id']);
|
|
$redirected = true;
|
|
}
|
|
} else {
|
|
$data['job_message'] = 'Unable to create job...';
|
|
}
|
|
} else {
|
|
$data['job_message'] = 'Enter all required fields';
|
|
}
|
|
}
|
|
|
|
if ($redirected == false) {
|
|
$this->load->model('dash_model');
|
|
$out = $this->dash_model->getDashData($data);
|
|
$data['active_task'] = $out['active_task'];
|
|
$data['active_pass_due'] = $out['active_pass_due'];
|
|
$data['current_balance'] = $out['current_balance'];
|
|
$data['new_message'] = $out['new_message'];
|
|
|
|
$this->load->view('users/view_header_user', $data);
|
|
$this->load->view('jobs/view_create', $data);
|
|
$this->load->view('users/view_footer_user', $data);
|
|
}
|
|
}
|
|
|
|
public function processjob() {
|
|
$jobID = $this->input->post('jobID');
|
|
if ($jobID > 0) {
|
|
$this->processingJob($jobID);
|
|
// $data = $this->getSessionArray();
|
|
} else {
|
|
redirect('/jobs/manage');
|
|
}
|
|
}
|
|
|
|
private function processingJob($jobID) {
|
|
// $jobID = $this->input->post('jobID');
|
|
|
|
|
|
if ($jobID > 0) {
|
|
$data = $this->getSessionArray();
|
|
|
|
$this->load->model('combo_model');
|
|
$data['my_job_group'] = $this->combo_model->getUserJobGroupCombo('job_group', $_SESSION['member_id'], '');
|
|
|
|
$this->load->library('table');
|
|
$this->table->set_template($this->template);
|
|
|
|
$mysql = "SELECT title,description,timeline_days||' day(s)', price*0.01||'Naira' AS price, created::date"
|
|
. " FROM members_jobs WHERE id =" . $jobID . " AND member_id = " . $_SESSION['member_id'];
|
|
$query = $this->db->query($mysql);
|
|
$this->table->set_heading('Title', 'Description', 'Timeline', 'Price', 'Created');
|
|
$data['job_table'] = $this->table->generate($query);
|
|
|
|
$this->load->model('job_model'); // too bad I have to run again
|
|
$jobData = $this->job_model->getJob($jobID);
|
|
$data['job_description'] = $jobData->job_detail;
|
|
$data['jobID'] = $jobID;
|
|
|
|
$this->load->view('users/view_header_user', $data);
|
|
$this->load->view('jobs/view_joboffer', $data);
|
|
$this->load->view('users/view_footer_user', $data);
|
|
} else {
|
|
redirect('/jobs/manage');
|
|
}
|
|
|
|
// echo "process job " . $jobID;
|
|
}
|
|
|
|
public function viewjob_accept() {
|
|
// echo 'home....0';
|
|
$this->concludeOffer(OFFER_ACCEPT);
|
|
}
|
|
|
|
public function viewjob_reject() {
|
|
//echo 'home....1';
|
|
$this->concludeOffer(OFFER_REJECT);
|
|
}
|
|
|
|
public function viewjob_cancel() {
|
|
//echo 'home....1';
|
|
$this->concludeOffer(OFFER_CANCEL);
|
|
}
|
|
|
|
private function concludeOffer($offer_result) {
|
|
//WRENCHBOARD_JOB_OFFER_CONCLUDE
|
|
$jobOfferID = $this->input->get('jobOfferID');
|
|
$in = array();
|
|
$in['offer_code'] = $jobOfferID;
|
|
$in['member_id'] = $_SESSION['member_id'];
|
|
$in['offer_result'] = $offer_result;
|
|
$in['action'] = WRENCHBOARD_JOB_OFFER_CONCLUDE;
|
|
$this->load->model('backend_model');
|
|
$out = array();
|
|
$res = $this->backend_model->wrenchboard_api($in, $out);
|
|
if ($out["result"] == "OK") {
|
|
switch ($offer_result) {
|
|
|
|
case OFFER_ACCEPT:
|
|
echo "You have accepted this offer and we have notified the client. Please go to <a href='/proj/active'>manage page</a> to continue ";
|
|
break;
|
|
|
|
case OFFER_REJECT:
|
|
echo "You have rejected this offer and we have notified the client.";
|
|
break;
|
|
case OFFER_CANCEL:
|
|
echo "You have cancelled this offer and we have notified the recipient.";
|
|
break;
|
|
}
|
|
}
|
|
// print_r($out);
|
|
}
|
|
|
|
public function processjob_individ() {
|
|
$jobID = $this->input->get('jobID');
|
|
$email = $this->input->get('rec_email');
|
|
$descr = $this->input->get('jobdescription');
|
|
if ($jobID == '' || $jobID < 1) {
|
|
echo "Invalid job ID";
|
|
return;
|
|
}
|
|
if ($email == '' || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
|
echo "Invalid recipient e-mail";
|
|
return;
|
|
}
|
|
if ($descr == '') {
|
|
echo "Missing job description";
|
|
return;
|
|
}
|
|
$this->sendIndividualJobOffer($jobID, $email, $descr);
|
|
}
|
|
|
|
public function processjob_group() {
|
|
$jobID = $this->input->get('jobID');
|
|
$group = $this->input->get('job_group');
|
|
$descr = $this->input->get('jobdescription');
|
|
if ($jobID == '' || $jobID < 1) {
|
|
echo "Invalid job ID";
|
|
return;
|
|
}
|
|
if ($group == '' || $group < 1) {
|
|
echo "Invalid group";
|
|
return;
|
|
}
|
|
if ($descr == '') {
|
|
echo "Missing job description";
|
|
return;
|
|
}
|
|
$this->sendGroupJobOffer($jobID, $group, $descr);
|
|
}
|
|
|
|
private function sendIndividualJobOffer($jobID, $email, $descr) {
|
|
// this function will handle sending offer to invidual
|
|
$in["job_id"] = $jobID;
|
|
$in["email"] = $email;
|
|
$in["job_description"] = $descr;
|
|
$in['member_id'] = $_SESSION['member_id'];
|
|
// var_dump($in);
|
|
|
|
$in['action'] = WRENCHBOARD_JOB_OFFER_INDVI;
|
|
$this->load->model('backend_model');
|
|
$out = array();
|
|
$res = $this->backend_model->wrenchboard_api($in, $out);
|
|
if ($res == PHP_CREATED_OK) {
|
|
|
|
echo "Offer sent";
|
|
} else {
|
|
echo "Unable to send offer";
|
|
}
|
|
// echo 'Individual Result';
|
|
}
|
|
|
|
private function sendGroupJobOffer($jobID, $group, $descr) {
|
|
// this function will handle the call to backend
|
|
// to manage the sending of offer to group of people
|
|
$in["job_id"] = $jobID;
|
|
$in["group_id"] = $group;
|
|
$in["job_description"] = $descr;
|
|
$in['member_id'] = $_SESSION['member_id'];
|
|
//var_dump($in);
|
|
|
|
$in['action'] = WRENCHBOARD_JOB_OFFER_GROUP;
|
|
$this->load->model('backend_model');
|
|
$out = array();
|
|
$res = $this->backend_model->wrenchboard_api($in, $out);
|
|
if ($res == PHP_CREATED_OK) {
|
|
|
|
echo "Offer sent to group";
|
|
} else {
|
|
echo "Unable to send offer";
|
|
}
|
|
//echo 'Group Result';
|
|
}
|
|
|
|
public function manage() {
|
|
|
|
$data = $this->getSessionArray();
|
|
$this->load->library('table');
|
|
|
|
$this->table->set_template($this->template);
|
|
$jbx = "''processjob''";
|
|
$mysql = "SELECT title,description,timeline_days||' day(s)', price*0.01||'Naira' AS price,"
|
|
. " created::date,'<input type=submit onclick=\"return post_nav_find_action($jbx, '||id||')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Offer Job\">' AS manage,"
|
|
. "'<input type=submit onclick=\"return post_nav_del_action($jbx, '||id||')\" name=\"manage\" class=\"btn btn-warning btn-sm\" value=\"Del\">' As Del "
|
|
. " FROM members_jobs WHERE member_id = " . $_SESSION['member_id'] . " ORDER BY id DESC";
|
|
$query = $this->db->query($mysql);
|
|
$this->table->set_heading('Title', 'Description', 'Timeline', 'Price', 'Created', 'Manage', 'Del.');
|
|
$data['job_table'] = $this->table->generate($query);
|
|
$this->load->view('users/view_header_user', $data);
|
|
$this->load->view('jobs/view_manage', $data);
|
|
$this->load->view('users/view_footer_user', $data);
|
|
}
|
|
|
|
private function getSessionArray() {
|
|
$data['username'] = $_SESSION['username']; // = $this->input->post('username');
|
|
$data['name'] = $_SESSION['name']; // = $this->input->post('username');
|
|
$data['firstname'] = $_SESSION['firstname']; // = $ret->firstname;
|
|
$data['lastname'] = $_SESSION['lastname']; // = $ret->lastname;
|
|
$data['email'] = $_SESSION['email']; // = $ret->email;
|
|
$data['member_id'] = $_SESSION['member_id'];
|
|
|
|
$this->load->model('dash_model');
|
|
$out = $this->dash_model->getDashData($data);
|
|
$data['active_task'] = $out['active_task'];
|
|
$data['active_pass_due'] = $out['active_pass_due'];
|
|
$data['current_balance'] = $out['current_balance'];
|
|
$data['new_message'] = $out['new_message'];
|
|
|
|
$data = $_SESSION['secure_data'];
|
|
$data['member_id'] = $_SESSION['member_id']; // = $ret->email;
|
|
|
|
$this->refreshAccountDetail($_SESSION['member_id']);
|
|
return $data;
|
|
}
|
|
|
|
private function refreshAccountDetail($member_id) {
|
|
$this->load->model('account_model');
|
|
$qr = $this->account_model->loadAccountData($member_id);
|
|
$_SESSION['current_balance'] = $qr[0]['balance'];
|
|
}
|
|
|
|
}
|