|
@@ -22,6 +22,7 @@ $store = \SleekDB\SleekDB::store('speedlogs', './',[
|
|
|
]);
|
|
|
|
|
|
$reportData = [
|
|
|
+ "key" => sha1(filter_var($_POST['key'], FILTER_SANITIZE_STRING)),
|
|
|
"ip" => maskLastSegment(filter_var($_POST['ip'], FILTER_SANITIZE_STRING)),
|
|
|
"isp" => filter_var($_POST['isp'], FILTER_SANITIZE_STRING),
|
|
|
"addr" => filter_var($_POST['addr'], FILTER_SANITIZE_STRING),
|
|
@@ -34,7 +35,11 @@ $reportData = [
|
|
|
|
|
|
if (empty($reportData['ip'])) exit;
|
|
|
|
|
|
-$oldLog = $store->where('ip', '=', $reportData['ip'])->fetch();
|
|
|
+if (SAME_IP_MULTI_LOGS) {
|
|
|
+ $oldLog = $store->where('key', '=', $reportData['key'])->fetch();
|
|
|
+} else {
|
|
|
+ $oldLog = $store->where('ip', '=', $reportData['ip'])->orderBy( 'desc', '_id' )->fetch();
|
|
|
+}
|
|
|
|
|
|
if (is_array($oldLog) && empty($oldLog)) {
|
|
|
$results = $store->insert($reportData);
|
|
@@ -42,7 +47,14 @@ if (is_array($oldLog) && empty($oldLog)) {
|
|
|
$store->where('_id', '=', $results['_id'] - MAX_LOG_COUNT)->delete();
|
|
|
}
|
|
|
} else {
|
|
|
- $ip = $reportData['ip'];
|
|
|
- unset($reportData['ip']);
|
|
|
- $store->where('ip', '=', $ip)->update($reportData);
|
|
|
+ $id = $oldLog[0]['_id'];
|
|
|
+ if (SAME_IP_MULTI_LOGS) {
|
|
|
+ $key = $reportData['key'];
|
|
|
+ unset($reportData['key']);
|
|
|
+ $store->where('_id', '=', $id)->update($reportData);
|
|
|
+ } else {
|
|
|
+ $ip = $reportData['ip'];
|
|
|
+ unset($reportData['ip']);
|
|
|
+ $store->where('_id', '=', $id)->update($reportData);
|
|
|
+ }
|
|
|
}
|