Current File : /home/giriqfky/public_html/Barga/application/modules/jobs/controllers//Jobs.php
<?php
class Jobs extends Basecontroller
{
public function __construct()
{
parent::__construct();
$this->load->model('Jobs_model', 'Jobs');
//$this->load->model('Masters_model', 'Masters');
$this->load->model('services/Services_model', 'Services');
$this->controller_name = "jobs";
$this->folder = "jobs";
$this->per_page = PER_PAGE;
if(!$this->session->userdata('is_login')) { redirect('sessions','refresh'); } //Checked is logined in or not
}
public function index()
{
redirect($this->controller_name.'/jobList');
}
/*** Code for Job start ***/
public function jobList($app_user_id = 0, $service_user_id = 0, $dashboard_p = 0)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 58, "module_view") == 0){ redirect('errors/noPermission');} // Check user access permission
$data = array();
$conditions = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
$total_record = count($this->Jobs->getJobList($conditions, $app_user_id, $service_user_id, $dashboard_p));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxJobList';
$config['total_rows'] = $total_record;
$data['app_user_id'] = $app_user_id;
$data['service_user_id'] = $service_user_id;
$data['dashboard_p'] = $dashboard_p;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
//get the Qualification data
$data['limit'] = $this->per_page;
$data['job'] = $this->Jobs->getJobList(array('limit'=>$this->per_page), $app_user_id, $service_user_id, $dashboard_p);
$data['modal_job_application'] = $this->load->view('job_view/modal_job_application', array(), true);
$data['modal_job_activity_log'] = $this->load->view('job_view/modal_job_activity_log', array(), true);
$data['app_user_id'] = $app_user_id;
$data['title'] = "Enquiry";
$data['total_record'] = $total_record;
$data['sl_no'] = $page;
//load the view
$data['jobs_html'] = $this->load->view('job_list/ajax_job_lists', $data, true);
$this->template->admin('job_list/job_lists', $data);
}
public function ajaxJobList($app_user_id = 0, $service_user_id = 0, $dashboard_p = 0)
{
$conditions = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
//set conditions for search
$dashboard_p = $this->input->post('dashboard_p');
$app_user_id = $this->input->post('app_user_id');
$service_user_id = $this->input->post('service_user_id');
$customer = $this->input->post('customer');
$service_provider = $this->input->post('service_provider');
$service_id = $this->input->post('service_id');
$job_post_date_from = $this->input->post('job_post_date_from');
$job_post_date_to = $this->input->post('job_post_date_to');
$job_expiring_date_from = $this->input->post('job_expiring_date_from');
$job_expiring_date_to = $this->input->post('job_expiring_date_to');
$area_locality = $this->input->post('area_locality');
$job_post_code = $this->input->post('job_post_code');
$job_status = $this->input->post('job_status');
if(!empty($customer)){
$conditions['search']['customer'] = $customer;
}
if(!empty($service_provider)){
$conditions['search']['service_provider'] = $service_provider;
}
if(!empty($service_id)){
$conditions['search']['service_id'] = $service_id;
}
if(!empty($job_post_date_from)){
$conditions['search']['job_post_date_from'] = $job_post_date_from;
}
if(!empty($job_post_date_to)){
$conditions['search']['job_post_date_to'] = $job_post_date_to;
}
if(!empty($job_expiring_date_from)){
$conditions['search']['job_expiring_date_from'] = $job_expiring_date_from;
}
if(!empty($job_expiring_date_to)){
$conditions['search']['job_expiring_date_to'] = $job_expiring_date_to;
}
if(!empty($area_locality)){
$conditions['search']['area_locality'] = $area_locality;
}
if(!empty($job_post_code)){
$conditions['search']['job_post_code'] = $job_post_code;
}
if(!empty($job_status)){
$conditions['search']['job_status'] = $job_status;
}
//total rows count
$total_record = count($this->Jobs->getJobList($conditions, $app_user_id, $service_user_id, $dashboard_p));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxJobList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
//set start and limit
$conditions['start'] = $offset;
$conditions['limit'] = $this->per_page;
//get posts data
$data['job'] = $this->Jobs->getJobList($conditions, $app_user_id, $service_user_id, $dashboard_p);
$data['title'] = "Enquiry";
$data['total_record'] = $total_record;
$data['sl_no'] = $page;
//load the view
$jobs_html = $this->load->view('job_list/ajax_job_lists', $data, true);
echo $jobs_html;exit;
}
/*** Code for Job Enquery List start ***/
public function jobEnquiryList($dashboard_p =0)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 24, "module_view") == 0){ redirect('errors/noPermission');} // Check user access permission
$data = array();
$params = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
$total_record = count($this->Jobs->getJobEnqueryList($params, $dashboard_p));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxJobEnqueryList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
$data['sl_no'] = $page;
$data['dashboard_p'] = $dashboard_p;
$data['title'] = "Enquiries";
$data['job_enqueries'] = $this->Jobs->getJobEnqueryList(array('limit'=>$this->per_page),$dashboard_p);
$data['total_record'] = $total_record;
//load the view
$data['job_enquery_lists_html'] = $this->load->view('job_enquery/ajax_job_enquery_lists', $data, true);
$this->template->admin('job_enquery/job_enquery_lists', $data);
}
public function ajaxJobEnqueryList()
{
$conditions = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
//set conditions for search
$dashboard_p = $this->input->post('dashboard_p');
$service_id = $this->input->post('service_id');
$customer = $this->input->post('customer');
$quote_title = $this->input->post('quote_title');
if(!empty($service_id)){
$conditions['search']['service_id'] = $service_id;
}
if(!empty($customer)){
$conditions['search']['customer'] = $customer;
}
if(!empty($quote_title)){
$conditions['search']['quote_title'] = $quote_title;
}
//total rows count
$total_record = count($this->Jobs->getJobEnqueryList($conditions, $dashboard_p));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxJobEnqueryList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
//set start and limit
$conditions['start'] = $offset;
$conditions['limit'] = $this->per_page;
//get posts data
$data['job_enqueries'] = $this->Jobs->getJobEnqueryList($conditions, $dashboard_p);
$data['dashboard_p'] = $dashboard_p;
$data['total_record'] = $total_record;
$data['sl_no'] = $page;
$job_enquery_lists_html = $this->load->view('job_enquery/ajax_job_enquery_lists', $data, true);
echo $job_enquery_lists_html;exit;
}
public function jobEnquiryForm($service_quote_id)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 24, "module_edit") == 0){ redirect('errors/noPermission');}
if($service_quote_id > 0) {
$data['title'] = "Enquiry Form";
$data['job_enquiry_data'] = $this->db->get_where(TABLE_SERVICE_QUOTES, array('service_quote_id' => $service_quote_id))->row();
$this->template->admin('job_enquery/job_enquery_form', $data);
} else {
$this->session->set_flashdata('msg_warning', getMessage("invalid_request", 3));
redirect($this->controller_name.'/jobEnquiryList/0');
}
}
public function deleteCustomerEnquiry($service_quote_id)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 24, "module_delete") == 0){ redirect('errors/noPermission');}
if($service_quote_id > 0) {
$this->db->where('service_quote_id', $service_quote_id);
$this->db->delete(TABLE_SERVICE_QUOTES);
$this->session->set_flashdata('msg_success', getMessage("record_delete", 3));
redirect($this->controller_name.'/jobEnquiryList/0');
} else {
$this->session->set_flashdata('msg_warning', getMessage("invalid_request", 3));
redirect($this->controller_name.'/jobEnquiryList/0');
}
}
public function changeJobStatus($job_status, $job_post_id)
{
$data_array['job_post_status'] = $job_status;
$this->Jobs->jobStatusSave($data_array, $job_post_id);
if($job_status == 1 || $job_status == 2 || $job_status == 3 || $job_status == 4 || $job_status == 5) { //Active
$this->session->set_flashdata('msg_success', getMessage("job_status_change", 3));
redirect($this->controller_name.'/jobList/0');
}
}
public function deleteJob($id = 0)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 58, "module_delete") == 0){ redirect('errors/noPermission');}
if(!empty($id)){
$where = array('job_post_id' => $id);
$this->Jobs->deleteJob($id);
$this->session->set_flashdata('msg_success', getMessage("record_deleted", 3));
redirect(base_url('jobs/jobList'));
}
}
public function JobMsgList($job_post_id,$cus_id)
{
$data = array();
$conditions = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
$total_record = count($this->Jobs->JobMsgList($job_post_id,$cus_id));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxJobList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
//get the Qualification data
$data['limit'] = $this->per_page;
$data['job'] = $this->Jobs->JobMsgList($data,$job_post_id,$cus_id);
$data['job_post_id'] = $job_post_id;
$data['title'] = "Enquiry";
$data['total_record'] = $total_record;
$data['sl_no'] = $page;
//load the view
$data['jobs_html'] = $this->load->view('job_list/ajax_job_msg_lists', $data, true);
$this->template->admin('job_list/job_msg_lists', $data);
}
public function ajaxJobMsgList($job_post_id)
{
$conditions = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
//total rows count
$total_record = count($this->Jobs->JobMsgList($job_post_id));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxJobList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
//set start and limit
$conditions['start'] = $offset;
$conditions['limit'] = $this->per_page;
//get posts data
$data['job'] = $this->Jobs->JobMsgList($job_post_id);
$data['title'] = "Enquiry";
$data['total_record'] = $total_record;
$data['sl_no'] = $page;
//load the view
$jobs_html = $this->load->view('job_list/ajax_msg_job_lists', $data, true);
echo $jobs_html;exit;
}
public function jobMessages($job_post_id, $action_taken_id, $job_owner_id)
{
$data['job_post_id'] = $job_post_id;
$data['msg_data'] = $this->Jobs->getJobMsg($job_post_id, $action_taken_id, $job_owner_id);
$data['title'] = "Messages";
$this->template->admin('job_list/job_messages', $data);
}
/** end job list code **/
/** Job Form Code start **/
public function jobForm($job_post_id)
{
if($job_post_id == "" || !is_numeric($job_post_id) || $job_post_id == 0){ redirect('errors/invalidRequest');}
$data['job_post_id'] = $job_post_id;
$data['job_data'] = $this->Jobs->getJobData($job_post_id);
$data['address'] = getAddressDetails($data['job_data']->app_address_id);
$data['job_activities'] = getJobCompletionActivity($job_post_id);
@$job_transfer = getJobTransferDetails($job_post_id);
$data['job_transfer'] = @$job_transfer;
$data['title'] = "Enquiry".' '.$data['job_data']->job_post_code;
$data['job_address_info'] = $this->load->view('job_list/job_address_info', $data, true);
$data['job_status_bar'] = $this->load->view('job_list/job_status_bar', $data, true);
$this->template->admin('job_list/job_form', $data);
}
/** Job form Code End**/
/** Modal **/
public function showJobPostApplications()
{
$html = '';
$job_post_id = $this->input->post('job_post_id');
$i = 1;
if($job_post_id > 0) {
$job_applications = $this->Jobs->showJobPostApplications($job_post_id);
$data['job_applications'] = $job_applications;
$html = $this->load->view('job_view/ajax_job_applications', $data, true);
} else {
$html = getMessage("record_deleted", 3);
}
echo $html;exit;
}
public function showJobActivitiesLog()
{
$html = '';
$job_post_id = $this->input->post('job_post_id');
if($job_post_id > 0) {
$job_activity_log = $this->Jobs->showJobActivitiesLog($job_post_id);
$data['job_activity_log'] = $job_activity_log;
$html = $this->load->view('job_view/ajax_job_activity_log', $data, true);
} else {
$html = getMessage("invalid_request", 3);
}
echo $html;exit;
}
///////////// CSV ////////////
function jobExportCsv() {
$conditions = array();
$customer = $this->input->post('customer');
$service_provider = $this->input->post('service_provider');
$service_id = $this->input->post('service_id');
$job_post_date_from = $this->input->post('job_post_date_from');
$job_post_date_to = $this->input->post('job_post_date_to');
$job_expiring_date_from = $this->input->post('job_expiring_date_from');
$job_expiring_date_to = $this->input->post('job_expiring_date_to');
$area_locality = $this->input->post('area_locality');
$job_post_code = $this->input->post('job_post_code');
$job_status = $this->input->post('job_status');
if(!empty($customer)){
$conditions['search']['customer'] = $customer;
}
if(!empty($service_provider)){
$conditions['search']['service_provider'] = $service_provider;
}
if(!empty($service_id)){
$conditions['search']['service_id'] = $service_id;
}
if(!empty($job_post_date_from)){
$conditions['search']['job_post_date_from'] = $job_post_date_from;
}
if(!empty($job_post_date_to)){
$conditions['search']['job_post_date_to'] = $job_post_date_to;
}
if(!empty($job_expiring_date_from)){
$conditions['search']['job_expiring_date_from'] = $job_expiring_date_from;
}
if(!empty($job_expiring_date_to)){
$conditions['search']['job_expiring_date_to'] = $job_expiring_date_to;
}
if(!empty($area_locality)){
$conditions['search']['area_locality'] = $area_locality;
}
if(!empty($job_post_code)){
$conditions['search']['job_post_code'] = $job_post_code;
}
if(!empty($job_status)){
$conditions['search']['job_status'] = $job_status;
}
$this->Jobs->jobExportCsv($conditions);
$file_name = "jobs_".date('d/m/y');
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename='.$file_name.'.csv');
$output = fopen('php://output', 'w');
$sl_no = 1;
$csv_main_heading = array(
'Sl No',
'job_post_code',
'service_name',
'job_title',
'job_description',
'job_security_code',
'job_remarks',
'job_expiry_date',
'customer_budget',
'job_post_status',
'is_transferred',
'customer_name',
'customer_mobile',
'service_pro_name',
'service_pro_mobile',
'doc',
'Job Address'
);
fputcsv($output, $csv_main_heading);
$job_csv_data = $this->Jobs->jobExportCsv($conditions);
foreach ($job_csv_data as $csv) {
$data[0] = $sl_no;
$data[1] = $csv->job_post_code;
$data[2] = $csv->service_name;
$data[3] = $csv->job_title;
$data[4] = $csv->job_description;
$data[5] = $csv->job_security_code;
$data[6] = $csv->job_remarks;
$data[7] = $csv->job_expiry_date;
$data[8] = $csv->customer_budget;
$data[9] = appJobStatus($csv->job_post_status);
$data[10] = ($csv->is_transferred == 1)? 'Yes' : 'No';
$data[11] = $csv->customer_name;
$data[12] = $csv->customer_mobile;
$data[13] = $csv->service_pro_name;
$data[14] = $csv->service_pro_mobile;
$data[15] = $csv->doc;
$data[16] = $csv->building_no.','.$csv->street_name.','.$csv->locality.','.$csv->pin_code.','.$csv->city.','.$csv->state;
fputcsv($output,$data);
$sl_no++;
}
fclose($output);
}
//////////// CSV ////////////
}