Context-detection API for Android developed as a university project
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

admin.php 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?PHP
  2. session_start();
  3. $allowedIDs = array(
  4. 'https://www.google.com/accounts/o8/id?id=AItOawk9b32oBoVvjzwEhvC2GOhsxj0MN2mWoc8', // Me
  5. 'https://www.google.com/accounts/o8/id?id=AItOawk8LzSeazeZxqMCTVKm-OkUu0mLDLOqBBs', // Simon
  6. );
  7. if (isset($_SESSION['openid']['error'])) {
  8. // Failed OpenID login attempt
  9. echo 'ERROR: ', htmlentities($_SESSION['openid']['error']);
  10. unset($_SESSION['openid']['error']);
  11. exit;
  12. } else if (isset($_SESSION['openid']['validated']) && $_SESSION['openid']['validated']) {
  13. if (!in_array($_SESSION['openid']['identity'], $allowedIDs)) {
  14. echo 'ERROR: ', htmlentities($_SESSION['openid']['identity']), ' not permitted';
  15. exit;
  16. }
  17. } else {
  18. if (!isset($_REQUEST['openid_mode'])) {
  19. $_POST['openid_url'] = 'https://www.google.com/accounts/o8/id';
  20. }
  21. require('openid/processor.php');
  22. exit;
  23. }
  24. # -------------- End of authentication code --------------------------
  25. require('common.php');
  26. # -------------- Form handling -----------------
  27. function process_activity_add($args) {
  28. $sql = 'INSERT INTO activities (activity_name, activity_parent) VALUES (\'';
  29. $sql .= m($args['name']) . '\', ' . ((int) $args['parent']) . ')';
  30. mysql_query($sql);
  31. }
  32. if (isset($_POST['action'])) {
  33. $args = array();
  34. $action = str_replace('.', '_', $_POST['action']) . '_';
  35. foreach ($_POST as $k => $v) {
  36. if (substr($k, 0, strlen($action)) == $action) {
  37. $args[substr($k, strlen($action))] = $v;
  38. }
  39. }
  40. call_user_func('process_' . str_replace('.', '_', $_POST['action']), $args);
  41. header('Location: /android/admin.php');
  42. exit;
  43. }
  44. # ------------------- End of form handling ----------------------
  45. $acs = getActivityArray();
  46. ?>
  47. <h1>Activity management</h1>
  48. <h2>Add an activity</h2>
  49. <form action="admin.php" method="post">
  50. <input type="hidden" name="action" value="activity.add">
  51. <select name="activity.add.parent">
  52. <?PHP
  53. asort($acs);
  54. foreach ($acs as $id => $name) {
  55. echo ' <option value="', $id, '">', htmlentities($name), '</option>';
  56. }
  57. ?>
  58. </select> /
  59. <input type="text" name="activity.add.name">
  60. <input type="submit" value="Add">
  61. </form>
  62. <h1>Sample management</h1>
  63. <?PHP
  64. $sql = 'SELECT log_id, log_imei, log_version, log_time, log_activity, log_data FROM sensorlogger WHERE log_statuscode = 1';
  65. $res = mysql_query($sql);
  66. ?>
  67. <style type="text/css">
  68. .windowed { background: url('windowbg.png') repeat-y -256px 0px; }
  69. .windowboxes { margin: 0px; padding: 0px; border-right: 1px solid black; display: inline-block; }
  70. .windowboxes li { display: inline-block; width: 255px; text-align: center; border: 1px solid black; margin: 0px; padding: 0px; border-right: 0; }
  71. .windowboxes.odd { padding-left: 128px; }
  72. </style>
  73. <script type="text/javascript">
  74. function showWindow(id, offset) {
  75. document.getElementById('window_' + id).style.backgroundPosition = (offset * 2) + "px 0px";
  76. }
  77. function hideWindow(id) {
  78. showWindow(id, -128);
  79. }
  80. </script>
  81. <?PHP
  82. echo '<table border="1">';
  83. $first = true;
  84. while ($row = mysql_fetch_assoc($res)) {
  85. if ($first) {
  86. echo '<tr>';
  87. foreach ($row as $k => $v) { echo '<th>', $k, '</th>'; }
  88. echo '</tr>';
  89. $first = false;
  90. }
  91. $points = 0;
  92. echo '<tr>';
  93. foreach ($row as $k => $v) { echo '<td>', $k == 'log_data' ? ($points = count(explode("\n", $v))) . ' line(s)' : nl2br(htmlentities($v)), '</td>'; }
  94. echo '<td>';
  95. echo '<ol class="windowboxes even">';
  96. for ($i = 0; $i + 128 < $points; $i += 128) {
  97. echo '<li onMouseOver="showWindow(', $row['log_id'], ', ', $i, ')" onMouseOut="hideWindow(', $row['log_id'], ')">Window</li>';
  98. }
  99. echo '</ol>';
  100. echo '<div class="windowed" id="window_', $row['log_id'], '" styleb"background-color: orange;">';
  101. echo '<img src="data.php?graph=', $row['log_id'], '&amp;ds=1&amp;imei=', $row['log_imei'], '" height="330">';
  102. echo '<br><img src="data.php?graph=', $row['log_id'], '&amp;ds=2&amp;imei=', $row['log_imei'], '" height="330">';
  103. echo '</div>';
  104. echo '<ol class="windowboxes odd">';
  105. for ($i = 64; $i + 128 < $points; $i += 128) {
  106. echo '<li onMouseOver="showWindow(', $row['log_id'], ', ', $i, ')" onMouseOut="hideWindow(', $row['log_id'], ')">Window</li>';
  107. }
  108. echo '</ol>';
  109. echo '</td>';
  110. echo '</tr>';
  111. }
  112. echo '</table>';
  113. ?>