'',
'nonce' => '',
);
$args = wp_parse_args( $args, $defaults );
parent::__construct( $args );
}
/**
* Sets up the strings used in the update process.
*
* @since 3.0.0
*/
public function add_strings() {
$this->upgrader->strings['skin_upgrade_start'] = __( 'The update process is starting. This process may take a while on some hosts, so please be patient.' );
/* translators: 1: Title of an update, 2: Error message. */
$this->upgrader->strings['skin_update_failed_error'] = __( 'An error occurred while updating %1$s: %2$s' );
/* translators: %s: Title of an update. */
$this->upgrader->strings['skin_update_failed'] = __( 'The update of %s failed.' );
/* translators: %s: Title of an update. */
$this->upgrader->strings['skin_update_successful'] = __( '%s updated successfully.' );
$this->upgrader->strings['skin_upgrade_end'] = __( 'All updates have been completed.' );
}
/**
* Displays a message about the update.
*
* @since 3.0.0
* @since 5.9.0 Renamed `$string` (a PHP reserved keyword) to `$feedback` for PHP 8 named parameter support.
*
* @param string $feedback Message data.
* @param mixed ...$args Optional text replacements.
*/
public function feedback( $feedback, ...$args ) {
if ( isset( $this->upgrader->strings[ $feedback ] ) ) {
$feedback = $this->upgrader->strings[ $feedback ];
}
if ( str_contains( $feedback, '%' ) ) {
if ( $args ) {
$args = array_map( 'strip_tags', $args );
$args = array_map( 'esc_html', $args );
$feedback = vsprintf( $feedback, $args );
}
}
if ( empty( $feedback ) ) {
return;
}
if ( $this->in_loop ) {
echo "$feedback
\n";
} else {
echo "
$feedback
\n"; } } /** * Displays the header before the update process. * * @since 3.0.0 */ public function header() { // Nothing. This will be displayed within an iframe. } /** * Displays the footer following the update process. * * @since 3.0.0 */ public function footer() { // Nothing. This will be displayed within an iframe. } /** * Displays an error message about the update. * * @since 3.0.0 * @since 5.9.0 Renamed `$error` to `$errors` for PHP 8 named parameter support. * * @param string|WP_Error $errors Errors. */ public function error( $errors ) { if ( is_string( $errors ) && isset( $this->upgrader->strings[ $errors ] ) ) { $this->error = $this->upgrader->strings[ $errors ]; } if ( is_wp_error( $errors ) ) { $messages = array(); foreach ( $errors->get_error_messages() as $emessage ) { if ( $errors->get_error_data() && is_string( $errors->get_error_data() ) ) { $messages[] = $emessage . ' ' . esc_html( strip_tags( $errors->get_error_data() ) ); } else { $messages[] = $emessage; } } $this->error = implode( ', ', $messages ); } echo ''; } /** * Displays the header before the bulk update process. * * @since 3.0.0 */ public function bulk_header() { $this->feedback( 'skin_upgrade_start' ); } /** * Displays the footer following the bulk update process. * * @since 3.0.0 */ public function bulk_footer() { $this->feedback( 'skin_upgrade_end' ); } /** * Performs an action before a bulk update. * * @since 3.0.0 * * @param string $title */ public function before( $title = '' ) { $this->in_loop = true; printf( '' . sprintf( $this->upgrader->strings['skin_update_successful'], $title ) . ' ' . '