diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-07 13:06:14 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-07 13:06:14 +0100 |
| commit | 7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8 (patch) | |
| tree | f7453d7dd5cbaaab246e23810b02d3edf1e451be /srcs/wordpress/wp-admin/includes/class-wp-ajax-upgrader-skin.php | |
| parent | c59bdcf77c50cbe89b4a93782cdd6d9e7532080e (diff) | |
| download | ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.tar.gz ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.tar.bz2 ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.zip | |
Added wordpress
Diffstat (limited to 'srcs/wordpress/wp-admin/includes/class-wp-ajax-upgrader-skin.php')
| -rw-r--r-- | srcs/wordpress/wp-admin/includes/class-wp-ajax-upgrader-skin.php | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/srcs/wordpress/wp-admin/includes/class-wp-ajax-upgrader-skin.php b/srcs/wordpress/wp-admin/includes/class-wp-ajax-upgrader-skin.php new file mode 100644 index 0000000..8acc9bf --- /dev/null +++ b/srcs/wordpress/wp-admin/includes/class-wp-ajax-upgrader-skin.php @@ -0,0 +1,130 @@ +<?php +/** + * Upgrader API: WP_Ajax_Upgrader_Skin class + * + * @package WordPress + * @subpackage Upgrader + * @since 4.6.0 + */ + +/** + * Upgrader Skin for Ajax WordPress upgrades. + * + * This skin is designed to be used for Ajax updates. + * + * @since 4.6.0 + * + * @see Automatic_Upgrader_Skin + */ +class WP_Ajax_Upgrader_Skin extends Automatic_Upgrader_Skin { + + /** + * Holds the WP_Error object. + * + * @since 4.6.0 + * @var null|WP_Error + */ + protected $errors = null; + + /** + * Constructor. + * + * @since 4.6.0 + * + * @param array $args Options for the upgrader, see WP_Upgrader_Skin::__construct(). + */ + public function __construct( $args = array() ) { + parent::__construct( $args ); + + $this->errors = new WP_Error(); + } + + /** + * Retrieves the list of errors. + * + * @since 4.6.0 + * + * @return WP_Error Errors during an upgrade. + */ + public function get_errors() { + return $this->errors; + } + + /** + * Retrieves a string for error messages. + * + * @since 4.6.0 + * + * @return string Error messages during an upgrade. + */ + public function get_error_messages() { + $messages = array(); + + foreach ( $this->errors->get_error_codes() as $error_code ) { + $error_data = $this->errors->get_error_data( $error_code ); + + if ( $error_data && is_string( $error_data ) ) { + $messages[] = $this->errors->get_error_message( $error_code ) . ' ' . esc_html( strip_tags( $error_data ) ); + } else { + $messages[] = $this->errors->get_error_message( $error_code ); + } + } + + return implode( ', ', $messages ); + } + + /** + * Stores a log entry for an error. + * + * @since 4.6.0 + * @since 5.3.0 Formalized the existing `...$args` parameter by adding it + * to the function signature. + * + * @param string|WP_Error $errors Errors. + * @param mixed ...$args Optional text replacements. + */ + public function error( $errors, ...$args ) { + if ( is_string( $errors ) ) { + $string = $errors; + if ( ! empty( $this->upgrader->strings[ $string ] ) ) { + $string = $this->upgrader->strings[ $string ]; + } + + if ( false !== strpos( $string, '%' ) ) { + if ( ! empty( $args ) ) { + $string = vsprintf( $string, $args ); + } + } + + // Count existing errors to generate a unique error code. + $errors_count = count( $this->errors->get_error_codes() ); + $this->errors->add( 'unknown_upgrade_error_' . ( $errors_count + 1 ), $string ); + } elseif ( is_wp_error( $errors ) ) { + foreach ( $errors->get_error_codes() as $error_code ) { + $this->errors->add( $error_code, $errors->get_error_message( $error_code ), $errors->get_error_data( $error_code ) ); + } + } + + parent::error( $errors, ...$args ); + } + + /** + * Stores a log entry. + * + * @since 4.6.0 + * @since 5.3.0 Formalized the existing `...$args` parameter by adding it + * to the function signature. + * + * @param string|array|WP_Error $data Log entry data. + * @param mixed ...$args Optional text replacements. + */ + public function feedback( $data, ...$args ) { + if ( is_wp_error( $data ) ) { + foreach ( $data->get_error_codes() as $error_code ) { + $this->errors->add( $error_code, $data->get_error_message( $error_code ), $data->get_error_data( $error_code ) ); + } + } + + parent::feedback( $data, ...$args ); + } +} |
