Context-detection API for Android developed as a university project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

process.php 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?PHP
  2. require_once('common.php');
  3. define('VERSION', 1);
  4. $sql = 'SELECT record_id, record_ip, record_headers, record_data FROM unprocessed';
  5. $res = mysql_query($sql);
  6. while ($row = mysql_fetch_assoc($res)) {
  7. $ip = $row['record_ip'];
  8. $headers = array();
  9. foreach (explode("\n", $row['record_headers']) as $line) {
  10. if (preg_match('/(.*?): (.*)$/', $line, $m)) {
  11. $headers[$m[1]] = $m[2];
  12. }
  13. }
  14. $imei = isset($headers['IMEI']) ? $headers['IMEI'] : '';
  15. $activity = isset($headers['ACTIVITY']) ? $headers['ACTIVITY'] : '';
  16. $version = isset($headers['VERSION']) ? $headers['VERSION'] : '';
  17. if (preg_match('/^([0-9]+)[0-9]{3}:.*/', $row['record_data'], $m)) {
  18. $time = (int) $m[1];
  19. } else {
  20. $time = 0;
  21. }
  22. if (empty($imei)) {
  23. $statuscode = 2;
  24. } else if (empty($activity) || $activity == '<Unknown>') {
  25. $statuscode = 3;
  26. } else if (empty($version)) {
  27. $statuscode = 4;
  28. } else if (empty($row['record_data'])) {
  29. $statuscode = 5;
  30. } else if ($time == 0 || date('Y', $time) < 2010) {
  31. $statuscode = 6;
  32. } else if (count(explode("\n", $row['record_data'])) < 50) {
  33. $statuscode = 7;
  34. } else {
  35. $statuscode = 1;
  36. }
  37. $pversion = VERSION;
  38. $headers = $row['record_headers'];
  39. $data = $row['record_data'];
  40. $sql = 'INSERT INTO sensorlogger (log_ip, log_imei, log_activity, log_version, ';
  41. $sql .= 'log_time, log_statuscode, log_pversion, log_headers, log_data) VALUES (';
  42. $sql .= '\'' . m($ip) . '\', \'' . m($imei) . '\', \'' . m($activity) . '\', \'';
  43. $sql .= m($version) . '\', ' . ((int) $time) . ', ' . ((int) $statuscode) . ', ';
  44. $sql .= ((int) $pversion) . ', \'' . m($headers) . '\', \'' . m($data) . '\')';
  45. mysql_query($sql) or die(mysql_error());
  46. $sql = 'DELETE FROM unprocessed WHERE record_id = ' . $row['record_id'];
  47. mysql_query($sql);
  48. }
  49. ?>