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/hrms_patroniss_com/application/controllers/Audit_log.php
<?php if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Action_controller.php");
class Audit_log  extends Action_controller{	
	public function __construct(){
		parent::__construct('audit_log');
		$this->collect_base_info();
	}
	
	// LOAD PAGE QUICK LINK,FILTERS AND TABLE HEADERS
	public function index(){
		$form_view_qry    = 'select prime_form_view_id, form_view_heading from cw_form_view_setting where prime_view_module_id = "employees" and form_view_type = 3 and form_view_show = 1 and trans_status = 1 order by form_view_sort';
		$form_view_data   = $this->db->query("CALL sp_a_run ('SELECT','$form_view_qry')");
		$form_view_result = $form_view_data->result();
		$form_view_data->next_result();
		$tab_list = array();
		foreach($form_view_result as $form_view){
			$prime_form_view_id = $form_view->prime_form_view_id;
			$form_head          = $form_view->form_view_heading;
			$tab_list[$prime_form_view_id] = $form_head;
		}
		$data['tab_list'] = $tab_list;
		
		$user_data_qry    = 'select user_name from cw_employees where trans_status = 1 and user_right in (1,2) order by prime_employees_id';
		$user_data   = $this->db->query("CALL sp_a_run ('SELECT','$user_data_qry')");
		$user_result = $user_data->result();
		$user_data->next_result();
		$user_list = array(""=>"---- Select User ----");
		foreach($user_result as $user){
			$user_name      = $user->user_name;
			$user_id        = $user->user_name;
			$user_list[$user_id] = $user_name;
		}		
		$this->fliter_list[] = array('label_id'=> 'user_name', 'label_name'=> "User Name", 'field_isdefault'=> 1, 'array_list'=> $user_list, 'field_type'=> 5);
		$emp_data_qry    = 'select employee_code,emp_name from cw_employees where trans_status = 1 order by prime_employees_id';
		$emp_data   = $this->db->query("CALL sp_a_run ('SELECT','$emp_data_qry')");
		$emp_result = $emp_data->result();
		$emp_data->next_result();
		$emp_list = array();
		foreach($emp_result as $emp_rslt){
			$employee_code  = $emp_rslt->employee_code;
			$emp_name       = $emp_rslt->emp_name;
			$emp_list[$employee_code] = $emp_name;
		}
		$this->fliter_list[] = array('label_id'=> 'emp_name', 'label_name'=> "Employee Name", 'field_isdefault'=> 1, 'array_list'=> $emp_list, 'field_type'=> 5);
		$data['fliter_list'] = $this->fliter_list;
		
		$this->load->view("$this->control_name/manage",$data);
	}
	public function check_audit_log(){
		$start_date   = $this->input->post('start_date');
		$end_date     = $this->input->post('end_date');
		$view_type    = $this->input->post('view_type');
		$tab_list     = ltrim(implode(",",$this->input->post('tab_list[]')),",");
		$user_name    = ltrim(implode(",",$this->input->post('user_name[]')),",");
		$fil_emp_name     = ltrim(implode(",",$this->input->post('emp_name[]')),",");
		if($user_name){
			$user_name = '"'.str_replace(",",'","',$user_name).'"';
			$user_qry  = " and user_name in ($user_name)";
		}else{
			$user_qry = "";
		}
		
		if($fil_emp_name){
			$fil_emp_name = '"'.str_replace(",",'","',$fil_emp_name).'"';
			if((int)$view_type === 2){
				$emp_qry  = " and row_set_emp.employee_code in ($fil_emp_name)";
			}else{
				$emp_qry  = " and cw_employees_log.employee_code in ($fil_emp_name)";
			}
		}else{
			$emp_qry = "";
		}
		
		if((int)$view_type === 2){
			$emp_rowsetlog_qry = 'select *,row_set_emp.employee_code,row_set_emp.emp_name from cw_row_set_log inner join cw_form_setting on cw_form_setting.label_name=cw_row_set_log.label_name inner join cw_form_view_setting on cw_form_view_setting.prime_form_view_id=cw_row_set_log.row_set_view_id inner join cw_employees as row_set_emp on row_set_emp.prime_employees_id=cw_row_set_log.prime_employee_id inner join cw_employees on cw_employees.prime_employees_id=cw_row_set_log.ceated_by where cw_form_setting.prime_module_id = "employees" and row_set_view_id in ('.$tab_list.') and  date_format(cw_row_set_log.created_date, "%Y-%m-%d") >= "'.$start_date.'" and date_format(cw_row_set_log.created_date, "%Y-%m-%d") <= "'.$end_date.'"  '.$user_qry.'  '.$emp_qry.' group by prime_row_set_log';
			$emp_rowsetlog_data   = $this->db->query("CALL sp_a_run ('SELECT','$emp_rowsetlog_qry')");
			$emp_rowsetlog_rslt   = $emp_rowsetlog_data->result();
			$emp_rowsetlog_data->next_result();
			if($emp_rowsetlog_rslt){
				$tr_line  = "";
				$i = 1;
				foreach($emp_rowsetlog_rslt as $emp_rowlog){
					$employee_code      = $emp_rowlog->employee_code;
					$emp_name           = $emp_rowlog->emp_name;
					$label_name         = $emp_rowlog->label_name;
					$view_name          = $emp_rowlog->view_name;
					$field_type         = $emp_rowlog->field_type;
					$old_value          = $emp_rowlog->old_value;
					$new_value          = $emp_rowlog->new_value;
					$pick_list_type     = (int)$emp_rowlog->pick_list_type;
					$form_heading       = ucwords($emp_rowlog->form_view_heading);
					$created_date       = date('d-m-Y H:i:s',strtotime($emp_rowlog->created_date));
					$user_name          = $emp_rowlog->user_name;
					$form_heading       = ucwords($emp_rowlog->form_view_heading);
					if((int)$field_type === 4){
						$old_value     = date('d-m-Y',strtotime($old_value));
						$new_value     = date('d-m-Y',strtotime($new_value));
					}else
					if(((int)$field_type === 5) || ((int)$field_type === 7)){
						$pick_table   = $emp_rowlog->pick_table;
						$pick_list    = $emp_rowlog->pick_list;
						if($pick_list_type === 1){
							$pick_list_val   = explode(",",$pick_list);
							$pick_list_val_1 = $pick_list_val[0];
							$pick_list_val_2 = $pick_list_val[1];
							$pick_list_val_3 = "trans_status";
						}else
						if($pick_list_type === 2){
							$pick_list_val_1 = $pick_table."_id";
							$pick_list_val_2 = $pick_table."_value";
							$pick_list_val_3 = $pick_table."_status";
						}
						if($old_value){
							$pick_query = 'select '.$pick_list_val_2.' as old_val from '.$pick_table.' where '.$pick_list_val_1.' = "'.$old_value.'" and '.$pick_list_val_3.'  = 1';
							$pick_data   = $this->db->query("CALL sp_a_run ('SELECT','$pick_query')");
							$pick_rslt   = $pick_data->result();
							$pick_data->next_result();
							$old_value = $pick_rslt[0]->old_val;
						}
						if($new_value){
							$pick_query = 'select '.$pick_list_val_2.' as new_val from '.$pick_table.' where '.$pick_list_val_1.' = "'.$new_value.'" and '.$pick_list_val_3.'  = 1';
							$pick_data   = $this->db->query("CALL sp_a_run ('SELECT','$pick_query')");
							$pick_rslt   = $pick_data->result();
							$pick_data->next_result();
							$new_value = $pick_rslt[0]->new_val;
						}
					}
					$tr_line       .= "<tr><td>$i</td><td>$employee_code</td><td>$emp_name</td><td>$form_heading</td><td>$view_name</td><td style='width:20%;'>$old_value</td><td style='width:20%;'>$new_value</td><td>$user_name</td><td>$created_date</td></tr>";
				$i++;	
				}
				$thead_line ="<tr><th>Si.No</th><th>Employee Code</th><th>Employee Name</th><th>Form  Name</th><th>Label Name</th><th>Old Value</th><th>New Value</th><th>User Name</th><th>Created Date</th></tr>";
				$table_content = "<table id='table' class='table table-striped table-hover' style='width:100% !important;'>
									<thead>
										$thead_line
									</thead>
									<tbody>
										$tr_line
									</tbody>
								</table>";
				echo json_encode(array('success' => TRUE, 'message' => "See master change details",'table_content'=>$table_content));
			}else{
				echo json_encode(array('success' => FALSE, 'message' => "No data is available"));
			}
		}else{
			$emp_log_qry = 'select *,cw_employees_log.trans_created_date,cw_employees_log.employee_code,cw_employees_log.emp_name,user_name from cw_employees_log inner join cw_form_setting on cw_form_setting.label_name=cw_employees_log.label_name inner join cw_employees on cw_employees.prime_employees_id=cw_employees_log.trans_created_by where prime_module_id = "employees" and  date_format(cw_employees_log.trans_created_date, "%Y-%m-%d") >= "'.$start_date.'" and date_format(cw_employees_log.trans_created_date, "%Y-%m-%d") <= "'.$end_date.'"  '.$user_qry.'  '.$emp_qry.' group by prime_employees_log_id order by cw_employees_log.trans_created_date';
			$emp_log_data   = $this->db->query("CALL sp_a_run ('SELECT','$emp_log_qry')");
			$emp_log_rslt   = $emp_log_data->result();
			$emp_log_data->next_result();
			if($emp_log_rslt){
				$tr_line  = "";
				$i = 1;
				foreach($emp_log_rslt as $emp_log){
					$employee_code      = $emp_log->employee_code;
					$emp_name           = $emp_log->emp_name;
					$label_name         = $emp_log->label_name;
					$view_name          = $emp_log->view_name;
					$field_type         = $emp_log->field_type;
					$old_value          = $emp_log->old_value;
					$new_value          = $emp_log->new_value;
					$pick_list_type     = (int)$emp_log->pick_list_type;
					$create_date        = date('d-m-Y H:i:s',strtotime($emp_log->trans_created_date));
					$user_name          = $emp_log->user_name;
					if((int)$field_type === 4){
						$old_value     = date('d-m-Y',strtotime($old_value));
						$new_value     = date('d-m-Y',strtotime($new_value));
					}else
					if(((int)$field_type === 5) || ((int)$field_type === 7)){
						$pick_table   = $emp_log->pick_table;
						$pick_list    = $emp_log->pick_list;
						if($pick_list_type === 1){
							$pick_list_val   = explode(",",$pick_list);
							$pick_list_val_1 = $pick_list_val[0];
							$pick_list_val_2 = $pick_list_val[1];
							$pick_list_val_3 = "trans_status";
						}else
						if($pick_list_type === 2){
							$pick_list_val_1 = $pick_table."_id";
							$pick_list_val_2 = $pick_table."_value";
							$pick_list_val_3 = $pick_table."_status";
						}
						if($old_value){
							$pick_query = 'select '.$pick_list_val_2.' as old_val from '.$pick_table.' where '.$pick_list_val_1.' = "'.$old_value.'" and '.$pick_list_val_3.' = 1';
							$pick_data   = $this->db->query("CALL sp_a_run ('SELECT','$pick_query')");
							$pick_rslt   = $pick_data->result();
							$pick_data->next_result();
							$old_value = $pick_rslt[0]->old_val;
						}
						if($new_value){
							$pick_query = 'select '.$pick_list_val_2.' as new_val from '.$pick_table.' where '.$pick_list_val_1.' = "'.$new_value.'" and '.$pick_list_val_3.' = 1';
							$pick_data   = $this->db->query("CALL sp_a_run ('SELECT','$pick_query')");
							$pick_rslt   = $pick_data->result();
							$pick_data->next_result();
							$new_value = $pick_rslt[0]->new_val;
						}
					}
					
					$tr_line       .= "<tr><td>$i</td><td>$employee_code</td><td>$emp_name</td><td>$view_name</td><td style='width:20%'>$old_value</td><td style='width:20%'>$new_value</td><td>$user_name</td><td>$create_date</td></tr>";
				$i++;	
					
				}
				$thead_line ="<tr><th>Si.No</th><th>Employee Code</th><th>Employee Name</th><th>Label Name</th><th>Old Value</th><th>New Value</th><th>User Name</th><th>Created Date</th></tr>";
				$table_content = "<table id='table' class='table table-striped table-hover' style='width:100% !important;'>
									<thead>
										$thead_line
									</thead>
									<tbody>
										$tr_line
									</tbody>
								</table>";
				echo json_encode(array('success' => TRUE, 'message' => "See master change details",'table_content'=>$table_content));
			}else{
				echo json_encode(array('success' => FALSE, 'message' => "No data is available"));
			}
		}
	}
}
?>