124 lines
2.2 KiB
PHP
124 lines
2.2 KiB
PHP
<?php
|
|
/**
|
|
* WP Multisite WaaS Rollback
|
|
*
|
|
* Allows users to rollback WP Multisite WaaS to the previous stable version.
|
|
*
|
|
* @package WP_Ultimo
|
|
* @subpackage Rollback
|
|
* @since 2.0.0
|
|
*/
|
|
|
|
namespace WP_Ultimo\Rollback;
|
|
|
|
// Exit if accessed directly
|
|
defined('ABSPATH') || exit;
|
|
|
|
/**
|
|
* Our own upgrader skin implementation that does not display errors.
|
|
*
|
|
* @since 2.0.0
|
|
*/
|
|
class Quiet_Plugin_Upgrader_Skin extends \Plugin_Upgrader_Skin {
|
|
|
|
/**
|
|
* Silence is golden...
|
|
*
|
|
* @since 2.0.0
|
|
* @return void
|
|
*/
|
|
public function header() {} // end header;
|
|
|
|
/**
|
|
* Silence is golden...
|
|
*
|
|
* @since 2.0.0
|
|
* @return void
|
|
*/
|
|
public function footer() {} // end footer;
|
|
|
|
/**
|
|
* Print errors.
|
|
*
|
|
* @since 2.0.0
|
|
*
|
|
* @param string|WP_Error $errors Errors.
|
|
* @return void
|
|
*/
|
|
public function error($errors) {
|
|
|
|
if (is_string($errors)) {
|
|
|
|
$this->feedback($errors);
|
|
|
|
} elseif (is_wp_error($errors) && $errors->has_errors()) {
|
|
|
|
foreach ($errors->get_error_messages() as $message) {
|
|
|
|
if ($errors->get_error_data() && is_string($errors->get_error_data())) {
|
|
|
|
$this->feedback($message . ' ' . esc_html(strip_tags($errors->get_error_data())));
|
|
|
|
} else {
|
|
|
|
$this->feedback($message);
|
|
|
|
} // end if;
|
|
|
|
} // end foreach;
|
|
|
|
} // end if;
|
|
|
|
} // end error;
|
|
|
|
/**
|
|
* Passes messages down to the upgrader class.
|
|
*
|
|
* @since 2.0.0
|
|
*
|
|
* @param string $string The error message.
|
|
* @param mixed ...$args other arguments.
|
|
* @return void
|
|
*/
|
|
public function feedback($string, ...$args) {
|
|
|
|
if (isset($this->upgrader->strings[$string])) {
|
|
|
|
$string = $this->upgrader->strings[$string];
|
|
|
|
} // end if;
|
|
|
|
if (strpos((string) $string, '%') !== false) {
|
|
|
|
if ($args ) {
|
|
|
|
$args = array_map('strip_tags', $args);
|
|
$args = array_map('esc_html', $args);
|
|
$string = vsprintf($string, $args);
|
|
|
|
} // end if;
|
|
|
|
} // end if;
|
|
|
|
if (empty($string)) {
|
|
|
|
return;
|
|
|
|
} // end if;
|
|
|
|
$this->upgrader->messages[] = $string;
|
|
|
|
} // end feedback;
|
|
|
|
/**
|
|
* Removes output.
|
|
*
|
|
* @since 2.0.0
|
|
*
|
|
* @param string $type it doesn't matter.
|
|
* @return void
|
|
*/
|
|
protected function decrement_update_count($type) {} // end decrement_update_count;
|
|
|
|
} // end class Quiet_Plugin_Upgrader_Skin;
|