File "error-util.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/font-awesome/includes/error-util.php
File size: 4.46 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace FortAwesome;
use \WP_Error, \Exception;
require_once dirname( __FILE__ ) . '/../includes/class-fontawesome-command.php';
/**
* Handle fatal errors
*
* @ignore
* @internal
*/
function notify_admin_fatal_error( $e ) {
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
if ( method_exists( 'FortAwesome\FontAwesome_Loader', 'emit_admin_error_output' ) ) {
$command = new FontAwesome_Command(
function() use ( $e ) {
FontAwesome_Loader::emit_admin_error_output( $e );
}
);
add_action(
'admin_notices',
array( $command, 'run' )
);
}
if ( method_exists( 'FortAwesome\FontAwesome_Loader', 'emit_error_output_to_console' ) ) {
$command = new FontAwesome_Command(
function() use ( $e ) {
FontAwesome_Loader::emit_error_output_to_console( $e );
}
);
add_action(
'wp_print_scripts',
array( $command, 'run' )
);
}
}
/**
* Add diagnostic data relevant to failed requests.
*
* @ignore
* @internal
* @return WP_Error with additional data, if the argument is WP_Error, otherwise
* returns that argument unchanged.
*/
function add_failed_request_diagnostics( $e ) {
if ( ! is_wp_error( $e ) ) {
return $e;
}
$additional_diagnostics = '';
if ( extension_loaded( 'curl' ) ) {
$additional_diagnostics .= "curl loaded: true\n";
if ( function_exists( 'curl_version' ) ) {
// phpcs:ignore WordPress.WP.AlternativeFunctions.curl_curl_version
$curl_version = curl_version();
$curl_version_keys_to_report = array(
'version_number',
'features',
'ssl_version_number',
'version',
'host',
'ssl_version',
);
foreach ( $curl_version_keys_to_report as $key ) {
$additional_diagnostics .= array_key_exists( $key, $curl_version )
? "curl $key: $curl_version[$key]\n"
: "curl $key: (not available)\n";
}
} else {
$additional_diagnostics .= "curl_version() not avaialble\n";
}
} else {
$additional_diagnostics .= "curl loaded: false\n";
}
if ( extension_loaded( 'openssl' ) ) {
$additional_diagnostics .= "openssl loaded: true\n";
if ( function_exists( 'openssl_get_cipher_methods' ) ) {
$additional_diagnostics .= 'openssl cipher methods: ' . implode( ',', openssl_get_cipher_methods() ) . "\n";
} else {
$additional_diagnostics .= "openssl_get_cipher_methods() not available\n";
}
} else {
$additional_diagnostics .= "openssl loaded: false\n";
}
$e->add_data( $additional_diagnostics );
return $e;
}
/**
* Internal use only, not part of this plugin's public API.
*
* @internal
* @ignore
*/
// phpcs:ignore Squiz.Commenting.FunctionCommentThrowTag.Missing
function build_wp_error( $e, $code ) {
if ( is_a( $e, 'Error' ) || is_a( $e, 'Exception' ) ) {
$previous = boolval( $e->getPrevious() )
? build_wp_error( $e->getPrevious(), 'previous_exception' )
: null;
$current = new WP_Error(
$code,
$e->getMessage(),
array(
'trace' => $e->getTraceAsString(),
)
);
if ( ! is_null( $previous ) ) {
$current->add(
$previous->get_error_code(),
$previous->get_error_message(),
$previous->get_error_data()
);
}
if ( method_exists( $e, 'get_wp_error' ) ) {
$wpe = $e->get_wp_error();
if ( $wpe ) {
$current->add(
$wpe->get_error_code(),
$wpe->get_error_message(),
$wpe->get_error_data()
);
}
}
return $current;
} else {
try {
$as_string = (
( is_object( $e ) && method_exists( $e, '__toString' ) ) ||
is_string( $e ) ||
is_numeric( $e )
) ? strval( $e ) : null;
$message = 'Unexpected Thing, neither Error or Exception';
if ( is_null( $as_string ) ) {
$message .= ', which cannot be stringified.';
} else {
$message .= ", stringified: $as_string";
}
throw new Exception( $message );
} catch ( Exception $e ) {
return new WP_Error(
$code,
$e->getMessage(),
array(
'trace' => $e->getTraceAsString(),
)
);
}
}
}
/**
* Internal use only, not part of this plugin's public API.
*
* @internal
* @ignore
*/
function wpe_fontawesome_unknown_error( $e ) {
return build_wp_error( $e, 'fontawesome_unknown_error' );
}
/**
* Internal use only, not part of this plugin's public API.
*
* @internal
* @ignore
*/
function wpe_fontawesome_client_exception( $e ) {
return build_wp_error( $e, 'fontawesome_client_exception' );
}
/**
* Internal use only, not part of this plugin's public API.
*
* @internal
* @ignore
*/
function wpe_fontawesome_server_exception( $e ) {
return build_wp_error( $e, 'fontawesome_server_exception' );
}