-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstats.php
More file actions
102 lines (84 loc) · 3.1 KB
/
Copy pathstats.php
File metadata and controls
102 lines (84 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
class MyDB extends SQLite3
{
function __construct() {
$this->open('stats_db');
}
}
function doesEntryExist($database, $table, $column_num, $data) {
$db_data = $database->query('SELECT * FROM '.$table);
while($x = $db_data->fetchArray(SQLITE3_NUM)) {
if(strcmp($x[$column_num], $data) == 0) {
return true;
}
}
return false;
}
if(array_key_exists("HTTP_SID", $_SERVER) == false) {
exit("YA BITCH");
}
date_default_timezone_set('Europe/Paris');
/* get type from URL */
$typeOfStats = htmlspecialchars($_GET["type"]);
$db = new MyDB();
/* Create tables if they do not exists */
$db->exec('CREATE TABLE IF NOT EXISTS launcher (date_time TEXT NOT NULL, value_of INTEGER)');
$db->exec('CREATE TABLE IF NOT EXISTS website (date_time TEXT NOT NULL, value_of INTEGER)');
$db->exec('CREATE TABLE IF NOT EXISTS vulcain (date_time TEXT NOT NULL, value_of INTEGER)');
$db->exec('CREATE TABLE IF NOT EXISTS phantom (date_time TEXT NOT NULL, value_of INTEGER)');
$db->exec('CREATE TABLE IF NOT EXISTS trinity (date_time TEXT NOT NULL, value_of INTEGER)');
/* Verify header, so randoms cant spam thorugh an internet browser */
/* Current day (TODO: add per hour stats later) */
$currentDay = date("d-m-Y H");
/* check stats per type */
switch($typeOfStats) {
case "launcher":
if(doesEntryExist($db, $typeOfStats, 0, $currentDay) == false) {
$db->exec('INSERT INTO '.$typeOfStats.' VALUES("'.$currentDay.'", "1")');
} else {
$s = $db->prepare('UPDATE '.$typeOfStats.' SET value_of = value_of + 1 WHERE date_time = :dat');
$s->bindValue(":dat", $currentDay);
$s->execute();
}
break;
case "website":
if(doesEntryExist($db, $typeOfStats, 0, $currentDay) == false) {
$db->exec('INSERT INTO '.$typeOfStats.' VALUES("'.$currentDay.'", "1")');
} else {
$s = $db->prepare('UPDATE '.$typeOfStats.' SET value_of = value_of + 1 WHERE date_time = :dat');
$s->bindValue(":dat", $currentDay);
$s->execute();
}
break;
case "vulcain":
if(doesEntryExist($db, $typeOfStats, 0, $currentDay) == false) {
$db->exec('INSERT INTO '.$typeOfStats.' VALUES("'.$currentDay.'", "1")');
} else {
$s = $db->prepare('UPDATE '.$typeOfStats.' SET value_of = value_of + 1 WHERE date_time = :dat');
$s->bindValue(":dat", $currentDay);
$s->execute();
}
break;
case "phantom":
if(doesEntryExist($db, $typeOfStats, 0, $currentDay) == false) {
$db->exec('INSERT INTO '.$typeOfStats.' VALUES("'.$currentDay.'", "1")');
} else {
$s = $db->prepare('UPDATE '.$typeOfStats.' SET value_of = value_of + 1 WHERE date_time = :dat');
$s->bindValue(":dat", $currentDay);
$s->execute();
}
break;
case "trinity":
if(doesEntryExist($db, $typeOfStats, 0, $currentDay) == false) {
$db->exec('INSERT INTO '.$typeOfStats.' VALUES("'.$currentDay.'", "1")');
} else {
$s = $db->prepare('UPDATE '.$typeOfStats.' SET value_of = value_of + 1 WHERE date_time = :dat');
$s->bindValue(":dat", $currentDay);
$s->execute();
}
break;
default:
exit("Unsupported type..");
}
echo "<br/>".$typeOfStats;
?>