GRAYBYTE WORDPRESS FILE MANAGER3587

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /home/giriqfky/public_html/Barga/application/modules/jobs/controllers/
Upload Files :
Current_dir [ Writeable ] Document_root [ Writeable ]

Command :


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 ////////////
}


[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 27 2024 00:19:25
giriqfky / giriqfky
0755
Jobs.php
19.076 KB
July 27 2024 00:19:25
giriqfky / giriqfky
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF