From 7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8 Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 7 Jan 2020 13:06:14 +0100 Subject: Added wordpress --- .../includes/class-automatic-upgrader-skin.php | 117 +++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 srcs/wordpress/wp-admin/includes/class-automatic-upgrader-skin.php (limited to 'srcs/wordpress/wp-admin/includes/class-automatic-upgrader-skin.php') diff --git a/srcs/wordpress/wp-admin/includes/class-automatic-upgrader-skin.php b/srcs/wordpress/wp-admin/includes/class-automatic-upgrader-skin.php new file mode 100644 index 0000000..3966e2a --- /dev/null +++ b/srcs/wordpress/wp-admin/includes/class-automatic-upgrader-skin.php @@ -0,0 +1,117 @@ +options['context'] = $context; + } + // TODO: fix up request_filesystem_credentials(), or split it, to allow us to request a no-output version + // This will output a credentials form in event of failure, We don't want that, so just hide with a buffer + ob_start(); + $result = parent::request_filesystem_credentials( $error, $context, $allow_relaxed_file_ownership ); + ob_end_clean(); + return $result; + } + + /** + * @return array + */ + public function get_upgrade_messages() { + return $this->messages; + } + + /** + * @param string|array|WP_Error $data + * @param mixed ...$args Optional text replacements. + */ + public function feedback( $data, ...$args ) { + if ( is_wp_error( $data ) ) { + $string = $data->get_error_message(); + } elseif ( is_array( $data ) ) { + return; + } else { + $string = $data; + } + if ( ! empty( $this->upgrader->strings[ $string ] ) ) { + $string = $this->upgrader->strings[ $string ]; + } + + if ( strpos( $string, '%' ) !== false ) { + if ( ! empty( $args ) ) { + $string = vsprintf( $string, $args ); + } + } + + $string = trim( $string ); + + // Only allow basic HTML in the messages, as it'll be used in emails/logs rather than direct browser output. + $string = wp_kses( + $string, + array( + 'a' => array( + 'href' => true, + ), + 'br' => true, + 'em' => true, + 'strong' => true, + ) + ); + + if ( empty( $string ) ) { + return; + } + + $this->messages[] = $string; + } + + /** + */ + public function header() { + ob_start(); + } + + /** + */ + public function footer() { + $output = ob_get_clean(); + if ( ! empty( $output ) ) { + $this->feedback( $output ); + } + } +} -- cgit