diff --git a/index.php b/index.php index fbc850d..1cc5bd2 100644 --- a/index.php +++ b/index.php @@ -933,6 +933,19 @@ if (!function_exists('sales_purchases_load_logic')) { if (!function_exists('runtime_debug_require')) { function runtime_debug_require(string $file, array $context = []): void { runtime_debug_mark('require:' . basename($file), $context + ['file' => $file]); + + foreach (array_keys($GLOBALS) as $globalName) { + if ($globalName === 'GLOBALS' || $globalName === 'file' || $globalName === 'context') { + continue; + } + + if (!preg_match('/^[A-Za-z_\x80-\xff][A-Za-z0-9_\x80-\xff]*$/', $globalName)) { + continue; + } + + ${$globalName} =& $GLOBALS[$globalName]; + } + require $file; } } diff --git a/runtime_debug.log b/runtime_debug.log index eca171c..bd98903 100644 --- a/runtime_debug.log +++ b/runtime_debug.log @@ -1 +1,12 @@ 2026-05-02 04:50:50 || [PDOException] || SQLSTATE[42S22]: Column not found: 1054 Unknown column 'name' in 'INSERT INTO' || file=/home/ubuntu/executor/workspace/index.php:1977 || page=payment_methods || uri=/index.php?page=payment_methods || user_id=1 || hint=Missing column: name || error_info=["42S22",1054,"Unknown column 'name' in 'INSERT INTO'"] || trace=#0 /home/ubuntu/executor/workspace/index.php(1977): PDOStatement->execute() | #1 {main} +2026-05-03 10:53:34 || [TypeError] || page_url(): Argument #1 ($page) must be of type string, null given, called in /home/ubuntu/executor/workspace/pages/sales_purchases_view.php on line 56 || file=/home/ubuntu/executor/workspace/includes/page_routes.php:84 || page=sales || uri=/sales.php || user_id=1 || stage=require:sales_purchases_view.php || timeline=[{"time":"10:53:34","stage":"page:selected","context":{"page":"sales","phase":"activation_gate"}},{"time":"10:53:34","stage":"require:settings_save_logic.php","context":{"phase":"save_logic","page":"sales","file":"pages\/settings_save_logic.php"}},{"time":"10:53:34","stage":"page:selected","context":{"page":"sales","phase":"data"}},{"time":"10:53:34","stage":"page:shared_data_loading","context":{"page":"sales"}},{"time":"10:53:34","stage":"page:data_switch_loading","context":{"page":"sales"}},{"time":"10:53:34","stage":"require:sales_purchases_logic.php","context":{"phase":"logic","page":"sales","mode":"inline"}},{"time":"10:53:34","stage":"logic:sales_purchases_inline","context":{"page":"sales"}},{"time":"10:53:34","stage":"page:data_loaded","context":{"page":"sales"}},{"time":"10:53:34","stage":"page:rendering","context":{"page":"sales"}},{"time":"10:53:34","stage":"require:sales_purchases_view.php","context":{"phase":"view","page":"sales","file":"pages\/sales_purchases_view.php"}}] || trace=#0 /home/ubuntu/executor/workspace/pages/sales_purchases_view.php(56): page_url() | #1 /home/ubuntu/executor/workspace/index.php(936): require('...') | #2 /home/ubuntu/executor/workspace/index.php(8906): runtime_debug_require() | #3 /home/ubuntu/executor/workspace/page_bootstrap.php(37): require('...') | #4 /home/ubuntu/executor/workspace/sales.php(5): require('...') +2026-05-03 10:54:02 || [TypeError] || page_url(): Argument #1 ($page) must be of type string, null given, called in /home/ubuntu/executor/workspace/pages/sales_purchases_view.php on line 56 || file=/home/ubuntu/executor/workspace/includes/page_routes.php:84 || page=sales || uri=/sales.php || user_id=1 || stage=require:sales_purchases_view.php || timeline=[{"time":"10:54:02","stage":"page:selected","context":{"page":"sales","phase":"activation_gate"}},{"time":"10:54:02","stage":"require:settings_save_logic.php","context":{"phase":"save_logic","page":"sales","file":"pages\/settings_save_logic.php"}},{"time":"10:54:02","stage":"page:selected","context":{"page":"sales","phase":"data"}},{"time":"10:54:02","stage":"page:shared_data_loading","context":{"page":"sales"}},{"time":"10:54:02","stage":"page:data_switch_loading","context":{"page":"sales"}},{"time":"10:54:02","stage":"require:sales_purchases_logic.php","context":{"phase":"logic","page":"sales","mode":"inline"}},{"time":"10:54:02","stage":"logic:sales_purchases_inline","context":{"page":"sales"}},{"time":"10:54:02","stage":"page:data_loaded","context":{"page":"sales"}},{"time":"10:54:02","stage":"page:rendering","context":{"page":"sales"}},{"time":"10:54:02","stage":"require:sales_purchases_view.php","context":{"phase":"view","page":"sales","file":"pages\/sales_purchases_view.php"}}] || trace=#0 /home/ubuntu/executor/workspace/pages/sales_purchases_view.php(56): page_url() | #1 /home/ubuntu/executor/workspace/index.php(936): require('...') | #2 /home/ubuntu/executor/workspace/index.php(8906): runtime_debug_require() | #3 /home/ubuntu/executor/workspace/page_bootstrap.php(37): require('...') | #4 /home/ubuntu/executor/workspace/sales.php(5): require('...') +2026-05-03 10:54:09 || [TypeError] || page_url(): Argument #1 ($page) must be of type string, null given, called in /home/ubuntu/executor/workspace/pages/sales_purchases_view.php on line 56 || file=/home/ubuntu/executor/workspace/includes/page_routes.php:84 || page=sales || uri=/sales.php || user_id=1 || stage=require:sales_purchases_view.php || timeline=[{"time":"10:54:09","stage":"page:selected","context":{"page":"sales","phase":"activation_gate"}},{"time":"10:54:09","stage":"require:settings_save_logic.php","context":{"phase":"save_logic","page":"sales","file":"pages\/settings_save_logic.php"}},{"time":"10:54:09","stage":"page:selected","context":{"page":"sales","phase":"data"}},{"time":"10:54:09","stage":"page:shared_data_loading","context":{"page":"sales"}},{"time":"10:54:09","stage":"page:data_switch_loading","context":{"page":"sales"}},{"time":"10:54:09","stage":"require:sales_purchases_logic.php","context":{"phase":"logic","page":"sales","mode":"inline"}},{"time":"10:54:09","stage":"logic:sales_purchases_inline","context":{"page":"sales"}},{"time":"10:54:09","stage":"page:data_loaded","context":{"page":"sales"}},{"time":"10:54:09","stage":"page:rendering","context":{"page":"sales"}},{"time":"10:54:09","stage":"require:sales_purchases_view.php","context":{"phase":"view","page":"sales","file":"pages\/sales_purchases_view.php"}}] || trace=#0 /home/ubuntu/executor/workspace/pages/sales_purchases_view.php(56): page_url() | #1 /home/ubuntu/executor/workspace/index.php(936): require('...') | #2 /home/ubuntu/executor/workspace/index.php(8906): runtime_debug_require() | #3 /home/ubuntu/executor/workspace/page_bootstrap.php(37): require('...') | #4 /home/ubuntu/executor/workspace/sales.php(5): require('...') +2026-05-03 10:54:20 || [ErrorException] || Uncaught TypeError: page_url(): Argument #1 ($page) must be of type string, null given, called in /home/ubuntu/executor/workspace/pages/sales_purchases_view.php on line 56 and defined in /home/ubuntu/executor/workspace/includes/page_routes.php:84 +Stack trace: +#0 /home/ubuntu/executor/workspace/pages/sales_purchases_view.php(56): page_url() +#1 /home/ubuntu/executor/workspace/index.php(936): require('...') +#2 /home/ubuntu/executor/workspace/index.php(8906): runtime_debug_require() +#3 Command line code(1): include('...') +#4 {main} + thrown || file=/home/ubuntu/executor/workspace/includes/page_routes.php:84 || page=sales || uri=cli || user_id=1 || stage=require:sales_purchases_view.php || timeline=[{"time":"10:54:20","stage":"page:selected","context":{"page":"sales","phase":"activation_gate"}},{"time":"10:54:20","stage":"require:settings_save_logic.php","context":{"phase":"save_logic","page":"sales","file":"pages\/settings_save_logic.php"}},{"time":"10:54:20","stage":"page:selected","context":{"page":"sales","phase":"data"}},{"time":"10:54:20","stage":"page:shared_data_loading","context":{"page":"sales"}},{"time":"10:54:20","stage":"page:data_switch_loading","context":{"page":"sales"}},{"time":"10:54:20","stage":"require:sales_purchases_logic.php","context":{"phase":"logic","page":"sales","mode":"inline"}},{"time":"10:54:20","stage":"logic:sales_purchases_inline","context":{"page":"sales"}},{"time":"10:54:20","stage":"page:data_loaded","context":{"page":"sales"}},{"time":"10:54:20","stage":"page:rendering","context":{"page":"sales"}},{"time":"10:54:20","stage":"require:sales_purchases_view.php","context":{"phase":"view","page":"sales","file":"pages\/sales_purchases_view.php"}}] || trace=#0 [internal function]: {closure}() | #1 {main}