MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/uds.cafsinfotech.in/application/controllers_bk/Employee_log_report.php
<?php if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Action_controller.php");
class Employee_log_report  extends Action_controller{	
	public function __construct(){
		parent::__construct('employee_log_report');
	//		$this->collect_base_info();
	}
	
	// LOAD PAGE QUICK LINK,FILTERS AND TABLE HEADERS
	public function index(){
		$data['encKey']          = $this->generateKey();
		$this->load->view("$this->control_name/manage",$data);
	}
	//AUTO COMPLETE FUNCTION
	public function emp_suggest(){
		$encString    = file_get_contents('php://input');
		$_POST        = $this->cryptoDecrypt($encString);
		if(!$_POST){
			echo json_encode(array('success' => false,'message' => 'Invalid Request..','table_data' => ""));
			exit(0);
		}
		$search_term  = $this->input->post_get('term');
		$final_qry    = 'select employee_code,emp_name from cw_employees where trans_status = 1 and prime_employees_id !=1  and employee_code like "'.$search_term.'%"  OR emp_name LIKE "'.$search_term.'%"' ;
		$final_data   = $this->db->query("CALL sp_a_run ('SELECT','$final_qry')");
		$final_result = $final_data->result();
		$final_data->next_result();
		foreach($final_result as $rslt){
			$employee_code = $rslt->employee_code;
			$emp_name      = $rslt->emp_name;
			$suggestions[] = array('value' => "$employee_code", 'label' => "$employee_code - $emp_name");
		}
		if(empty($suggestions)){
			$suggestions[] = array('value' => "0", 'label' => "No data found for this search");
		}
		echo json_encode($suggestions);
	}
	public function check_log_details(){
		$encString         = file_get_contents('php://input');
		$_POST             = $this->cryptoDecrypt($encString);
		if(!$_POST){
			echo json_encode(array('success' => false,'message' => 'Invalid Request..','table_data' => ""));
			exit(0);
		}
		//VIEW INFO FUNCTION CALL
		$this->view_info("");
		//GET EMPLOYEE MASTER PICKLIST
		$master_pick       = $this->pick_list;//all pick result

		$process_by        = $this->input->post('process_by');
		$employee_code     = $this->input->post('employee_code');
		$start_date        = str_replace("/","-",$this->input->post('start_date'));
		$end_date          = str_replace("/","-",$this->input->post('end_date'));
		$from_date         = date('Y-m-d',strtotime($start_date));
		$to_date           = date('Y-m-d',strtotime($end_date));
	
		//changed by employee details
		$emp_name_qry    = 'select prime_employees_id,emp_name,employee_code from cw_employees where trans_status = 1 and termination_status=0';
		$emp_name_data   = $this->db->query("CALL sp_a_run ('SELECT','$emp_name_qry')");
		$emp_name_result = $emp_name_data->result_array();
		$emp_name_data->next_result();

		$result = array();
		foreach ($emp_name_result as $arr) {
		    $result[$arr['prime_employees_id']] = $arr['employee_code']." - ".$arr['emp_name'];
		}	
		$emp_name_rslt = $result;
		
		//form setting for view name details
		$form_view_qry    = 'select label_name,view_name,field_type from cw_form_setting where prime_module_id="employees" and trans_status=1';
		$form_view_data   = $this->db->query("CALL sp_a_run ('SELECT','$form_view_qry')");
		$form_view_result = $form_view_data->result_array();
		$form_view_data->next_result();
			$result = array();
			foreach ($form_view_result as $arr) {
			    $result[$arr['label_name']] = $arr;
			}
			$form_view_rslt = $result;
	
		$qry ="";
		if((int)$process_by === 1){
			$qry = ' and employee_code="'.$employee_code.'"';
		}else
		if((int)$process_by === 2){
			$qry = ' and DATE_FORMAT(trans_created_date, "%Y-%m-%d") between "'.$from_date.'" and "'.$to_date.'"';
		}
		$emp_log_qry = 'select emp_name,employee_code,label_name,old_value,new_value,trans_created_by,trans_created_date from cw_employees_log where trans_status=1' .$qry;
		$emp_log_data   = $this->db->query("CALL sp_a_run ('SELECT','$emp_log_qry')");
		$emp_log_result = $emp_log_data->result();

		$emp_log_data->next_result();
		if($emp_log_result){
			$tr_line = "";
			$i =1;
			foreach($emp_log_result as $emp_log_rslt){
				$employee_code = $emp_log_rslt->employee_code;
				$emp_name      = $emp_log_rslt->emp_name;
				$label_name    = $emp_log_rslt->label_name;
				$old_value     = $emp_log_rslt->old_value; 
				$new_value     = $emp_log_rslt->new_value;
				$change_date   = date('d-m-Y h:m:s',strtotime($emp_log_rslt->trans_created_date));
				$change_by     = $emp_log_rslt->trans_created_by;
				$change_name   = $emp_name_rslt[$change_by];
				$view_name     = $form_view_rslt[$label_name]['view_name'];
				$field_type    = (int)$form_view_rslt[$label_name]['field_type'];
				if($field_type === 4){
					if($old_value){
						$old_value   = date('d-m-Y',strtotime($old_value));
					}
					if($new_value){
						$new_value   = date('d-m-Y',strtotime($new_value));
					}
				}else
				if($field_type === 13){
					if($old_value){
						$old_value   = date('d-m-Y H:i:s',strtotime($old_value));
					}
					if($new_value){
						$new_value   = date('d-m-Y H:i:s',strtotime($new_value));
					}
				}else
				if($field_type === 5 ||  $field_type === 9){
					if($old_value){
						$old_value 	= $master_pick[$label_name]['array_list'][$old_value];
						
					}
					if($new_value){
						$new_value  = $master_pick[$label_name]['array_list'][$new_value];
					}
				}else
				if ($field_type === 7) {
				    if ($old_value) {
				        $old_values = explode(",", $old_value ?? "");
				        $old_value = '';
				        foreach ($old_values as $value) {
				            $old_value .= $master_pick[$label_name]['array_list'][$value] . ', ';
				        }
				        $old_value = rtrim($old_value, ', '); 
				    }
				    if ($new_value) {
				        $new_values = explode(",", $new_value ?? "");
				        $new_value = '';
				        foreach ($new_values as $value) {
				            $new_value .= $master_pick[$label_name]['array_list'][$value] . ', ';
				        }
				        $new_value = rtrim($new_value, ', '); // Remove the trailing comma and space
				    }
				}



				$tr_line         .="<tr><td>$i</td><td>$employee_code</td><td>$emp_name</td><td>$view_name</td><td>$old_value</td><td>$new_value</td><td style='white-space:nowrap;'>$change_date</td><td>$change_name</td></tr>";
				$i++;
			}
			$table_content = "<div class='col-md-12' style='margin:10px;padding:10px;' id='rslt_info'>
								<div id='details_list_wrapper' class='dataTables_wrapper no-footer'>
									<div style='background-color: #f2f2f2;'>
										<div class='col-md-12'>
											<table class='table table-hover' id='details_list'>
											<thead>
											<tr>
												<th>Si.No</th>
												<th>Employee Code</th>
												<th>Employee Name</th>
												<th>Field Name</th>
												<th>Old Value</th>
												<th>New Value</th>
												<th>Changed On</th>
												<th>Changed By</th>
											</tr>
										</thead>
										<tbody>
											$tr_line
										</tbody>
									</table>
								</div>
							</div>
							</div>
							</div>";
			echo json_encode(array('success' => TRUE, 'message' => "See employee log list details",'table_content'=>$table_content));
		}else{
			echo json_encode(array('success' => FALSE, 'message' => "No data is available"));
		}
	}
}
?>