✨ Hello world!
This commit is contained in:
34
index.php
Normal file
34
index.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
include 'vendor/autoload.php';
|
||||
|
||||
use donatj\UserAgent\UserAgentParser;
|
||||
|
||||
try {
|
||||
$db_handle = new PDO('sqlite:database.sqlite');
|
||||
$db_handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
$tables = $db_handle->query("SELECT name FROM sqlite_master WHERE type='table'")->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if (!in_array('counter', $tables, true)) {
|
||||
$db_handle->exec("CREATE TABLE `counter` ( ID INTEGER PRIMARY KEY, ua TEXT, ip TEXT, created_at DATE );");
|
||||
}
|
||||
|
||||
$anonymized_ip = sprintf('%s.0.0', implode('.', array_slice(explode('.', $_SERVER['REMOTE_ADDR']), 0, 2)));
|
||||
$parser = new UserAgentParser();
|
||||
$ua = $parser->parse();
|
||||
$insert_request = $db_handle->prepare('INSERT INTO `counter` ( ua, ip, created_at ) VALUES (:ua, :ip, :created_at)');
|
||||
$query = $insert_request->execute([
|
||||
'ua' => sprintf('%s / %s / %s', $ua->platform(), $ua->browser(), $ua->browserVersion()),
|
||||
'ip' => $anonymized_ip,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
]);
|
||||
|
||||
$count = $db_handle->query('SELECT count(*) as `count` from `counter`')->fetch(PDO::FETCH_ASSOC)['count'];
|
||||
include 'badge.php';
|
||||
header('Content-Type: image/svg+xml');
|
||||
header('Cache-Control: max-age=0, must-revalidate, no-cache, no-store, private');
|
||||
|
||||
exit;
|
||||
} catch (Exception $e) {
|
||||
die('Erreur : '.$e->getMessage());
|
||||
}
|
||||
Reference in New Issue
Block a user