| 1 | <?php |
|---|
| 2 | include('../include/db.php'); |
|---|
| 3 | |
|---|
| 4 | $items = Array(); |
|---|
| 5 | $timestamp = $_GET["timestamp"]; |
|---|
| 6 | // when 0, select last 20. when 1+, select since timestamp. |
|---|
| 7 | $id = dba_open('../db/hit.db', 'r', 'db4'); |
|---|
| 8 | if (!$id) { |
|---|
| 9 | return "[ {\"ip\":\"ERROR: unable to read from database\",\"timestamp\":\"\",\"ua\":\"\",\"ref\":\"\",\"user\":\"\",\"clip\":\"\"}]"; |
|---|
| 10 | } |
|---|
| 11 | $key = dba_firstkey($id); |
|---|
| 12 | if ($key == false) { |
|---|
| 13 | return "[ {\"ip\":\"ERROR: no hits found in database\",\"timestamp\":\"\",\"ua\":\"\",\"ref\":\"\",\"user\":\"\",\"clip\":\"\"}]"; |
|---|
| 14 | } |
|---|
| 15 | while (1) { |
|---|
| 16 | $n++; |
|---|
| 17 | $date = key2date($key); |
|---|
| 18 | if (($n > 20) || ($timestamp >= $date)) { |
|---|
| 19 | break; |
|---|
| 20 | } |
|---|
| 21 | $val = dba_fetch($key, $id); |
|---|
| 22 | list($ip, $port, $host, $uagent, |
|---|
| 23 | $referer, $user, $clipboard) = explode(' ', $val); |
|---|
| 24 | $uagent = base64_decode($uagent); |
|---|
| 25 | $uagent = htmlspecialchars($uagent); |
|---|
| 26 | $referer = base64_decode($referer); |
|---|
| 27 | $referer = htmlspecialchars($referer); |
|---|
| 28 | $user = base64_decode($user); |
|---|
| 29 | $user = htmlspecialchars($user); |
|---|
| 30 | $clipboard = base64_decode($clipboard); |
|---|
| 31 | $clipboard = htmlspecialchars($clipboard); |
|---|
| 32 | $date = date('D, d M Y H:i:s', $date); |
|---|
| 33 | $data = array("ip" => $ip, |
|---|
| 34 | "timestamp" => $date, |
|---|
| 35 | "ua" => $uagent, |
|---|
| 36 | "ref" => $referer, |
|---|
| 37 | "user" => $user, |
|---|
| 38 | "clip" => $clipboard, |
|---|
| 39 | ); |
|---|
| 40 | $rv = "{"; |
|---|
| 41 | $lines = array(); |
|---|
| 42 | foreach ($data as $key => $val) { |
|---|
| 43 | $txt = '"' . $key . '":"' . $val . '"'; |
|---|
| 44 | array_push($lines, $txt); |
|---|
| 45 | } |
|---|
| 46 | $rv .= join($lines, ','); |
|---|
| 47 | $rv .= "}"; |
|---|
| 48 | array_push($items, $rv); |
|---|
| 49 | $key = dba_nextkey($id); |
|---|
| 50 | } |
|---|
| 51 | dba_close($id); |
|---|
| 52 | $items = array_reverse($items); |
|---|
| 53 | print "[ " . join($items, ", ") . " ]"; |
|---|
| 54 | ?> |
|---|