Skip to content

Commit ead0bbd

Browse files
committed
setup error handler to make (undefined array key) fatal
1 parent c726b86 commit ead0bbd

File tree

4 files changed

+14
-0
lines changed

4 files changed

+14
-0
lines changed

defaults/config.ini.default

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ allow_die = true ; internal use only
1717
enable_verbose_error_log = true ; internal use only
1818
enable_error_to_user = true ; internal use only
1919
enable_exception_handler = true ; internal use only
20+
enable_error_handler = true ; internal use only
2021

2122
[ldap]
2223
uri = "ldap://identity" ; URI of remote LDAP server

deployment/overrides/phpunit/config/config.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ allow_die = false
66
enable_verbose_error_log = false
77
enable_error_to_user = false
88
enable_exception_handler = false
9+
enable_error_handler = false

resources/init.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
set_exception_handler(["UnityWebPortal\lib\UnityHTTPD", "exceptionHandler"]);
1818
}
1919

20+
if (CONFIG["site"]["enable_error_handler"]) {
21+
set_error_handler(["UnityWebPortal\lib\UnityHTTPD", "errorHandler"]);
22+
}
23+
2024
session_start();
2125

2226
if (isset($GLOBALS["ldapconn"])) {

resources/lib/UnityHTTPD.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,14 @@ public static function exceptionHandler(\Throwable $e): void
143143
ini_set("log_errors", false); // error logged successfully
144144
}
145145

146+
public static function errorHandler(int $severity, string $message, string $file, int $line)
147+
{
148+
if (str_contains($message, "Undefined array key")) {
149+
throw new ArrayKeyException($message);
150+
}
151+
return false;
152+
}
153+
146154
public static function getPostData(...$keys): mixed
147155
{
148156
try {

0 commit comments

Comments
 (0)