GeoPHP/obdelava.php

245 lines
6.7 KiB
PHP
Raw Normal View History

2024-07-03 00:25:50 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<title>TPS1100 Convert Online</title>
<meta content="text/html" charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<style>
pre {
overflow-x: auto;
max-width: 60vw;
}
pre code {
word-wrap: normal;
white-space: pre;
}
body {
background-color: rgba(0, 0, 0, 100.0);
color: #e0e0e0;
padding: 10px;
font-family: 'Courier New', Courier, monospace;
font-size: 12pt;
}
h3 {
color: #FFDB23;
font-size: 1.3em;
}
table {
color: #E0E0E0 !important;
}
.table-on {
color: #d1f200 !important;
}
.table-off {
color: #e00000 !important;
}
.table-conn {
color: #d1f200 !important;
}
.table-disconn {
color: #c9c9c9 !important;
}
.indicator {
border: 1px solid #383737;
border-radius: 8px;
margin-left: 8px;
margin-right: 8px;
margin-bottom: -4px;
height: 16px;
width: 16px;
background-color: #4f4f4f;
display: inline-block;
}
.indicatorOn {
background-color: #d1f200;
box-shadow: 0px 0px 8px 0px #edff7b, inset 1px 10px 1px #d1f200, inset 0px -1px 10px 1px #95ac00;
}
.indicatorOff {
background-color: red;
box-shadow: 0px 0px 8px 0px #ff3131, inset 1px 10px 1px #e63a3a, inset 0px -1px 10px 1px #a80808;
}
.indicatorDisconn {
background-color: #c9c9c9;
box-shadow: 0px 0px 8px 0px #e0e0e0, inset 1px 10px 1px #c9c9c9, inset 0px -1px 10px 1px #9b9b9b;
}
</style>
</head>
<html>
<body>
<?php
use Vtiful\Kernel\Format;
// Obdelava GSI datoteke
$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$target_dirarc = "archive/";
$target_filearc = $target_dirarc . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$datFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if (isset($_POST["submit"])) {
if ($datFileType != "gsi") {
echo "Napaka! Izberi datoteko GSI...<br>";
$uploadOk = 0;
} else {
//echo "Branje datoteke GSI...<br>";
$uploadOk = 1;
}
}
// // Check if file already exists
// if (file_exists($target_file)) {
// echo "Sorry, file already exists.";
// $uploadOk = 0;
// }
// // Check file size
// if ($_FILES["fileToUpload"]["size"] > 500000) {
// echo "Sorry, your file is too large.";
// $uploadOk = 0;
// }
// // Allow certain file formats
// if($datFileType != "gsi") {
// echo "Napaka! Nalozi datoteko GSI.";
// $uploadOk = 0;
// }
class ObdelavaGsi
{
// Properties
public $obdelavaTocke;
public $obdelavaZap;
// Methods
function izvoz_tocke($name)
{
$this->obdelavaTocke = $name;
$file_handle = fopen($name, "rb");
$merjene = 0;
$stojisce = 0;
while (!feof($file_handle)) {
$line_of_text = fgets($file_handle);
$parts = explode(' ', $line_of_text);
$word_index = substr($parts[0], 1, 2);
if ($word_index == 41) {
$koda = ltrim(substr($parts[0], 8), "0");
if ($koda == 99) {
$merjene = 2;
$stojisce = 0;
} elseif ($koda >= 90) {
$merjene = 1;
$stojisce = 0;
} elseif ($koda >= 80) {
$merjene = 3;
$stojisce = 0;
} elseif ($koda < 80) {
$merjene = 0;
$stojisce = 1;
} else {
$merjene = 0;
$stojisce = 0;
}
}
if ($word_index == 11 && $merjene >= 1) {
$pointid = ltrim(substr($parts[0], 8), "0");
foreach ($parts as $datpart) {
$data_index = substr($datpart, 0, 2);
if ($data_index == 81) {
$pointE = substr($datpart, 6) / 1000;
}
if ($data_index == 82) {
$pointN = substr($datpart, 6) / 1000;
}
if ($data_index == 83) {
$pointH = substr($datpart, 6) / 1000;
}
}
if ($merjene == 1) {
print $pointid . "\t" . number_format($pointE, 3, ".", "") . "\t" . number_format($pointN, 3, ".", "") . "\t" . number_format($pointH, 3, ".", "") . "\tMEAS<BR>";
}
if ($merjene == 2) {
print $pointid . "\t" . number_format($pointE, 3, ".", "") . "\t" . number_format($pointN, 3, ".", "") . "\t" . number_format($pointH, 3, ".", "") . "\tREF<BR>";
}
if ($merjene == 3) {
print $pointid . "\t" . number_format($pointE, 3, ".", "") . "\t" . number_format($pointN, 3, ".", "") . "\t" . number_format($pointH, 3, ".", "") . "\tORI<BR>";
}
}
if ($word_index == 11 && $stojisce == 1) {
$pointid = ltrim(substr($parts[0], 8), "0");
$pointSta = 0;
foreach ($parts as $datpart) {
$data_index = substr($datpart, 0, 2);
if ($data_index == 25) {
$pointSta = 1;
}
if ($data_index == 84) {
$pointE = substr($datpart, 6) / 1000;
}
if ($data_index == 85) {
$pointN = substr($datpart, 6) / 1000;
}
if ($data_index == 86) {
$pointH = substr($datpart, 6) / 1000;
}
}
if ($pointSta == 1) {
print $pointid . "\t" . number_format($pointE, 3, ".", "") . "\t" . number_format($pointN, 3, ".", "") . "\t" . number_format($pointH, 3, ".", "") . "\tSTA<BR>";
}
$pointSta = 0;
}
}
fclose($file_handle);
print "<br>";
}
function get_name()
{
return $this->obdelavaTocke;
}
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Postopek je bil prekinjen.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$datime = basename($_FILES["fileToUpload"]["name"]);
$datimenova = str_replace(".GSI", ".TXT", $datime);
//echo "Datoteka: " . htmlspecialchars($datime) . "<br>";
//echo "Nova Datoteka: " . htmlspecialchars($datimenova) . "<br><br>";
$datTocke = new ObdelavaGsi();
if ($_POST['obdelava'] == "tocke") {
$datTocke->izvoz_tocke($target_file);
}
} else {
echo "Koncano";
}
}
?>
</body>
</html>