urlmanager
This commit is contained in:
@@ -1,20 +1,21 @@
|
||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
||||
|
||||
global $CONFIG;
|
||||
$CONFIG = require 'config.php';
|
||||
|
||||
$PDO = NULL;
|
||||
|
||||
function connect()
|
||||
function startsWith($haystack, $needle)
|
||||
{
|
||||
global $CONFIG;
|
||||
global $PDO;
|
||||
$length = strlen($needle);
|
||||
return (substr($haystack, 0, $length) === $needle);
|
||||
}
|
||||
|
||||
$dsn = "mysql:host=" . $CONFIG['host'] . ";dbname=" . $CONFIG['database'] . ";charset=utf8";
|
||||
$opt = [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
];
|
||||
function endsWith($haystack, $needle)
|
||||
{
|
||||
$length = strlen($needle);
|
||||
return $length === 0 || (substr($haystack, -$length) === $needle);
|
||||
}
|
||||
|
||||
$PDO = new PDO($dsn, $CONFIG['user'], $CONFIG['password'], $opt);
|
||||
function httpError($errorcode, $message)
|
||||
{
|
||||
die($message);//TODO errorcode
|
||||
}
|
||||
103
www/internals/database.php
Normal file
103
www/internals/database.php
Normal file
@@ -0,0 +1,103 @@
|
||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
||||
|
||||
class Database
|
||||
{
|
||||
/* @var PDO $PDO */
|
||||
public static $PDO = NULL;
|
||||
|
||||
public static function connect()
|
||||
{
|
||||
global $CONFIG;
|
||||
|
||||
if (self::$PDO !== NULL) return;
|
||||
|
||||
$dsn = "mysql:host=" . $CONFIG['host'] . ";dbname=" . $CONFIG['database'] . ";charset=utf8";
|
||||
$opt = [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
];
|
||||
|
||||
self::$PDO = new PDO($dsn, $CONFIG['user'], $CONFIG['password'], $opt);
|
||||
}
|
||||
|
||||
public static function sql_query_num($query)
|
||||
{
|
||||
$r = self::$PDO->query($query)->fetch(PDO::FETCH_NUM)[0];
|
||||
|
||||
return $r;
|
||||
}
|
||||
|
||||
public static function sql_query_num_prep($query, $params)
|
||||
{
|
||||
$stmt = self::$PDO->prepare($query);
|
||||
|
||||
foreach ($params as $p)
|
||||
{
|
||||
if (strpos($query, $p[0]) !== FALSE) $stmt->bindValue($p[0], $p[1], $p[2]);
|
||||
}
|
||||
|
||||
$stmt->execute();
|
||||
$r = $stmt->fetch(PDO::FETCH_NUM)[0];
|
||||
|
||||
return $r;
|
||||
}
|
||||
|
||||
public static function sql_query_assoc($query)
|
||||
{
|
||||
$r = self::$PDO->query($query)->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
return $r;
|
||||
}
|
||||
|
||||
public static function sql_query_assoc_prep($query, $params)
|
||||
{
|
||||
$stmt = self::$PDO->prepare($query);
|
||||
|
||||
foreach ($params as $p)
|
||||
{
|
||||
if (strpos($query, $p[0]) !== FALSE) $stmt->bindValue($p[0], $p[1], $p[2]);
|
||||
}
|
||||
|
||||
$stmt->execute();
|
||||
$r = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
return $r;
|
||||
}
|
||||
|
||||
public static function sql_query_single($query)
|
||||
{
|
||||
$r = self::$PDO->query($query)->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
return $r;
|
||||
}
|
||||
|
||||
public static function sql_query_single_prep($query, $params)
|
||||
{
|
||||
$stmt = self::$PDO->prepare($query);
|
||||
|
||||
foreach ($params as $p)
|
||||
{
|
||||
if (strpos($query, $p[0]) !== FALSE) $stmt->bindValue($p[0], $p[1], $p[2]);
|
||||
}
|
||||
|
||||
$stmt->execute();
|
||||
$r = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
return $r;
|
||||
}
|
||||
|
||||
public static function sql_exec_prep($query, $params)
|
||||
{
|
||||
$stmt = self::$PDO->prepare($query);
|
||||
|
||||
foreach ($params as $p)
|
||||
{
|
||||
if (strpos($query, $p[0]) !== FALSE) $stmt->bindValue($p[0], $p[1], $p[2]);
|
||||
}
|
||||
|
||||
$stmt->execute();
|
||||
|
||||
return $stmt->rowCount();
|
||||
}
|
||||
}
|
||||
12
www/internals/highscores.php
Normal file
12
www/internals/highscores.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
||||
|
||||
class Highscores
|
||||
{
|
||||
public static function generateChecksum($rand, $player, $playerid, $points, $gamesalt)
|
||||
{
|
||||
if ($playerid >= 0)
|
||||
return md5($rand . $player . $playerid . $points . $gamesalt);
|
||||
else
|
||||
return md5($rand . $player . $points . $gamesalt);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user