46 lines
		
	
	
		
			963 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			963 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace ShortPixel\Controller;
 | 
						|
 | 
						|
if ( ! defined( 'ABSPATH' ) ) {
 | 
						|
	exit; // Exit if accessed directly.
 | 
						|
}
 | 
						|
 | 
						|
use ShortPixel\ShortPixelLogger\ShortPixelLogger as Log;
 | 
						|
 | 
						|
class ErrorController
 | 
						|
{
 | 
						|
 | 
						|
			public function __construct()
 | 
						|
			{
 | 
						|
 | 
						|
			}
 | 
						|
 | 
						|
			public static function start()
 | 
						|
			{
 | 
						|
					if (true === \wpSPIO()->env()->is_debug)
 | 
						|
					{
 | 
						|
				 		register_shutdown_function(array(self::class, 'checkErrors'));
 | 
						|
					}
 | 
						|
			}
 | 
						|
 | 
						|
			public static function checkErrors()
 | 
						|
			{
 | 
						|
				 $error = error_get_last();
 | 
						|
 | 
						|
				 // Nothing, happy us.
 | 
						|
				 if (is_null($error))
 | 
						|
				 {
 | 
						|
					  return;
 | 
						|
				 }
 | 
						|
				 elseif (1 !== $error['type']) // Nothing fatal.
 | 
						|
				 {
 | 
						|
					  return;
 | 
						|
				 }
 | 
						|
				 else {
 | 
						|
					  ob_clean(); // try to scrub other stuff
 | 
						|
				 		echo '<PRE>' . $error['message'] .  ' in ' . $error['file']  . ' on line ' . $error['line'] . '<br> Last Item ID: ' . OptimizeController::getLastId() . '</PRE>';
 | 
						|
						exit(' <small><br> -ShortPixel Error Handler- </small>');
 | 
						|
				 }
 | 
						|
			}
 | 
						|
}
 |