",$_REQUEST['OcppServerURL']))))); if(!preg_match($pattern, $json['OcppServerURL'])){ $jsone['result'] = "Fail"; $jsone['message'] = "OcppServerURL format error, fill it with 'ws://' or 'wss://'"; echo json_encode($jsone); return false; } } if($_REQUEST['MaintainServerURL']!=""){ $json['MaintainServerURL'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['MaintainServerURL']))))); if(!preg_match($pattern, $json['MaintainServerURL'])){ $jsone['result'] = "Fail"; $jsone['message'] = "MaintainServerURL format error, fill it with 'ws://' or 'wss://'"; echo json_encode($jsone); return false; } } checkValue("OfflinePolicy"); checkLength("ChargeBoxId",25); checkLength("chargePointVendor",20); if(isset($_REQUEST['BackendConnTimeout'])){ $json['BackendConnTimeout'] = (int)$_REQUEST['BackendConnTimeout']; } if(isset($_REQUEST['OfflinePolicy'])){ $json['OfflinePolicy'] = (int)$_REQUEST['OfflinePolicy']; } if(isset($_REQUEST['OfflineMaxChargeEnergy'])){ $json['OfflineMaxChargeEnergy'] = (int)$_REQUEST['OfflineMaxChargeEnergy']; } if(isset($_REQUEST['OfflineMaxChargeDuration'])){ $json['OfflineMaxChargeDuration'] = (int)$_REQUEST['OfflineMaxChargeDuration']; } if(isset($_REQUEST['OcppServerURL'])){ $json['OcppServerURL'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['OcppServerURL']))))); } if(isset($_REQUEST['MaintainServerURL'])){ $json['MaintainServerURL'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['MaintainServerURL']))))); } if(isset($_REQUEST['ChargeBoxId'])){ $json['ChargeBoxId'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['ChargeBoxId']))))); } if(isset($_REQUEST['chargePointVendor'])){ $json['chargePointVendor'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['chargePointVendor']))))); } if(isset($_REQUEST['OcppSecurityProfile'])){ checkValue("OcppSecurityProfile"); $json['OcppSecurityProfile'] = (int)$_REQUEST['OcppSecurityProfile']; } if(isset($_REQUEST['OcppSecurityPassword'])){ $json['OcppSecurityPassword'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['OcppSecurityPassword']))))); } if(isset($_REQUEST['MaintainServerSecurityProfile'])){ checkValue("MaintainServerSecurityProfile"); $json['MaintainServerSecurityProfile'] = (int)$_REQUEST['MaintainServerSecurityProfile']; } if(isset($_REQUEST['MaintainServerSecurityPassword'])){ $json['MaintainServerSecurityPassword'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['MaintainServerSecurityPassword']))))); } if(isset($_REQUEST['isEnableLocalPowerSharging'])){ checkValue("isEnableLocalPowerSharging"); $json['isEnableLocalPowerSharging'] = (int)$_REQUEST['isEnableLocalPowerSharging']; } if(isset($_REQUEST['PowerSharingCapacity'])){ $json['PowerSharingCapacity'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['PowerSharingCapacity']))))); } if(isset($_REQUEST['PowerSharingServerIP'])){ $json['PowerSharingServerIP'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['PowerSharingServerIP']))))); } if(isset($_REQUEST['OcppReceiptrURL'])){ $json['OcppReceiptrURL'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['OcppReceiptrURL']))))); } if(isset($_REQUEST['isEnableTTIA'])){ checkValue("isEnableTTIA"); $json['isEnableTTIA'] = (int)$_REQUEST['isEnableTTIA']; } if(isset($_REQUEST['server_addr'])){ $json['server_addr'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['server_addr']))))); } if(isset($_REQUEST['server_port'])){ isNumeric("server_port",65535); $json['server_port'] = (int)$_REQUEST['server_port']; } if(isset($_REQUEST['busVenderId'])){ isNumeric("busVenderId",65535); $json['busVenderId'] = (int)$_REQUEST['busVenderId']; } if(isset($_REQUEST['EquipmentProvider'])){ checkLength("EquipmentProvider",15); $json['EquipmentProvider'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['EquipmentProvider']))))); } if(isset($_REQUEST['TransportationCompanyNo'])){ isNumeric("TransportationCompanyNo",255); $json['TransportationCompanyNo'] = (int)$_REQUEST['TransportationCompanyNo']; } if(isset($_REQUEST['TTIAChargeBoxId'])){ isNumeric("TTIAChargeBoxId",255); $json['TTIAChargeBoxId'] = (int)$_REQUEST['TTIAChargeBoxId']; } if(isset($_REQUEST['evseStation'])){ checkLength("evseStation",15); $json['evseStation'] = str_replace("&","&",str_replace(""",'"',str_replace("'","'",str_replace("<","<",str_replace(">",">",$_REQUEST['evseStation']))))); } $fCount = empty($_FILES['private_key']['tmp_name'][0]); if($fCount!=1){ if ($_FILES["private_key"]["error"] > 0) { $jsone['result'] = "Error"; $jsone['message'] = $_FILES["private_key"]["error"]; echo json_encode($jsone); exit; } else if(strpos(exec('openssl rsa -noout -modulus -in '.$_FILES['private_key']['tmp_name']),"Modulus")===false){ //unable to load Private Key $jsone['result'] = "Error"; $jsone['message'] = "format of Private Key is incorrect"; echo json_encode($jsone); exit; } sleep(1); move_uploaded_file($_FILES["private_key"]["tmp_name"],"/Storage/OCPP/certCP.key"); } $fCount = empty($_FILES['certificate']['tmp_name'][0]); if($fCount!=1){ if ($_FILES["certificate"]["error"] > 0) { $jsone['result'] = "Error"; $jsone['message'] = $_FILES["certificate"]["error"]; echo json_encode($jsone); exit; } else if(strpos(exec('openssl x509 -noout -modulus -in '.$_FILES['certificate']['tmp_name']),"Modulus")===false){ //unable to load certificate $jsone['result'] = "Error"; $jsone['message'] = "format of Certificate is incorrect"; echo json_encode($jsone); exit; } sleep(1); move_uploaded_file($_FILES["certificate"]["tmp_name"],"/Storage/OCPP/certCP.pem"); } $fCount = empty($_FILES['MORootCertificate']['tmp_name'][0]); if($fCount!=1){ if ($_FILES["MORootCertificate"]["error"] > 0) { $jsone['result'] = "Error"; $jsone['message'] = $_FILES["MORootCertificate"]["error"]; echo json_encode($jsone); exit; } else if(strpos(exec('openssl x509 -noout -modulus -in '.$_FILES['MORootCertificate']['tmp_name']),"Modulus")===false){ //unable to load MORootCertificate $jsone['result'] = "Error"; $jsone['message'] = "format of MO Root Certificate is incorrect"; echo json_encode($jsone); exit; } sleep(1); move_uploaded_file($_FILES["MORootCertificate"]["tmp_name"],"/Storage/rootCaMo.pem"); } $fCount = empty($_FILES['CSRootCertificate']['tmp_name'][0]); if($fCount!=1){ if ($_FILES["CSRootCertificate"]["error"] > 0) { $jsone['result'] = "Error"; $jsone['message'] = $_FILES["CSRootCertificate"]["error"]; echo json_encode($jsone); exit; } else if(strpos(exec('openssl x509 -noout -modulus -in '.$_FILES['CSRootCertificate']['tmp_name']),"Modulus")===false){ //unable to load CSRootCertificate $jsone['result'] = "Error"; $jsone['message'] = "format of CS Root Certificate is incorrect"; echo json_encode($jsone); exit; } sleep(1); move_uploaded_file($_FILES["CSRootCertificate"]["tmp_name"],"/Storage/OCPP/rootCaCs.pem"); } $fCount = empty($_FILES['ManufacturerRootCertificate']['tmp_name'][0]); if($fCount!=1){ if ($_FILES["ManufacturerRootCertificate"]["error"] > 0) { $jsone['result'] = "Error"; $jsone['message'] = $_FILES["ManufacturerRootCertificate"]["error"]; echo json_encode($jsone); exit; } else if(strpos(exec('openssl x509 -noout -modulus -in '.$_FILES['ManufacturerRootCertificate']['tmp_name']),"Modulus")===false){ //unable to load ManufacturerRootCertificate $jsone['result'] = "Error"; $jsone['message'] = "format of Manufacturer Root Certificate is incorrect"; echo json_encode($jsone); exit; } sleep(1); move_uploaded_file($_FILES["ManufacturerRootCertificate"]["tmp_name"],"/Storage/OCPP/rootCaMf.pem"); } // ob_start(); shell_exec('sync;sync;sync'); chdir("/root"); $str_json=json_encode($json);//var_dump($str_json); exec("'./WebService' '4' '".$str_json."'",$output,$return_var); if(count($output)!=0){ $jsone['result'] = "Success"; $jsone['message'] = $json; echo json_encode($jsone); exit; } else{ $jsone['result'] = "Error"; $jsone['message'] = "Something went wrong on machine"; echo json_encode($jsone); return false; exit; } // ob_end_clean(); } function checkValue($id){ if($_REQUEST[$id] != ""){ if(strlen($_REQUEST[$id])!=1){ $jsone['result'] = "Fail"; $jsone['message'] = "You have entered a wrong value on " . $id . ", it should be numeric"; echo json_encode($jsone); exit; } if(!is_numeric($_REQUEST[$id])){ $jsone['result'] = "Fail"; $jsone['message'] = "You have entered a wrong value on " . $id . ", it should be numeric"; echo json_encode($jsone); exit; } } } function checkLength($id,$value){ if(strlen($_REQUEST[$id])>$value){ $jsone['result'] = "Fail"; $jsone['message'] = "Length of " . $id . " should be less than ".$value+"(Chinese 5 words)"; echo json_encode($jsone); exit; } } function isNumeric($id,$value){ if($_REQUEST[$id] != ""){ if(!is_numeric($_REQUEST[$id])){ $jsone['result'] = "Fail"; $jsone['message'] = "You have entered a wrong value on " . $id . ", it should be numeric"; echo json_encode($jsone); exit; } if($_REQUEST[$id]>$value){ $jsone['result'] = "Fail"; $jsone['message'] = "Value of " . $id . " should be less than ".$value; echo json_encode($jsone); exit; } } } ?>