From 5ab161c62d0777d8b016db1f4951f9fde813cd73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CVeLiTi=E2=80=9D?= <“info@veliti.nl”> Date: Mon, 1 Jul 2024 16:52:44 +0200 Subject: [PATCH 1/2] CIM69 - Pictures --- assets/functions.php | 35 ++++++++++------------------------- cartest.php | 4 ++++ cartest_manage.php | 37 ++++++++++++++++++++++++++++++++++--- settings/systemcartest.php | 6 +++--- 4 files changed, 51 insertions(+), 31 deletions(-) diff --git a/assets/functions.php b/assets/functions.php index 46b68c1..90b51f3 100644 --- a/assets/functions.php +++ b/assets/functions.php @@ -1716,38 +1716,23 @@ if(($imageFileType == "jpg" || $imageFileType == "png" || $imageFileType == "jpe //------------------------------------------ // UPLOAD PICTURE for PRODUCTS //------------------------------------------ -function uploadrequest($requestid, $request_line_id, $name){ - - $identifier = date('YmdHis'); - $target_dir = dirname(__FILE__)."/images/requests/"; - $input_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); +function uploadrequest($key){ + $target_dir = dirname(__FILE__)."/images/cartests/"; + $input_file = $target_dir . basename($_FILES["fileToUpload"]["name"][$key]); $imageFileType = strtolower(pathinfo($input_file,PATHINFO_EXTENSION)); - $target_file = $target_dir . $name.'-'.$identifier .'.jpg'; - $file_input_check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); - $image_name = $name.'-'.$identifier .'.jpg'; + $file_input_check = getimagesize($_FILES["fileToUpload"]["tmp_name"][$key]); + $location = "./assets/images/cartests/".basename($_FILES["fileToUpload"]["name"][$key]); //Do when JPG or PNG or JPEG or GIF and smaller than 5MB - if(($imageFileType == "jpg" || $imageFileType == "png" || $imageFileType == "jpeg" || $imageFileType == "gif" || $imageFileType == "png") && $_FILES["fileToUpload"]["size"] < 5000000 && $file_input_check !== false) { + if(($imageFileType == "jpg" || $imageFileType == "png" || $imageFileType == "jpeg" || $imageFileType == "gif" || $imageFileType == "png") && $_FILES["fileToUpload"]["size"][$key] < 5000000 && $file_input_check !== false) { //Upload picture - if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { - storeImage($requestid,$request_line_id,$image_name); + if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"][$key], $input_file)) { + //ADD FILELOCATION TO POST VARIABLE + $_POST['questions'][$key] = $location; } else { - } - //} - } - } - - function storeImage($requestid, $request_line_id,$image_name){ - - include dirname(__FILE__,2).'/settings/settings.php'; - - $pdo = dbConnect($dbname); - - $sql = 'INSERT INTO images (requestid, request_line_id, image_name) VALUES (?,?,?)'; - $stmt = $pdo->prepare($sql); - $stmt->execute([$requestid, $request_line_id,$image_name]); } +} //------------------------------------------ // displayImages //------------------------------------------ diff --git a/cartest.php b/cartest.php index 05aefef..4a0d060 100644 --- a/cartest.php +++ b/cartest.php @@ -182,6 +182,10 @@ $view .= '
case 'textarea': $view .= '

'.((!empty($value) || $value !="")?$value:$not_specified).'

'; break; + + case 'file': + $view .= '

'; + break; } } diff --git a/cartest_manage.php b/cartest_manage.php index 31b2890..bb18715 100644 --- a/cartest_manage.php +++ b/cartest_manage.php @@ -65,7 +65,14 @@ if (isset($_GET['rowID'])) { if ($update_allowed === 1){ if (isset($_POST['submit'])) { - //ARRAY convert to JSON + //UPLOAD ALL PICTURES + foreach ($_FILES["fileToUpload"]["name"] as $key => $value){ + //ONLY UPDATE PICTURES IF SOMETHING IS RETURNED + if($value !='' || !empty($value)){ + uploadrequest($key); + } + } + //ARRAY convert to JSON $_POST['header'] = json_encode($_POST['header'], JSON_UNESCAPED_UNICODE); $_POST['questions'] = json_encode($_POST['questions'], JSON_UNESCAPED_UNICODE); @@ -113,6 +120,13 @@ if (isset($_GET['rowID'])) { } else { // Create a new equipment if (isset($_POST['submit'])) { + //UPLOAD ALL PICTURES + foreach ($_FILES["fileToUpload"]["name"] as $key => $value){ + //ONLY UPDATE PICTURES IF SOMETHING IS RETURNED + if($value !='' || !empty($value)){ + uploadrequest($key); + } + } //ARRAY convert to JSON $_POST['header'] = json_encode($_POST['header'], JSON_UNESCAPED_UNICODE); $_POST['questions'] = json_encode($_POST['questions'], JSON_UNESCAPED_UNICODE); @@ -152,7 +166,7 @@ $carbrands_input .= ''; template_header('Cartesttool', 'cartesttool','manage'); $view =' -
+

'.$cartest_h2.'

'.$button_cancel.' @@ -253,9 +267,21 @@ foreach($arrayQuestions_cartest as $group){ break; case 'textarea': - $view .= ''; + $view .= ''; $view .= ''; break; + + case 'file'; + $view .= ''; + + if ($question['QuestionID'] !=''){ + $view .= ' + '; + } else { + $view .= ''; + } + + break; } } $view .= '
@@ -334,6 +360,11 @@ echo ' display = document.querySelector(\'#time\'); startTimer(startMinute, display); }; + +function preview(id) { + id.src=URL.createObjectURL(event.target.files[0]); +} + '; diff --git a/settings/systemcartest.php b/settings/systemcartest.php index 6d1f15b..9ddc9db 100644 --- a/settings/systemcartest.php +++ b/settings/systemcartest.php @@ -71,10 +71,10 @@ $arrayQuestions_cartest = array( "Group_sequence" => '5', "Questions_in_group" => array( array("Question_sequence" => '1',"QuestionID" => "cartest_18","Question" => $cartest_18, "Type" => 'dropdown', "Response" => $allowedResponse_1), - array("Question_sequence" => '2',"QuestionID" => "cartest_19","Question" => $cartest_19, "Type" => 'dropdown', "Response" => $allowedResponse_1), - array("Question_sequence" => '3',"QuestionID" => "cartest_20","Question" => $cartest_20, "Type" => 'dropdown', "Response" => $allowedResponse_1), + array("Question_sequence" => '2',"QuestionID" => "cartest_19","Question" => $cartest_19, "Type" => 'file', "Response" => $allowedResponse_1), + array("Question_sequence" => '3',"QuestionID" => "cartest_20","Question" => $cartest_20, "Type" => 'file', "Response" => $allowedResponse_1), array("Question_sequence" => '4',"QuestionID" => "cartest_21","Question" => $cartest_21, "Type" => 'dropdown', "Response" => $allowedResponse_1), - array("Question_sequence" => '5',"QuestionID" => "cartest_22","Question" => $cartest_22, "Type" => 'dropdown', "Response" => $allowedResponse_1) + array("Question_sequence" => '5',"QuestionID" => "cartest_22","Question" => $cartest_22, "Type" => 'file', "Response" => $allowedResponse_1) ) ), array("Group" => $cartest_header_6, From 061fae6244456185eccaa23ae16a263a1373e405 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CVeLiTi=E2=80=9D?= <“info@veliti.nl”> Date: Tue, 20 Aug 2024 09:02:10 +0200 Subject: [PATCH 2/2] Multiple small updates --- api/v1/get/equipments.php | 8 +++ cartest_manage.php | 8 +-- dev.php | 68 +++++++++++++++++++++-- equipments.php | 2 + settings.php | 12 +++- settings/systemservicetool.php | 2 +- settings/translations/translations_DE.php | 3 +- settings/translations/translations_NL.php | 2 + settings/translations/translations_US.php | 2 + 9 files changed, 93 insertions(+), 14 deletions(-) diff --git a/api/v1/get/equipments.php b/api/v1/get/equipments.php index 24d3f66..ac4c5b8 100644 --- a/api/v1/get/equipments.php +++ b/api/v1/get/equipments.php @@ -158,6 +158,8 @@ else { 6 Warranty DESC 7 Service ASC 8 Service DESC + 9 Latest ASC + 10 Latest DESC */ switch ($sort_indicator){ @@ -185,6 +187,12 @@ else { case 8: $sort = ' e.service_date DESC '; break; + case 9: + $sort = ' e.created DESC '; + break; + case 10: + $sort = ' e.created ASC '; + break; default: $sort = ' equipmentID '; break; diff --git a/cartest_manage.php b/cartest_manage.php index bb18715..e80c747 100644 --- a/cartest_manage.php +++ b/cartest_manage.php @@ -148,11 +148,11 @@ if (isset($_GET['rowID'])) { //CREATE CARTEST BRAND DROPDOWN $carbrands_input =' - - '; + + '; //END CARBRAND DROPDOWN template_header('Cartesttool', 'cartesttool','manage'); diff --git a/dev.php b/dev.php index 6ea017c..6aec4b5 100644 --- a/dev.php +++ b/dev.php @@ -7,13 +7,71 @@ include './assets/functions.php'; include './settings/settings.php'; include './settings/config.php'; +//Connect to DB +$pdo = dbConnect($dbname); +$sql = 'SELECT description FROM history where type="Maintenance_Test" and description like "%doubletestvalues%"'; +$stmt = $pdo->prepare($sql); +$stmt->execute(); +$messages = $stmt->fetchAll(PDO::FETCH_ASSOC); -$plugdata = '{"VCP":{"VCP":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.95324,11.95324,-11.894518,-11.894518,-11.894518,-11.894518,-11.894518,-11.894518,-11.894518,11.95324,11.95324]},"VPP1":{"VPP1":[0.151528,0.151528,0.141752,0.180856,0.151528,0.151528,0.141752,0.180856,0.151528,0.151528,0.141752,0.180856,0.151528,0.151528,0.141752,0.180856,0.151528,0.151528,0.141752,0.180856,0.151528,0.180856,0.156416,0.156416,0.151528,0.141752,0.180856,0.151528,0.180856,0.156416,0.156416,0.156416,0.156416,0,0.034216,0.102648,0.092872,0.09776,0.141752,0.034216,0.092872,0,0,0,0,0]},"VPP2":{"VPP2":[0.151528,0.151528,0.156416,0.156416,0.156416,0.151528,0.156416,0.156416,0.156416,0.151528,0.156416,0.156416,0.156416,0.151528,0.156416,0.156416,0.156416,0.151528,0.156416,0.156416,0.156416,0.156416,0.156416,0.156416,0.151528,0.156416,0.156416,0.156416,0.156416,0.156416,0.156416,0.156416,0.156416,0,0.029328,0.087984,0.068432,0.078208,0.09776,0,0.136864,0,0,0,0,0]},"VBAT":{"VBAT":[0,0,4.824456,4.824456,4.824456,0,4.824456,4.824456,4.824456,0,4.824456,4.824456,4.824456,0,4.824456,4.824456,4.824456,0,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,0,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.824456,4.726696,4.66804]},"PWM":{"PWM":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,10,10,10]},"STATE":{"STATE":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,-5,-5,-5,-5,-5,-5,-5,-5]},"xChart":{"xChart":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46]}}'; +//total measurement internal array +$total_measurement = []; +foreach ($messages as $message){ + //Cleanup input array + $message = json_decode($message['description'],true); + $message = $message["doubletestvalues"]; + foreach ($message as $measure){ + //Filter out correct measurements + if ($measure['pass'] === true){ + $total_measurement[$measure['name']][] = $measure['measure']; + } + } +} -//echo $plugdata; -//$plugdata =json_encode($plugdata); -$plugdata =json_decode($plugdata,true); -var_dump($plugdata['PWM']['PWM']); +//result array +$total_results = []; +//print "
";
+//print_r($total_measurement);
+//print "
"; + +foreach ($total_measurement as $key => $value){ + $total_results[$key]['average'] = average($value); + $total_results[$key]['median'] = calculateMedian($value); + $total_results[$key]['stdev'] = standDeviation($value); +} +print "
";
+print_r($total_results);
+print "
"; + +function standDeviation($arr) +{ + $num_of_elements = count($arr); + $variance = 0.0; + // Calculate mean using array_sum() method + $average = array_sum($arr) / $num_of_elements; + foreach($arr as $i) + { + // Sum of squares of differences between all numbers and means. + $variance += pow(($i - $average), 2); + } + return (float)sqrt($variance / $num_of_elements); +} +function average($arr) +{ + $num_of_elements = count($arr); + $average = array_sum($arr) / $num_of_elements; + return $average; +} +function calculateMedian($array) { + if (empty($array)) { + return null; + } else { + sort($array); + $lowMiddle = $array[floor((count($array) - 1) / 2)]; + $highMiddle = $array[ceil((count($array) - 1) / 2)]; + return ($lowMiddle + $highMiddle) / 2; + } +} ?> \ No newline at end of file diff --git a/equipments.php b/equipments.php index 4e43b27..67ce204 100644 --- a/equipments.php +++ b/equipments.php @@ -156,6 +156,8 @@ $view .= ' + + diff --git a/settings.php b/settings.php index d98a91c..0b3ae94 100644 --- a/settings.php +++ b/settings.php @@ -87,7 +87,7 @@ function format_form($contents) { return $form; } -if (isset($_POST) && !empty($_POST)) { +if (isset($_POST['submit']) && !empty($_POST)) { // Update the configuration file with the new keys and values foreach ($_POST as $k => $v) { $v = in_array(strtolower($v), ['true', 'false']) ? strtolower($v) : '\'' . $v . '\''; @@ -95,13 +95,18 @@ if (isset($_POST) && !empty($_POST)) { } file_put_contents('./settings/config.php', $contents); - //GEOLOCATION UPDATE - geolocationUpdate($_SESSION['userkey']); + //Return succesmessage header('Location: index.php?page=settings&success_msg=1'); exit; } + +if (isset($_POST['geoupdate'])){ + //GEOLOCATION UPDATE + geolocationUpdate($_SESSION['userkey']); +} + // Handle success messages if (isset($_GET['success_msg'])) { if ($_GET['success_msg'] == 1) { @@ -118,6 +123,7 @@ $view .= '

Settings

+
'; diff --git a/settings/systemservicetool.php b/settings/systemservicetool.php index ae18faf..fcea014 100644 --- a/settings/systemservicetool.php +++ b/settings/systemservicetool.php @@ -53,7 +53,7 @@ $init = array( "AnalogVoltageCP_2K74_POS_Max"=> 9.2, "AnalogVoltageCP_2K74_POS_Min"=> 8.7 ), - "ManualURL"=> "https://www.totalsafetysolutions.nl", + "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, diff --git a/settings/translations/translations_DE.php b/settings/translations/translations_DE.php index d704504..c02a06e 100644 --- a/settings/translations/translations_DE.php +++ b/settings/translations/translations_DE.php @@ -48,8 +48,9 @@ $general_page = 'Seite '; $general_page_of = ' von '; $general_sort_type_1 = 'Niedrig - Hoch'; - $general_sort_type_2 = 'Hoch - Niedrig'; +$general_sort_type_3 = 'Neuest'; +$general_sort_type_4 = 'Altest'; $general_prev = '«'; $general_next = '»'; diff --git a/settings/translations/translations_NL.php b/settings/translations/translations_NL.php index 78132c7..f07dd97 100644 --- a/settings/translations/translations_NL.php +++ b/settings/translations/translations_NL.php @@ -49,6 +49,8 @@ $general_page_of = ' van '; $general_sort_type_1 = 'Laag - Hoog'; $general_sort_type_2 = 'Hoog - Laag'; +$general_sort_type_3 = 'Nieuwste'; +$general_sort_type_4 = 'Oudste'; $general_prev = '«'; $general_next = '»'; diff --git a/settings/translations/translations_US.php b/settings/translations/translations_US.php index ecc3e50..ab7dfd3 100644 --- a/settings/translations/translations_US.php +++ b/settings/translations/translations_US.php @@ -49,6 +49,8 @@ $general_page_of = ' of '; $general_sort_type_1 = 'Low - High'; $general_sort_type_2 = 'High - Low'; +$general_sort_type_3 = 'Latest'; +$general_sort_type_4 = 'Oldest'; $general_prev = '«'; $general_next = '»';