diff --git a/api/v2/get/products_software.php b/api/v2/get/products_software.php index 8ffbd17..50bc5b0 100644 --- a/api/v2/get/products_software.php +++ b/api/v2/get/products_software.php @@ -24,42 +24,48 @@ if(isset($get_content) && $get_content!=''){ //check if productcode and product_version are send if (isset($criterias['productcode']) && $criterias['productcode'] != '' && isset($criterias['version'])){ + //Connect to DB + $pdo = dbConnect($dbname); -//Connect to DB -$pdo = dbConnect($dbname); + //SQL for Paging + $sql = 'SELECT * FROM products_versions pv JOIN products p ON pv.productrowid = p.rowID WHERE p.productcode = ? AND pv.version = ? AND pv.status = "1"'; + $stmt = $pdo->prepare($sql); + //Excute Query + $stmt->execute([$criterias['productcode'],$criterias['version']]); + //Get results + $messages = $stmt->fetchAll(PDO::FETCH_ASSOC); -//SQL for Paging -$sql = 'SELECT * FROM products_versions pv JOIN products p ON pv.productrowid = p.rowID WHERE p.productcode = ? AND pv.version = ? AND pv.status = "1"'; -$stmt = $pdo->prepare($sql); -//Excute Query -$stmt->execute([$criterias['productcode'],$criterias['version']]); -//Get results -$messages = $stmt->fetchAll(PDO::FETCH_ASSOC); + foreach ($messages as $message){ -foreach ($messages as $message){ + //CHECK IF FIRMWARE FILE IS AVAILABLE + $software_file = dirname(__FILE__,4)."/firmware/".$message['software']; + $file = glob($software_file, GLOB_BRACE); + + if (!empty($file)){ + //GET FILE EXTENTION + $ext = strtolower(pathinfo($file[0], PATHINFO_EXTENSION)); + if ($ext == 'hex'){ + //GET SOURCE CODE + $file_contents = file_get_contents($software_file); + //REMOVE RETURN \R + $file_contents = str_replace("\r", '',$file_contents); + } + else { + //PROVIDE URL TO FILE + $file_contents = 'https://'.$_SERVER['SERVER_NAME'].'/firmware'.'/'.$message['software']; + } + + $output = array("hw_version"=> $message['version'], "HEX_FW"=> $message['software'], "Firmware" => $file_contents); - //CHECK IF FIRMWARE FILE IS AVAILABLE - $software_file = dirname(__FILE__,4)."/firmware/".$message['software'].'.HEX'; - if (file_exists($software_file)){ - //GET SOURCE CODE - $file_contents = file_get_contents($software_file); - //REMOVE RETURN \R - $file_contents = str_replace("\r", '',$file_contents); - } else { - $file_contents = ''; + //------------------------------------------ + //JSON_ENCODE + //------------------------------------------ + $output = json_encode($output, JSON_UNESCAPED_UNICODE); + + //Send results + echo $output; + } } - - $output = array("hw_version"=> $message['version'], "HEX_FW"=> $message['software'], "Firmware" => $file_contents); - - //------------------------------------------ - //JSON_ENCODE - //------------------------------------------ - $output = json_encode($output, JSON_UNESCAPED_UNICODE); - - //Send results - echo $output; -} - } else { http_response_code(404); diff --git a/products_versions.php b/products_versions.php index 123468c..daa2842 100644 --- a/products_versions.php +++ b/products_versions.php @@ -43,19 +43,31 @@ if (isset($_GET['rowID'])) { if (isset($_POST['submit'])) { //CHECK FOR FIRMWARE FILE - $firmware_file = $_FILES["fileToUpload"]["name"] ?? ''; + $firmware_file = $_FILES["fileToUpload"]["name"] ?? ''; + if($firmware_file !='' || !empty($firmware_file)){ - //READ FILE - $contents = file_get_contents($_FILES["fileToUpload"]["tmp_name"]); - //firmwarename - $firmware_name = pathinfo($_FILES["fileToUpload"]["name"], PATHINFO_FILENAME); - //Filename + + $extension = strtolower(pathinfo($firmware_file, PATHINFO_EXTENSION)); $target_dir = dirname(__FILE__)."/firmware/"; - $input_file = $target_dir . $firmware_name.'.HEX'; - //store firmware file - file_put_contents($input_file, $contents); + + if ($extension == 'hex'){ + //READ FILE + $contents = file_get_contents($_FILES["fileToUpload"]["tmp_name"]); + //firmwarename + $firmware_name = pathinfo($_FILES["fileToUpload"]["name"], PATHINFO_FILENAME); + //Filename + $input_file = $target_dir . $firmware_name.'.HEX'; + //store firmware file + file_put_contents($input_file, $contents); + + } else { + $target_file = $target_dir . $firmware_file; + move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file); + $firmware_name = $firmware_file; + } + //Use firmwarefile name as software version - $_POST['software'] = $firmware_name; + $_POST['software'] = $firmware_name; } //GET ALL POST DATA @@ -97,21 +109,33 @@ if (isset($_GET['rowID'])) { if (isset($_POST['submit']) && $create_allowed === 1) { //CHECK FOR FIRMWARE FILE - $firmware_file = $_FILES["fileToUpload"]["name"] ?? ''; - - //FIRMWARE FILE UPLOADED + $firmware_file = $_FILES["fileToUpload"]["name"] ?? ''; + if($firmware_file !='' || !empty($firmware_file)){ - //READ FILE - $contents = file_get_contents($_FILES["fileToUpload"]["tmp_name"]); - //firmwarename - $firmware_name = pathinfo($_FILES["fileToUpload"]["name"], PATHINFO_FILENAME); - //Filename + + $extension = strtolower(pathinfo($firmware_file, PATHINFO_EXTENSION)); $target_dir = dirname(__FILE__)."/firmware/"; - $input_file = $target_dir . $firmware_name.'.HEX'; - //store firmware file - file_put_contents($input_file, $contents); + + if ($extension == 'hex'){ + //READ FILE + $contents = file_get_contents($_FILES["fileToUpload"]["tmp_name"]); + //firmwarename + $firmware_name = pathinfo($_FILES["fileToUpload"]["name"], PATHINFO_FILENAME); + //Filename + $input_file = $target_dir . $firmware_name.'.HEX'; + //store firmware file + file_put_contents($input_file, $contents); + + $firmware_name = $firmware_name.'.HEX'; + + } else { + $target_file = $target_dir . $firmware_file; + move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file); + $firmware_name = $firmware_file; + } + //Use firmwarefile name as software version - $_POST['software'] = $firmware_name.'.HEX'; + $_POST['software'] = $firmware_name; } //GET ALL POST DATA @@ -165,10 +189,10 @@ $view .= '
- + - + '; diff --git a/settings/systemservicetool.php b/settings/systemservicetool.php index 5d545e0..abe0d99 100644 --- a/settings/systemservicetool.php +++ b/settings/systemservicetool.php @@ -7,11 +7,11 @@ error_reporting(E_ALL); //================================================================= $service_tool_current_version = '877a739'; -$service_tool_current_filename = 'EmergencyFlasherSetup.exe'; -$software_download_url = 'https://'.$_SERVER['SERVER_NAME'].'/downloads'.'/'; +$service_tool_current_filename = 'EmergencyPlugTestKitSetup_RO-TEST.exe'; +$software_download_url = 'https://'.$_SERVER['SERVER_NAME'].'/firmware'.'/'; //getSoftware (legacy) -$software_url = 'https://'.$_SERVER['SERVER_NAME'].'/downloads'.'/'.$service_tool_current_filename; +$software_url = 'https://'.$_SERVER['SERVER_NAME'].'/firmware'.'/'.$service_tool_current_filename; //================================================================= //SERVICE Tool initialize ===================================