fix: apply various PHP (5.3 -> 8.3 lol) fixes
This commit is contained in:
parent
b9d217eb5f
commit
b18b795ab3
9 changed files with 60 additions and 67 deletions
|
@ -16,7 +16,12 @@ function dbConnect($fatal = true) {
|
|||
$rv = db::$database->open();
|
||||
}
|
||||
if ($fatal && !$rv) {
|
||||
l::fatal(1, array("SQL: Database connection failed", pg_last_error()));
|
||||
try {
|
||||
$lastError = pg_last_error();
|
||||
} catch (Error) {
|
||||
$lastError = "(no connection)";
|
||||
}
|
||||
l::fatal(1, array("SQL: Database connection failed", $lastError));
|
||||
}
|
||||
return $rv;
|
||||
}
|
||||
|
|
|
@ -266,7 +266,7 @@ class db {
|
|||
pg_free_result($r);
|
||||
|
||||
$tn = $match[1];
|
||||
if ($tn{0} == '"') {
|
||||
if ($tn[0] == '"') {
|
||||
$tn = str_replace('"', '', $tn);
|
||||
} else {
|
||||
$tn = strtolower($tn);
|
||||
|
|
|
@ -15,7 +15,7 @@ class engine {
|
|||
* A fatal error is displayed if the engine isn't found in the engines/
|
||||
* subdirectory of the script directory.
|
||||
*/
|
||||
function load() {
|
||||
public static function load() {
|
||||
$eType = input::$eType;
|
||||
|
||||
// Check for a valid type
|
||||
|
|
|
@ -41,7 +41,7 @@ class game {
|
|||
|
||||
function addTick($tick) {
|
||||
$td = $tick->definition->script;
|
||||
if (is_null($this->ticks[$td])) {
|
||||
if (!isset($this->ticks[$td])) {
|
||||
$this->ticks[$td] = $tick;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ class handler {
|
|||
* version and page. If such a handler is found, the file is loaded and the
|
||||
* handler is initialized.
|
||||
*/
|
||||
function load() {
|
||||
public static function load() {
|
||||
$path = input::$path;
|
||||
$page = input::$page;
|
||||
$game = input::$game;
|
||||
|
@ -53,10 +53,10 @@ class handler {
|
|||
$engines = array('page', 'css', 'js', 'rpc');
|
||||
}
|
||||
// Get the default engine
|
||||
if (is_null($handler->defaultEngine)) {
|
||||
$dEngine = $engines[0];
|
||||
} else {
|
||||
if (isset($handler->defaultEngine)) {
|
||||
$dEngine = $handler->defaultEngine;
|
||||
} else {
|
||||
$dEngine = $engines[0];
|
||||
}
|
||||
|
||||
// Set the engine type to default if it isn't set
|
||||
|
|
|
@ -21,7 +21,7 @@ class input {
|
|||
* accessed, and which page should be displayed.
|
||||
*/
|
||||
static function identify() {
|
||||
$p = $_SERVER["PATH_INFO"];
|
||||
$p = $_SERVER["PATH_INFO"] ?? "";
|
||||
|
||||
if (preg_match('/\.[a-z0-9]{2,10}$/', $p)) {
|
||||
input::$eType = preg_replace('/^.*\.([a-z0-9]{2,10})$/', '\1', $p);
|
||||
|
@ -87,7 +87,7 @@ class input {
|
|||
* quotes" are enabled, remove them.
|
||||
* NOTE: This behaviour should be reversed in a production version.
|
||||
*/
|
||||
function read() {
|
||||
static function read() {
|
||||
input::$IE = preg_match('/MSIE/', $_SERVER['HTTP_USER_AGENT'])
|
||||
&& !preg_match('/Opera/', $_SERVER['HTTP_USER_AGENT']);
|
||||
input::$safari = preg_match('/AppleWebKit/', $_SERVER['HTTP_USER_AGENT']);
|
||||
|
@ -99,18 +99,6 @@ class input {
|
|||
foreach ($_GET as $k => $v) {
|
||||
$p[$k] = $v;
|
||||
}
|
||||
if (get_magic_quotes_gpc()) {
|
||||
foreach ($p as $k => $v) {
|
||||
if (is_scalar($v)) {
|
||||
$p[$k] = stripslashes($v);
|
||||
} elseif (is_array($v)) {
|
||||
$p[$k] = array();
|
||||
foreach ($v as $ak => $av) {
|
||||
$p[$k][$ak] = stripslashes($av);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
input::$input = $p;
|
||||
return $p;
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ class l {
|
|||
|
||||
|
||||
/** This function is the default fatal error display function. */
|
||||
private function defaultFatalError($errno, $error, $info) {
|
||||
private static function defaultFatalError($errno, $error, $info) {
|
||||
ob_start();
|
||||
?>
|
||||
<html>
|
||||
|
@ -113,7 +113,6 @@ class l {
|
|||
return;
|
||||
}
|
||||
|
||||
define_syslog_variables();
|
||||
openlog(self::$syslogPrefix, LOG_PID, LOG_USER);
|
||||
self::$initialised = true;
|
||||
}
|
||||
|
@ -142,7 +141,7 @@ class l {
|
|||
/** This method displays one of the game engine's
|
||||
* fatal errors and adds log entries accordingly.
|
||||
*/
|
||||
public function fatal($errno, $information = null) {
|
||||
public static function fatal($errno, $information = null) {
|
||||
// Log the error
|
||||
$errorText = self::$engineErrors[$errno] . " [" . sprintf("%03d", $errno) . "]";
|
||||
self::critical($errorText);
|
||||
|
@ -183,17 +182,18 @@ class l {
|
|||
/** This method writes a backtrace to the log, removing all
|
||||
* entries from the logging class.
|
||||
*/
|
||||
public function backtrace() {
|
||||
public static function backtrace() {
|
||||
$bt = debug_backtrace();
|
||||
while (is_array($bt[1]) && $bt[1]['class'] == 'l') {
|
||||
while (is_array($bt[1]) && isset($bt[1]['class']) && $bt[1]['class'] == 'l') {
|
||||
array_shift($bt);
|
||||
}
|
||||
|
||||
self::info("Backtrace to the error:");
|
||||
$base = dirname(config::$main['scriptdir']);
|
||||
foreach ($bt as $data) {
|
||||
$cnLength = strlen($data['class']);
|
||||
$str = "... " . str_repeat(' ', $cnLength > 30 ? 1 : (31 - $cnLength)) . $data['class']
|
||||
$class = $data['class'] ?? '';
|
||||
$cnLength = strlen($class);
|
||||
$str = "... " . str_repeat(' ', $cnLength > 30 ? 1 : (31 - $cnLength)) . $class
|
||||
. " :: " . $data['function'];
|
||||
if (!is_null($data['file'])) {
|
||||
$cnLength = strlen($data['function']);
|
||||
|
@ -208,7 +208,7 @@ class l {
|
|||
|
||||
/** This method changes the syslog prefix.
|
||||
*/
|
||||
public function setSyslogPrefix($prefix) {
|
||||
public static function setSyslogPrefix($prefix) {
|
||||
self::$syslogPrefix = $prefix;
|
||||
if (self::$initialised) {
|
||||
closelog();
|
||||
|
@ -218,14 +218,14 @@ class l {
|
|||
|
||||
/** This method changes the string prefix.
|
||||
*/
|
||||
public function setPrefix($prefix) {
|
||||
public static function setPrefix($prefix) {
|
||||
self::$prefix = "$prefix ";
|
||||
}
|
||||
|
||||
/** This method changes the function to call
|
||||
* for fatal errors.
|
||||
*/
|
||||
public function setFatalHandler($function) {
|
||||
public static function setFatalHandler($function) {
|
||||
self::$fatalErrorCallback = $function;
|
||||
}
|
||||
|
||||
|
@ -233,7 +233,7 @@ class l {
|
|||
* function call and prevents further logging of
|
||||
* similar occurences.
|
||||
*/
|
||||
public function deprecated($function) {
|
||||
public static function deprecated($function) {
|
||||
if (config::$main['debug'] == 2 && !self::$deprecatedLogged) {
|
||||
l::trace("DEPRECATED: $function");
|
||||
l::backtrace();
|
||||
|
@ -242,7 +242,7 @@ class l {
|
|||
}
|
||||
|
||||
/** This function logs FIXME's. */
|
||||
public function FIXME($text) {
|
||||
public static function FIXME($text) {
|
||||
if (config::$main['debug'] >= 1 && !self::$fixmeLogged) {
|
||||
l::debug("FIXME: $text");
|
||||
if (config::$main['debug'] == 2) {
|
||||
|
@ -256,19 +256,19 @@ class l {
|
|||
/******************* LOGGING METHODS ************************/
|
||||
/* These methods should replace logText() wherever possible */
|
||||
/************************************************************/
|
||||
public function crit($txt) { self::init(); self::__write($txt, LOG_CRIT); }
|
||||
public function critical($txt) { self::init(); self::__write($txt, LOG_CRIT); }
|
||||
public function error($txt) { self::init(); self::__write($txt, LOG_ERR); }
|
||||
public function warn($txt) { self::init(); self::__write($txt, LOG_WARNING); }
|
||||
public function warning($txt) { self::init(); self::__write($txt, LOG_WARNING); }
|
||||
public function notice($txt) { self::init(); self::__write($txt, LOG_NOTICE); }
|
||||
public function info($txt) { self::init(); self::__write($txt, LOG_INFO); }
|
||||
public function debug($txt) {
|
||||
public static function crit($txt) { self::init(); self::__write($txt, LOG_CRIT); }
|
||||
public static function critical($txt) { self::init(); self::__write($txt, LOG_CRIT); }
|
||||
public static function error($txt) { self::init(); self::__write($txt, LOG_ERR); }
|
||||
public static function warn($txt) { self::init(); self::__write($txt, LOG_WARNING); }
|
||||
public static function warning($txt) { self::init(); self::__write($txt, LOG_WARNING); }
|
||||
public static function notice($txt) { self::init(); self::__write($txt, LOG_NOTICE); }
|
||||
public static function info($txt) { self::init(); self::__write($txt, LOG_INFO); }
|
||||
public static function debug($txt) {
|
||||
if (config::$main['debug'] >= 1) {
|
||||
self::init(); self::__write($txt, LOG_DEBUG);
|
||||
}
|
||||
}
|
||||
public function trace($txt) {
|
||||
public static function trace($txt) {
|
||||
if (config::$main['debug'] == 2) {
|
||||
self::init(); self::__write($txt, LOG_DEBUG);
|
||||
}
|
||||
|
|
|
@ -14,13 +14,13 @@ class version {
|
|||
}
|
||||
|
||||
function addTickDefinition($def) {
|
||||
if (is_null($this->tickDefs[$def->script])) {
|
||||
if (!isset($this->tickDefs[$def->script])) {
|
||||
$this->tickDefs[$def->script] = $def;
|
||||
}
|
||||
}
|
||||
|
||||
function getTickDefinition($id) {
|
||||
return $this->tickDefs[$id];
|
||||
return $this->tickDefs[$id] ?? null;
|
||||
}
|
||||
|
||||
function getDirectory() {
|
||||
|
|
|
@ -12,7 +12,7 @@ class xml_config {
|
|||
private static $games = null;
|
||||
private static $defGame = null;
|
||||
|
||||
private function parseMainParams($root) {
|
||||
private static function parseMainParams($root) {
|
||||
$node = $root->firstChild;
|
||||
|
||||
while ($node) {
|
||||
|
@ -21,7 +21,7 @@ class xml_config {
|
|||
$aValue = $node->getAttribute('value');
|
||||
if ($aName == "") {
|
||||
l::warn("CONFIG: a main parameter is missing a 'name' attribute");
|
||||
} elseif (is_null(xml_config::$mGame->params[$aName])) {
|
||||
} elseif (!isset(xml_config::$mGame->params[$aName])) {
|
||||
xml_config::$mGame->params[$aName] = $aValue;
|
||||
} else {
|
||||
l::notice("CONFIG: duplicate main parameter '$aName'");
|
||||
|
@ -34,7 +34,7 @@ class xml_config {
|
|||
}
|
||||
|
||||
|
||||
private function parseMainTicks($root) {
|
||||
private static function parseMainTicks($root) {
|
||||
$node = $root->firstChild;
|
||||
|
||||
while ($node) {
|
||||
|
@ -62,7 +62,7 @@ class xml_config {
|
|||
}
|
||||
|
||||
|
||||
private function parseTickDefinition($version, $root) {
|
||||
private static function parseTickDefinition($version, $root) {
|
||||
$script = $root->getAttribute('script');
|
||||
$public = ($root->getAttribute('public') == 1);
|
||||
|
||||
|
@ -127,7 +127,7 @@ class xml_config {
|
|||
}
|
||||
|
||||
|
||||
private function parseVersion($root) {
|
||||
private static function parseVersion($root) {
|
||||
$id = $root->getAttribute("id");
|
||||
$cp = ($root->getAttribute("playable") == 1);
|
||||
$tx = $root->getAttribute("text");
|
||||
|
@ -156,7 +156,7 @@ class xml_config {
|
|||
}
|
||||
|
||||
|
||||
private function parseVersions($root) {
|
||||
private static function parseVersions($root) {
|
||||
$node = $root->firstChild;
|
||||
|
||||
$versions = array();
|
||||
|
@ -164,10 +164,10 @@ class xml_config {
|
|||
if ($node->nodeType == XML_ELEMENT_NODE && $node->nodeName == 'Version') {
|
||||
$v = xml_config::parseVersion($node);
|
||||
if (!is_null($v)) {
|
||||
if (is_null($versions[$v->id])) {
|
||||
$versions[$v->id] = $v;
|
||||
} else {
|
||||
if (isset($versions[$v->id])) {
|
||||
l::notice("CONFIG: found duplicate definition for version '{$v->id}'");
|
||||
} else {
|
||||
$versions[$v->id] = $v;
|
||||
}
|
||||
}
|
||||
} elseif ($node->nodeType == XML_ELEMENT_NODE) {
|
||||
|
@ -180,7 +180,7 @@ class xml_config {
|
|||
}
|
||||
|
||||
|
||||
private function parseGame($root) {
|
||||
private static function parseGame($root) {
|
||||
$id = $root->getAttribute('id');
|
||||
if ($id == '') {
|
||||
l::warn("CONFIG: game definition is missing an identifier");
|
||||
|
@ -225,10 +225,10 @@ class xml_config {
|
|||
$aValue = $node->getAttribute('value');
|
||||
if ($aName == "") {
|
||||
l::warn("CONFIG: a parameter is missing a 'name' attribute for game '$id'");
|
||||
} elseif (is_null($game->params[$aName])) {
|
||||
$game->params[$aName] = $aValue;
|
||||
} else {
|
||||
} elseif (isset($game->params[$aName])) {
|
||||
l::notice("CONFIG: duplicate parameter '$aName'");
|
||||
} else {
|
||||
$game->params[$aName] = $aValue;
|
||||
}
|
||||
} elseif ($node->nodeName == 'Description') {
|
||||
$lang = $node->getAttribute('lang');
|
||||
|
@ -237,7 +237,7 @@ class xml_config {
|
|||
l::warn("CONFIG: a description is missing the 'lang' attribute for game '$id'");
|
||||
} elseif ($contents == "") {
|
||||
l::warn("CONFIG: description in language '$lang' has no contents for game '$id'");
|
||||
} elseif (!is_null($game->descriptions[$lang])) {
|
||||
} elseif (isset($game->descriptions[$lang])) {
|
||||
l::notice("CONFIG: description in language '$lang' appears twice for game '$id'");
|
||||
} else {
|
||||
$game->descriptions[$lang] = $contents;
|
||||
|
@ -255,11 +255,11 @@ class xml_config {
|
|||
} elseif (is_null($game->version->getTickDefinition($tScript))) {
|
||||
l::warn("CONFIG: no definition for tick '$tScript' in game '$id' "
|
||||
. "(version '$version')");
|
||||
} elseif (is_null($game->ticks[$tScript])) {
|
||||
} elseif (isset($game->ticks[$tScript])) {
|
||||
l::notice("CONFIG: duplicate tick initialiser for tick '$tScript' in game '$id'");
|
||||
} else {
|
||||
new tick_instance($game, $tScript, (int)$tFirst, (int)$tInterval,
|
||||
$tLast ? (int)$tLast : null);
|
||||
} else {
|
||||
l::notice("CONFIG: duplicate tick initialiser for tick '$tScript' in game '$id'");
|
||||
}
|
||||
} else {
|
||||
l::notice("CONFIG: found unexpected tag '{$node->nodeName}' in game '$id' definition");
|
||||
|
@ -272,7 +272,7 @@ class xml_config {
|
|||
}
|
||||
|
||||
|
||||
private function parseGames($root) {
|
||||
private static function parseGames($root) {
|
||||
$defaultId = $root->getAttribute('default');
|
||||
$games = array();
|
||||
|
||||
|
@ -281,10 +281,10 @@ class xml_config {
|
|||
if ($node->nodeType == XML_ELEMENT_NODE && $node->nodeName == 'Game') {
|
||||
$g = xml_config::parseGame($node);
|
||||
if (!is_null($g)) {
|
||||
if (is_null($games[$g->name])) {
|
||||
$games[$g->name] = $g;
|
||||
} else {
|
||||
if (isset($games[$g->name])) {
|
||||
l::notice("CONFIG: found duplicate definition for game '{$v->name}'");
|
||||
} else {
|
||||
$games[$g->name] = $g;
|
||||
}
|
||||
}
|
||||
} elseif ($node->nodeType == XML_ELEMENT_NODE) {
|
||||
|
@ -303,7 +303,7 @@ class xml_config {
|
|||
}
|
||||
|
||||
|
||||
function parse($xmlData) {
|
||||
public static function parse($xmlData) {
|
||||
$doc = new DOMDocument();
|
||||
if (!$doc->loadXML($xmlData)) {
|
||||
l::error("CONFIG: error while parsing XML configuration");
|
||||
|
|
Loading…
Reference in a new issue