CMXX - Upgrade software update

This commit is contained in:
“VeLiTi”
2024-11-21 15:09:52 +01:00
parent 2da1046385
commit 6004394784
16 changed files with 159 additions and 116 deletions

View File

@@ -787,7 +787,7 @@ function getPartnerName($str){
//------------------------------------------
// overview Indicators
//------------------------------------------
function overviewIndicators($warranty, $service, $sw_version, $hw_version){
function overviewIndicators($warranty, $service, $sw_version, $sw_version_latest){
include dirname(__FILE__,2).'/settings/settings.php';
include dirname(__FILE__,2).'/settings/systemfirmware.php';
$indicator ='';
@@ -805,20 +805,18 @@ function overviewIndicators($warranty, $service, $sw_version, $hw_version){
}
//Firmware
if (isset($sw_version) && isset($hw_version)){
$sw_version = substr($sw_version, 0, strpos($sw_version, "."));
$firmware = ${'Firmwarename' . $hw_version} ?? '';
//Firmware upgrade required
if (!empty($firmware) && ($sw_version != $firmware)){
$indicator .= '<span class="dot" style="background-color: #eb8a0d;">F</span>';
} else {
$indicator .= '<span class="dot" style="background-color: #13b368;">F</span>';
}
} else {
$indicator .= '<span class="dot" style="background-color: #81848a">F</span>';
}
if (isset($sw_version_latest)){
if($sw_version_latest == 1){
$indicator .= '<span class="dot" style="background-color: #13b368;">F</span>';
} else {
if ($sw_version == ''){
$indicator .= '<span class="dot" style="background-color: #81848a">F</span>';
} else {
$indicator .= '<span class="dot" style="background-color: #eb8a0d;">F</span>';
}
}
}
return $indicator;
}
@@ -891,39 +889,36 @@ function serviceStatus($input){
// Check available firmware
//------------------------------------------
function availableFirmware($sw_version, $hw_version){
function availableFirmware($sw_version,$sw_version_latest){
//INCLUDE TRANSLATION FILE
if(isset($_SESSION['country_code'])){
$api_file_language = dirname(__FILE__,2).'/settings/translations/translations_'.strtoupper($_SESSION['country_code']).'.php';
if (file_exists($api_file_language)){
include $api_file_language; //Include the code
}
else {
include dirname(__FILE__,2).'/settings/translations/translations_US.php';
}
}
else {
include dirname(__FILE__,2).'/settings/translations/translations_US.php';
}
//SET DEFAULTS
if ((isset($sw_version) && $sw_version == '')){
$message ='<span class="status">Unknown</span>';
if (isset($sw_version) && isset($hw_version)){
include dirname(__FILE__,2).'/settings/systemfirmware.php';
include dirname(__FILE__,2).'/settings/settings.php';
//INCLUDE TRANSLATION FILE
if(isset($_SESSION['country_code'])){
$api_file_language = dirname(__FILE__,2).'/settings/translations/translations_'.strtoupper($_SESSION['country_code']).'.php';
if (file_exists($api_file_language)){
include $api_file_language; //Include the code
}
else {
include dirname(__FILE__,2).'/settings/translations/translations_US.php';
}
}
else {
include dirname(__FILE__,2).'/settings/translations/translations_US.php';
}
$sw_version = substr($sw_version, 0, strpos($sw_version, "."));
$firmware = ${'Firmwarename' . $hw_version} ?? '';
if (!empty($firmware) && ($sw_version != $firmware)){
$message = '<span class="status firmware_update">'.$firmware_update_text.'</span>';
} else {
}
else {
//CHECK IF LATEST
if($sw_version_latest == 1){
$message = '<span class="status firmware_recent">'.$firmware_recent_text.'</span>';
}
}
return $message;
} else {
$message = '<span class="status firmware_update">'.$firmware_update_text.'</span>';
}
}
return $message;
}
//------------------------------------------

View File

@@ -80,61 +80,61 @@ async function appendToTerminal(newStuff) {
async function getDeviceData(){
var item = serialResultsDiv.innerHTML;
x = Array.from(new Set(item.split(";"))).toString();
var item = serialResultsDiv.innerHTML;
x = Array.from(new Set(item.split(";"))).toString();
//Check if Serialnumber is retrieved from device
if (x.indexOf("SN=") > 0){
var a = x.indexOf("SN=");
//Check if Serialnumber is retrieved from device
if (x.indexOf("SN=") > 0){
var a = x.indexOf("SN=");
var b = a + 3;
var c = b + 8;
serial = x.substring(b,c);
progressBar("65", "Retrieving device data", "#04AA6D");
console.log(serial);
if (x.indexOf("FW=") > 0){
var a = x.indexOf("FW=");
var b = a + 3;
var c = b + 8;
serial = x.substring(b,c);
progressBar("65", "Retrieving device data", "#04AA6D");
//Check if serialnumber is allowed
if (serial != '23BB' || serial != '23AA'){
progressBar("70", "Retrieving device data", "#04AA6D");
console.log(serial);
//Check if HW is retrieved from device
if (x.indexOf("HW=") > 0){
var a = x.indexOf("HW=");
var b = a + 3;
var c = b + 8;
var d = x.substring(b,c);
var e = d.slice(-1);
if (e.toLowerCase() !== e.toUpperCase()){
var f = d.slice(d.length - 3)
hw = 'R'+f;
sw = 'R'+f;
}
else {
var f = d.slice(d.length - 2)
hw = 'R'+f;
sw = 'R'+f;
}
getServiceID().then(firmwareUpdate);
progressBar("80", "checking for available firmware", "#04AA6D");
setTimeout(checkAvailableFirmware, 5000);
console.log(hw);
}
else {
progressBar("80", "Reading of device not successful, please try again", "#ff6666");
console.log('Reading of device not successful');
}
}
else {
progressBar("100", "Upgrade not allowed", "#ff6666");
console.log('Upgrade not allowed');
}
fw = x.substring(b,c);
fw = fw.replace(/^0+/, '');
}
}
//Check if HW is retrieved from device
if (x.indexOf("HW=") > 0 && x.indexOf("FW=") >0){
var a = x.indexOf("HW=");
var b = a + 3;
var c = b + 8;
var d = x.substring(b,c);
var e = d.slice(-1);
if (e.toLowerCase() !== e.toUpperCase()){
var f = d.slice(d.length - 3)
hw = 'R'+f;
sw = 'R'+f;
}
else {
var f = d.slice(d.length - 2)
hw = 'R'+f;
sw = 'R'+f;
}
$fw_name = 'Firmware_'+fw+'_'+sw;
console.log($fw_name);
getServiceID().then(firmwareUpdate);
progressBar("80", "checking for available firmware", "#04AA6D");
setTimeout(checkAvailableFirmware, 5000);
console.log(hw);
}
else {
progressBar("80", "Reading of device not successful, please try again", "#ff6666");
console.log('Reading of device not successful');
}
}
}
function firmwareUpdate(data){
var serialnumber = serial;
var action = '/v0/application/firmwareUpdate?sn='+serialnumber+'&hw_version='+hw+'&sw_version='+sw;
var action = '/v2/products_software/sn='+serialnumber+'&version='+$fw_name;
var url = link+action;
var bearer = 'Bearer ' + data;
@@ -150,7 +150,7 @@ function firmwareUpdate(data){
})
.then(response => response.json())
.then(firmware=> {
firmwarelocation = './firmware/'+firmware.HEX_FW+'.HEX';
firmwarelocation = './firmware/'+firmware['software'];
return firmwarelocation;
})