MERGE_TEST_VAPT&HR_CHANGES
This commit is contained in:
commit
fb992a50eb
22
.htaccess
22
.htaccess
@ -5,28 +5,6 @@ Options -Indexes
|
||||
# Rewrite engine
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
|
||||
## ADDED for - block any script execution inside folder of public
|
||||
<If "%{REQUEST_URI} =~ m#/(logo|add_image_upload|e_card_imgs|claim_sample_forms|sample_import_excel|writable)/#">
|
||||
Deny from all
|
||||
# Disable PHP engine
|
||||
<IfModule mod_php.c>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
# 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
|
||||
<FilesMatch "\.(php|php5|php7|phtml|pl|py|cgi|asp|aspx|sh|rb)$">
|
||||
ForceType text/plain
|
||||
#Order allow,deny
|
||||
Deny from all
|
||||
</FilesMatch>
|
||||
</If>
|
||||
|
||||
|
||||
# Turning on the rewrite engine is necessary for the following rules and features.
|
||||
# FollowSymLinks must be enabled for this to work.
|
||||
<IfModule mod_rewrite.c>
|
||||
|
||||
@ -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");
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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');
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -39,6 +39,7 @@ class JWTToken
|
||||
|
||||
}else{
|
||||
$models = new LevelContactModel();
|
||||
$id = $request_data['pre_hr_id'];
|
||||
$models->update($id, $data);
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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 );
|
||||
}
|
||||
@ -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)) {
|
||||
|
||||
@ -113,7 +113,16 @@
|
||||
class="mdi mdi-dots-horizontal"></i></a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<?php if ($file['status'] == 'failed') { ?>
|
||||
<a data-id="<?= htmlspecialchars(json_encode(['client_id' => $file['client_id'], 'client_policy_id' => $file['client_policy_id'], 'client_branch_id' => $file['client_branch_id'], 'action' => $file['action']])) ?>" data-toggle="modal" data-target="#file-upload-modal" class="dropdown-item upload_button" href="#"><i class="mdi mdi-upload mr-2 text-muted font-18 vertical-middle"></i>Re-Upload</a>
|
||||
<a data-id="<?=
|
||||
htmlspecialchars(json_encode([
|
||||
'client_id' => $file['client_id'],
|
||||
'client_policy_id' => $file['client_policy_id'],
|
||||
'client_branch_id' => $file['client_branch_id'],
|
||||
'enrollment_open_date' => change_date_format($file['enrollment_open_date'] , 'Y-m-d', 'd/m/Y'),
|
||||
'enrollment_close_date' => change_date_format($file['enrollment_close_date'], 'Y-m-d', 'd/m/Y' ),
|
||||
'action' => $file['action']
|
||||
]))
|
||||
?>" data-toggle="modal" data-target="#file-upload-modal" class="dropdown-item upload_button" href="#"><i class="mdi mdi-upload mr-2 text-muted font-18 vertical-middle"></i>Re-Upload</a>
|
||||
<?php } ?>
|
||||
|
||||
<a class="dropdown-item" href="<?= base_url("util/download-file-list/") . $file['id']; ?>"><i class="mdi mdi-download mr-2 text-muted font-18 vertical-middle"></i>Download</a>
|
||||
@ -171,6 +180,8 @@
|
||||
<input type="hidden" id="file_client_id" name="client_id">
|
||||
<input type="hidden" id="file_policy_id" name="policy_id">
|
||||
<input type="hidden" id="file_branch_id" name="branch_id">
|
||||
<input type="hidden" id="file_enrollment_open_date" name="enrollment_open_date">
|
||||
<input type="hidden" id="file_enrollment_close_date" name="enrollment_close_date">
|
||||
<input type="hidden" id="file_upload_actions" name="upload-action-type">
|
||||
<input type="file" id="fileInput" name="emplist" required
|
||||
accept=" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/vnd.oasis.opendocument.spreadsheet">
|
||||
@ -262,6 +273,9 @@ $('body').on('click', '.upload_button', function() {
|
||||
$('#file_client_id').val(fileId.client_id)
|
||||
$('#file_policy_id').val(fileId.client_policy_id)
|
||||
$('#file_branch_id').val(fileId.client_branch_id)
|
||||
$('#file_enrollment_open_date').val(fileId.enrollment_open_date)
|
||||
$('#file_enrollment_close_date').val(fileId.enrollment_close_date)
|
||||
$('#file_branch_id').val(fileId.client_branch_id)
|
||||
$('#file_upload_actions').val(fileId.action)
|
||||
})
|
||||
|
||||
|
||||
@ -62,88 +62,69 @@
|
||||
|
||||
<!-- /Right-bar -->
|
||||
|
||||
<!-- Right bar overlay-->
|
||||
<!-- Right bar overlay -->
|
||||
<div class="rightbar-overlay"></div>
|
||||
|
||||
<!-- Vendor js -->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/vendor.min.js"></script>
|
||||
<!-- ============================= -->
|
||||
<!-- Core Vendor JS (Local) -->
|
||||
<!-- ============================= -->
|
||||
<script src="<?= base_url("public/assets/js/vendor.min.js"); ?>"></script>
|
||||
|
||||
<!-- KNOB JS -->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/jquery-knob/jquery.knob.min.js"></script>
|
||||
<!-- Apex js-->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/apexcharts/apexcharts.min.js"></script>
|
||||
<!-- ============================= -->
|
||||
<!-- Charts -->
|
||||
<!-- ============================= -->
|
||||
<script src="<?= base_url("public/assets/libs/apexcharts/apexcharts.min.js"); ?>"></script>
|
||||
|
||||
<!-- third party js -->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net/js/jquery.dataTables.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-responsive/js/dataTables.responsive.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.html5.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.flash.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.print.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-keytable/js/dataTables.keyTable.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-select/js/dataTables.select.min.js"></script>
|
||||
<!-- <script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/pdfmake.min.js"></script> -->
|
||||
<!-- <script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/vfs_fonts.js"></script> -->
|
||||
<!-- third party js ends -->
|
||||
<!-- ============================= -->
|
||||
<!-- DataTables -->
|
||||
<!-- ============================= -->
|
||||
<script src="<?= base_url("public/assets/libs/datatables.net/js/jquery.dataTables.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/libs/datatables.net-responsive/js/dataTables.responsive.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/libs/datatables.net-buttons/js/dataTables.buttons.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/libs/datatables.net-buttons/js/buttons.html5.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/libs/datatables.net-buttons/js/buttons.print.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/libs/datatables.net-keytable/js/dataTables.keyTable.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/libs/datatables.net-select/js/dataTables.select.min.js"); ?>"></script>
|
||||
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/moment/min/moment.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/bootstrap-daterangepicker/daterangepicker.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
|
||||
|
||||
<!-- ============================= -->
|
||||
<!-- Date Handling -->
|
||||
<!-- ============================= -->
|
||||
<script src="<?= base_url("public/assets/libs/moment/min/moment.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/libs/bootstrap-daterangepicker/daterangepicker.js"); ?>"></script>
|
||||
|
||||
<!-- Datatables init -->
|
||||
<!-- <script src="<?= base_url() . "public"; ?>/assets/js/pages/datatables.init.js"></script> -->
|
||||
|
||||
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/tickets.init.js"></script>
|
||||
|
||||
<!-- Plugins js-->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/admin-resources/jquery.vectormap/maps/jquery-jvectormap-us-merc-en.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/parsleyjs/parsley.min.js"></script>
|
||||
|
||||
<!-- Dashboard init-->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/dashboard-analytics.init.js"></script>
|
||||
|
||||
<!-- Validation init js-->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/form-validation.init.js"></script>
|
||||
|
||||
<!-- App js -->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/app.min.js"></script>
|
||||
|
||||
|
||||
<!-- Sweet Alert CDN -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap-multiselect@1.1.0/dist/js/bootstrap-multiselect.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css" />
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/toastr@2.1.4/toastr.min.js"></script>
|
||||
<link href="https://cdn.jsdelivr.net/npm/toastr@2.1.4/build/toastr.min.css" rel="stylesheet">
|
||||
|
||||
<!-- flatpicker datepicker -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/flatpickr@4.6.13/dist/flatpickr.min.css" rel="stylesheet">
|
||||
<!-- OR: Flatpickr (prefer this long-term) -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/flatpickr@4.6.13/dist/flatpickr.min.js"></script>
|
||||
|
||||
<!-- bootstrap datepicker -->
|
||||
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.10.0/js/bootstrap-datepicker.min.js"></script> -->
|
||||
<!-- ============================= -->
|
||||
<!-- Forms -->
|
||||
<!-- ============================= -->
|
||||
<script src="<?= base_url("public/assets/libs/parsleyjs/parsley.min.js"); ?>"></script>
|
||||
<script src="<?= base_url("public/assets/js/pages/form-validation.init.js"); ?>"></script>
|
||||
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/jquery.xeditable.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/form-xeditable.init.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/bootstrap-editable.min.js"></script>
|
||||
<!-- ============================= -->
|
||||
<!-- Notifications -->
|
||||
<!-- ============================= -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/toastr@2.1.4/toastr.min.js"></script>
|
||||
|
||||
<!-- Jodit Js -->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/jodit.min.js"></script>
|
||||
|
||||
<!-- select2 -->
|
||||
<!-- ============================= -->
|
||||
<!-- Select2 -->
|
||||
<!-- ============================= -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
|
||||
|
||||
<!-- ============================= -->
|
||||
<!-- Editor -->
|
||||
<!-- ============================= -->
|
||||
<script src="<?= base_url("public/assets/js/jodit.min.js"); ?>"></script>
|
||||
|
||||
<script src="https://cdn.datatables.net/plug-ins/2.0.8/sorting/scientific.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.min.js"></script>
|
||||
|
||||
<!-- ============================= -->
|
||||
<!-- App Init -->
|
||||
<!-- ============================= -->
|
||||
<script src="<?= base_url("public/assets/js/app.min.js"); ?>"></script>
|
||||
|
||||
<script>
|
||||
toastr.options = {
|
||||
|
||||
960
app/Views/layout/footer_old_outdated.php
Normal file
960
app/Views/layout/footer_old_outdated.php
Normal file
@ -0,0 +1,960 @@
|
||||
</div> <!-- container -->
|
||||
|
||||
</div> <!-- content -->
|
||||
|
||||
<!-- Footer Start -->
|
||||
<footer class="footer">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<script>
|
||||
document.write(new Date().getFullYear())
|
||||
</script> © NHANCE
|
||||
</div>
|
||||
<!-- <div class="col-md-6">
|
||||
<div class="text-md-right footer-links d-none d-sm-block">
|
||||
<a href="javascript:void(0);">About Us</a>
|
||||
<a href="javascript:void(0);">Help</a>
|
||||
<a href="javascript:void(0);">Contact Us</a>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- end Footer -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- ============================================================== -->
|
||||
<!-- End Page content -->
|
||||
<!-- ============================================================== -->
|
||||
|
||||
|
||||
</div>
|
||||
<!-- END wrapper -->
|
||||
|
||||
<!-- Right Sidebar -->
|
||||
<div class="right-bar">
|
||||
<div class="h-100">
|
||||
<!-- Notifications Header -->
|
||||
<h6 class="font-weight-medium px-3 m-0 py-2 font-13 text-uppercase bg-light fixed-header">
|
||||
<i class="mdi mdi-message-text-outline font-22"></i>
|
||||
<span class="header-title">Notification</span>
|
||||
</h6>
|
||||
<div class="scrollable-content">
|
||||
<ul class="list-unstyled" id="messages-list">
|
||||
<!-- Notifications list items go here -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Pending Action Header -->
|
||||
<h6 class="font-weight-medium px-3 m-0 py-2 font-13 bg-light fixed-header">
|
||||
<i class="mdi mdi-format-list-checks font-22"></i>
|
||||
<span class="header-title">TO DOs</span>
|
||||
</h6>
|
||||
<div class="scrollable-content">
|
||||
<ul class="list-unstyled" id="messages-list-2">
|
||||
<!-- Pending action list items go here -->
|
||||
</ul>
|
||||
</div>
|
||||
</div> <!-- end simplebar -->
|
||||
</div>
|
||||
|
||||
<!-- /Right-bar -->
|
||||
|
||||
<!-- Right bar overlay-->
|
||||
<div class="rightbar-overlay"></div>
|
||||
|
||||
<!-- Vendor js -->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/vendor.min.js"></script>
|
||||
|
||||
<!-- KNOB JS -->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/jquery-knob/jquery.knob.min.js"></script>
|
||||
<!-- Apex js-->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/apexcharts/apexcharts.min.js"></script>
|
||||
|
||||
<!-- third party js -->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net/js/jquery.dataTables.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-responsive/js/dataTables.responsive.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.html5.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.flash.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.print.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-keytable/js/dataTables.keyTable.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-select/js/dataTables.select.min.js"></script>
|
||||
<!-- <script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/pdfmake.min.js"></script> -->
|
||||
<!-- <script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/vfs_fonts.js"></script> -->
|
||||
<!-- third party js ends -->
|
||||
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/moment/min/moment.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/bootstrap-daterangepicker/daterangepicker.js"></script>
|
||||
|
||||
|
||||
<!-- Datatables init -->
|
||||
<!-- <script src="<?= base_url() . "public"; ?>/assets/js/pages/datatables.init.js"></script> -->
|
||||
|
||||
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/tickets.init.js"></script>
|
||||
|
||||
<!-- Plugins js-->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/admin-resources/jquery.vectormap/maps/jquery-jvectormap-us-merc-en.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/parsleyjs/parsley.min.js"></script>
|
||||
|
||||
<!-- Dashboard init-->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/dashboard-analytics.init.js"></script>
|
||||
|
||||
<!-- Validation init js-->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/form-validation.init.js"></script>
|
||||
|
||||
<!-- App js -->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/app.min.js"></script>
|
||||
|
||||
|
||||
<!-- Sweet Alert CDN -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap-multiselect@1.1.0/dist/js/bootstrap-multiselect.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css" />
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/toastr@2.1.4/toastr.min.js"></script>
|
||||
<link href="https://cdn.jsdelivr.net/npm/toastr@2.1.4/build/toastr.min.css" rel="stylesheet">
|
||||
|
||||
<!-- flatpicker datepicker -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/flatpickr@4.6.13/dist/flatpickr.min.css" rel="stylesheet">
|
||||
<script src="https://cdn.jsdelivr.net/npm/flatpickr@4.6.13/dist/flatpickr.min.js"></script>
|
||||
|
||||
<!-- bootstrap datepicker -->
|
||||
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.10.0/js/bootstrap-datepicker.min.js"></script> -->
|
||||
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/jquery.xeditable.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/form-xeditable.init.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/bootstrap-editable.min.js"></script>
|
||||
|
||||
<!-- Jodit Js -->
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/jodit.min.js"></script>
|
||||
|
||||
<!-- select2 -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
|
||||
|
||||
|
||||
<script src="https://cdn.datatables.net/plug-ins/2.0.8/sorting/scientific.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.min.js"></script>
|
||||
|
||||
|
||||
<script>
|
||||
toastr.options = {
|
||||
"timeOut": 5000,
|
||||
"closeButton": true,
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
var pullNotificationCount = 0;
|
||||
var pendingActionCount = 0;
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
// function fetchMessages() {
|
||||
|
||||
// $.ajax({
|
||||
// url: '<?= base_url('dashboard/get-notification') ?>',
|
||||
// method: 'GET',
|
||||
// success: function(response) {
|
||||
|
||||
// // console.log('responce', response)
|
||||
|
||||
// if(response.status == false){
|
||||
// $('#notification_count').html('0')
|
||||
// console.log('The session is not set correctly. ')
|
||||
// return;
|
||||
// }
|
||||
|
||||
// let messagesList = $('#messages-list');
|
||||
// messagesList.empty();
|
||||
|
||||
// var html = "";
|
||||
|
||||
// pullNotificationCount = response.message.length
|
||||
|
||||
|
||||
|
||||
// localStorage.setItem('pullNotificationCount', pullNotificationCount)
|
||||
|
||||
// response.message.forEach(message => {
|
||||
|
||||
// // if (!message.is_read) {
|
||||
// // unreadCount++;
|
||||
// // }
|
||||
|
||||
// var jasonDecodeData = JSON.parse(message.message_text)
|
||||
|
||||
// var toast_body_css = 'background : #bfd7eb !important;';
|
||||
// var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
// var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
// var toast_status_word = 'Success';
|
||||
|
||||
// if (jasonDecodeData.msg_status == 'failure') {
|
||||
|
||||
// toast_body_css = 'background : #fdcfcf !important;';
|
||||
// toast_head_css = 'background-color : rgb(235 105 105 / 85%) !important; color :#000; border-bottom: 0;';
|
||||
// toast_icon = 'mdi mdi-information mr-auto'
|
||||
// toast_status_word = 'Failure';
|
||||
|
||||
// } else if (jasonDecodeData.msg_status == 'success') {
|
||||
|
||||
// toast_body_css = 'background : #bfd7eb !important;';
|
||||
// toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
// toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto'
|
||||
// toast_status_word = 'Success';
|
||||
// }
|
||||
|
||||
// var html = ` <li data-id="${message.id}" data-url="${jasonDecodeData.action_url != undefined && jasonDecodeData.action_url != "" ? jasonDecodeData.action_url : 'dashboard/view'}">
|
||||
// <div class="p-3">
|
||||
// <div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
// <div class="toast-header " style="${toast_head_css}" >
|
||||
// <strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
// <button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
// <span aria-hidden="true">×</span>
|
||||
// </button>
|
||||
// </div>
|
||||
// <div class="toast-body" style="${toast_body_css}">
|
||||
// <strong>${jasonDecodeData.msg_title ? jasonDecodeData.msg_title : ''}</strong> <br><br>
|
||||
// <small style="position: relative;bottom: 8px;">${jasonDecodeData.message_text}</small>
|
||||
// <div class="toast-footer">
|
||||
// <a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 25px;position: relative;top: 2px;">${jasonDecodeData.action_url != undefined && jasonDecodeData.action_url != "" ? 'see more' : ''}</small></a>
|
||||
// <small style="position: relative;top: 2px;left: 5px;font-size: 10px;">${formatDate(message.created_at)}</small>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </li>`
|
||||
|
||||
|
||||
// messagesList.append(html);
|
||||
// $(function() {
|
||||
// $('[data-toggle="tooltip"]').tooltip();
|
||||
// });
|
||||
// });
|
||||
// },
|
||||
// error: function(xhr, status, error) {
|
||||
// console.error(xhr.responseText); // Log the error response
|
||||
// }
|
||||
// });
|
||||
|
||||
// let PNCount = parseInt(localStorage.getItem('pullNotificationCount'));
|
||||
// let PACount = parseInt(localStorage.getItem('pendingActionCount'));
|
||||
|
||||
// totalcount = PNCount + PACount
|
||||
// $('#notification_count').html(totalcount);
|
||||
|
||||
// }
|
||||
|
||||
// function acknowledgeMessage(messageId) {
|
||||
// $.ajax({
|
||||
// url: '<?= base_url('dashboard/acknowledge-notification/') ?>' + messageId,
|
||||
// method: 'GET',
|
||||
// success: function(response) {
|
||||
// fetchMessages();
|
||||
// },
|
||||
// error: function(xhr, status, error) {
|
||||
// console.error(xhr.responseText); // Log the error response
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
// $('#messages-list').on('click', 'li', function(event) {
|
||||
|
||||
// //console.log('messages-list click li')
|
||||
|
||||
// if ($(event.target).closest('.rm_msg').length > 0) {
|
||||
|
||||
// //console.log('.rm_msg')
|
||||
|
||||
// let messageId = $(this).data('id');
|
||||
// let url = $(this).data('url');
|
||||
// // acknowledgeMessage(messageId);
|
||||
|
||||
// $(this).delay(300).fadeOut('slow', function() {
|
||||
// $(this).remove();
|
||||
// });
|
||||
|
||||
// } else if ($(event.target).closest('.redirect_page').length > 0) {
|
||||
|
||||
// //console.log('redirect_page')
|
||||
|
||||
// let messageId = $(this).data('id');
|
||||
// let url = $(this).data('url');
|
||||
// //console.log('url : ', url)
|
||||
// // acknowledgeMessage(messageId);
|
||||
|
||||
// window.location.href = '<?= base_url() ?>' + url;
|
||||
// }
|
||||
|
||||
|
||||
// });
|
||||
|
||||
// fetchMessages();
|
||||
|
||||
// setInterval(fetchMessages, 60000); // Fetch messages every sixty seconds
|
||||
});
|
||||
|
||||
// $(document).ready(function() {
|
||||
|
||||
// function fetchPendingAction() {
|
||||
|
||||
// $.ajax({
|
||||
|
||||
// url: '<?= base_url('dashboard/get-pending-action') ?>',
|
||||
// method: 'GET',
|
||||
// success: function(response) {
|
||||
|
||||
// console.log(response);
|
||||
|
||||
// if (response.length == 0) {
|
||||
|
||||
// pendingActionCount = 0;
|
||||
// localStorage.setItem('pendingActionCount', pendingActionCount);
|
||||
// }
|
||||
|
||||
// for (let key in response) {
|
||||
// // console.log(response[key].length)
|
||||
// // console.log('type', typeof response[key].length)
|
||||
// // console.log('key', response[key])
|
||||
// if(response[key].length != 'undefined' && response[key].length != undefined)
|
||||
// {
|
||||
// pendingActionCount = pendingActionCount + response[key].length;
|
||||
// }
|
||||
// }
|
||||
|
||||
// console.log(pendingActionCount);
|
||||
|
||||
// let messagesList = $('#messages-list-2');
|
||||
// messagesList.empty();
|
||||
|
||||
|
||||
// if (response.inception) {
|
||||
// $.each(response.inception, function(index, item) {
|
||||
|
||||
// var queryParams = {
|
||||
// client_id: item.client_id,
|
||||
// client_policy_id: item.client_policy_id,
|
||||
// client_branch_id: item.branch_id,
|
||||
// actions: 'inception'
|
||||
// };
|
||||
|
||||
// const queryString = objectToQueryString(queryParams);
|
||||
|
||||
// var url = 'employee/upload?' + queryString
|
||||
// ////console.log(url)
|
||||
|
||||
|
||||
// var toast_body_css = 'background : #bfd7eb !important;';
|
||||
// var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
// var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
// var toast_status_word = 'Info';
|
||||
|
||||
// if (!item.branch_name.toLowerCase().includes('branch')) {
|
||||
|
||||
// //console.log(item.branch_name)
|
||||
// item.branch_name += ' branch';
|
||||
// }
|
||||
|
||||
// ////console.log(item.branch_name);
|
||||
|
||||
// var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
|
||||
|
||||
// ////console.log(toast_body_data);
|
||||
|
||||
// var html = ` <li data-id="" data-url="${url}">
|
||||
// <div class="p-3">
|
||||
// <div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
// <div class="toast-header " style="${toast_head_css}" >
|
||||
// <strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
// <button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
// <span aria-hidden="true">×</span>
|
||||
// </button>
|
||||
// </div>
|
||||
// <div class="toast-body" style="${toast_body_css}">
|
||||
// <strong>Inception Pending</strong><br><br>
|
||||
// <small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
// <div class="toast-footer">
|
||||
// <a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
// <small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </li>`
|
||||
|
||||
|
||||
// messagesList.append(html);
|
||||
|
||||
// });
|
||||
// } else {
|
||||
// console.log('response.inception is undefined or null');
|
||||
// }
|
||||
|
||||
// if (response.correction) {
|
||||
// $.each(response.correction, function(index, item) {
|
||||
// if (item.batch_export_count == 0 || item.batch_import_count == 0) {
|
||||
|
||||
|
||||
// var queryParams = {
|
||||
// client_id: item.client_id,
|
||||
// client_branch_id: item.branch_id,
|
||||
// event: 'correction',
|
||||
// actions: 'export',
|
||||
// insurer_or_tpa: 'tpa',
|
||||
// };
|
||||
|
||||
// const queryString = objectToQueryString(queryParams);
|
||||
|
||||
// var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
|
||||
// ////console.log(url)
|
||||
|
||||
|
||||
// var toast_body_css = 'background : #bfd7eb !important;';
|
||||
// var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
// var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
// var toast_status_word = 'Info';
|
||||
|
||||
// var title = 'Correction Pending';
|
||||
|
||||
|
||||
// if (!item.branch_name.toLowerCase().includes('branch')) {
|
||||
|
||||
// //console.log(item.branch_name)
|
||||
// item.branch_name += ' branch';
|
||||
|
||||
// }
|
||||
|
||||
// ////console.log(item.branch_name);
|
||||
|
||||
// // if (item.batch_export_count > 0) {
|
||||
|
||||
// // title = 'Correction Import Pending';
|
||||
// // }
|
||||
|
||||
// var toast_body_data = item.client_name + ' - ' + item.branch_name;
|
||||
// ////console.log(toast_body_data);
|
||||
|
||||
// var html = ` <li data-id="" data-url="${url}">
|
||||
// <div class="p-3">
|
||||
// <div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
// <div class="toast-header " style="${toast_head_css}" >
|
||||
// <strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
// <button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
// <span aria-hidden="true">×</span>
|
||||
// </button>
|
||||
// </div>
|
||||
// <div class="toast-body" style="${toast_body_css}">
|
||||
// <strong>${title}</strong><br><br>
|
||||
// <small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
// <div class="toast-footer">
|
||||
// <a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
// <small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </li>`
|
||||
|
||||
|
||||
// messagesList.append(html);
|
||||
|
||||
// }
|
||||
// });
|
||||
// }else{
|
||||
// console.log('response.correction is undefined or null');
|
||||
// }
|
||||
|
||||
// if (response.deletion) {
|
||||
// $.each(response.deletion, function(index, item) {
|
||||
|
||||
// if (item.batch_export_count == 0 || item.batch_import_count == 0) {
|
||||
|
||||
|
||||
// var queryParams = {
|
||||
|
||||
// client_id: item.client_id,
|
||||
// client_policy_id: item.client_policy_id,
|
||||
// client_branch_id: item.branch_id,
|
||||
// event: 'deletion',
|
||||
// actions: 'export',
|
||||
// insurer_or_tpa: 'tpa',
|
||||
|
||||
// };
|
||||
|
||||
// const queryString = objectToQueryString(queryParams);
|
||||
|
||||
// var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
|
||||
// ////console.log(url)
|
||||
|
||||
|
||||
// var toast_body_css = 'background : #bfd7eb !important;';
|
||||
// var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
// var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
// var toast_status_word = 'Info';
|
||||
// var title = 'Deletion Pending';
|
||||
|
||||
|
||||
// if (!item.branch_name.toLowerCase().includes('branch')) {
|
||||
|
||||
// //console.log(item.branch_name)
|
||||
// item.branch_name += ' branch';
|
||||
|
||||
// }
|
||||
|
||||
// ////console.log(item.branch_name);
|
||||
|
||||
// // if (item.batch_export_count > 0) {
|
||||
|
||||
// // title = 'Deletion Import Pending';
|
||||
// // }
|
||||
|
||||
// var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
|
||||
// ////console.log(toast_body_data);
|
||||
|
||||
// var html = ` <li data-id="" data-url="${url}">
|
||||
// <div class="p-3">
|
||||
// <div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
// <div class="toast-header " style="${toast_head_css}" >
|
||||
// <strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
// <button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
// <span aria-hidden="true">×</span>
|
||||
// </button>
|
||||
// </div>
|
||||
// <div class="toast-body" style="${toast_body_css}">
|
||||
// <strong>${title}</strong><br><br>
|
||||
// <small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
// <div class="toast-footer">
|
||||
// <a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
// <small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </li>`
|
||||
|
||||
|
||||
// messagesList.append(html);
|
||||
|
||||
// }
|
||||
|
||||
// });
|
||||
// }else{
|
||||
// console.log('response.deletion is undefined or null');
|
||||
|
||||
// }
|
||||
|
||||
// if (response.si_enhancement) {
|
||||
// $.each(response.si_enhancement, function(index, item) {
|
||||
// if (item.batch_export_count == 0 || item.batch_import_count == 0) {
|
||||
|
||||
|
||||
// var queryParams = {
|
||||
// client_id: item.client_id,
|
||||
// client_policy_id: item.client_policy_id,
|
||||
// client_branch_id: item.branch_id,
|
||||
// event: 'si_enhancement',
|
||||
// actions: 'export',
|
||||
// insurer_or_tpa: 'tpa',
|
||||
// };
|
||||
|
||||
// const queryString = objectToQueryString(queryParams);
|
||||
|
||||
// var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
|
||||
// ////console.log(url)
|
||||
|
||||
|
||||
// var toast_body_css = 'background : #bfd7eb !important;';
|
||||
// var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
// var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
// var toast_status_word = 'Info';
|
||||
// var title = 'SI Enhancement Pending';
|
||||
|
||||
|
||||
// if (!item.branch_name.toLowerCase().includes('branch')) {
|
||||
|
||||
// //console.log(item.branch_name)
|
||||
// item.branch_name += ' branch';
|
||||
|
||||
// }
|
||||
|
||||
// ////console.log(item.branch_name);
|
||||
|
||||
// // if (item.batch_export_count > 0) {
|
||||
|
||||
// // title = 'SI Enhancement Import Pending';
|
||||
// // }
|
||||
|
||||
// var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
|
||||
// ////console.log(toast_body_data);
|
||||
|
||||
// var html = ` <li data-id="" data-url="${url}">
|
||||
// <div class="p-3">
|
||||
// <div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
// <div class="toast-header " style="${toast_head_css}" >
|
||||
// <strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
// <button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
// <span aria-hidden="true">×</span>
|
||||
// </button>
|
||||
// </div>
|
||||
// <div class="toast-body" style="${toast_body_css}">
|
||||
// <strong>${title}</strong><br><br>
|
||||
// <small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
// <div class="toast-footer">
|
||||
// <a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
// <small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </li>`
|
||||
|
||||
|
||||
// messagesList.append(html);
|
||||
|
||||
// }
|
||||
|
||||
// });
|
||||
// }else{
|
||||
// console.log('response.si_enhancement is undefined or null');
|
||||
|
||||
// }
|
||||
|
||||
// if (response.tpa) {
|
||||
// $.each(response.tpa, function(index, item) {
|
||||
// if (item.batch_export_count == 0 || item.batch_import_count == 0) {
|
||||
|
||||
|
||||
// var queryParams = {
|
||||
// client_id: item.client_id,
|
||||
// client_policy_id: item.client_policy_id,
|
||||
// client_branch_id: item.branch_id,
|
||||
// event: 'inception',
|
||||
// insurer_or_tpa: 'tpa',
|
||||
// actions: 'export',
|
||||
// };
|
||||
|
||||
// const queryString = objectToQueryString(queryParams);
|
||||
|
||||
// var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
|
||||
// ////console.log(url)
|
||||
|
||||
|
||||
// var toast_body_css = 'background : #bfd7eb !important;';
|
||||
// var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
// var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
// var toast_status_word = 'Info';
|
||||
// var title = 'TPA Pending';
|
||||
|
||||
// if (!item.branch_name.toLowerCase().includes('branch')) {
|
||||
|
||||
// //console.log(item.branch_name)
|
||||
// item.branch_name += ' branch';
|
||||
|
||||
// }
|
||||
|
||||
// ////console.log(item.branch_name);
|
||||
|
||||
// // if (item.batch_export_count > 0) {
|
||||
|
||||
// // title = 'TPA Import Pending';
|
||||
// // }
|
||||
|
||||
// var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
|
||||
// ////console.log(toast_body_data);
|
||||
|
||||
// var html = ` <li data-id="" data-url="${url}">
|
||||
// <div class="p-3">
|
||||
// <div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
// <div class="toast-header " style="${toast_head_css}" >
|
||||
// <strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
// <button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
// <span aria-hidden="true">×</span>
|
||||
// </button>
|
||||
// </div>
|
||||
// <div class="toast-body" style="${toast_body_css}">
|
||||
// <strong>${title}</strong><br><br>
|
||||
// <small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
// <div class="toast-footer">
|
||||
// <a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
// <small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </li>`
|
||||
|
||||
|
||||
// messagesList.append(html);
|
||||
|
||||
// }
|
||||
// });
|
||||
// }else{
|
||||
// console.log('response.tpa is undefined or null');
|
||||
|
||||
// }
|
||||
|
||||
// if (response.uhid) {
|
||||
// $.each(response.uhid, function(index, item) {
|
||||
// if (item.batch_export_count == 0 || item.batch_import_count == 0) {
|
||||
|
||||
// var queryParams = {
|
||||
|
||||
// client_id: item.client_id,
|
||||
// client_policy_id: item.client_policy_id,
|
||||
// client_branch_id: item.branch_id,
|
||||
// event: 'inception',
|
||||
// insurer_or_tpa: 'insurer',
|
||||
// actions: 'export',
|
||||
// };
|
||||
|
||||
// const queryString = objectToQueryString(queryParams);
|
||||
|
||||
// var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
|
||||
// //console.log(url)
|
||||
|
||||
// var toast_body_css = 'background : #bfd7eb !important;';
|
||||
// var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
// var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
// var toast_status_word = 'Info';
|
||||
// var title = 'Insurer Pending';
|
||||
|
||||
|
||||
// if (!item.branch_name.toLowerCase().includes('branch')) {
|
||||
|
||||
// //console.log(item.branch_name)
|
||||
// item.branch_name += ' branch';
|
||||
|
||||
// }
|
||||
|
||||
// ////console.log(item.branch_name);
|
||||
|
||||
// // if (item.batch_export_count > 0) {
|
||||
|
||||
// // title = 'Insurer Import Pending';
|
||||
// // }
|
||||
|
||||
// var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
|
||||
// ////console.log(toast_body_data);
|
||||
|
||||
// var html = ` <li data-id="" data-url="${url}">
|
||||
// <div class="p-3">
|
||||
// <div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
// <div class="toast-header " style="${toast_head_css}" >
|
||||
// <strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
// <button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
// <span aria-hidden="true">×</span>
|
||||
// </button>
|
||||
// </div>
|
||||
// <div class="toast-body" style="${toast_body_css}">
|
||||
// <strong>${title}</strong><br><br>
|
||||
// <small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
// <div class="toast-footer">
|
||||
// <a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
// <small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </li>`
|
||||
|
||||
|
||||
// messagesList.append(html);
|
||||
|
||||
// }
|
||||
// });
|
||||
// }else{
|
||||
// console.log('response.uhid is undefined or null');
|
||||
// }
|
||||
// localStorage.setItem('pendingActionCount', pendingActionCount)
|
||||
|
||||
// },
|
||||
// error: function(xhr, status, error) {
|
||||
// console.error(xhr.responseText); // Log the error response
|
||||
// }
|
||||
|
||||
// });
|
||||
// }
|
||||
|
||||
// fetchPendingAction()
|
||||
|
||||
// $('#messages-list-2').on('click', 'li', function(event) {
|
||||
|
||||
// //console.log('messages-list-2 click li')
|
||||
|
||||
// if ($(event.target).closest('.rm_msg').length > 0) {
|
||||
|
||||
// //console.log('.rm_msg')
|
||||
|
||||
// $(this).delay(300).fadeOut('slow', function() {
|
||||
// $(this).remove();
|
||||
// });
|
||||
|
||||
// } else if ($(event.target).closest('.redirect_page').length > 0) {
|
||||
|
||||
// //console.log('redirect_page')
|
||||
|
||||
// let url = $(this).data('url');
|
||||
// //console.log('url : ', url);
|
||||
|
||||
// window.location.href = '<?= base_url() ?>' + url;
|
||||
// }
|
||||
|
||||
|
||||
// });
|
||||
// })
|
||||
|
||||
function objectToQueryString(obj) {
|
||||
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
// function formatDate(dateString)
|
||||
// {
|
||||
// // Parse the input date string
|
||||
// let date = new Date(dateString);
|
||||
|
||||
// // Define months array
|
||||
// const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
||||
|
||||
// // Extract day, month, year, hours, and minutes
|
||||
// let day = date.getDate();
|
||||
// let month = months[date.getMonth()];
|
||||
// let year = date.getFullYear();
|
||||
// let hours = date.getHours();
|
||||
// let minutes = date.getMinutes();
|
||||
|
||||
// // Convert hours to 12-hour format
|
||||
// let period = hours >= 12 ? 'pm' : 'am';
|
||||
// hours = hours % 12;
|
||||
// hours = hours ? hours : 12; // Handle midnight (0 hours)
|
||||
|
||||
// // Format the time string
|
||||
// let timeString = ('0' + hours).slice(-2) + ':' + ('0' + minutes).slice(-2) + ' ' + period;
|
||||
|
||||
// // Format the date string
|
||||
// let formattedDate = day + '-' + month + '-' + year + ' ' + timeString;
|
||||
|
||||
// return formattedDate;
|
||||
// }
|
||||
|
||||
function printCurrentTime()
|
||||
{
|
||||
var now = new Date();
|
||||
var hours = now.getHours().toString().padStart(2, '0');
|
||||
var minutes = now.getMinutes().toString().padStart(2, '0');
|
||||
var seconds = now.getSeconds().toString().padStart(2, '0');
|
||||
var currentTime = hours + ':' + minutes + ':' + seconds;
|
||||
// console.log("Current Time:", currentTime);
|
||||
|
||||
return currentTime;
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
||||
function checkDuplicateTableFieldValue(tableName, fieldName, value, callback) {
|
||||
$.ajax({
|
||||
url: '<?= base_url('util/checkDuplicateTableFieldValue') ?>', // Adjust this to your endpoint in CodeIgniter
|
||||
type: 'POST',
|
||||
data: {
|
||||
table: tableName,
|
||||
field: fieldName,
|
||||
value: value
|
||||
},
|
||||
dataType: 'json',
|
||||
success: function(response) {
|
||||
if (typeof callback === 'function') {
|
||||
callback(response.isDuplicate); // Pass the result to the callback
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
console.error('AJAX Error:', error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function sendAjaxRequestForGlobal(url, method, data = {}, successCallback = null, errorCallback = null) {
|
||||
$.ajax({
|
||||
url: url,
|
||||
method: method,
|
||||
data: data,
|
||||
dataType: 'json', // Expected response type
|
||||
success: function(response) {
|
||||
// If a success callback is provided, call it with the response
|
||||
if (successCallback) {
|
||||
successCallback(response);
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
// Handle errors if provided error callback
|
||||
if (errorCallback) {
|
||||
errorCallback(xhr, status, error);
|
||||
} else {
|
||||
console.error('AJAX Error:', error);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function confirmActionSweertAlert(message = "Are you sure?", confirmText = "Yes, Proceed!", cancelText = "Cancel", icon = "warning") {
|
||||
return Swal.fire({
|
||||
title: message,
|
||||
icon: icon,
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#3085d6",
|
||||
cancelButtonColor: "#d33",
|
||||
confirmButtonText: confirmText,
|
||||
cancelButtonText: cancelText
|
||||
}).then((result) => {
|
||||
return result.isConfirmed; // Returns true if confirmed, false otherwise
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
window.addEventListener("load", function() {
|
||||
document.body.style.setProperty("background-color", "white", "important");
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function closeModalById(modalId) {
|
||||
// Get the modal element
|
||||
var modal = document.getElementById(modalId);
|
||||
if (!modal) return; // Exit if no modal found
|
||||
|
||||
// Hide it by removing "show" or "in" classes and setting display:none
|
||||
modal.style.display = 'none';
|
||||
modal.classList.remove('in', 'show'); // 'in' for BS3, 'show' for BS4/5
|
||||
modal.setAttribute('aria-hidden', 'true');
|
||||
modal.removeAttribute('aria-modal'); // optional
|
||||
modal.removeAttribute('role'); // optional
|
||||
|
||||
// Remove backdrop if present
|
||||
var backdrop = document.querySelector('.modal-backdrop');
|
||||
if (backdrop) backdrop.remove();
|
||||
|
||||
// Allow page scrolling again
|
||||
document.body.classList.remove('modal-open');
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -50,17 +50,17 @@
|
||||
<link href="<?= base_url() . "public"; ?>/assets/css/jodit.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
|
||||
<!-- JQuery CDN -->
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<!-- JQuery CDN -->
|
||||
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
||||
|
||||
<!-- Sweet Alert CDN -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.4/dist/sweetalert2.all.min.js"></script>
|
||||
<!-- Sweet Alert CDN -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.12.0/dist/sweetalert2.all.min.js"></script>
|
||||
|
||||
<!-- select2 -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet" type="text/css">
|
||||
<!-- select2 -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" type="text/css">
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.3/dist/umd/popper.min.js"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.7.1.slim.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"></script>
|
||||
|
||||
<!-- <link rel="manifest" href="../manifest.json"> -->
|
||||
|
||||
@ -77,7 +77,7 @@
|
||||
</script> -->
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css" />
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
|
||||
<!-- <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> -->
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
|
||||
<!-- srinivas -->
|
||||
<script src="https://editor.unlayer.com/embed.js"></script>
|
||||
|
||||
759
app/Views/layout/header_old_outdated.php
Normal file
759
app/Views/layout/header_old_outdated.php
Normal file
@ -0,0 +1,759 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<title><?= isset($page_name) ? $page_name : 'NHance'; ?></title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta content="" name="description" />
|
||||
<meta content="NHANCE" name="NHANCE" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
|
||||
|
||||
<!-- App favicon -->
|
||||
<link rel="shortcut icon" href="<?= base_url() . "public"; ?>/assets/images/Nhance_Favi.svg">
|
||||
|
||||
<!-- plugin css -->
|
||||
<link href="<?= base_url() . "public"; ?>/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<!-- third party css -->
|
||||
<link href="<?= base_url() . "public"; ?>/assets/libs/datatables.net-bs4/css/dataTables.bootstrap4.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="<?= base_url() . "public"; ?>/assets/libs/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="<?= base_url() . "public"; ?>/assets/libs/datatables.net-select-bs4/css//select.bootstrap4.min.css" rel="stylesheet" type="text/css" />
|
||||
<!-- third party css end -->
|
||||
|
||||
<!-- App css -->
|
||||
<link href="<?= base_url() . "public"; ?>/assets/css/bootstrap-creative.min.css" rel="stylesheet" type="text/css" id="bs-default-stylesheet" />
|
||||
<link href="<?= base_url() . "public"; ?>/assets/css/app-creative.min.css" rel="stylesheet" type="text/css" id="app-default-stylesheet" />
|
||||
|
||||
<link href="<?= base_url() . "public"; ?>/assets/css/bootstrap-creative-dark.min.css" rel="stylesheet" type="text/css" id="bs-dark-stylesheet" />
|
||||
<link href="<?= base_url() . "public"; ?>/assets/css/app-creative-dark.min.css" rel="stylesheet" type="text/css" id="app-dark-stylesheet" />
|
||||
|
||||
<!-- icons -->
|
||||
<link href="<?= base_url() . "public"; ?>/assets/css/icons.min.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<link href="<?= base_url() . "public"; ?>/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="<?= base_url() . "public"; ?>/assets/libs/bootstrap-daterangepicker/daterangepicker.css" rel="stylesheet" type="text/css">
|
||||
<link href="<?= base_url() . "public"; ?>/assets/libs/bootstrap-daterangepicker/daterangepicker.css" rel="stylesheet" type="text/css">
|
||||
|
||||
|
||||
<!-- <link href="<?= base_url() . "public"; ?>/assets/css/bootstrap-material.min.css" rel="stylesheet" type="text/css" id="bs-default-stylesheet" /> -->
|
||||
<!-- <link href="<?= base_url() . "public"; ?>/assets/css/app-material.min.css" rel="stylesheet" type="text/css" id="app-default-stylesheet" /> -->
|
||||
|
||||
|
||||
<!-- <link href="<?= base_url() . "public"; ?>/assets/css/bootstrap-editable.css" rel="stylesheet" type="text/css" /> -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/remixicon/fonts/remixicon.css" rel="stylesheet">
|
||||
|
||||
<!-- Jodit Css -->
|
||||
<link href="<?= base_url() . "public"; ?>/assets/css/jodit.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
|
||||
<!-- JQuery CDN -->
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
|
||||
<!-- Sweet Alert CDN -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.4/dist/sweetalert2.all.min.js"></script>
|
||||
|
||||
<!-- select2 -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet" type="text/css">
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.3/dist/umd/popper.min.js"></script>
|
||||
|
||||
<!-- <link rel="manifest" href="../manifest.json"> -->
|
||||
|
||||
<!-- <script>
|
||||
if ('serviceWorker' in navigator) {
|
||||
window.addEventListener('load', function() {
|
||||
navigator.serviceWorker.register('../service-worker.js').then(function(registration) {
|
||||
// console.log('Service Worker registration successful with scope:', registration.scope);
|
||||
}, function(err) {
|
||||
// console.log('Service Worker registration failed:', err);
|
||||
});
|
||||
});
|
||||
}
|
||||
</script> -->
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css" />
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
|
||||
<!-- srinivas -->
|
||||
<script src="https://editor.unlayer.com/embed.js"></script>
|
||||
<!-- <script src="<?= base_url('public/unlayer/js/embed.js') . '' ?>"></script> -->
|
||||
<!-- srinivas -->
|
||||
|
||||
<style>
|
||||
|
||||
|
||||
body[data-sidebar-size=condensed]:not([data-layout=compact]):not(.auth-fluid-pages) {
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
body[data-sidebar-size=condensed] .navbar-custom {
|
||||
left: 155px !important;
|
||||
}
|
||||
|
||||
body[data-sidebar-size=condensed] .logo-box {
|
||||
width: 155px !important;
|
||||
}
|
||||
|
||||
.navbar-custom {
|
||||
top: -10px !important;
|
||||
height: 61px !important;
|
||||
}
|
||||
|
||||
.logo-box {
|
||||
top: -10px !important;
|
||||
height: 61px !important;
|
||||
}
|
||||
|
||||
.content-page {
|
||||
padding: 80px 15px 65px 15px !important;
|
||||
}
|
||||
|
||||
/* Media query for small screens */
|
||||
@media screen and (min-width: 768px) {
|
||||
|
||||
/* Styles for screens with a minimum width of 768px (e.g., tablets and larger devices) */
|
||||
.navbar-custom .button-menu-mobile {
|
||||
display: none;
|
||||
/* Hide the button on larger screens */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.loader-mask {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #00000069;
|
||||
z-index: 99999;
|
||||
}
|
||||
|
||||
.loader {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
font-size: 0;
|
||||
color: #00c9d0;
|
||||
display: inline-block;
|
||||
margin: -25px 0 0 -25px;
|
||||
text-indent: -9999em;
|
||||
-webkit-transform: translateZ(0);
|
||||
-ms-transform: translateZ(0);
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
.lead {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.loader div {
|
||||
background-color: #6ad9cf;
|
||||
display: inline-block;
|
||||
float: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
opacity: .5;
|
||||
border-radius: 50%;
|
||||
-webkit-animation: ballPulseDouble 2s ease-in-out infinite;
|
||||
animation: ballPulseDouble 2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.loader div:last-child {
|
||||
-webkit-animation-delay: -1s;
|
||||
animation-delay: -1s;
|
||||
}
|
||||
|
||||
@-webkit-keyframes ballPulseDouble {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
-webkit-transform: scale(0);
|
||||
transform: scale(0);
|
||||
}
|
||||
|
||||
50% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes ballPulseDouble {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
-webkit-transform: scale(0);
|
||||
transform: scale(0);
|
||||
}
|
||||
|
||||
50% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.toast-success {
|
||||
background-color: #009688 !important;
|
||||
color: #FFFFFF !important;
|
||||
}
|
||||
|
||||
/* .dataTables_wrapper .text-right {
|
||||
position: relative;
|
||||
} */
|
||||
|
||||
.dataTables_wrapper .dt-buttons .buttons-csv,
|
||||
.dataTables_wrapper .dt-buttons .buttons-html5 {
|
||||
background-color: #02a8b5;
|
||||
color: #fff;
|
||||
border-color: #02a8b5;
|
||||
}
|
||||
|
||||
.dataTables_wrapper .dt-buttons .buttons-csv:hover,
|
||||
.dataTables_wrapper .dt-buttons .buttons-html5:hover {
|
||||
background-color: #028291;
|
||||
border-color: #028291;
|
||||
}
|
||||
|
||||
|
||||
.modal-full-width {
|
||||
width: 80% !important;
|
||||
/* width: 95% !important; */
|
||||
/* max-width: none; */
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
/* position: relative;
|
||||
flex: 1 1 auto; */
|
||||
padding: 2rem !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
.text-danger-2 {
|
||||
font-style: italic;
|
||||
color: black !important;
|
||||
/* color: #02a8b5 !important; */
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* .form-group {
|
||||
margin-bottom: -0.2rem !important;
|
||||
}
|
||||
.form-row{
|
||||
width: 84%;
|
||||
} */
|
||||
</style>
|
||||
|
||||
<style>
|
||||
.select2-container--default .select2-selection--single {
|
||||
height: 37px !important;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||
line-height: 35px !important;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||
top: 7px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
.toast-body {
|
||||
padding: .75rem;
|
||||
background: aliceblue !important;
|
||||
}
|
||||
|
||||
#messages-list li {
|
||||
margin-top: 0;
|
||||
margin-bottom: -25px;
|
||||
/* Adjust this value to reduce the space */
|
||||
}
|
||||
|
||||
.toast-footer {
|
||||
text-align: right;
|
||||
color: #000;
|
||||
border-top: 1px solid aliceblue;
|
||||
margin-top: 11px;
|
||||
margin-bottom: -6px;
|
||||
}
|
||||
|
||||
|
||||
.right-bar {
|
||||
width: 300px;
|
||||
/* Adjust as needed */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fixed-header {
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 1000;
|
||||
background-color: #f8f9fa !important;
|
||||
}
|
||||
|
||||
.scrollable-content {
|
||||
max-height: 42vh;
|
||||
overflow-y: auto;
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
/* Additional styles to enhance appearance */
|
||||
.header-title {
|
||||
position: relative;
|
||||
bottom: 5px;
|
||||
left: 60px;
|
||||
}
|
||||
|
||||
#app_content_management:hover {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
$(window).on('load', function() {
|
||||
setTimeout(function() {
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').fadeOut('slow');
|
||||
}, 1000);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body class="loading" data-layout-mode="" data-layout='{"mode": "light", "width": "fluid", "menuPosition": "fixed", "sidebar": { "color": "light", "size": "condensed", "showuser": false}, "topbar": {"color": "dark"}, "showRightSidebarOnPageLoad": false}'></body>
|
||||
|
||||
<!-- Preloader -->
|
||||
<div class="loader-mask">
|
||||
<div class="loader">
|
||||
<img src="<?= base_url() . "public" ?>/assets/images/nhance-loader-fast.gif" height="40" width="40" alt="Loading...">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <img src="<?= base_url() . "public" ?>/assets/images/nhance-loader-fast.gif" height="40" width="40" alt="Loading..."> -->
|
||||
<!-- Begin page -->
|
||||
<div id="wrapper">
|
||||
|
||||
<!-- Topbar Start -->
|
||||
<div class="navbar-custom">
|
||||
<div class="container-fluid">
|
||||
<ul class="list-unstyled topnav-menu float-right mb-0">
|
||||
|
||||
<!-- <li class="d-none d-lg-block">
|
||||
<form class="app-search">
|
||||
<div class="app-search-box dropdown">
|
||||
<div class="input-group">
|
||||
<input type="search" class="form-control" placeholder="Search..." id="top-search">
|
||||
<div class="input-group-append">
|
||||
<button class="btn" type="submit">
|
||||
<i class="fe-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- <div class="dropdown-menu dropdown-lg" id="search-dropdown">
|
||||
<div class="dropdown-header noti-title">
|
||||
<h5 class="text-overflow mb-2">Found <span class="text-danger">09</span> results</h5>
|
||||
</div>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<i class="fe-home mr-1"></i>
|
||||
<span>Analytics Report</span>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<i class="fe-aperture mr-1"></i>
|
||||
<span>How can I help you?</span>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<i class="fe-settings mr-1"></i>
|
||||
<span>User profile settings</span>
|
||||
</a>
|
||||
|
||||
<div class="dropdown-header noti-title">
|
||||
<h6 class="text-overflow mb-2 text-uppercase">Users</h6>
|
||||
</div>
|
||||
|
||||
<div class="notification-list">
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<div class="media">
|
||||
<img class="d-flex mr-2 rounded-circle" src="<?= base_url() . "public"; ?>/assets/images/users/avatar-2.jpg" alt="Generic placeholder image" height="32">
|
||||
<div class="media-body">
|
||||
<h5 class="m-0 font-14">Erwin E. Brown</h5>
|
||||
<span class="font-12 mb-0">UI Designer</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<div class="media">
|
||||
<img class="d-flex mr-2 rounded-circle" src="<?= base_url() . "public"; ?>/assets/images/users/avatar-5.jpg" alt="Generic placeholder image" height="32">
|
||||
<div class="media-body">
|
||||
<h5 class="m-0 font-14">Jacob Deo</h5>
|
||||
<span class="font-12 mb-0">Developer</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div> -->
|
||||
<!-- </div>
|
||||
</form>
|
||||
</li> -->
|
||||
|
||||
<!-- <li class="dropdown notification-list topbar-dropdown">
|
||||
<a class="nav-link dropdown-toggle right-bar-toggle waves-effect waves-light">
|
||||
<i class="fe-bell noti-icon"></i>
|
||||
<span class="badge badge-danger rounded-circle noti-icon-badge" id="notification_count">0</span>
|
||||
</a>
|
||||
</li> -->
|
||||
|
||||
<li class="dropdown notification-list topbar-dropdown">
|
||||
<a class="nav-link dropdown-toggle nav-user mr-0 waves-effect waves-light" data-toggle="dropdown" href="#" role="button" aria-haspopup="false" aria-expanded="false">
|
||||
<img src="<?php echo (get_userProfile() != null && !empty(get_userProfile())) ? get_userProfile() : base_url() . 'public/assets/images/avatar_2x.png'; ?>" alt="user-image" class="rounded-circle">
|
||||
<span class="pro-user-name ml-1" style="font-size: 16px;">
|
||||
<?= (isset(get_session_userdata()->first_name) ? get_session_userdata()->first_name : 'NOT SET') ?>
|
||||
<!-- <i class="mdi mdi-chevron-down"></i> -->
|
||||
</span>
|
||||
</a>
|
||||
<!--<div class="dropdown-menu dropdown-menu-right profile-dropdown ">
|
||||
<div class="dropdown-header noti-title">
|
||||
<h6 class="text-overflow m-0">Welcome !</h6>
|
||||
</div>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<i class="ri-account-circle-line"></i>
|
||||
<span>My Account</span>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<i class="ri-settings-3-line"></i>
|
||||
<span>Settings</span>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<i class="ri-wallet-line"></i>
|
||||
<span>My Wallet <span class="badge badge-success float-right">3</span> </span>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<i class="ri-lock-line"></i>
|
||||
<span>Lock Screen</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a href="<?= base_url('/logout'); ?>" class="dropdown-item notify-item">
|
||||
<i class="ri-logout-box-line"></i>
|
||||
<span>Logout</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<!-- </li> -->
|
||||
|
||||
<!-- <li class="dropdown notification-list">
|
||||
<a href="javascript:void(0);" class="nav-link right-bar-toggle waves-effect waves-light">
|
||||
<i class="fe-settings noti-icon"></i>
|
||||
</a>
|
||||
</li> -->
|
||||
|
||||
<li class="dropdown notification-list">
|
||||
<a href="<?= base_url('/logout'); ?>" class="nav-link waves-effect waves-light">
|
||||
<i class="ri-logout-box-r-line" style="font-size: 25px;"></i>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<!-- LOGO -->
|
||||
<div class="logo-box">
|
||||
<a href="https://localhost/nhance-enrollment/dashboard/view" class="logo logo-dark text-center">
|
||||
<span class="logo-sm">
|
||||
<img src="<?= base_url() . "public"; ?>/assets/images/Nhance_Favi.svg" alt="" height="24">
|
||||
<!-- <span class="logo-lg-text-light">NHANCE</span> -->
|
||||
</span>
|
||||
<span class="logo-lg">
|
||||
<img src="<?= base_url() . "public"; ?>/assets/images/Nhance_Favi.svg" alt="" height="20">
|
||||
<!-- <span class="logo-lg-text-light">M</span> -->
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<a href="https://localhost/nhance-enrollment/dashboard/view" class="logo logo-light text-center">
|
||||
<span class="logo-sm">
|
||||
<img src="<?= base_url() . "public"; ?>/assets/images/Nhance_Favi.svg" alt="" height="24">
|
||||
</span>
|
||||
<!-- <span class="logo-lg">
|
||||
<img src="<?= base_url() . "public"; ?>/assets/images/logo-light.png" alt="" height="20">
|
||||
</span> -->
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<ul class="list-unstyled topnav-menu topnav-menu-left m-0">
|
||||
<li>
|
||||
<button class="button-menu-mobile waves-effect waves-light">
|
||||
<i class="fe-menu"></i>
|
||||
</button>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<!-- Mobile menu toggle (Horizontal Layout)-->
|
||||
<a class="navbar-toggle nav-link" data-toggle="collapse" data-target="#topnav-menu-content">
|
||||
<div class="lines">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
</a>
|
||||
<!-- End mobile menu toggle-->
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end Topbar -->
|
||||
|
||||
<!-- ========== Left Sidebar Start ========== -->
|
||||
<div class="left-side-menu">
|
||||
|
||||
|
||||
<!-- LOGO -->
|
||||
<div class="logo-box">
|
||||
<a href="<?= base_url('/dashboard/view') ?>" class="logo logo-dark text-center">
|
||||
<span class="logo-sm">
|
||||
<img src="<?= base_url() . "public"; ?>/assets/images/logo-sm-dark.png" alt="" height="24">
|
||||
<!-- <span class="logo-lg-text-light">nHance</span> -->
|
||||
</span>
|
||||
<span class="logo-lg">
|
||||
<img src="<?= base_url() . "public"; ?>/assets/images/logo-dark.png" alt="" height="20">
|
||||
<!-- <span class="logo-lg-text-light">N</span> -->
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<a href="<?= base_url('/dashboard/view') ?>" class="logo logo-light text-center">
|
||||
<span class="logo-sm">
|
||||
<img src="<?= base_url() . "public"; ?>/assets/images/nhance_white_logo.svg" alt="" width="130" height="30">
|
||||
</span>
|
||||
<!-- <span class="logo-lg">
|
||||
<img src="<?= base_url() . "public"; ?>./assets/images/logo-light.png" alt="" height="20">
|
||||
</span> -->
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="h-100" data-simplebar>
|
||||
|
||||
<!--- Sidemenu -->
|
||||
<div id="sidebar-menu">
|
||||
<ul id="side-menu">
|
||||
|
||||
<li>
|
||||
<a href="<?= base_url('/dashboard/view') ?>">
|
||||
<i class="ri-dashboard-line"></i>
|
||||
<span> Dashboard </span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="<?= base_url('/client/list') ?>">
|
||||
<i class="mdi mdi-domain"></i>
|
||||
<span> Clients </span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#sidebarDashboards" data-toggle="collapse" class="waves-effect">
|
||||
<i class="fas fa-user-tie"></i>
|
||||
<span class="badge badge-success badge-pill float-right">2</span>
|
||||
<span> Action on Policies </span>
|
||||
</a>
|
||||
<div class="collapse" id="sidebarDashboards">
|
||||
<ul class="nav-second-level">
|
||||
|
||||
<li>
|
||||
<a href="<?= base_url('/employee/upload') ?>">View Inception</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?= base_url('/employee/list') ?>">View Members</a>
|
||||
</li>
|
||||
<!-- <li>
|
||||
<a href="<?= base_url('/employee/endorsement-list') ?>">View Endorsement</a>
|
||||
</li> -->
|
||||
<li>
|
||||
<a href="<?= base_url('/employee/enrollment-list') ?>">View Enrolment</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?= base_url('/employee/test_members_list') ?>">Test Members List</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<?php if(get_role_id() == 1 || get_role_id() == 5) { ?>
|
||||
|
||||
<li>
|
||||
<a href="#sidebarDashboards" data-toggle="collapse" class="waves-effect">
|
||||
<i class="ri-database-2-line"></i>
|
||||
<span class="badge badge-success badge-pill float-right">2</span>
|
||||
<span> Masters </span>
|
||||
</a>
|
||||
<div class="collapse" id="sidebarDashboards">
|
||||
<ul class="nav-second-level">
|
||||
<!-- <li>
|
||||
<a href="<?= base_url('/master/insurer/list') ?>">Insurer</a>
|
||||
</li> -->
|
||||
<!-- <li>
|
||||
<a href="<?= base_url('/master/tpa/list') ?>">TPA</a>
|
||||
</li> -->
|
||||
<!-- <li>
|
||||
<a href="<?= base_url('/master/kyc/list') ?>">KYC</a>
|
||||
</li> -->
|
||||
<!-- <li>
|
||||
<a href="<?= base_url('/master/policy/list') ?>">Policy</a>
|
||||
</li> -->
|
||||
<!-- <li>
|
||||
<a href="<?= base_url('/master/cash_deposite/list') ?>">CD Master</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?= base_url('/master/vehicle/list') ?>">Vehicle Master</a>
|
||||
</li> -->
|
||||
<li>
|
||||
<a href="<?= base_url('/user/list') ?>"> Users </a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<!-- <li>
|
||||
<?php /*
|
||||
$sessionData = get_session_userdata();
|
||||
$currentUrl = base_url();
|
||||
$parsedUrl = parse_url($currentUrl);
|
||||
$baseUrl = $parsedUrl['scheme'] . '://' . $parsedUrl['host'] . '/';
|
||||
$hashedEmail = hash('sha256', $sessionData->email);
|
||||
$redirectUrl = getenv('helpdeskURL') .'/staff/login?' . http_build_query(['token' => $hashedEmail]);
|
||||
*/?>
|
||||
<a href="<?php //echo $redirectUrl; ?>" target="_blank">
|
||||
<i class="mdi mdi-lifebuoy"></i>
|
||||
<span> Tickets </span>
|
||||
</a>
|
||||
</li> -->
|
||||
|
||||
<!-- <li>
|
||||
<a id="app_content_management" href="#sidebarDashboardsmenu" data-toggle="collapse" class="waves-effect" style="color: grey;">
|
||||
<i class="fa fa-info-circle" aria-hidden="true"></i>
|
||||
<span class="badge badge-success badge-pill float-right">2</span>
|
||||
<span> App Content Management </span>
|
||||
</a>
|
||||
<div class="collapse" id="sidebarDashboardsmenu">
|
||||
<ul class="nav-second-level">
|
||||
<li>
|
||||
<a href="<?= base_url('/add_image_index') ?>"> Advertisement Images </a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?= base_url('/frontend_content') ?>">Front-end Content</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li> -->
|
||||
|
||||
<!-- leads -->
|
||||
<!-- <li>
|
||||
<a href="<?= base_url('/leads/list') ?>">
|
||||
<i class="mdi mdi-chart-bar"></i>
|
||||
<span> Leads </span>
|
||||
</a>
|
||||
</li> -->
|
||||
|
||||
<?php if((get_role_id() == 1 || get_role_id() == 5) && (in_array(BUSINESS_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team()))) { ?>
|
||||
|
||||
<!-- <li>
|
||||
<a href="#sidebarDashboards" data-toggle="collapse" class="waves-effect">
|
||||
<i class="mdi mdi-format-list-bulleted"></i>
|
||||
<span class="badge badge-success badge-pill float-right">2</span>
|
||||
<span> Policy Transactions </span>
|
||||
</a>
|
||||
<div class="collapse" id="sidebarDashboards">
|
||||
<ul class="nav-second-level">
|
||||
<li>
|
||||
<a href="<?= base_url('/policy_tranction/inception/list') ?>">Policy</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?= base_url('/policy_tranction/endorsement/list') ?>">Endorsement</a>
|
||||
</li>
|
||||
|
||||
<?php if (in_array(FINANCE_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
|
||||
|
||||
<li>
|
||||
<a href="<?= base_url('/policy_tranction/statement/list') ?>">Statement upload</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="<?= base_url('/policy_tranction/report/list') ?>">BDS</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?= base_url('/policy_tranction/report/report-varience-list') ?>">Variance</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?= base_url('/policy_tranction/report/report-outstanding-list') ?>">Outstanding</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?= base_url('/policy_tranction/report/report-finance-list') ?>">Finance Team</a>
|
||||
</li>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<?php if (in_array(BUSINESS_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
|
||||
|
||||
<li>
|
||||
<a href="<?= base_url('/policy_tranction/report/report-business-list') ?>">Business Team</a>
|
||||
</li>
|
||||
|
||||
<?php } ?>
|
||||
<li>
|
||||
<a href="<?= base_url('/master/cash_deposite/list') ?>">CD Master</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?= base_url('/master/vehicle/list') ?>">Vehicle Master</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?= base_url('/dmsSearch') ?>">Documents</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li> -->
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<!-- End Sidebar -->
|
||||
|
||||
</div>
|
||||
<!-- Sidebar -left -->
|
||||
|
||||
</div>
|
||||
<!-- Left Sidebar End -->
|
||||
|
||||
<!-- ============================================================== -->
|
||||
<!-- Start Page Content here -->
|
||||
<!-- ============================================================== -->
|
||||
|
||||
<div class="content-page">
|
||||
<div class="content">
|
||||
|
||||
<!-- Start Content-->
|
||||
<div class="container-fluid"></div>
|
||||
25
public/assets/.htaccess
Normal file
25
public/assets/.htaccess
Normal file
@ -0,0 +1,25 @@
|
||||
# ===============================
|
||||
# ABSOLUTE SCRIPT EXECUTION BLOCK
|
||||
# ===============================
|
||||
|
||||
# Disable CGI
|
||||
Options -ExecCGI
|
||||
|
||||
# Disable PHP for mod_php / LiteSpeed
|
||||
<IfModule mod_php.c>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
<IfModule lsapi_module>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
# Block any script file access
|
||||
<FilesMatch "\.(php|php5|php7|php8|phtml|phar|pl|py|cgi|asp|aspx|jsp|sh|rb)$">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
|
||||
# Block double extensions
|
||||
<FilesMatch "\.(php|php5|php7|php8|phtml|phar)\.">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
25
public/e_card_imgs/.htaccess
Normal file
25
public/e_card_imgs/.htaccess
Normal file
@ -0,0 +1,25 @@
|
||||
# ===============================
|
||||
# ABSOLUTE SCRIPT EXECUTION BLOCK
|
||||
# ===============================
|
||||
|
||||
# Disable CGI
|
||||
Options -ExecCGI
|
||||
|
||||
# Disable PHP for mod_php / LiteSpeed
|
||||
<IfModule mod_php.c>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
<IfModule lsapi_module>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
# Block any script file access
|
||||
<FilesMatch "\.(php|php5|php7|php8|phtml|phar|pl|py|cgi|asp|aspx|jsp|sh|rb)$">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
|
||||
# Block double extensions
|
||||
<FilesMatch "\.(php|php5|php7|php8|phtml|phar)\.">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
25
public/sample_excel/.htaccess
Normal file
25
public/sample_excel/.htaccess
Normal file
@ -0,0 +1,25 @@
|
||||
# ===============================
|
||||
# ABSOLUTE SCRIPT EXECUTION BLOCK
|
||||
# ===============================
|
||||
|
||||
# Disable CGI
|
||||
Options -ExecCGI
|
||||
|
||||
# Disable PHP for mod_php / LiteSpeed
|
||||
<IfModule mod_php.c>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
<IfModule lsapi_module>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
# Block any script file access
|
||||
<FilesMatch "\.(php|php5|php7|php8|phtml|phar|pl|py|cgi|asp|aspx|jsp|sh|rb)$">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
|
||||
# Block double extensions
|
||||
<FilesMatch "\.(php|php5|php7|php8|phtml|phar)\.">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
25
public/sample_import_excel/.htaccess
Normal file
25
public/sample_import_excel/.htaccess
Normal file
@ -0,0 +1,25 @@
|
||||
# ===============================
|
||||
# ABSOLUTE SCRIPT EXECUTION BLOCK
|
||||
# ===============================
|
||||
|
||||
# Disable CGI
|
||||
Options -ExecCGI
|
||||
|
||||
# Disable PHP for mod_php / LiteSpeed
|
||||
<IfModule mod_php.c>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
<IfModule lsapi_module>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
# Block any script file access
|
||||
<FilesMatch "\.(php|php5|php7|php8|phtml|phar|pl|py|cgi|asp|aspx|jsp|sh|rb)$">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
|
||||
# Block double extensions
|
||||
<FilesMatch "\.(php|php5|php7|php8|phtml|phar)\.">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
25
public/writable/.htaccess
Normal file
25
public/writable/.htaccess
Normal file
@ -0,0 +1,25 @@
|
||||
# ===============================
|
||||
# ABSOLUTE SCRIPT EXECUTION BLOCK
|
||||
# ===============================
|
||||
|
||||
# Disable CGI
|
||||
Options -ExecCGI
|
||||
|
||||
# Disable PHP for mod_php / LiteSpeed
|
||||
<IfModule mod_php.c>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
<IfModule lsapi_module>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
|
||||
# Block any script file access
|
||||
<FilesMatch "\.(php|php5|php7|php8|phtml|phar|pl|py|cgi|asp|aspx|jsp|sh|rb)$">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
|
||||
# Block double extensions
|
||||
<FilesMatch "\.(php|php5|php7|php8|phtml|phar)\.">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
Loading…
Reference in New Issue
Block a user