From 5d79c325ee4ce9e46db273a0d2c66a75a8fccfd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CVeLiTi=E2=80=9D?= <“info@veliti.nl”> Date: Mon, 11 Nov 2024 19:27:34 +0100 Subject: [PATCH] CMXX - Software update servicekit --- api/v0/get/application.php | 2 +- api/v0/get/user_credentials.php | 2 + api/v1/get/products_software.php | 13 +- api/v2/get/products_software.php | 14 +- assets/functions.php | 39 +++++ settings/systemservicetool.php | 66 -------- settings/systemservicetool_init.php | 246 ++++++++++++++++++++++++++++ 7 files changed, 313 insertions(+), 69 deletions(-) create mode 100644 settings/systemservicetool_init.php diff --git a/api/v0/get/application.php b/api/v0/get/application.php index ada4860..b68deef 100644 --- a/api/v0/get/application.php +++ b/api/v0/get/application.php @@ -178,7 +178,7 @@ echo ']'; break; case 'serviceInit': - include './settings/systemservicetool.php'; + include './settings/systemservicetool_init.php'; echo json_encode($init); break; diff --git a/api/v0/get/user_credentials.php b/api/v0/get/user_credentials.php index 54b234c..09062c9 100644 --- a/api/v0/get/user_credentials.php +++ b/api/v0/get/user_credentials.php @@ -20,6 +20,8 @@ $username = $user_data['username']; $useremail = $user_data['email']; $servicekey = $user_data['service']; $partner = json_decode($partnerhierarchy); +$language = $user_data['language']; +$clientsecret = $user_data['userkey']; //Update Lastlogin $logindate = date('Y-m-d H:i:s'); diff --git a/api/v1/get/products_software.php b/api/v1/get/products_software.php index 6ee5b43..7f0dc17 100644 --- a/api/v1/get/products_software.php +++ b/api/v1/get/products_software.php @@ -124,8 +124,19 @@ else { } // IF PRODUCTCODE AND VERSION IS SEND ASSUME SOFTWARE REQUEST -if (!isset($criterias['productrowid']) && isset($criterias['productcode']) && $criterias['productcode'] != '' && isset($criterias['version'])){ +if (!isset($criterias['productrowid']) && isset($criterias['productcode']) && $criterias['productcode'] != ''){ + //default output + $output = array( + "productcode" => "", + "version"=> "", + "mandatory"=> "", + "latest"=> "", + "software"=> "", + "source" => "", + "source_type" => "", + ); + //CHECK IF VERSION IS LATEST $latest_check = 0; foreach ($messages as $message){ diff --git a/api/v2/get/products_software.php b/api/v2/get/products_software.php index 9cf3a5c..dd0c4ad 100644 --- a/api/v2/get/products_software.php +++ b/api/v2/get/products_software.php @@ -127,10 +127,22 @@ else { } // IF PRODUCTCODE AND VERSION IS SEND ASSUME SOFTWARE REQUEST -if (!isset($criterias['productrowid']) && isset($criterias['productcode']) && $criterias['productcode'] != '' && isset($criterias['version'])){ +if (!isset($criterias['productrowid']) && isset($criterias['productcode']) && $criterias['productcode'] != '' ){ + //default output + $output = array( + "productcode" => "", + "version"=> "", + "mandatory"=> "", + "latest"=> "", + "software"=> "", + "source" => "", + "source_type" => "", + ); + //CHECK IF VERSION IS LATEST $latest_check = 0; + foreach ($messages as $message){ if ($message['latest'] == 1){ $output = array( diff --git a/assets/functions.php b/assets/functions.php index c76aef7..1662061 100644 --- a/assets/functions.php +++ b/assets/functions.php @@ -2804,4 +2804,43 @@ function dateInRange($start_date, $end_date, $date_check) // Check that user date is between start & end return (($check_ts >= $start_ts) && ($check_ts <= $end_ts)); +} + +function getLatestVersion($productcode,$token){ + + //BUILD POST DATA + $data = json_encode(array("productcode" => $productcode), JSON_UNESCAPED_UNICODE); + //API call + $responses = ioAPIv2('/v2/products_software', $data, $token); + + if (!empty($responses)){$responses = json_decode($responses,true);}else{$responses = null;} + + //DEFAULT OUTPUT + $output = array( + "productcode" => "", + "version"=> "", + "mandatory"=> "", + "latest"=> "", + "software"=> "", + "source" => "", + "source_type" => "", + ); + + if(!empty($responses)) { + foreach ($responses as $message){ + if ($message['latest'] == 1){ + $output = array( + "productcode" => $message['productcode'], + "version"=> $message['version'], + "mandatory"=> $message['mandatory'], + "latest"=> $message['latest'], + "software"=> $message['software'], + "source" => "", + "source_type" => "" + ); + } + } + } + + return $output; } \ No newline at end of file diff --git a/settings/systemservicetool.php b/settings/systemservicetool.php index abe0d99..4dd0655 100644 --- a/settings/systemservicetool.php +++ b/settings/systemservicetool.php @@ -1,71 +1,5 @@ array( - "batteryVoltage_Max"=> 4.9, - "batteryVoltage_Min"=> 4.5, - "AnalogVoltagePP_EP_0_Max"=> 4.8, - "AnalogVoltagePP_EP_0_Min"=> 4.1, - "AnalogVoltagePP_EP_680_Max"=> 3.4, - "AnalogVoltagePP_EP_680_Min"=> 2.9, - "AnalogVoltagePP_EP_480_Max"=> 2.9, - "AnalogVoltagePP_EP_480_Min"=> 2.5, - "AnalogVoltagePP_EP_330_Max"=> 2.5, - "AnalogVoltagePP_EP_330_Min"=> 2.1, - "AnalogVoltageCP_0_POS_Max"=> 12.5, - "AnalogVoltageCP_0_POS_Min"=> 11.5, - "AnalogVoltageCP_0_NEG_Max"=> -11.5, - "AnalogVoltageCP_0_NEG_Min"=> -12.5, - "AnalogVoltageCP_2K74_POS_Max"=> 9.2, - "AnalogVoltageCP_2K74_POS_Min"=> 8.7, - "AnalogVoltagePP_EP_Off_Max"=>0.3, - "AnalogVoltagePP_EP_Off_Min"=>-0.5 - ), - "ATM"=> array( - "batteryVoltage_Max"=> 4.9, - "batteryVoltage_Min"=> 4.5, - "AnalogVoltagePP_EP_0_Max"=> 4.8, - "AnalogVoltagePP_EP_0_Min"=> 4.1, - "AnalogVoltagePP_EP_680_Max"=> 3.4, - "AnalogVoltagePP_EP_680_Min"=> 2.9, - "AnalogVoltagePP_EP_480_Max"=> 2.9, - "AnalogVoltagePP_EP_480_Min"=> 2.5, - "AnalogVoltagePP_EP_330_Max"=> 2.5, - "AnalogVoltagePP_EP_330_Min"=> 2.1, - "AnalogVoltageCP_0_POS_Max"=> 12.5, - "AnalogVoltageCP_0_POS_Min"=> 11.5, - "AnalogVoltageCP_0_NEG_Max"=> -11.5, - "AnalogVoltageCP_0_NEG_Min"=> -12.5, - "AnalogVoltageCP_2K74_POS_Max"=> 9.2, - "AnalogVoltageCP_2K74_POS_Min"=> 8.7, - "AnalogVoltagePP_EP_Off_Max"=>0.3, - "AnalogVoltagePP_EP_Off_Min"=>-0.5 - ), - "ManualURL"=> "https://lms.tss-learning.com/course/view.php?id=60", - "termsURL"=> "https://emergency-plug.com/en/terms-and-conditions", - "Application" => array( - "current_version" => $service_tool_current_version, - "current_filename" => $service_tool_current_filename, - "location" => $software_download_url - ) -); - //================================================================= //SERVICE Tool allowed responses=================================== //================================================================= diff --git a/settings/systemservicetool_init.php b/settings/systemservicetool_init.php new file mode 100644 index 0000000..e317c72 --- /dev/null +++ b/settings/systemservicetool_init.php @@ -0,0 +1,246 @@ + array( + "batteryVoltage_Max"=> 4.9, + "batteryVoltage_Min"=> 4.5, + "AnalogVoltagePP_EP_0_Max"=> 4.8, + "AnalogVoltagePP_EP_0_Min"=> 4.1, + "AnalogVoltagePP_EP_680_Max"=> 3.4, + "AnalogVoltagePP_EP_680_Min"=> 2.9, + "AnalogVoltagePP_EP_480_Max"=> 2.9, + "AnalogVoltagePP_EP_480_Min"=> 2.5, + "AnalogVoltagePP_EP_330_Max"=> 2.5, + "AnalogVoltagePP_EP_330_Min"=> 2.1, + "AnalogVoltageCP_0_POS_Max"=> 12.5, + "AnalogVoltageCP_0_POS_Min"=> 11.5, + "AnalogVoltageCP_0_NEG_Max"=> -11.5, + "AnalogVoltageCP_0_NEG_Min"=> -12.5, + "AnalogVoltageCP_2K74_POS_Max"=> 9.2, + "AnalogVoltageCP_2K74_POS_Min"=> 8.7, + "AnalogVoltagePP_EP_Off_Max"=>0.3, + "AnalogVoltagePP_EP_Off_Min"=>-0.5 + ), + "ATM"=> array( + "batteryVoltage_Max"=> 4.9, + "batteryVoltage_Min"=> 4.5, + "AnalogVoltagePP_EP_0_Max"=> 4.8, + "AnalogVoltagePP_EP_0_Min"=> 4.1, + "AnalogVoltagePP_EP_680_Max"=> 3.4, + "AnalogVoltagePP_EP_680_Min"=> 2.9, + "AnalogVoltagePP_EP_480_Max"=> 2.9, + "AnalogVoltagePP_EP_480_Min"=> 2.5, + "AnalogVoltagePP_EP_330_Max"=> 2.5, + "AnalogVoltagePP_EP_330_Min"=> 2.1, + "AnalogVoltageCP_0_POS_Max"=> 12.5, + "AnalogVoltageCP_0_POS_Min"=> 11.5, + "AnalogVoltageCP_0_NEG_Max"=> -11.5, + "AnalogVoltageCP_0_NEG_Min"=> -12.5, + "AnalogVoltageCP_2K74_POS_Max"=> 9.2, + "AnalogVoltageCP_2K74_POS_Min"=> 8.7, + "AnalogVoltagePP_EP_Off_Max"=>0.3, + "AnalogVoltagePP_EP_Off_Min"=>-0.5 + ), + "ManualURL"=> "https://lms.tss-learning.com/course/view.php?id=60", + "termsURL"=> "https://emergency-plug.com/en/terms-and-conditions", + "Application" => array( + "current_version" => $service_tool_current_version, + "current_filename" => $service_tool_current_filename, + "location" => $software_download_url + ) +); + +//================================================================= +//SERVICE Tool allowed responses=================================== +//================================================================= + +$allowedResponseRadio = array( + array("responseID" => "1", "Response" => $service_allowed_label1), + array("responseID" => "2", "Response" => $service_allowed_label2) +); + +$allowedResponseDropdownDamage = array( + array("responseID" => "5", "Response" => $service_allowed_label5), + array("responseID" => "4", "Response" => $service_allowed_label4), + array("responseID" => "3", "Response" => $service_allowed_label3), + array("responseID" => "9", "Response" => $service_allowed_label9) +); + +$allowedResponseDropdownCorrosion = array( + array("responseID" => "6", "Response" => $service_allowed_label1), + array("responseID" => "7", "Response" => $service_allowed_label2) +); + +// Negative answers +$negative_results = array("2","3","6"); +//================================================================= +//SERVICE Tool Visual Inspection=================================== +//================================================================= + + +$arrayQuestions_visual = array( + array("Group" => $group_header_1, + "Group_sequence" => '1', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "service_visual_1","Question" => $service_visual_1, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "service_visual_2","Question" => $service_visual_2, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '3',"QuestionID" => "service_visual_3","Question" => $service_visual_3, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '4',"QuestionID" => "service_visual_4","Question" => $service_visual_4, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio) + ) + ), + array("Group" => $group_header_2, + "Group_sequence" => '2', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "service_visual_5", "Question" => $service_visual_5, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "service_visual_6", "Question" => $service_visual_6, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '3',"QuestionID" => "service_visual_7", "Question" => $service_visual_7, "Type" => 'Radiobutton', "Response" => $allowedResponseDropdownCorrosion), + array("Question_sequence" => '4',"QuestionID" => "service_visual_8", "Question" => $service_visual_8, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage) + ) + ), + array("Group" => $group_header_3, + "Group_sequence" => '3', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "service_visual_9", "Question" => $service_visual_9, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "service_visual_10", "Question" => $service_visual_10, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '3',"QuestionID" => "service_visual_11", "Question" => $service_visual_11, "Type" => 'Radiobutton', "Response" => $allowedResponseDropdownCorrosion), + array("Question_sequence" => '4',"QuestionID" => "service_visual_12", "Question" => $service_visual_12, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage) + ) + ), + array("Group" => $group_header_4, + "Group_sequence" => '4', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "service_visual_13", "Question" => $service_visual_13, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "service_visual_14", "Question" => $service_visual_14, "Type" => 'Radiobutton', "Response" => $allowedResponseDropdownCorrosion), + array("Question_sequence" => '2',"QuestionID" => "service_visual_15", "Question" => $service_visual_15, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "service_visual_16", "Question" => $service_visual_16, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "service_visual_17", "Question" => $service_visual_17, "Type" => 'Radiobutton', "Response" => $allowedResponseDropdownCorrosion), + array("Question_sequence" => '2',"QuestionID" => "service_visual_18", "Question" => $service_visual_18, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio) + ) + ), + array("Group" => $group_header_5, + "Group_sequence" => '5', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "service_visual_19", "Question" => $service_visual_19, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "service_visual_20", "Question" => $service_visual_20, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage), + array("Question_sequence" => '3',"QuestionID" => "service_visual_21", "Question" => $service_visual_21, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage), + array("Question_sequence" => '4',"QuestionID" => "service_visual_22", "Question" => $service_visual_22, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage) + ) + ) + ); + +//================================================================= +//SERVICE Tool Finalize =================================== +//================================================================= +$arrayQuestions_finalize = array( + array("Group" => $group_header_6, + "Group_sequence" => '1', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "service_action_clean", "Question" => $service_action_clean, "Type" => 'Checkbox', "Response" => ""), + array("Question_sequence" => '2',"QuestionID" => "service_action_battery", "Question" => $service_action_battery, "Type" => 'Checkbox', "Response" => "") + ) + ), + array("Group" => $group_header_7, + "Group_sequence" => '1', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "service_notes", "Question" => $service_notes, "Type" => 'Textarea', "Response" => "") + ) + ), + array("Group" => $group_header_8, + "Group_sequence" => '3', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "service_action_serial", "Question" => $service_action_serial, "Type" => 'Checkbox', "Response" => ""), + array("Question_sequence" => '2',"QuestionID" => "service_action_cover", "Question" => $service_action_cover, "Type" => 'Checkbox', "Response" => ""), + array("Question_sequence" => '3',"QuestionID" => "service_action_spudger", "Question" => $service_action_spudger, "Type" => 'Checkbox', "Response" => ""), + array("Question_sequence" => '4',"QuestionID" => "service_action_case", "Question" => $service_action_case, "Type" => 'Checkbox', "Response" => ""), + array("Question_sequence" => '5',"QuestionID" => "service_action_instructions", "Question" => $service_action_instructions, "Type" => 'Checkbox', "Response" => "") + ) + ), + array("Group" => $group_header_9, + "Group_sequence" => '4', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "service_mandatory_question", "Question" => $service_mandatory_question, "Type" => 'Checkbox', "Response" => "") + ) + ) + ); + +$arrayQuestions_legacy = array( + array("Group" => $group_header_legacy_1, + "Group_sequence" => '1', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "question1","Question" => $question1, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "question2","Question" => $question2, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '3',"QuestionID" => "question3","Question" => $question3, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '4',"QuestionID" => "question4","Question" => $question4, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio) + ) + ), + array("Group" => $group_header_legacy_2, + "Group_sequence" => '2', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "question5", "Question" => $question5, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio) + ) + ), + array("Group" => $group_header_legacy_3, + "Group_sequence" => '3', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "question6", "Question" => $question6, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "question7", "Question" => $question7, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '3',"QuestionID" => "question8", "Question" => $question8, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '4',"QuestionID" => "question9", "Question" => $question9, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio) + ) + ), + array("Group" => $group_header_legacy_4, + "Group_sequence" => '4', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "question11a", "Question" => $question11, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownCorrosion), + array("Question_sequence" => '2',"QuestionID" => "question12a", "Question" => $question12, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownCorrosion), + array("Question_sequence" => '3',"QuestionID" => "question13a", "Question" => $question13, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownCorrosion), + array("Question_sequence" => '4',"QuestionID" => "question14a", "Question" => $question14, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownCorrosion), + array("Question_sequence" => '5',"QuestionID" => "question18a", "Question" => $question18, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownCorrosion) + ) + ), + array("Group" => $group_header_legacy_5, + "Group_sequence" => '5', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "question10", "Question" => $question10, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage), + array("Question_sequence" => '2',"QuestionID" => "question11", "Question" => $question11, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage), + array("Question_sequence" => '3',"QuestionID" => "question12", "Question" => $question12, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage), + array("Question_sequence" => '4',"QuestionID" => "question13", "Question" => $question13, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage), + array("Question_sequence" => '5',"QuestionID" => "question14", "Question" => $question14, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage), + array("Question_sequence" => '6',"QuestionID" => "question15", "Question" => $question15, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage), + array("Question_sequence" => '7',"QuestionID" => "question16", "Question" => $question16, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage), + array("Question_sequence" => '8',"QuestionID" => "question17", "Question" => $question17, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage), + array("Question_sequence" => '9',"QuestionID" => "question18", "Question" => $question18, "Type" => 'Dropdown', "Response" => $allowedResponseDropdownDamage) + ) + ), + array("Group" => $group_header_legacy_6, + "Group_sequence" => '6', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "question20", "Question" => $question20, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "question22", "Question" => $question22, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio) + ) + ), + array("Group" => $group_header_legacy_7, + "Group_sequence" => '7', + "Questions_in_group" => array( + array("Question_sequence" => '1',"QuestionID" => "question21", "Question" => $question21, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '2',"QuestionID" => "question23", "Question" => $question23, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio), + array("Question_sequence" => '3',"QuestionID" => "question24", "Question" => $question24, "Type" => 'Radiobutton', "Response" => $allowedResponseRadio) + ) + ), + ); +?> \ No newline at end of file