Make WordPress Core

Ticket #54327: 54327.2.diff

File 54327.2.diff, 1.5 KB (added by sabbirshouvo, 3 years ago)

update: Added support for all available error handlers

  • src/wp-includes/functions.php

    diff --git a/src/wp-includes/functions.php b/src/wp-includes/functions.php
    index 6fd145d6b8..3917275b5d 100644
    a b function _default_wp_die_handler( $message, $title = '', $args = array() ) { 
    37963796</head>
    37973797<body id="error-page">
    37983798<?php endif; // ! did_action( 'admin_head' ) ?>
     3799
    37993800        <?php
    38003801                if( is_array( $message ) ) {
     3802                        echo '<pre>';
    38013803                        print_r( $message );
     3804                        echo '</pre>';
    38023805                } else {
    38033806                        echo $message;
    38043807                }
    38053808        ?>
     3809
    38063810</body>
    38073811</html>
    38083812        <?php
    function _ajax_wp_die_handler( $message, $title = '', $args = array() ) { 
    38503854                die( $message );
    38513855        }
    38523856
    3853         echo $message;
     3857        if( is_array( $message ) ) {
     3858                print_r( $message );
     3859        } else {
     3860                echo $message;
     3861        }
    38543862}
    38553863
    38563864/**
    function _xmlrpc_wp_die_handler( $message, $title = '', $args = array() ) { 
    39563964                nocache_headers();
    39573965        }
    39583966
     3967        if( is_array( $message ) ) {
     3968                $message = wp_json_encode( $message );
     3969        }
     3970
    39593971        if ( $wp_xmlrpc_server ) {
    39603972                $error = new IXR_Error( $parsed_args['response'], $message );
    39613973                $wp_xmlrpc_server->output( $error->getXml() );
    function _xmlrpc_wp_die_handler( $message, $title = '', $args = array() ) { 
    39803992function _xml_wp_die_handler( $message, $title = '', $args = array() ) {
    39813993        list( $message, $title, $parsed_args ) = _wp_die_process_input( $message, $title, $args );
    39823994
     3995        if( is_array( $message ) ) {
     3996                $message = wp_json_encode( $message );
     3997        }
     3998
    39833999        $message = htmlspecialchars( $message );
    39844000        $title   = htmlspecialchars( $title );
    39854001