MERGE_TEST_VAPT&HR_CHANGES
This commit is contained in:
commit
fb992a50eb
22
.htaccess
22
.htaccess
@ -5,28 +5,6 @@ Options -Indexes
|
|||||||
# Rewrite engine
|
# 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.
|
# Turning on the rewrite engine is necessary for the following rules and features.
|
||||||
# FollowSymLinks must be enabled for this to work.
|
# FollowSymLinks must be enabled for this to work.
|
||||||
<IfModule mod_rewrite.c>
|
<IfModule mod_rewrite.c>
|
||||||
|
|||||||
@ -551,7 +551,7 @@ $routes->get("getBackToEnrolledDetails", "EmployeeRestController::getBackToEnrol
|
|||||||
//crone job
|
//crone job
|
||||||
$routes->cli('cli/enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
|
$routes->cli('cli/enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
|
||||||
$routes->cli("cli/sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
|
$routes->cli("cli/sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
|
||||||
|
$routes->cli('cli/update-emp-policy-status', 'ClientController::updateEmpAndPolicyStatus');
|
||||||
$routes->get('enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
|
$routes->get('enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
|
||||||
$routes->get("sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
|
$routes->get("sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
|
||||||
// $routes->get("getEmployeePolicy", "EmployeeRestController::getEmployeePolicy");
|
// $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);
|
// $file_id = $this->request->uri->getSegment(3);
|
||||||
$empServiceController = new EmployeeServiceController();
|
$empServiceController = new EmployeeServiceController();
|
||||||
|
|||||||
@ -235,8 +235,17 @@ class EmployeeRestController extends AdminController
|
|||||||
try {
|
try {
|
||||||
$data = $this->request->getJSON();
|
$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
|
//enrolment check
|
||||||
$openForEnrollment = $this->findThePolicyIsOpenForEnrollment($data[0]->client_policy_id, $data[0]->emp_code);
|
|
||||||
if($openForEnrollment == false){
|
if($openForEnrollment == false){
|
||||||
return $this->respond(['status' => 'failed','code' => 404,'data' => [],'message' => 'Enrollment closed.'], 200);
|
return $this->respond(['status' => 'failed','code' => 404,'data' => [],'message' => 'Enrollment closed.'], 200);
|
||||||
}
|
}
|
||||||
@ -308,7 +317,7 @@ class EmployeeRestController extends AdminController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (\Exception $e) {
|
} 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{
|
}else{
|
||||||
|
|
||||||
|
$enrollment_dates = $this->getEnrollmentDates($client_policy_id, $emp_code);
|
||||||
|
|
||||||
$data['employee_id']= $employee_id;
|
$data['employee_id']= $employee_id;
|
||||||
$data['client_policy_id']= $client_policy_id;
|
$data['client_policy_id']= $client_policy_id;
|
||||||
$data['basic_cover_si']= $basic_cover_si;
|
$data['basic_cover_si']= $basic_cover_si;
|
||||||
@ -405,6 +416,9 @@ class EmployeeRestController extends AdminController
|
|||||||
if(!empty($other_employee_policy_data)){
|
if(!empty($other_employee_policy_data)){
|
||||||
$data['enrollment_open_date']= $other_employee_policy_data['enrollment_open_date'] ?? null;
|
$data['enrollment_open_date']= $other_employee_policy_data['enrollment_open_date'] ?? null;
|
||||||
$data['enrollment_close_date']= $other_employee_policy_data['enrollment_close_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);
|
// dd($data);
|
||||||
@ -550,7 +564,7 @@ class EmployeeRestController extends AdminController
|
|||||||
|
|
||||||
$this->employeeModel->where('id', $this->request->getGet('id') )
|
$this->employeeModel->where('id', $this->request->getGet('id') )
|
||||||
->where('is_active', 1 )
|
->where('is_active', 1 )
|
||||||
->set(array('is_active'=> 0 ))
|
->set(['emp_status' => 'truncated', 'is_active' => 0])
|
||||||
->update();
|
->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -564,7 +578,7 @@ class EmployeeRestController extends AdminController
|
|||||||
$query->where('client_policy_id', $clientPolicyId);
|
$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);
|
return $this->respond(['status' => 'success','code' => 200,'data' =>[] ], 200);
|
||||||
@ -590,7 +604,17 @@ class EmployeeRestController extends AdminController
|
|||||||
// print_r($requestData);
|
// print_r($requestData);
|
||||||
// dd($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); }
|
if($openForEnrollment == false){ return $this->respond(['status' => 'failed','code' => 404,'data' => 'Enrollment closed'], 404); }
|
||||||
|
|
||||||
foreach ($requestData as $key => $value)
|
foreach ($requestData as $key => $value)
|
||||||
@ -601,6 +625,7 @@ class EmployeeRestController extends AdminController
|
|||||||
->where('is_active', 1 )
|
->where('is_active', 1 )
|
||||||
->findAll();
|
->findAll();
|
||||||
|
|
||||||
|
|
||||||
// dd($checkIfExist);
|
// dd($checkIfExist);
|
||||||
if ($checkIfExist) {
|
if ($checkIfExist) {
|
||||||
|
|
||||||
@ -608,10 +633,14 @@ class EmployeeRestController extends AdminController
|
|||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
|
$enrollment_dates = $this->getEnrollmentDates($value->client_policy_id, $requestData[0]->emp_code);
|
||||||
|
|
||||||
$data['employee_id']= $value->employee_id;
|
$data['employee_id']= $value->employee_id;
|
||||||
$data['client_policy_id']= $value->client_policy_id;
|
$data['client_policy_id']= $value->client_policy_id;
|
||||||
$data['basic_cover_si']= $value->basic_cover_si;
|
$data['basic_cover_si']= $value->basic_cover_si;
|
||||||
$data['status'] = 'draft';
|
$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);
|
$this->employeePolicyModel->insert($data);
|
||||||
}
|
}
|
||||||
@ -1631,8 +1660,8 @@ class EmployeeRestController extends AdminController
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($result) && $this->request->getGet('policy') == 'GMC'){
|
if(!empty($result) && $this->request->getGet('policy') == 'GMC'){
|
||||||
// return $this->respond(['status' => 'success','code' => 200,'data' => $result], 200);
|
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);
|
// echo json_encode(['status' => 'success','code' => 200,'data' => $result], JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
|
||||||
}else{
|
}else{
|
||||||
return $this->respond(['status' => 'success','code' => 200,'data' => []], 200);
|
return $this->respond(['status' => 'success','code' => 200,'data' => []], 200);
|
||||||
}
|
}
|
||||||
@ -2138,14 +2167,14 @@ class EmployeeRestController extends AdminController
|
|||||||
if (!empty($pre_client_id)) {
|
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) {
|
if ($client) {
|
||||||
|
|
||||||
|
|
||||||
$client['client_logo'] = base_url() . 'public/uploads/logo/' . $client['client_logo'];
|
$client['client_logo'] = base_url() . 'public/uploads/logo/' . $client['client_logo'];
|
||||||
|
|
||||||
$clientPolicy = $this->clientPolicyModel
|
$clientPolicy = $this->clientPolicyModel
|
||||||
->where('client_id', $pre_client_id)
|
->where('md5(client_id)', $pre_client_id)
|
||||||
->where('client_branch_id', $pre_branch_id)
|
->where('client_branch_id', $pre_branch_id)
|
||||||
->findAll();
|
->findAll();
|
||||||
|
|
||||||
@ -2240,6 +2269,9 @@ class EmployeeRestController extends AdminController
|
|||||||
try {
|
try {
|
||||||
|
|
||||||
$emp_code = $this->request->getGet('emp_code');
|
$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 )
|
$addOnEmployeeData = $this->employeeModel->where('is_active', 1 )
|
||||||
->where('emp_code',$this->request->getGet('emp_code'))
|
->where('emp_code',$this->request->getGet('emp_code'))
|
||||||
->where('client_id',$this->request->getGet('client_id'))
|
->where('client_id',$this->request->getGet('client_id'))
|
||||||
@ -2247,6 +2279,9 @@ class EmployeeRestController extends AdminController
|
|||||||
->where('is_addon_value',1)->findAll();
|
->where('is_addon_value',1)->findAll();
|
||||||
|
|
||||||
|
|
||||||
|
$policyIds = $this->getEmployeeAddOnPolicies($emp_code, $client_id, $client_branch_id);
|
||||||
|
// dd($policyIds);
|
||||||
|
|
||||||
|
|
||||||
$clientPolicy = $this->clientPolicyModel->select("
|
$clientPolicy = $this->clientPolicyModel->select("
|
||||||
client_policy.*,
|
client_policy.*,
|
||||||
@ -2276,7 +2311,11 @@ class EmployeeRestController extends AdminController
|
|||||||
->where('policy_status', 1)
|
->where('policy_status', 1)
|
||||||
->where('is_active', 1)
|
->where('is_active', 1)
|
||||||
->where('enrolment_visibility', 1)
|
->where('enrolment_visibility', 1)
|
||||||
|
->whereIn('id', $policyIds)
|
||||||
->findAll();
|
->findAll();
|
||||||
|
if(empty($policyIds)){
|
||||||
|
return $this->respond(['status' => 'failed','code' => 404,'data' => []], 200);
|
||||||
|
}
|
||||||
|
|
||||||
if(count($clientPolicy))
|
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();
|
$policyTypeData = $this->policyTypeModel->where('id',$array['policy_type_id'])->get()->getRow();
|
||||||
$responce['policy_name'] = $policyTypeData->long_name;
|
$responce['policy_name'] = $policyTypeData->long_name;
|
||||||
@ -2329,7 +2375,7 @@ class EmployeeRestController extends AdminController
|
|||||||
$responce['client_id'] = $array['client_id'];
|
$responce['client_id'] = $array['client_id'];
|
||||||
$responce['client_policy_id'] = $array['id'];
|
$responce['client_policy_id'] = $array['id'];
|
||||||
$responce['is_addon'] = $array['is_addon'];
|
$responce['is_addon'] = $array['is_addon'];
|
||||||
$responce['OpenForEnrollment'] = $array['open_for_enrollment'];
|
$responce['OpenForEnrollment'] = $openForEnrollmentValue;
|
||||||
$responce['policy_terms'] = $decodedArray;
|
$responce['policy_terms'] = $decodedArray;
|
||||||
$responce['policy_type_id'] = $array['policy_type_id'];
|
$responce['policy_type_id'] = $array['policy_type_id'];
|
||||||
//$responce['is_member_modify_allowed'] = $array['is_member_modify_allowed'];
|
//$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'){
|
if($this->request->getGet('policy') == 'GMC-DEPENDENT-ADDON'){
|
||||||
// return $this->respond(['status' => 'success','code' => 200,'data' => ['gmc_dependent_addon'=>$responce]], 200);
|
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);
|
// echo json_encode(['status' => 'success','code' => 200,'data' => ['gmc_dependent_addon'=>$responce]], JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
//array_push($PolicyData, $responce);
|
//array_push($PolicyData, $responce);
|
||||||
@ -2708,8 +2754,18 @@ class EmployeeRestController extends AdminController
|
|||||||
$array_list = [];
|
$array_list = [];
|
||||||
foreach ($client_policy_id as $key => $value)
|
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)
|
if($policy)
|
||||||
{
|
{
|
||||||
$this->myLogger->logme("error", 'client policy id = '.$value.' is open for enrollment');
|
$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');}
|
}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 ')
|
$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.client_branch_id', $this->request->getGet('client_branch_id') )
|
||||||
->where('client_policy.is_active', 1 )
|
->where('client_policy.is_active', 1 )
|
||||||
->where('client_policy.policy_status', 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);
|
set_session_data($session_data);
|
||||||
|
|
||||||
// Bind session to device
|
// Bind session to device
|
||||||
set_session_data(['fingerprint' => hash('sha256',
|
set_session_data(['fingerprint' => generateFingerprint()]);
|
||||||
($this->request->getUserAgent()->getAgentString() . '|' . ($this->request->getIPAddress()
|
|
||||||
)))]);
|
|
||||||
log_message('error', 'Set The UserId : `'. $user->id .'` in Session');
|
log_message('error', 'Set The UserId : `'. $user->id .'` in Session');
|
||||||
log_message('error', 'User Login Sucessfully');
|
log_message('error', 'User Login Sucessfully');
|
||||||
|
|
||||||
|
|||||||
@ -797,6 +797,8 @@ class RestAuthenticationController extends AdminController
|
|||||||
|
|
||||||
$decoded = json_decode($HRAccessData['allowed_modules'], true);
|
$decoded = json_decode($HRAccessData['allowed_modules'], true);
|
||||||
$getAllhrData[$key]['allowed_modules'] = $decoded;
|
$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);
|
$token = JWTToken::encode($HRAccessData);
|
||||||
$getAllhrData[$key]['token'] = $token;
|
$getAllhrData[$key]['token'] = $token;
|
||||||
|
|||||||
@ -22,9 +22,7 @@ class AuthMVC implements FilterInterface
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
// Fingerprint validation
|
// Fingerprint validation
|
||||||
$fp = hash('sha256',
|
$fp = generateFingerprint();
|
||||||
$request->getUserAgent()->getAgentString() . '|' . $request->getIPAddress()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (session()->get('fingerprint') !== $fp) {
|
if (session()->get('fingerprint') !== $fp) {
|
||||||
return AuthLogout::logout();
|
return AuthLogout::logout();
|
||||||
|
|||||||
@ -39,6 +39,7 @@ class JWTToken
|
|||||||
|
|
||||||
}else{
|
}else{
|
||||||
$models = new LevelContactModel();
|
$models = new LevelContactModel();
|
||||||
|
$id = $request_data['pre_hr_id'];
|
||||||
$models->update($id, $data);
|
$models->update($id, $data);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -118,7 +118,8 @@ if (!function_exists('check_role')) {
|
|||||||
{
|
{
|
||||||
// $ci =& get_instance();
|
// $ci =& get_instance();
|
||||||
$session = \Config\Services::session();
|
$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);
|
$date = DateTime::createFromFormat($source_format, $date_str);
|
||||||
if (!$date) {
|
if (!$date) {
|
||||||
// throw new Exception("Invalid date string for source format: $source_format");
|
// 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 null;
|
||||||
}
|
}
|
||||||
return $date->format($output_format);
|
return $date->format($output_format);
|
||||||
@ -568,7 +568,7 @@ if (!function_exists('change_date_format')) {
|
|||||||
$date = DateTime::createFromFormat($source_format, $date_str);
|
$date = DateTime::createFromFormat($source_format, $date_str);
|
||||||
if (!$date) {
|
if (!$date) {
|
||||||
// throw new Exception("Invalid date string for source format: $source_format");
|
// 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 null;
|
||||||
}
|
}
|
||||||
return $date->format('Y-m-d'); // MySQL default format
|
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
|
// If no format matches, throw an exception
|
||||||
$allowed_placeholders = implode(', ', $allowed_formats);
|
$allowed_placeholders = implode(', ', $allowed_formats);
|
||||||
// throw new Exception("Invalid date string format. Allowed formats: $allowed_placeholders");
|
// throw new Exception("Invalid date string format. Allowed formats: $allowed_placeholders");
|
||||||
log_message(
|
// log_message(
|
||||||
'error',
|
// 'error',
|
||||||
"❌ Date format error: Invalid date string. Allowed formats: {$allowed_placeholders} | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}"
|
// "❌ 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;
|
return null;
|
||||||
}
|
}
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
// return "Error: " . $e->getMessage();
|
// 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;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -756,3 +756,34 @@ if (!function_exists('validateExcelFile')) {
|
|||||||
return true;
|
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');
|
->orderBy('employee_polices.employee_id', 'ASC');
|
||||||
|
|
||||||
|
|
||||||
// Conditionally add where clauses
|
// Conditionally add where clauses
|
||||||
if ($client_id != 0 && !empty($client_id)) {
|
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);
|
$result->where('emp.client_id', $client_id);
|
||||||
}
|
}
|
||||||
if ($branch_id != 0 && !empty($branch_id)) {
|
if ($branch_id != 0 && !empty($branch_id)) {
|
||||||
|
|||||||
@ -113,7 +113,16 @@
|
|||||||
class="mdi mdi-dots-horizontal"></i></a>
|
class="mdi mdi-dots-horizontal"></i></a>
|
||||||
<div class="dropdown-menu dropdown-menu-right">
|
<div class="dropdown-menu dropdown-menu-right">
|
||||||
<?php if ($file['status'] == 'failed') { ?>
|
<?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 } ?>
|
<?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>
|
<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_client_id" name="client_id">
|
||||||
<input type="hidden" id="file_policy_id" name="policy_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_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="hidden" id="file_upload_actions" name="upload-action-type">
|
||||||
<input type="file" id="fileInput" name="emplist" required
|
<input type="file" id="fileInput" name="emplist" required
|
||||||
accept=" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/vnd.oasis.opendocument.spreadsheet">
|
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_client_id').val(fileId.client_id)
|
||||||
$('#file_policy_id').val(fileId.client_policy_id)
|
$('#file_policy_id').val(fileId.client_policy_id)
|
||||||
$('#file_branch_id').val(fileId.client_branch_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)
|
$('#file_upload_actions').val(fileId.action)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -62,88 +62,69 @@
|
|||||||
|
|
||||||
<!-- /Right-bar -->
|
<!-- /Right-bar -->
|
||||||
|
|
||||||
<!-- Right bar overlay-->
|
<!-- Right bar overlay -->
|
||||||
<div class="rightbar-overlay"></div>
|
<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>
|
<!-- Charts -->
|
||||||
<!-- Apex js-->
|
<!-- ============================= -->
|
||||||
<script src="<?= base_url() . "public"; ?>/assets/libs/apexcharts/apexcharts.min.js"></script>
|
<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>
|
<!-- DataTables -->
|
||||||
<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/js/jquery.dataTables.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-bs4/js/dataTables.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-responsive/js/dataTables.responsive.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-responsive-bs4/js/responsive.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/dataTables.buttons.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-bs4/js/buttons.bootstrap4.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-buttons/js/buttons.html5.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-buttons/js/buttons.print.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/datatables.net-keytable/js/dataTables.keyTable.min.js"); ?>"></script>
|
||||||
<!-- <script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/pdfmake.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/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="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.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>
|
|
||||||
|
|
||||||
|
<!-- ============================= -->
|
||||||
|
<!-- 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 -->
|
<!-- OR: Flatpickr (prefer this long-term) -->
|
||||||
<!-- <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>
|
<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>
|
<!-- Notifications -->
|
||||||
<script src="<?= base_url() . "public"; ?>/assets/js/bootstrap-editable.min.js"></script>
|
<!-- ============================= -->
|
||||||
|
<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>
|
<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>
|
<script>
|
||||||
toastr.options = {
|
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" />
|
<link href="<?= base_url() . "public"; ?>/assets/css/jodit.css" rel="stylesheet" type="text/css" />
|
||||||
|
|
||||||
|
|
||||||
<!-- JQuery CDN -->
|
<!-- JQuery CDN -->
|
||||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
||||||
|
|
||||||
<!-- Sweet Alert CDN -->
|
<!-- Sweet Alert CDN -->
|
||||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.4/dist/sweetalert2.all.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.12.0/dist/sweetalert2.all.min.js"></script>
|
||||||
|
|
||||||
<!-- select2 -->
|
<!-- select2 -->
|
||||||
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet" type="text/css">
|
<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://code.jquery.com/jquery-3.7.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://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"></script>
|
||||||
|
|
||||||
<!-- <link rel="manifest" href="../manifest.json"> -->
|
<!-- <link rel="manifest" href="../manifest.json"> -->
|
||||||
|
|
||||||
@ -77,7 +77,7 @@
|
|||||||
</script> -->
|
</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.min.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.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>
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
|
||||||
<!-- srinivas -->
|
<!-- srinivas -->
|
||||||
<script src="https://editor.unlayer.com/embed.js"></script>
|
<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