MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/cpaqua.cafsinfotech.in/api/index.php
<?php
include('./functions.php');
session_start();
new api();
class api{
    private $functions;
    public function __construct(){
        $this->functions = new functions();
        $this->functions->db_connect();
        $this->open_api();
    }

    # API VALIDATION
    public function open_api(){
        $raw_text                  = file_get_contents('php://input');
        // $json                      = $this->functions->encDec($raw_text);
        $raw_json                  = json_decode($raw_text);
        $frm                       = $raw_json->frm;
        $mandate_keys              = json_decode(file_get_contents('mandate_keys.json'), true);
        $api_keys_arr              = $mandate_keys[$frm];
        $validation_arr            = array();
        $keysFromObject            = array_keys(get_object_vars($raw_json) ?? []);
        if(!$frm){
            $validation_arr['frm'] = "frm Is Required";
            echo  $this->functions->returnResult(False, 'Validation Failed', [], $validation_arr);
            exit(0);
        }else{
            if($frm === "leaveStatus" && (int)$raw_json->request_type === 1 ){
                if(!(int)$raw_json->leave_type){
                    $validation_arr['leave_type'] = "Leave Type Is Required";
                }
            }
            $pass_arr             = array("curPass" => "Current Password","newPass" => "New Password","conPass" => "Confirm Password");
            foreach($api_keys_arr as $k => $v){
                if(!in_array($v,$keysFromObject)){
                    if(in_array($pass_arr[$v],$pass_arr)){
                        $validation_arr[$v] = $pass_arr[$v]." Is Required";
                    }else{
                        $validation_arr[$v] = "$v Is Required";
                    }
                }
            }
            if(count($validation_arr ?? []) > 0){
                echo  $this->functions->returnResult(False, 'Validation Failed', [], $validation_arr);
                exit(0);
            }  
            $this->handle_request($raw_json);
        }
    }

    # API REQUEST
    private function handle_request($raw_json){
        $frm                        = $raw_json->frm;
        $dynamic_validation_arr     = array('addRequest'); # For Dynamic Validation
        if(!in_array($frm,$dynamic_validation_arr)){          
           $static_validation       =  $this->functions->static_validation($raw_json);           
        }        
        if($frm === "checkIn" || $frm === "checkOut"){
            $static_validation = false;
        }
        if(!$static_validation){
            $api_routes             = json_decode(file_get_contents('api_routes.json'), true);
            if($api_routes[$frm]){
                $methods            = $api_routes[$frm];
                $rslt               = $this->functions->$methods($raw_json);
                // $encode             = $this->functions->encryptData($rslt); # Encryption
                echo $rslt;
            }else{
                echo json_encode(['sts'  => False,'msg' => 'Failed - Unknown Api']);
                exit(0);
            }
        }else{
            echo $static_validation;
            exit(0);
        }
    }
}
?>