summaryrefslogtreecommitdiff
path: root/Matchmaking/Server/index.php
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2024-11-03 14:10:07 +0100
committerDaniel Weipert <git@mail.dweipert.de>2024-11-03 14:10:07 +0100
commit84365b6f901a9c0251a9f724a8d9f81a3787e97d (patch)
tree401e2bf99e6573d1d069f5044e7448067cdfb384 /Matchmaking/Server/index.php
parenta43499efa6c228cea3633f9661f3ff09127bd82d (diff)
next commit
Diffstat (limited to 'Matchmaking/Server/index.php')
-rw-r--r--Matchmaking/Server/index.php139
1 files changed, 0 insertions, 139 deletions
diff --git a/Matchmaking/Server/index.php b/Matchmaking/Server/index.php
deleted file mode 100644
index de7d5c0..0000000
--- a/Matchmaking/Server/index.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-/*
- * Routes:
- * /host ?host&port=$port&name=$name
- * /get-list ?get-list
- * /join ?join=$id
- */
-
-global $db;
-$db = new PDO('sqlite:./db', options: [
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
-]);
-
-if (php_sapi_name() == 'cli') {
- if ($argv[$argc - 1] == 'init-db') {
- $db->query(<<<SQL
- create table if not exists games (
- id text primary key,
- ip text unique,
- port integer,
- timestamp integer,
- name text
- );
- SQL)
- ->execute();
- }
-
- return;
-}
-
-$response = [];
-
-if (isset($_POST['host'])) {
- $ip = filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP);
-
- if ($ip === false) {
- $response = [
- 'success' => false,
- 'error' => 'Invalid IP.',
- ];
- }
-
- else {
- $port = intval($_POST['port']);
- $name = $_POST['name'];
-
- $success = $db->prepare(<<<SQL
- insert into games (id, ip, port, timestamp, name) values (:id, :ip, :port, :timestamp, :name)
- SQL)
- ->execute([
- 'id' => md5($name . time()),
- 'ip' => $ip,
- 'port' => $port,
- 'timestamp' => time(),
- 'name' => $name,
- ]);
-
- $response = [
- 'success' => $success,
- ];
- }
-}
-
-else if (isset($_GET['get-list'])) {
- $statement = $db->prepare(<<<SQL
- select id, name from games
- SQL);
- $statement->execute();
- $results = $statement->fetchAll();
-
- $list = [];
- foreach ($results as $row) {
- $list[] = [
- 'id' => $row['id'],
- 'name' => $row['name'],
- ];
- }
-
- $response = [
- 'success' => true,
- 'data' => $list,
- ];
-}
-
-else if (isset($_GET['join'])) {
- $id = $_GET['join'];
-
- $statement = $db->prepare(<<<SQL
- select ip, port from games
- where id = :id
- SQL);
- $statement->execute(['id' => $id]);
- $result = $statement->fetch();
-
- if ($result === false) {
- $response = [
- 'success' => false,
- 'error' => 'Game not found.'
- ];
- http_response_code(404);
- }
-
- else {
- $response = [
- 'success' => true,
- 'data' => [
- 'ip' => $result['ip'],
- 'port' => $result['port'],
- ],
- ];
- }
-}
-
-else if (isset($_POST['close'])) {
- $id = $_POST['close'];
-
- $success = $db->prepare(<<<SQL
- delete from games where id = :id
- SQL)
- ->execute([
- 'id' => $id,
- ]);
-
- $response = [
- 'success' => $success,
- ];
-}
-
-else {
- $response = [
- 'success' => false,
- 'error' => 'Route not found.'
- ];
- http_response_code(404);
-}
-
-header('Content-Type: application/json');
-echo json_encode($response);