| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/ninja-forms/lib/ |
Upload File : |
<?php if ( ! defined( 'ABSPATH' ) ) exit;
/**
* Adds a global exception handler for reporting on form rendering issues.
*
* Note: Exceptions before `document.ready` do not break scripts inside of `document.ready`.
*/
final class NF_ExceptionHandlerJS
{
public function __construct()
{
add_action( 'wp_head', array( $this, 'wp_head' ), 6 );
}
public function wp_head()
{
if( ! current_user_can( 'manage_options' ) ) return;
?>
<script type="text/javascript">
window.addEventListener( 'error', function (e) {
var source = e.filename.match( /plugins\/(...)/gi ) || e.filename;
var message = '<pre>' +
'[ADMIN NOTICE] Form Rendering Error' +
'\r\rSource: ' + source +
'\r\r<span style="color:red;">' + e.error + '</span>' +
'</pre>';
// Replace form loading animation.
var forms = document.getElementsByClassName( 'nf-form-cont' );
for ( var i = 0; i < forms.length; i++ ) {
forms[i].innerHTML = message;
}
});
</script>
<?php
}
} // END CLASS NF_ExceptionHandlerJS