浏览代码

sos upd

TODO
step 1: mkdir sos
step 2: upd ng config
station_14109
altob.rd 8 年前
父节点
当前提交
6d58ec7935
共有 3 个文件被更改,包括 60 次插入269 次删除
  1. +3
    -0
      config/constants.php
  2. +53
    -14
      controllers/Parkingquery.php
  3. +4
    -255
      views/parkingquery/floor_map.php

+ 3
- 0
config/constants.php 查看文件

@@ -45,6 +45,9 @@ define('CAR_PIC', FILE_BASE.'cars/pics/'); // 車輛照片存檔路徑
define('PKS_PIC', FILE_BASE.'pks/pics/'); // 車輛入車格照片存檔路徑 define('PKS_PIC', FILE_BASE.'pks/pics/'); // 車輛入車格照片存檔路徑
define('EXPORT_BASE', '/home/data/export/'); // 檔案匯出根路徑 define('EXPORT_BASE', '/home/data/export/'); // 檔案匯出根路徑
define('SOS_BASE', FILE_BASE. 'sos/'); // 警急求救路徑
define('SOS_MSG', SOS_BASE. 'sos.txt'); // 警急求救檔案路徑
define('STATION_NAME', '未設定'); // 本場站名稱 define('STATION_NAME', '未設定'); // 本場站名稱
define('STATION_NO', 54321); // 本場站編號 define('STATION_NO', 54321); // 本場站編號


+ 53
- 14
controllers/Parkingquery.php 查看文件

@@ -148,19 +148,6 @@ class Parkingquery extends CI_Controller
} }
// 緊急求救
// http://203.75.167.89/parkingquery.html/send_sos/B2/111/123
public function send_sos()
{
$floor = $this->uri->segment(3);
$x = $this->uri->segment(4);
$y = $this->uri->segment(5);
get_headers("http://localhost/sos/set_sos.php?floor={$floor}&x={$x}&y={$y}");
$data = $this->parkingquery_model->send_sos($floor, $x, $y);
echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
// 防盜鎖車 // 防盜鎖車
// http://203.75.167.89/parkingquery.html/security_action/ABC1234/pswd/2 // http://203.75.167.89/parkingquery.html/security_action/ABC1234/pswd/2
public function security_action() public function security_action()
@@ -186,10 +173,62 @@ class Parkingquery extends CI_Controller
echo json_encode($data, JSON_UNESCAPED_UNICODE); echo json_encode($data, JSON_UNESCAPED_UNICODE);
} }
// 警急求救地圖
// [警急求救] 警急求救地圖
public function floor_map() public function floor_map()
{ {
$this->show_page("floor_map"); $this->show_page("floor_map");
} }
// [警急求救] 警急求救地圖, 讀取緊急求救檔
public function floor_map_read_sos()
{
if($this->my_ip() != '192.168.10.1')
{
trigger_error(__FUNCTION__ . '..unknown host..' . $this->my_ip());
exit;
}
if (file_exists(SOS_MSG))
{
$str = file_get_contents(SOS_MSG);
unlink(SOS_MSG);
echo $str;
}
else
{
echo 'NONE';
}
}
// [警急求救] 緊急求救 API
// http://XXXXXXXXXXXXXXXX/parkingquery.html/send_sos/B2/111/123
public function send_sos()
{
$floor = $this->uri->segment(3);
$x = $this->uri->segment(4);
$y = $this->uri->segment(5);
file_put_contents(SOS_MSG, "{$floor},{$x},{$y}");
$data = $this->parkingquery_model->send_sos($floor, $x, $y);
echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
// 取得 IP
function my_ip()
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_X_REAL_IP'))
{
$ip = getenv('HTTP_X_REAL_IP');
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
} }

+ 4
- 255
views/parkingquery/floor_map.php 查看文件

