Selaa lähdekoodia

Portal now uses IMEI abbreviated codes

Accepts codes in URL - Closes #17
Graphs are now tied to IMEI codes - Closes #20
tags/SensorLogger/0.1.6
Chris Smith 14 vuotta sitten
vanhempi
commit
4c120ef579
4 muutettua tiedostoa jossa 32 lisäystä ja 11 poistoa
  1. 9
    0
      website/.htaccess
  2. 10
    0
      website/common.php
  3. 3
    1
      website/data.php
  4. 10
    10
      website/portal.php

+ 9
- 0
website/.htaccess Näytä tiedosto

@@ -1,2 +1,11 @@
1 1
 RewriteEngine On
2 2
 RewriteRule ^/?(android/)?upload$ /android/upload.php [L]
3
+
4
+RewriteCond %{HTTP_HOST} =www.md87.co.uk
5
+RewriteRule ^(.*?)$ http://chris.smith.name/android/$1 [R]
6
+
7
+RewriteCond %{HTTP_HOST} =md87.co.uk
8
+RewriteRule ^(.*?)$ http://chris.smith.name/android/$1 [R]
9
+
10
+RewriteRule ^/?p/(.*?)$ /android/portal.php?code=$1
11
+RewriteRule ^/?g/(.*?)/([0-9]+)/([0-9]+) /android/data.php?code=$1&graph=$2&ds=$3

+ 10
- 0
website/common.php Näytä tiedosto

@@ -36,4 +36,14 @@
36 36
 	return 'unknown reason';
37 37
  }
38 38
 
39
+ function decodeIMEI($input) {
40
+	$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-=_';
41
+	$tot = '0';
42
+	for ($i = 0; $i < strlen($_GET['code']); $i++) {
43
+		$n = strpos($chars, $_GET['code'][$i]);
44
+		$tot = bcadd($tot, bcmul($n, bcpow(strlen($chars), strlen($_GET['code']) - $i - 1)));
45
+	}
46
+	return $tot;
47
+ }
48
+
39 49
 ?>

+ 3
- 1
website/data.php Näytä tiedosto

@@ -3,7 +3,9 @@
3 3
  require('common.php');
4 4
 
5 5
  if (isset($_GET['graph'])) {
6
-  $sql = 'SELECT log_data FROM sensorlogger WHERE log_id = ' . ((int) $_GET['graph']);
6
+  $imei = decodeIMEI($_GET['code']);
7
+
8
+  $sql = 'SELECT log_data FROM sensorlogger WHERE log_id = ' . ((int) $_GET['graph']) . ' AND log_imei = \'' . m($imei) . '\'';
7 9
   $res = mysql_query($sql);
8 10
   $row = mysql_fetch_assoc($res);
9 11
 

+ 10
- 10
website/portal.php Näytä tiedosto

@@ -1,14 +1,14 @@
1 1
 <?PHP
2 2
 
3
- if (!isset($_GET['imei']) || !ctype_digit($_GET['imei'])) {
4
-  // TODO: Better error
5
-  die('Invalid IMEI');
6
- }
7
-
8
- define('IMEI', $_GET['imei']);
9
-
10 3
  require_once('common.php');
11 4
 
5
+ if (isset($_GET['code'])) {
6
+  define('CODE', htmlentities($_GET['code']));
7
+  define('IMEI', $_GET['imei'] = decodeIMEI($_GET['code'])); 
8
+ } else {
9
+  die('Invalid code specified');
10
+ }
11
+
12 12
  $sql = 'SELECT log_activity, log_id, log_statuscode FROM sensorlogger WHERE log_imei = \'' . m(IMEI) . '\'';
13 13
  $res = mysql_query($sql);
14 14
 
@@ -24,7 +24,7 @@
24 24
     </style>
25 25
   </head>
26 26
   <body style="margin-top: 0; padding-top: 0;">
27
-    <h1 style="background: url('android.png') no-repeat right; padding-top: 50px; margin-top: 0;">SensorLogger results for <span><?PHP echo IMEI; ?></span></h1>
27
+    <h1 style="background: url('/android/android.png') no-repeat right; padding-top: 50px; margin-top: 0;">SensorLogger results for <span><?PHP echo IMEI; ?></span></h1>
28 28
     <div>
29 29
 <?PHP if (($num = mysql_num_rows($res)) == 0) { ?>
30 30
      <h2>Welcome</h2>
@@ -87,8 +87,8 @@
87 87
  foreach ($data as $datum) {
88 88
   echo '<h3>', htmlentities($datum['log_activity']), '</h3>';
89 89
   echo '<div style="height: 700px; overflow: auto;">';
90
-  echo '<img src="data.php?graph=' . $datum['log_id'] . '&amp;ds=1" height="330" alt="Graph of accelerometer data"/><br/>';
91
-  echo '<img src="data.php?graph=' . $datum['log_id'] . '&amp;ds=2" height="330" alt="Graph of magnetic fielddata"/>';
90
+  echo '<img src="/android/g/', CODE, '/', $datum['log_id'], '/1" height="330" alt="Graph of accelerometer data"/><br/>';
91
+  echo '<img src="/android/g/', CODE, '/', $datum['log_id'] . '/2" height="330" alt="Graph of magnetic fielddata"/>';
92 92
   echo '</div>';
93 93
  }
94 94
 ?>

Loading…
Peruuta
Tallenna