"", 'thead_open' => '', 'thead_close' => '', 'heading_row_start' => '', 'heading_row_end' => '', 'heading_cell_start' => '', 'tbody_open' => '', 'tbody_close' => '', 'row_start' => '', 'row_end' => '', 'cell_start' => '', 'row_alt_start' => '', 'row_alt_end' => '', 'cell_alt_start' => '', 'table_close' => '
', 'heading_cell_end' => '
', 'cell_end' => '
', 'cell_alt_end' => '
' ); 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 = ""; foreach ($query->result_array() as $row) { $myTable .= $this->makeMarketTableRow($row); } $myTable .="
"; // $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 "" . $row['offer_code'] . "" . $row['title'] . "" . "
"; } 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 = ""; $myTable .= $this->makeMarketDetailTableRow($row); $myTable .="
"; } echo $myTable ; } private function makeMarketDetailTableRow($row) { return "Task Code" . $row['offer_code'] . "" . "Title" . $row['title'] . "" . "Description" . $row['description'] . "" . "Detail" . $row['job_description'] . "" . "Duration" . $row['timeline_days'] . " day(s)" . "Price" . $row['price'] * 0.01 . " Naira" . "" . " "; } 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"] = "
\"Active
"; $data["dash_title"] = "My Pending Offer(s)"; $jbx = "''/jobs/viewmyjob''"; $mysql = "SELECT jo.added::date||'
'||jo.expire::date,j.title||'
To :'||jo.email AS tRec," . 'CASE WHEN jo.status = 1 THEN \'Pending\' ELSE \'Other\' END AS status,' . "'' 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 manage page 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,'' AS manage," . "'' 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']; } }