diff --git a/.htaccess b/.htaccess
index c9db48e..cf3c184 100755
--- a/.htaccess
+++ b/.htaccess
@@ -5,28 +5,6 @@ Options -Indexes
# Rewrite engine
# ----------------------------------------------------------------------
-
-## ADDED for - block any script execution inside folder of public
-
- Deny from all
- # Disable PHP engine
-
- php_flag engine off
-
-
- # Disable CGI and other executable handlers
- Options -ExecCGI
- AddHandler cgi-script .php .pl .py .jsp .asp .sh .cgi
-
- # Block access to any script-like files entirely
-
- ForceType text/plain
- #Order allow,deny
- Deny from all
-
-
-
-
# Turning on the rewrite engine is necessary for the following rules and features.
# FollowSymLinks must be enabled for this to work.
diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index 4c02e4f..cccdc3d 100755
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -551,7 +551,7 @@ $routes->get("getBackToEnrolledDetails", "EmployeeRestController::getBackToEnrol
//crone job
$routes->cli('cli/enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
$routes->cli("cli/sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
-
+$routes->cli('cli/update-emp-policy-status', 'ClientController::updateEmpAndPolicyStatus');
$routes->get('enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
$routes->get("sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
// $routes->get("getEmployeePolicy", "EmployeeRestController::getEmployeePolicy");
diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php
index 8b9785d..936d914 100755
--- a/app/Controllers/EmployeeController.php
+++ b/app/Controllers/EmployeeController.php
@@ -500,7 +500,7 @@ class EmployeeController extends AdminController
}
}
- public function getExcelFileErrors($file_id, $retun_type)
+ public function getExcelFileErrors($file_id, $retun_type = null)
{
// $file_id = $this->request->uri->getSegment(3);
$empServiceController = new EmployeeServiceController();
diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php
index e810120..d8ffc24 100755
--- a/app/Controllers/EmployeeRestController.php
+++ b/app/Controllers/EmployeeRestController.php
@@ -235,8 +235,17 @@ class EmployeeRestController extends AdminController
try {
$data = $this->request->getJSON();
+ $clientPolicyData = $this->clientPolicyModel->where('id',$data[0]->client_policy_id)
+ ->where('is_active', 1)
+ ->first();
+
+ if(in_array($clientPolicyData['policy_type_id'], [3,4,5])){
+ $openForEnrollment = $this->findThePolicyIsOpenForEnrollment($clientPolicyData['base_policy'], $data[0]->emp_code);
+ }else{
+ $openForEnrollment = $this->findThePolicyIsOpenForEnrollment($data[0]->client_policy_id, $data[0]->emp_code);
+ }
+
//enrolment check
- $openForEnrollment = $this->findThePolicyIsOpenForEnrollment($data[0]->client_policy_id, $data[0]->emp_code);
if($openForEnrollment == false){
return $this->respond(['status' => 'failed','code' => 404,'data' => [],'message' => 'Enrollment closed.'], 200);
}
@@ -308,7 +317,7 @@ class EmployeeRestController extends AdminController
}
}
} catch (\Exception $e) {
- return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage(),'message' => "Action failed."], 500);
+ return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage() . $e->getLine(),'message' => "Action failed."], 500);
}
}
@@ -395,6 +404,8 @@ class EmployeeRestController extends AdminController
}else{
+ $enrollment_dates = $this->getEnrollmentDates($client_policy_id, $emp_code);
+
$data['employee_id']= $employee_id;
$data['client_policy_id']= $client_policy_id;
$data['basic_cover_si']= $basic_cover_si;
@@ -405,6 +416,9 @@ class EmployeeRestController extends AdminController
if(!empty($other_employee_policy_data)){
$data['enrollment_open_date']= $other_employee_policy_data['enrollment_open_date'] ?? null;
$data['enrollment_close_date']= $other_employee_policy_data['enrollment_close_date'] ?? null;
+ }else{
+ $data['enrollment_open_date'] = $enrollment_dates['enrollment_open_date'] ?? null;
+ $data['enrollment_close_date'] = $enrollment_dates['enrollment_close_date'] ?? null;
}
// dd($data);
@@ -550,7 +564,7 @@ class EmployeeRestController extends AdminController
$this->employeeModel->where('id', $this->request->getGet('id') )
->where('is_active', 1 )
- ->set(array('is_active'=> 0 ))
+ ->set(['emp_status' => 'truncated', 'is_active' => 0])
->update();
}
@@ -564,7 +578,7 @@ class EmployeeRestController extends AdminController
$query->where('client_policy_id', $clientPolicyId);
}
- $query->set(['is_active' => 0])->update();
+ $query->set(['status' => 'truncated', 'is_active' => 0])->update();
return $this->respond(['status' => 'success','code' => 200,'data' =>[] ], 200);
@@ -590,7 +604,17 @@ class EmployeeRestController extends AdminController
// print_r($requestData);
// dd($requestData);
- $openForEnrollment = $this->findThePolicyIsOpenForEnrollment($requestData[0]->client_policy_id, $requestData[0]->emp_code);
+
+ $clientPolicyData = $this->clientPolicyModel->where('id',$requestData[0]->client_policy_id)
+ ->where('is_active', 1)
+ ->first();
+
+ if(in_array($clientPolicyData['policy_type_id'], [3,4,5])){
+ $openForEnrollment = $this->findThePolicyIsOpenForEnrollment($clientPolicyData['base_policy'], $requestData[0]->emp_code);
+ }else{
+ $openForEnrollment = $this->findThePolicyIsOpenForEnrollment($requestData[0]->client_policy_id, $requestData[0]->emp_code);
+ }
+
if($openForEnrollment == false){ return $this->respond(['status' => 'failed','code' => 404,'data' => 'Enrollment closed'], 404); }
foreach ($requestData as $key => $value)
@@ -600,6 +624,7 @@ class EmployeeRestController extends AdminController
->where('client_policy_id', $value->client_policy_id)
->where('is_active', 1 )
->findAll();
+
// dd($checkIfExist);
if ($checkIfExist) {
@@ -608,10 +633,14 @@ class EmployeeRestController extends AdminController
}else{
+ $enrollment_dates = $this->getEnrollmentDates($value->client_policy_id, $requestData[0]->emp_code);
+
$data['employee_id']= $value->employee_id;
$data['client_policy_id']= $value->client_policy_id;
$data['basic_cover_si']= $value->basic_cover_si;
$data['status'] = 'draft';
+ $data['enrollment_open_date'] = $enrollment_dates['enrollment_open_date'] ?? null;
+ $data['enrollment_close_date'] = $enrollment_dates['enrollment_close_date'] ?? null;
$this->employeePolicyModel->insert($data);
}
@@ -1631,8 +1660,8 @@ class EmployeeRestController extends AdminController
}
if(!empty($result) && $this->request->getGet('policy') == 'GMC'){
- // return $this->respond(['status' => 'success','code' => 200,'data' => $result], 200);
- echo json_encode(['status' => 'success','code' => 200,'data' => $result], JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
+ return $this->respond(['status' => 'success','code' => 200,'data' => $result], 200);
+ // echo json_encode(['status' => 'success','code' => 200,'data' => $result], JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
}else{
return $this->respond(['status' => 'success','code' => 200,'data' => []], 200);
}
@@ -2138,14 +2167,14 @@ class EmployeeRestController extends AdminController
if (!empty($pre_client_id)) {
- $client = $this->clientModel->where('id', $pre_client_id)->first();
+ $client = $this->clientModel->where('md5(id)', $pre_client_id)->first();
if ($client) {
$client['client_logo'] = base_url() . 'public/uploads/logo/' . $client['client_logo'];
$clientPolicy = $this->clientPolicyModel
- ->where('client_id', $pre_client_id)
+ ->where('md5(client_id)', $pre_client_id)
->where('client_branch_id', $pre_branch_id)
->findAll();
@@ -2240,12 +2269,18 @@ class EmployeeRestController extends AdminController
try {
$emp_code = $this->request->getGet('emp_code');
+ $client_id = $this->request->getGet('client_id');
+ $client_branch_id = $this->request->getGet('client_branch_id');
+
$addOnEmployeeData = $this->employeeModel->where('is_active', 1 )
->where('emp_code',$this->request->getGet('emp_code'))
->where('client_id',$this->request->getGet('client_id'))
->where('client_branch_id',$this->request->getGet('client_branch_id'))
->where('is_addon_value',1)->findAll();
+
+ $policyIds = $this->getEmployeeAddOnPolicies($emp_code, $client_id, $client_branch_id);
+ // dd($policyIds);
$clientPolicy = $this->clientPolicyModel->select("
@@ -2276,7 +2311,11 @@ class EmployeeRestController extends AdminController
->where('policy_status', 1)
->where('is_active', 1)
->where('enrolment_visibility', 1)
+ ->whereIn('id', $policyIds)
->findAll();
+ if(empty($policyIds)){
+ return $this->respond(['status' => 'failed','code' => 404,'data' => []], 200);
+ }
if(count($clientPolicy))
{
@@ -2320,6 +2359,13 @@ class EmployeeRestController extends AdminController
}
+ if(isset($array['base_policy']) && !empty($array['base_policy']))
+ {
+ $openForEnrollmentValue = (int) $this->findThePolicyIsOpenForEnrollment($array['base_policy'], $emp_code);
+ }else{
+ $openForEnrollmentValue = $array['open_for_enrollment'];
+ }
+
$policyTypeData = $this->policyTypeModel->where('id',$array['policy_type_id'])->get()->getRow();
$responce['policy_name'] = $policyTypeData->long_name;
@@ -2329,7 +2375,7 @@ class EmployeeRestController extends AdminController
$responce['client_id'] = $array['client_id'];
$responce['client_policy_id'] = $array['id'];
$responce['is_addon'] = $array['is_addon'];
- $responce['OpenForEnrollment'] = $array['open_for_enrollment'];
+ $responce['OpenForEnrollment'] = $openForEnrollmentValue;
$responce['policy_terms'] = $decodedArray;
$responce['policy_type_id'] = $array['policy_type_id'];
//$responce['is_member_modify_allowed'] = $array['is_member_modify_allowed'];
@@ -2540,8 +2586,8 @@ class EmployeeRestController extends AdminController
if($this->request->getGet('policy') == 'GMC-DEPENDENT-ADDON'){
- // return $this->respond(['status' => 'success','code' => 200,'data' => ['gmc_dependent_addon'=>$responce]], 200);
- echo json_encode(['status' => 'success','code' => 200,'data' => ['gmc_dependent_addon'=>$responce]], JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
+ return $this->respond(['status' => 'success','code' => 200,'data' => ['gmc_dependent_addon'=>$responce]], 200);
+ // echo json_encode(['status' => 'success','code' => 200,'data' => ['gmc_dependent_addon'=>$responce]], JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
}
//array_push($PolicyData, $responce);
@@ -2708,8 +2754,18 @@ class EmployeeRestController extends AdminController
$array_list = [];
foreach ($client_policy_id as $key => $value)
{
- // $policy = $this->clientPolicyModel->where('id',$value)->where('open_for_enrollment',1)->find();
- $policy = $this->findThePolicyIsOpenForEnrollment($client_policy_id, $emp_code);
+
+ $clientPolicyData = $this->clientPolicyModel->where('client_id',$client_id)
+ ->where('id',$value)
+ ->where('is_active', 1)
+ ->first();
+
+ if(in_array($clientPolicyData['policy_type_id'], [3,4,5])){
+ $policy = $this->findThePolicyIsOpenForEnrollment($clientPolicyData['base_policy'], $emp_code);
+ }else{
+ $policy = $this->findThePolicyIsOpenForEnrollment($value, $emp_code);
+ }
+
if($policy)
{
$this->myLogger->logme("error", 'client policy id = '.$value.' is open for enrollment');
@@ -2752,7 +2808,6 @@ class EmployeeRestController extends AdminController
}
}else { $this->myLogger->logme("error", 'client policy id = '.$value.' is not open for enrollment');}
-
}
@@ -3048,7 +3103,7 @@ class EmployeeRestController extends AdminController
$ClientPolicyData = $this->clientPolicyModel->select('client_policy.id as client_policy_id , client_policy.client_id as client_id, client_policy.policy_type_id as policy_type_id, client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type, client_policy.policy_no as policy_no, client_policy.insurer_id as insurer_id, DATE_FORMAT(client_policy.policy_end_date, "%d-%m-%Y") AS policy_expiry_date ')
- ->where('client_policy.client_id', $this->request->getGet('client_id') )
+ ->where('md5(client_policy.client_id)', $this->request->getGet('client_id') )
->where('client_policy.client_branch_id', $this->request->getGet('client_branch_id') )
->where('client_policy.is_active', 1 )
->where('client_policy.policy_status', 1)
@@ -4357,4 +4412,100 @@ class EmployeeRestController extends AdminController
}
}
+ public function getEnrollmentDates($client_policy_id, $emp_code)
+ {
+ $enrollment_open_date = null;
+ $enrollment_close_date = null;
+
+ $clientPolicyData = $this->clientPolicyModel->where('id', $client_policy_id)
+ ->where('is_active', 1)
+ ->first();
+
+ if(in_array($clientPolicyData['policy_type_id'] ?? null, [3,4,5])){
+
+ $policy = $this->employeePolicyModel
+ ->select('employee_polices.enrollment_open_date, employee_polices.enrollment_close_date')
+ ->join('employees', 'employee_polices.employee_id = employees.id')
+ ->where('employees.emp_code',$emp_code)
+ ->where('employee_polices.client_policy_id', $clientPolicyData['base_policy'])
+ ->where('employee_polices.enrollment_open_date <= CURDATE()', null, false)
+ ->where('employee_polices.enrollment_close_date >= CURDATE()', null, false)
+ ->where('employee_polices.enrollment_open_date is not null')
+ ->where('employee_polices.enrollment_close_date is not null')
+ ->where('employees.is_active', 1)
+ ->where('employee_polices.is_active', 1)
+ ->whereIn('employee_polices.status', ['draft', 'enrolled'])
+ ->whereIn('employees.emp_status', ['draft', 'enrolled'])
+ ->first();
+
+ $enrollment_open_date = $policy['enrollment_open_date'] ?? null;
+ $enrollment_close_date = $policy['enrollment_close_date'] ?? null;
+ }
+
+ return [
+ 'enrollment_open_date' => $enrollment_open_date,
+ 'enrollment_close_date' => $enrollment_close_date,
+ ];
+ }
+
+ public function getEmployeeAddOnPolicies($emp_code, $client_id, $client_branch_id): array
+ {
+ $data = $this->employeeModel
+ ->select("
+ client_policy.id AS gmc_client_policy_id,
+
+ (
+ SELECT id FROM client_policy
+ WHERE policy_type_id = 3
+ AND base_policy = gmc_client_policy_id
+ LIMIT 1
+ ) AS gmc_parent_policy_id,
+
+ (
+ SELECT id FROM client_policy
+ WHERE policy_type_id = 4
+ AND base_policy = gmc_client_policy_id
+ LIMIT 1
+ ) AS gmc_topup_policy_id
+ ")
+ ->join('employee_polices', 'employees.id = employee_polices.employee_id')
+ ->join('client_policy', 'employee_polices.client_policy_id = client_policy.id')
+ ->whereIn('employees.emp_status', ['draft', 'enrolled'])
+ ->whereIn('employee_polices.status', ['draft', 'enrolled'])
+ ->where([
+ 'employees.is_active' => 1,
+ 'employee_polices.is_active' => 1,
+ 'client_policy.policy_type_id' => 2,
+ 'employees.family_floater_key' => 'self',
+ 'employees.emp_code' => $emp_code ?? null,
+ 'employees.client_id' => $client_id ?? null,
+ 'employees.client_branch_id' => $client_branch_id ?? null,
+ ])
+ ->orderBy('employee_polices.id', 'desc')
+ ->first();
+
+ // dd($data);
+ // dd(db_connect()->getLastQuery());
+
+ if (!empty($data) && !empty($data['gmc_parent_policy_id'])) {
+
+ $getParentTopUp = $this->clientPolicyModel
+ ->select('id AS gmc_parent_topup_policy_id')
+ ->where('is_active', 1)
+ ->where('policy_type_id', 5) // parent Top-Up
+ ->where('base_policy', $data['gmc_parent_policy_id'])
+ ->first();
+ }
+
+ if (empty($data)) {
+ return [];
+ }
+
+ $policyIds[] = $data['gmc_topup_policy_id'];
+ $policyIds[] = $data['gmc_parent_policy_id'];
+ $policyIds[] = $getParentTopUp['gmc_parent_topup_policy_id'] ?? null;
+
+ return $policyIds;
+ }
+
}
\ No newline at end of file
diff --git a/app/Controllers/LoginController.php b/app/Controllers/LoginController.php
index aa5d9a8..73f7bb0 100755
--- a/app/Controllers/LoginController.php
+++ b/app/Controllers/LoginController.php
@@ -61,9 +61,7 @@ class LoginController extends BaseController
set_session_data($session_data);
// Bind session to device
- set_session_data(['fingerprint' => hash('sha256',
- ($this->request->getUserAgent()->getAgentString() . '|' . ($this->request->getIPAddress()
- )))]);
+ set_session_data(['fingerprint' => generateFingerprint()]);
log_message('error', 'Set The UserId : `'. $user->id .'` in Session');
log_message('error', 'User Login Sucessfully');
diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php
index af58a6d..89ec1de 100755
--- a/app/Controllers/RestAuthenticationController.php
+++ b/app/Controllers/RestAuthenticationController.php
@@ -797,6 +797,8 @@ class RestAuthenticationController extends AdminController
$decoded = json_decode($HRAccessData['allowed_modules'], true);
$getAllhrData[$key]['allowed_modules'] = $decoded;
+ $HRAccessData['pre_client_id'] = md5($HRAccessData['pre_client_id']);
+ $HRAccessData['post_client_id'] = md5($HRAccessData['post_client_id']);
$token = JWTToken::encode($HRAccessData);
$getAllhrData[$key]['token'] = $token;
diff --git a/app/Filters/AuthMVC.php b/app/Filters/AuthMVC.php
index e6c6948..285f586 100755
--- a/app/Filters/AuthMVC.php
+++ b/app/Filters/AuthMVC.php
@@ -22,9 +22,7 @@ class AuthMVC implements FilterInterface
// }
// Fingerprint validation
- $fp = hash('sha256',
- $request->getUserAgent()->getAgentString() . '|' . $request->getIPAddress()
- );
+ $fp = generateFingerprint();
if (session()->get('fingerprint') !== $fp) {
return AuthLogout::logout();
diff --git a/app/Helpers/JWTToken.php b/app/Helpers/JWTToken.php
index 62b7281..d110444 100755
--- a/app/Helpers/JWTToken.php
+++ b/app/Helpers/JWTToken.php
@@ -39,6 +39,7 @@ class JWTToken
}else{
$models = new LevelContactModel();
+ $id = $request_data['pre_hr_id'];
$models->update($id, $data);
}
diff --git a/app/Helpers/session_helper.php b/app/Helpers/session_helper.php
index eb9eb9a..ccbdd51 100755
--- a/app/Helpers/session_helper.php
+++ b/app/Helpers/session_helper.php
@@ -118,7 +118,8 @@ if (!function_exists('check_role')) {
{
// $ci =& get_instance();
$session = \Config\Services::session();
- return $session->get('role');
+ return $role_id = isset(get_session_userdata()->role) ? get_session_userdata()->role : null;
+
}
}
diff --git a/app/Helpers/utility_helper.php b/app/Helpers/utility_helper.php
index e1b8a9b..d1f858b 100755
--- a/app/Helpers/utility_helper.php
+++ b/app/Helpers/utility_helper.php
@@ -557,7 +557,7 @@ if (!function_exists('change_date_format')) {
$date = DateTime::createFromFormat($source_format, $date_str);
if (!$date) {
// throw new Exception("Invalid date string for source format: $source_format");
- log_message('error', "❌ Date format error : Invalid date string | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}");
+ // log_message('error', "❌ Date format error : Invalid date string | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}");
return null;
}
return $date->format($output_format);
@@ -568,7 +568,7 @@ if (!function_exists('change_date_format')) {
$date = DateTime::createFromFormat($source_format, $date_str);
if (!$date) {
// throw new Exception("Invalid date string for source format: $source_format");
- log_message('error', "❌ Date format error : Invalid date string | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}");
+ // log_message('error', "❌ Date format error : Invalid date string | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}");
return null;
}
return $date->format('Y-m-d'); // MySQL default format
@@ -585,15 +585,15 @@ if (!function_exists('change_date_format')) {
// If no format matches, throw an exception
$allowed_placeholders = implode(', ', $allowed_formats);
// throw new Exception("Invalid date string format. Allowed formats: $allowed_placeholders");
- log_message(
- 'error',
- "❌ Date format error: Invalid date string. Allowed formats: {$allowed_placeholders} | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}"
- );
+ // log_message(
+ // 'error',
+ // "❌ Date format error: Invalid date string. Allowed formats: {$allowed_placeholders} | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}"
+ // );
return null;
}
} catch (Exception $e) {
// return "Error: " . $e->getMessage();
- log_message('error', "❌ Date format error: {$e->getMessage()} | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}");
+ // log_message('error', "❌ Date format error: {$e->getMessage()} | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}");
return null;
}
@@ -756,3 +756,34 @@ if (!function_exists('validateExcelFile')) {
return true;
}
}
+function getRealClientIP()
+{
+ $request = service('request');
+
+ if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) {
+ return $_SERVER['HTTP_CF_CONNECTING_IP'];
+ }
+
+ if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
+ return explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0];
+ }
+
+ return $request->getIPAddress();
+}
+
+function generateFingerprint()
+{
+ $request = service('request');
+
+ $ua = $request->getUserAgent()->getAgentString();
+ $ip = getRealClientIP();
+ // echo $ip;die();
+ // Use only subnet (first 3 blocks) to tolerate IP change
+ $ipParts = explode('.', $ip);
+ $ipSubnet = $ipParts[0] . '.' . $ipParts[1] . '.' . $ipParts[2];
+
+ // $secret = env('app.sessionFingerprintSalt');
+
+ // return hash('sha256', $ua . '|' . $ipSubnet . '|' . $secret);
+ return hash('sha256', $ua . '|' . $ipSubnet );
+}
\ No newline at end of file
diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php
index 306e6ee..72b8ba9 100755
--- a/app/Models/EmployeePolicyModel.php
+++ b/app/Models/EmployeePolicyModel.php
@@ -163,8 +163,10 @@ class EmployeePolicyModel extends Model
->orderBy('employee_polices.employee_id', 'ASC');
- // Conditionally add where clauses
- if ($client_id != 0 && !empty($client_id)) {
+ // Conditionally add where clauses
+ if (is_string($client_id) && preg_match('/^[a-f0-9]{32}$/i', $client_id)) {
+ $result->where('MD5(emp.client_id)', $client_id);
+ } else if ($client_id != 0 && !empty($client_id)) {
$result->where('emp.client_id', $client_id);
}
if ($branch_id != 0 && !empty($branch_id)) {
diff --git a/app/Views/file_list.php b/app/Views/file_list.php
index 0810319..9886ae9 100755
--- a/app/Views/file_list.php
+++ b/app/Views/file_list.php
@@ -113,7 +113,16 @@
class="mdi mdi-dots-horizontal">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+