Jake Vanderwerf
2026-08-30 a58a2e7ca4700d3e23341fde767060a4c2c704a3
jvb.php
@@ -53,57 +53,57 @@
/**
 * Track REST API errors by wrapping request execution
 */
add_filter('rest_pre_dispatch', function($result, $server, $request) {
   // Store request details globally for error logging
   $GLOBALS['jvb_rest_request'] = [
      'route' => $request->get_route(),
      'method' => $request->get_method(),
      'params' => $request->get_params(),
      'time' => microtime(true),
   ];
   // Set up error handler for this request
   set_error_handler(function($errno, $errstr, $errfile, $errline) {
      if (!(error_reporting() & $errno)) {
         return false;
      }
      $context = array_merge($GLOBALS['jvb_rest_request'] ?? [], [
         'error_type' => $errno,
         'error_message' => $errstr,
         'file' => $errfile,
         'line' => $errline,
         'user_id' => get_current_user_id(),
      ]);
      error_log('JVB REST Error: ' . json_encode($context));
      return false; // Let PHP handle it normally too
   });
   return $result;
}, 10, 3);
add_filter('rest_post_dispatch', function($result, $server, $request) {
   // Restore default error handler
   restore_error_handler();
   // Check for fatal errors that occurred during request
   $error = error_get_last();
   if ($error && in_array($error['type'], [E_ERROR, E_USER_ERROR, E_PARSE, E_COMPILE_ERROR])) {
      $context = array_merge($GLOBALS['jvb_rest_request'] ?? [], [
         'fatal_error' => $error,
         'user_id' => get_current_user_id(),
      ]);
      error_log('JVB REST Fatal: ' . json_encode($context));
   }
   // Clean up
   unset($GLOBALS['jvb_rest_request']);
   return $result;
}, 10, 3);
//add_filter('rest_pre_dispatch', function($result, $server, $request) {
// // Store request details globally for error logging
// $GLOBALS['jvb_rest_request'] = [
//    'route' => $request->get_route(),
//    'method' => $request->get_method(),
//    'params' => $request->get_params(),
//    'time' => microtime(true),
// ];
//
// // Set up error handler for this request
// set_error_handler(function($errno, $errstr, $errfile, $errline) {
//    if (!(error_reporting() & $errno)) {
//       return false;
//    }
//
//    $context = array_merge($GLOBALS['jvb_rest_request'] ?? [], [
//       'error_type' => $errno,
//       'error_message' => $errstr,
//       'file' => $errfile,
//       'line' => $errline,
//       'user_id' => get_current_user_id(),
//    ]);
//
//    error_log('JVB REST Error: ' . json_encode($context));
//
//    return false; // Let PHP handle it normally too
// });
//
// return $result;
//}, 10, 3);
//
//add_filter('rest_post_dispatch', function($result, $server, $request) {
// // Restore default error handler
// restore_error_handler();
//
// // Check for fatal errors that occurred during request
// $error = error_get_last();
// if ($error && in_array($error['type'], [E_ERROR, E_USER_ERROR, E_PARSE, E_COMPILE_ERROR])) {
//    $context = array_merge($GLOBALS['jvb_rest_request'] ?? [], [
//       'fatal_error' => $error,
//       'user_id' => get_current_user_id(),
//    ]);
//
//    error_log('JVB REST Fatal: ' . json_encode($context));
// }
//
// // Clean up
// unset($GLOBALS['jvb_rest_request']);
//
// return $result;
//}, 10, 3);
@@ -117,7 +117,7 @@
//const JVB_TESTING = false;
//if (!JVB_TESTING) {
   add_filter('show_admin_bar', '__return_false');
// add_filter('show_admin_bar', '__return_false');
//}
@@ -247,7 +247,7 @@
/**
 * Utilities
 */
require(JVB_DIR . '/cleanup.php');
//require(JVB_DIR . '/cleanup.php');
require(JVB_DIR . '/inc/admin/_setup.php');
require(JVB_DIR . '/JVBase.php');