File "ais_data.php"
Full path: /www/ais_management/ais_data.php
File size: 9.19 KiB (9406 bytes)
MIME-type: text/html
Charset: utf-8
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<title>AISデータ管理</title>
<!-- css -->
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" crossorigin="anonymous">
<link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet">
<!-- page org style -->
<link href="./style/basic2.css" rel="stylesheet">
</head>
<body>
<!-- Main Contents -->
<main>
<div class="container-fluid">
<!-- page header -->
<div class="row mb-2">
<div class="col-12">
<div class="title p-2 border rounded text-center"><FONT SIZE='6'>AISデータ管理</FONT></div>
</div>
</div>
<script>
function copyToClipboard(no) {
// コピー対象をJavaScript上で変数として定義する
var name = "copyTarget[" + no + "]";
var copyTarget = document.getElementById(name);
// コピー対象のテキストを選択する
copyTarget.select();
document.execCommand("Copy");
}
</script>
<?php
EXTRACT($_POST);
//print_r($_POST);
//AISデータ出力先
$ais_data_path = '/www/ais_management/ais/';
//処理実行フラグのパス
$flag_file_path = "/www/ais_management/setting/ais_start_flag.txt";
//処理間隔の設定パス
$interval_file_path = "/www/ais_management/setting/ais_interval.txt";
///設定情報
//施工位置(緯度・経度)
$position_path = "/www/ais_management/setting/position.txt";
//AIS取得範囲(施工位置中心からの距離)
$search_range_path = "/www/ais_management/setting/search_range.txt";
//平面直角座標系の番号
$epsg_path = "/www/ais_management/setting/epsg.txt";
//船舶のZ情報
$ship_z_path = "/www/ais_management/setting/ship_z.txt";
//Safie番号
$safie_no_path = "/www/ais_management/setting/safie_no.txt";
//MMSIデータ削除
if($_POST['delete'])
{
// print_r($_POST);
$del_cmd = "rm -fR " .$ais_data_path ."*";
$del_exec = exec($del_cmd);
}
if($_POST['update'])
{
// print_r($_POST);
$position_data = $_POST['lat'] ."," .$_POST['lon'];
file_put_contents($position_path ,$position_data ,LOCK_EX);
file_put_contents($search_range_path ,$_POST['range'] ,LOCK_EX);
file_put_contents($epsg_path ,$_POST['epsg_no'] ,LOCK_EX);
file_put_contents($ship_z_path ,$_POST['z'] ,LOCK_EX);
}
$position = explode("," ,file_get_contents($position_path));
$search_range = file_get_contents($search_range_path);
$epsg_no = file_get_contents($epsg_path);
$ship_z = file_get_contents($ship_z_path);
if($_POST['p_start'])
{
file_put_contents($flag_file_path, "1" ,LOCK_EX);
exec('/usr/bin/php -f /www/ais_management/data_output.php > /dev/null &');
}
if($_POST['p_stop'])
{
file_put_contents($flag_file_path, "0" ,LOCK_EX);
}
if($_POST['interval_upd'])
{
if(0 <= ($_POST['interval_set']))
{
file_put_contents($interval_file_path, $_POST['interval_set'] ,LOCK_EX);
}
}
$interval = file_get_contents($interval_file_path);
$start_flag = file_get_contents($flag_file_path);
$status =($start_flag)? '<B><FONT COLOR="red">実行中</FONT></B>' : '<B>停止中</B>';
$button =($start_flag)? 'disabled' : '';
print "<TABLE><TR><TD>" ."<A HREF='https://penta-02.ptgw.net/ais_management/safie_data.php'><FONT SIZE='4'>" ."safieロケーション" ."</FONT></A></TD></TR></TABLE>";
print "<TABLE BORDER='0'>";
print "<TR><TD>";
print "<form name='program' enctype='multipart/form-data' action='' method='post'>";
print "<TABLE BORDER='0'>";
print "<TR ALIGN='center'><TD>";
print "<B>動作状態:</B>";
print "</TD>";
print "<TD>";
print $status;
print "</TD></TR>";
print "<TR><TD>";
print "<INPUT TYPE='submit' NAME='p_start' VALUE='AIS取得開始' style='width:130px;height:50px;'>";
print "</TD>";
print "<TD>";
print "<INPUT TYPE='submit' NAME='p_stop' VALUE='停止' style='width:130px;height:50px;'>";
print "</TD>";
print "</TR>";
print "<TR>";
print "<TD ALIGN='center'>";
print "<form name='program' enctype='multipart/form-data' action='$_SERVER[PHP_SELF]' method='post'>";
print "取得間隔(s):";
print "</TD>";
print "<TD>";
print "<INPUT TYPE='text' NAME='interval_set' SIZE='1' VALUE='" .$interval ."'".$button .">";
print "<INPUT TYPE='submit' NAME='interval_upd' VALUE='変更' style='width:80px;'" .$button .">";
print "</TD>";
print "</TR>";
print "</FORM>";
print "<TR>";
print "<form name='program' enctype='multipart/form-data' action='$_SERVER[PHP_SELF]' method='post'>";
print "<TD COLSPAN='2'>" ."<BR><INPUT TYPE='submit' NAME='delete' VALUE='MMSIデータの初期化' style='width:260px;'" .$button .">";
print "<BR><INPUT TYPE='submit' NAME='new' VALUE='最新のデータ表示' style='width:260px;'>";
print "</TD>";
print "</FORM>";
print "</TR>";
print "<TR>";
print "<TD COLSPAN='2'>" ."<BR><A HREF='https://penta-02.ptgw.net/ais_management/dl/model_data.zip' TARGET='_BLANK'>" ."モデルデータダウンロード" ."</A></TD>";
print "</TR>";
print "</TABLE>";
print "</TD>";
print "<TD>";
$filelist = glob($ais_data_path . '*');
$data_ = array();
$dt_ct = 0;
foreach ($filelist as $file)
{
$data_split = explode('/',$file);
$data_[$dt_ct][0] = array_pop($data_split);
$filelist2 = glob($file .'/*');
foreach ($filelist2 as $file2)
{
if (is_file($file2))
{
$data_[$dt_ct][] = str_replace("/www" ,"https://penta-02.ptgw.net" ,$file2);
$data_[$dt_ct][] = filemtime($file2);
}
}
$dt_ct = $dt_ct +1;
}
//print_r($data_);
$data_ct = count($data_);
print "<form name='program' enctype='multipart/form-data' action='$_SERVER[PHP_SELF]' method='post'>";
print "<TABLE BORDER='1'>";
print "<TR ALIGN='center' bgcolor='#00008B'><B>";
print "<TD COLSPAN='2' WIDTH='300'><FONT COLOR='white'>" ."AIS設定" ."</FONT></TD>";
print "</TR>";
print "<TR>";
print "<TD ALIGN='center' WIDTH='150'>" ."施工位置" ."</TD>";
print "<TD>";
print "緯度:" ."<INPUT TYPE='text' NAME='lat' SIZE='10' VALUE='" .$position[0] ."'".$button .">";
print "<BR>";
print "経度:" ."<INPUT TYPE='text' NAME='lon' SIZE='10' VALUE='" .$position[1] ."'".$button .">";
print "</TD>";
print "</TR>";
print "<TR>";
print "<TD ALIGN='center' WIDTH='100'>" ."取得範囲" ."</TD>";
print "<TD>";
print " ";
print "<INPUT TYPE='text' NAME='range' VALUE='" .$search_range ."'" .$button ." style=\"width:42px;\"> km";
print "</TD>";
print "</TR>";
print "<TR>";
print "<TD ALIGN='center' WIDTH='100'>" ."平面直角座標系" ."<BR>" ."系番号"."</TD>";
print "<TD>";
print " ";
print "<select name='epsg_no' " .$button .">";
for($s = 1;$s <= 19;$s++)
{
$value = $s + 6668;
$selected = ($epsg_no == $value)? "selected":"";
print "<option value='" .$value ."' " .$selected ." " .$button .">" .$s ."</option>";
}
print "</select>";
print "</TD>";
print "</TR>";
print "<TR>";
print "<TD ALIGN='center' WIDTH='100'>" ."位置情報:Z" ."</TD>";
print "<TD>";
print " ";
print "<INPUT TYPE='text' NAME='z' VALUE='" .$ship_z ."' SIZE='10'" .$button .">";
print "</TD>";
print "</TR>";
print "<TR>";
print "<TD COLSPAN='2' ALIGN='center'>";
print "<INPUT TYPE='submit' NAME='update' VALUE='設定更新' style='width:310px;'" .$button .">";
print "</FORM>";
print "</TD>";
print "</TR>";
print "</TABLE>";
print "</TD>";
print "</TR>";
print "</TABLE>";
print "<TABLE BORDER='1'>";
print "<TR ALIGN='center' bgcolor='#00008B'>";
print "<TD WIDTH='100'><FONT COLOR='white'>" ."MMSI" ."</FONT></TD>";
print "<TD WIDTH='600'><FONT COLOR='white'>" ."CSVパス" ."</FONT></TD>";
print "<TD WIDTH='150'><FONT COLOR='white'>" ."更新日時" ."</FONT></TD>";
print "<TD WIDTH='600'><FONT COLOR='white'>" ."FBXファイルパス" ."</FONT></TD>";
print "<TD WIDTH='150'><FONT COLOR='white'>" ."更新日時" ."</FONT></TD>";
print "</TR>";
$no1 = 0;
$no2 = 1;
for($i = 0;$i < $data_ct;$i++)
{
print "<TR ALIGN='center'>";
print "<TD WIDTH='100'>" ."<A HREF='https://penta-02.ptgw.net/ais_management/ais_log/" .$data_[$i][0] ."_gpsdata.csv' TARGET='_BLANK'><div title='履歴ダウンロード'>" .$data_[$i][0] ."</div></A></TD>";
print "<TD WIDTH='600'>" ."<input id='copyTarget[" .$no1 ."]" ."' type='text' value='" .$data_[$i][1] ."' style='width:520px;' readonly> ";
print "<button onclick='copyToClipboard(\"" .$no1 ."\")'>Copy</button>";
print "</TD>";
print "<TD WIDTH='150'>" .date("Y-m-d H:i:s",$data_[$i][2]) ."</TD>";
print "<TD WIDTH='600'>" ."<input id='copyTarget[" .$no2 ."]" ."' type='text' value='" .$data_[$i][3] ."' style='width:520px;' readonly> ";
print "<button onclick='copyToClipboard(\"" .$no2 ."\")'>Copy</button>";
print "</TD>";
print "<TD WIDTH='150'>" .date("Y-m-d H:i:s",$data_[$i][4]) ."</TD>";
print "</TR>";
$no1 = $no1 + 2;
$no2 = $no2 + 2;
}
print "</TABLE>";
?>
</main>
</body>
</html>