Created
April 23, 2015 20:18
-
-
Save kiichi/c7568259fe50f2505f30 to your computer and use it in GitHub Desktop.
This is a sample script when you push data from iSeismometer app to your own server. See all $_GET[] to find out parameters if you translate it into other platforms. If you create another translator, let me know! Thank you
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
//========================================================================================== | |
// iSeismometer Data Receiver version 1.0 | |
// I released this program as public domain. Feel free to use this at your own risk. | |
// - by Kiichi 2009/02/16 | |
//========================================================================================== | |
/* | |
CREATE TABLE IF NOT EXISTS `signals` ( | |
`signal_id` int(11) NOT NULL auto_increment, | |
`device_id` varchar(50) NOT NULL, | |
`lat` float NOT NULL, | |
`lon` float NOT NULL, | |
`alt` float NOT NULL, | |
`sampling` int(11) NOT NULL, | |
`version` varchar(50) NOT NULL, | |
`comment` varchar(512) NOT NULL, | |
`data` text NOT NULL, | |
`created_date` datetime NOT NULL, | |
`local_datetime` datetime NOT NULL, | |
PRIMARY KEY (`signal_id`) | |
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; | |
*/ | |
//========================================================================================== | |
$link = mysql_connect('localhost', 'your_database_user', 'your_database_password'); | |
mysql_select_db('iseismometer', $link); | |
session_start(); | |
function sanitize($value) { | |
if (get_magic_quotes_gpc()) { | |
$value = stripslashes($value); | |
} | |
if(version_compare(phpversion(),"4.3.0") == "-1") { | |
return mysql_escape_string($value); | |
} | |
else { | |
return mysql_real_escape_string($value); | |
} | |
} | |
$signal_id=sanitize($_GET['signal_id']); | |
$device_id=sanitize($_GET['device_id']); | |
$lat=sanitize($_GET['lat']); | |
$lon=sanitize($_GET['lon']); | |
$alt=sanitize($_GET['alt']); | |
$sampling=sanitize($_GET['sampling']); | |
$version=sanitize($_GET['version']); | |
$action=sanitize($_GET['action']); | |
$comment=sanitize($_GET['comment']); | |
$local_datetime=sanitize($_GET['local_datetime']); | |
$signal=sanitize($_POST['signal']); | |
//------------------------------------------------------------------------------------------------------------------------- | |
// Action - Add = Insert data | |
if (isset($action) && $action=="add") { | |
$sql = "INSERT INTO `iseismometer`.`signals` (`signal_id`, `device_id`, `lat`, `lon`, `alt`, `sampling`, `version`, `comment`, `data`,`created_date`,`local_datetime`) VALUES (NULL, '".$device_id."', '".$lat."', '".$lon."', '".$alt."', '".$sampling."', '".$version."', '".$comment."', '".$signal."',NOW(),'".$local_datetime."');"; | |
mysql_query($sql, $link); | |
} | |
//------------------------------------------------------------------------------------------------------------------------- | |
// Action - download = export csv | |
if (isset($action) && $action=="download") { | |
$sql = "SELECT data FROM signals WHERE signal_id=".$signal_id; | |
$result = mysql_query($sql, $link); | |
$row = mysql_fetch_assoc($result); | |
header ('Content-type: Application/Octet-stream'); | |
header ('Content-Disposition: attachment; filename="data.csv"'); | |
echo $row['data']; | |
mysql_free_result($result); | |
exit(); | |
} | |
//------------------------------------------------------------------------------------------------------------------------- | |
// Otherwise, view data mode | |
else { | |
$sql = "SELECT signal_id,lat,lon,alt,sampling,version,comment,created_date,local_datetime FROM signals WHERE device_id='".$device_id."' ORDER BY created_date DESC LIMIT 100"; | |
$result = mysql_query($sql, $link); | |
$dataTable = '<table width=300>'; | |
$dataTable .='<tr><th>Date</th><th>Lat</th><th>Lon</th><th>Alt</th><th>Data</th></tr>'; | |
while ($row = mysql_fetch_assoc($result)) { | |
$dataTable .='<tr>'; | |
$dataTable .='<td>'.$row['local_datetime'].'</td>'; | |
$dataTable .='<td>'.$row['lat'].'</td>'; | |
$dataTable .='<td>'.$row['lon'].'</td>'; | |
$dataTable .='<td>'.$row['alt'].'</td>'; | |
$dataTable .='<td><a href="./?signal_id='.$row['signal_id'].'&action=download">Download</a></td>'; | |
$dataTable .='</tr>'; | |
} | |
$dataTable .= '</table>'; | |
mysql_free_result($result); | |
} | |
?> | |
<html> | |
<head> | |
<title>View Data</title> | |
<meta name="viewport" content="initial-scale=1.00" /> | |
<meta name="viewport" content="width=320" /> | |
<style> | |
body{ | |
font-family:arial; | |
background: #d2edfb; | |
font-size:11px; | |
} | |
.highlight td{ | |
font-weight:bold; | |
color:red; | |
} | |
table | |
{ | |
font-size:11px; | |
} | |
th | |
{ | |
background: #ccc; | |
text-align:left; | |
} | |
</style> | |
</head> | |
<body> | |
<?=$dataTable?> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment