From e9a7de83cd2bea79702eb919dcf35c0b16d9bd67 Mon Sep 17 00:00:00 2001 From: Matt Way Date: Sun, 11 Aug 2024 21:51:43 +1000 Subject: [PATCH] Improve error handling in page_renderer.php --- php-template/page_renderer.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/php-template/page_renderer.php b/php-template/page_renderer.php index 2165ec4..fb38e54 100644 --- a/php-template/page_renderer.php +++ b/php-template/page_renderer.php @@ -4,9 +4,10 @@ class SPLPageRenderer { public function renderCouncilPage($config, $candidates) { ob_start(); - set_error_handler(function($errno, $errstr, $errfile, $errline) { - // Clear any output if an error occurred - ob_clean(); + $didError = false; + + set_error_handler(function($errno, $errstr, $errfile, $errline) use(&$didError) { + $didError = true; error_log("Error: $errstr in $errfile on line $errline"); return true; // Prevent default error handling }); @@ -17,8 +18,8 @@ class SPLPageRenderer { $content = ob_get_clean(); - // Explictly return null if we didn't generate any content - if (!empty($content)) { + // Explictly return null if we didn't generate any content or if there was an error + if (!empty($content) && !$didError) { return $content; } else { return null;