@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<title>警急求救地圖 (<?=STATION_NAME?>)</title>
<title>警急求救地圖</title>
<!-- Bootstrap Core CSS --> <!-- Bootstrap Core CSS -->
<link href="<?=BOOTSTRAPS?>bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> <link href="<?=BOOTSTRAPS?>bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- MetisMenu CSS --> <!-- MetisMenu CSS -->
@@ -33,7 +33,7 @@
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</button> </button>
<a class="navbar-brand" href="#">警急求救地圖 (<?=STATION_NAME?>)</a>
<a class="navbar-brand" href="#">警急求救地圖</a>
</div> </div>
<!-- /.navbar-top-links(左側選單) --> <!-- /.navbar-top-links(左側選單) -->
@@ -50,27 +50,6 @@
<a href="#" onclick="show_item('B1');">B1 樓層</a> <a href="#" onclick="show_item('B1');">B1 樓層</a>
</li> </li>
<li> <li>
<a href="#" onclick="show_item('F1');">F1 樓層</a>
</li>
<li>
<a href="#" onclick="show_item('F2');">F2 樓層</a>
</li>
<li>
<a href="#" onclick="show_item('F3');">F3 樓層</a>
</li>
<li>
<a href="#" onclick="show_item('F4');">F4 樓層</a>
</li>
<li>
<a href="#" onclick="show_item('F5');">F5 樓層</a>
</li>
<li>
<a href="#" onclick="show_item('F6');">F6 樓層</a>
</li>
<li>
<a href="#" onclick="show_item('F7');">F7 樓層</a>
</li>
<li>
<a href="#" onclick="AltobObject.SosMap.stopAlertSound();">[ 解除警報聲 ]</a> <a href="#" onclick="AltobObject.SosMap.stopAlertSound();">[ 解除警報聲 ]</a>
</li> </li>
<li> <li>
@@ -91,7 +70,7 @@
<div id="page-wrapper"><?php /* 主要資料顯示區 */ ?> <div id="page-wrapper"><?php /* 主要資料顯示區 */ ?>
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<h1 class="page-header">警急求救地圖 (<?=STATION_NAME?>)</h1><?php /* 右側小表頭 */ ?>
<h1 class="page-header">警急求救地圖</h1><?php /* 右側小表頭 */ ?>
</div> </div>
<!-- /.col-lg-12 --> <!-- /.col-lg-12 -->
</div> </div>
@@ -110,27 +89,6 @@
<tr> <tr>
<td style="text-align:center;"><input type="button" value="B1 樓層" onclick="show_item('B1');" /></td> <td style="text-align:center;"><input type="button" value="B1 樓層" onclick="show_item('B1');" /></td>
</tr> </tr>
<tr>
<td style="text-align:center;"><input type="button" value="F1 樓層" onclick="show_item('F1');" /></td>
</tr>
<tr>
<td style="text-align:center;"><input type="button" value="F2 樓層" onclick="show_item('F2');" /></td>
</tr>
<tr>
<td style="text-align:center;"><input type="button" value="F3 樓層" onclick="show_item('F3');" /></td>
</tr>
<tr>
<td style="text-align:center;"><input type="button" value="F4 樓層" onclick="show_item('F4');" /></td>
</tr>
<tr>
<td style="text-align:center;"><input type="button" value="F5 樓層" onclick="show_item('F5');" /></td>
</tr>
<tr>
<td style="text-align:center;"><input type="button" value="F6 樓層" onclick="show_item('F6');" /></td>
</tr>
<tr>
<td style="text-align:center;"><input type="button" value="F7 樓層" onclick="show_item('F7');" /></td>
</tr>
</table> </table>
</div><?php /* ----- end of dataTable_wrapper ----- */?> </div><?php /* ----- end of dataTable_wrapper ----- */?>
</div><?php /* ----- end of panel-body ----- */?> </div><?php /* ----- end of panel-body ----- */?>
@@ -164,160 +122,6 @@
</div> </div>
<?php /* ----- B1 樓層(結束) ----- */ ?> <?php /* ----- B1 樓層(結束) ----- */ ?>
<?php /* ----- F1 樓層 ----- */ ?>
<div data-items="F1" class="row" style="display:none;">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
<span>F1 樓層 - 操作:</span>
<button id="zoom0f1canvas">還原</button>
<button id="zoomInf1canvas">放大</button>
<button id="zoomOutf1canvas">縮小</button>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<canvas id="f1canvas"></canvas>
</div><?php /* ----- end of panel-body ----- */?>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
<?php /* ----- F1 樓層(結束) ----- */ ?>
<?php /* ----- F2 樓層 ----- */ ?>
<div data-items="F2" class="row" style="display:none;">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
<span>F2 樓層 - 操作:</span>
<button id="zoom0f2canvas">還原</button>
<button id="zoomInf2canvas">放大</button>
<button id="zoomOutf2canvas">縮小</button>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<canvas id="f2canvas"></canvas>
</div><?php /* ----- end of panel-body ----- */?>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
<?php /* ----- F2 樓層(結束) ----- */ ?>
<?php /* ----- F3 樓層 ----- */ ?>
<div data-items="F3" class="row" style="display:none;">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
<span>F3 樓層 - 操作:</span>
<button id="zoom0f3canvas">還原</button>
<button id="zoomInf3canvas">放大</button>
<button id="zoomOutf3canvas">縮小</button>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<canvas id="f3canvas"></canvas>
</div><?php /* ----- end of panel-body ----- */?>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
<?php /* ----- F3 樓層(結束) ----- */ ?>
<?php /* ----- F4 樓層 ----- */ ?>
<div data-items="F4" class="row" style="display:none;">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
<span>F4 樓層 - 操作:</span>
<button id="zoom0f4canvas">還原</button>
<button id="zoomInf4canvas">放大</button>
<button id="zoomOutf4canvas">縮小</button>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<canvas id="f4canvas"></canvas>
</div><?php /* ----- end of panel-body ----- */?>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
<?php /* ----- F4 樓層(結束) ----- */ ?>
<?php /* ----- F5 樓層 ----- */ ?>
<div data-items="F5" class="row" style="display:none;">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
<span>F5 樓層 - 操作:</span>
<button id="zoom0f5canvas">還原</button>
<button id="zoomInf5canvas">放大</button>
<button id="zoomOutf5canvas">縮小</button>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<canvas id="f5canvas"></canvas>
</div><?php /* ----- end of panel-body ----- */?>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
<?php /* ----- F5 樓層(結束) ----- */ ?>
<?php /* ----- F6 樓層 ----- */ ?>
<div data-items="F6" class="row" style="display:none;">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
<span>F6 樓層 - 操作:</span>
<button id="zoom0f6canvas">還原</button>
<button id="zoomInf6canvas">放大</button>
<button id="zoomOutf6canvas">縮小</button>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<canvas id="f6canvas"></canvas>
</div><?php /* ----- end of panel-body ----- */?>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
<?php /* ----- F6 樓層(結束) ----- */ ?>
<?php /* ----- F7 樓層 ----- */ ?>
<div data-items="F7" class="row" style="display:none;">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
<span>F7 樓層 - 操作:</span>
<button id="zoom0f7canvas">還原</button>
<button id="zoomInf7canvas">放大</button>
<button id="zoomOutf7canvas">縮小</button>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<canvas id="f7canvas"></canvas>
</div><?php /* ----- end of panel-body ----- */?>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
<?php /* ----- F7 樓層(結束) ----- */ ?>
<!-- /#page-wrapper --> <!-- /#page-wrapper -->
</div> </div>
<!-- /#wrapper --> <!-- /#wrapper -->
@@ -332,16 +136,6 @@
<!--script src="<?=BOOTSTRAPS?>bower_components/morrisjs/morris.min.js"></script--> <!--script src="<?=BOOTSTRAPS?>bower_components/morrisjs/morris.min.js"></script-->
<!--script src="<?=BOOTSTRAPS?>js/morris-data.js"></script--> <!--script src="<?=BOOTSTRAPS?>js/morris-data.js"></script-->
<!-- virtual keyboard -->
<!--link href="<?=WEB_LIB?>virtual-keyboard/css/jquery-ui.min.css" rel="stylesheet">
<link href="<?=WEB_LIB?>virtual-keyboard/css/keyboard.css" rel="stylesheet">
<script src="<?=WEB_LIB?>virtual-keyboard/js/jquery-ui.min.js"></script>
<script src="<?=WEB_LIB?>virtual-keyboard/js/jquery.keyboard.js"></script>
<script src="<?=WEB_LIB?>virtual-keyboard/js/jquery.keyboard.extension-caret.js"></script-->
<!-- jQuery validate --> <!-- jQuery validate -->
<script src="<?=WEB_LIB?>form-validator/jquery.form-validator.min.js"></script> <script src="<?=WEB_LIB?>form-validator/jquery.form-validator.min.js"></script>
<!-- alertify --> <!-- alertify -->
@@ -349,11 +143,9 @@
<link href="<?=WEB_LIB?>css/alertify.bootstrap.css" rel="stylesheet"> <link href="<?=WEB_LIB?>css/alertify.bootstrap.css" rel="stylesheet">
<script src="<?=WEB_LIB?>js/alertify.min.js"></script> <script src="<?=WEB_LIB?>js/alertify.min.js"></script>
<!-- altob sos map --> <!-- altob sos map -->
<script src="<?=WEB_LIB?>js/altob-sos-map.js"></script> <script src="<?=WEB_LIB?>js/altob-sos-map.js"></script>
<!-- Custom Theme JavaScript --> <!-- Custom Theme JavaScript -->
<script src="<?=BOOTSTRAPS?>dist/js/sb-admin-2.js"></script> <script src="<?=BOOTSTRAPS?>dist/js/sb-admin-2.js"></script>
<div id="works" style="display:none;"></div><?php /* 作為浮動顯示區之用 */ ?> <div id="works" style="display:none;"></div><?php /* 作為浮動顯示區之用 */ ?>
@@ -372,17 +164,9 @@ function show_item(tags)
$(document).ready(function() $(document).ready(function()
{ {
<?php /* validate 設定start */ ?>
$.validate(
{
modules : 'security',
}
);
<?php /* validate 設定end */ ?>
<?php /* 警急求救平面圖 */ ?> <?php /* 警急求救平面圖 */ ?>
AltobObject.SosMap({ AltobObject.SosMap({
getSosUrl: "http://192.168.10.201/sos/get_sos.php", // 警急求救資料 API
getSosUrl: "<?=SERVER_URL?>/parkingquery.html/floor_map_read_sos",
dataReloadIntervalTimeMillis: 5000, // 資料, 自動更新週期 ( 5 sec ) dataReloadIntervalTimeMillis: 5000, // 資料, 自動更新週期 ( 5 sec )
dataReloadErrorLimit: 5, // 資料, 連線容錯次數 dataReloadErrorLimit: 5, // 資料, 連線容錯次數
soundInfo: { soundInfo: {
@@ -393,41 +177,6 @@ $(document).ready(function()
floorName: 'B1', floorName: 'B1',
canvasId: 'b1canvas', canvasId: 'b1canvas',
src: '<?=SERVER_URL?>i3/pics/b1_map.png' src: '<?=SERVER_URL?>i3/pics/b1_map.png'
},
map2: {
floorName: 'F1',
canvasId: 'f1canvas',
src: '<?=SERVER_URL?>i3/pics/f1_map.png'
},
map3: {
floorName: 'F2',
canvasId: 'f2canvas',
src: '<?=SERVER_URL?>i3/pics/f2_map.png'
},
map4: {
floorName: 'F3',
canvasId: 'f3canvas',
src: '<?=SERVER_URL?>i3/pics/f3_map.png'
},
map5: {
floorName: 'F4',
canvasId: 'f4canvas',
src: '<?=SERVER_URL?>i3/pics/f4_map.png'
},
map6: {
floorName: 'F5',
canvasId: 'f5canvas',
src: '<?=SERVER_URL?>i3/pics/f5_map.png'
},
map7: {
floorName: 'F6',
canvasId: 'f6canvas',
src: '<?=SERVER_URL?>i3/pics/f6_map.png'
},
map8: {
floorName: 'F7',
canvasId: 'f7canvas',
src: '<?=SERVER_URL?>i3/pics/f7_map.png'
} }
} }
}); });


正在加载...
取消
保存