add other files
This commit is contained in:
parent
8d3bf8b198
commit
3a043d2b15
6 changed files with 114 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
mysql-data/
|
2
nginx/Dockerfile
Executable file
2
nginx/Dockerfile
Executable file
|
@ -0,0 +1,2 @@
|
|||
FROM nginx
|
||||
COPY ./default.conf /etc/nginx/conf.d/default.conf
|
38
nginx/default.conf
Executable file
38
nginx/default.conf
Executable file
|
@ -0,0 +1,38 @@
|
|||
server {
|
||||
|
||||
listen 80 default_server;
|
||||
root /var/www/html;
|
||||
index index.html index.php;
|
||||
|
||||
charset utf-8;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /track.php?$query_string;
|
||||
}
|
||||
|
||||
location = /favicon.ico { access_log off; log_not_found off; }
|
||||
location = /robots.txt { access_log off; log_not_found off; }
|
||||
|
||||
access_log off;
|
||||
error_log /var/log/nginx/error.log error;
|
||||
|
||||
sendfile off;
|
||||
|
||||
client_max_body_size 100m;
|
||||
|
||||
location ~ .php$ {
|
||||
fastcgi_split_path_info ^(.+.php)(/.+)$;
|
||||
fastcgi_pass php:9000;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_read_timeout 300;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_intercept_errors off;
|
||||
fastcgi_buffer_size 16k;
|
||||
fastcgi_buffers 4 16k;
|
||||
}
|
||||
|
||||
location ~ /.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
3
php_code/Dockerfile
Executable file
3
php_code/Dockerfile
Executable file
|
@ -0,0 +1,3 @@
|
|||
FROM php:7.0-fpm
|
||||
RUN docker-php-ext-install mysqli pdo pdo_mysql
|
||||
RUN docker-php-ext-enable mysqli
|
35
php_code/loc.php
Executable file
35
php_code/loc.php
Executable file
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
# Obtain the JSON payload from an OwnTracks app POSTed via HTTP
|
||||
# and insert into database table.
|
||||
|
||||
header("Content-type: application/json");
|
||||
|
||||
$payload = file_get_contents("php://input");
|
||||
$data = @json_decode($payload, true);
|
||||
|
||||
if ($data['_type'] == 'location') {
|
||||
|
||||
# CREATE TABLE locations (dt TIMESTAMP, tid CHAR(2), lat DECIMAL(9,6), lon DECIMAL(9,6));
|
||||
$mysqli = new mysqli("172.28.0.25", "root", "owntracks", "owntracks");
|
||||
|
||||
$tst = $data['tst'];
|
||||
$lat = $data['lat'];
|
||||
$lon = $data['lon'];
|
||||
$tid = $data['tid'];
|
||||
|
||||
# Convert timestamp to a format suitable for mysql
|
||||
$dt = date('Y-m-d H:i:s', $tst);
|
||||
|
||||
$sql = "INSERT INTO locations (dt, tid, lat, lon) VALUES (?, ?, ?, ?)";
|
||||
$stmt = $mysqli->prepare($sql);
|
||||
# bind parameters (s = string, i = integer, d = double, b = blob)
|
||||
$stmt->bind_param('ssdd', $dt, $tid, $lat, $lon);
|
||||
$stmt->execute();
|
||||
$stmt->close();
|
||||
}
|
||||
|
||||
$response = array();
|
||||
# optionally add objects to return to the app (e.g.
|
||||
# friends or cards)
|
||||
print json_encode($response);
|
||||
?>
|
35
php_code/track.php
Normal file
35
php_code/track.php
Normal file
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
$data = file_get_contents('php://input');
|
||||
$json = json_decode($data);
|
||||
|
||||
header("Content-type: application/json");
|
||||
|
||||
if ($json->_type !== 'location') {
|
||||
return;
|
||||
}
|
||||
|
||||
$db = new mysqli('172.28.0.25:3306', 'root', 'owntracks', 'owntracks');
|
||||
if ($db->connect_error) {
|
||||
die('Connection failed: ' . $db->connect_error);
|
||||
}
|
||||
|
||||
$stmt = $db->prepare('INSERT INTO recordings (user, device, acc, alt, batt, bs, conn, created_at, lat, lon, t, tid, tst, vac, vel) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);');
|
||||
if ($stmt === false) {
|
||||
die('failed to prepare query: ' . $db->error);
|
||||
}
|
||||
|
||||
if ($stmt->bind_param('ssiiiisiddssiii', $user, $device, $json->acc, $json->alt, $json->batt, $json->bs, $json->conn, $json->created_at, $json->lat, $json->lon, $json->t, $json->tid, $json->tst, $json->vac, $json->vel) === false) {
|
||||
die('failed to bind params: ' . $stmt->error);
|
||||
}
|
||||
|
||||
$user = $_SERVER['HTTP_X_LIMIT_U'];
|
||||
$device = $_SERVER['HTTP_X_LIMIT_D'];
|
||||
|
||||
if ($stmt->execute() === false) {
|
||||
die('failed to insert: ' . $stmt->error);
|
||||
}
|
||||
|
||||
$stmt->close();
|
||||
$db->close();
|
||||
|
||||
print json_encode(array());
|
Loading…
Reference in a new issue