_version Previous plugin version.
*
* @return void
*/
public function set_option_on_update( $new_version, $old_version ) {
$this->settings->set_option_on_update( $old_version );
if ( version_compare( $old_version, '3.11', '>=' ) ) {
return;
}
$this->database->truncate_used_css_table();
rocket_clean_domain();
$this->set_notice_transient();
}
/**
* Updates safelist items for new SaaS compatibility
*
* @since 3.11.0.2
*
* @param string $new_version New plugin version.
* @param string $old_version Previous plugin version.
*
* @return void
*/
public function update_safelist_items( $new_version, $old_version ) {
$this->settings->update_safelist_items( $old_version );
}
/**
* Cancel pending jobs actions in Action Scheduler on update to 3.11.3
*
* @since 3.11.3
*
* @param string $new_version New plugin version.
* @param string $old_version Previous plugin version.
*
* @return void
*/
public function cancel_pending_jobs_as( $new_version, $old_version ) {
if ( version_compare( $old_version, '3.11.3', '>=' ) ) {
return;
}
try {
$this->queue->cancel_pending_jobs_cron();
} catch ( \InvalidArgumentException $e ) {
// nothing to do.
return;
}
}
/**
* Sets the processing transient if RUCSS is enabled
*
* @since 3.11
*
* @param mixed $old_value Option old value.
* @param mixed $value Option new value.
*
* @return void
*/
public function maybe_set_processing_transient( $old_value, $value ) {
if ( ! isset( $old_value['remove_unused_css'], $value['remove_unused_css'] ) ) {
return;
}
if ( 0 === (int) $value['remove_unused_css'] ) {
return;
}
if ( $old_value['remove_unused_css'] === $value['remove_unused_css'] ) {
return;
}
$this->set_notice_transient();
}
/**
* Sets the transient for the processing notice
*
* @since 3.11
*
* @return void
*/
private function set_notice_transient() {
set_transient(
'rocket_rucss_processing',
time() + 90,
1.5 * MINUTE_IN_SECONDS
);
rocket_renew_box( 'rucss_success_notice' );
}
/**
* Sends a request to run cron when switching to RUCSS completed notice
*
* @since 3.11
*
* @return void
*/
public function spawn_cron() {
if ( rocket_get_constant( 'DISABLE_WP_CRON', false ) ) {
return;// Bailout and don't fire the CRON.
}
check_ajax_referer( 'rocket-ajax', 'nonce' );
if ( ! current_user_can( 'rocket_manage_options' ) ) {
wp_send_json_error();
return;
}
spawn_cron();
wp_send_json_success();
}
/**
* Cancel queues and crons for RUCSS.
*
* @return void
*/
public function cancel_queues() {
// Will unhook check for dispatching an async request without RUCSS process running.
\ActionScheduler_QueueRunner::instance()->unhook_dispatch_async_request();
// Will unhook check for dispatching an async request when RUCSS process is already running.
RUCSSQueueRunner::instance()->unhook_dispatch_async_request();
$this->queue->cancel_pending_jobs_cron();
if ( ! wp_next_scheduled( 'rocket_rucss_clean_rows_time_event' ) ) {
return;
}
wp_clear_scheduled_hook( 'rocket_rucss_clean_rows_time_event' );
}
/**
* Delete the transient for Action scheduler once admin visits the AS tools page.
*
* @return void
*/
public function delete_as_tables_transient_on_tools_page() {
delete_transient( 'rocket_rucss_as_tables_count' );
}
/**
* Deletes the used CSS on update to 3.11.4 for new storage method
*
* @since 3.11.4
*
* @param string $new_version New plugin version.
* @param string $old_version Previous plugin version.
*
* @return void
*/
public function delete_used_css( $new_version, $old_version ) {
if ( version_compare( $old_version, '3.11.4', '>=' ) ) {
return;
}
$this->database->truncate_used_css_table();
}
/**
* Disable RUCSS on wrong license.
*
* @return bool
*/
public function disable_russ_on_wrong_license() {
if ( false !== (bool) get_option( 'wp_rocket_no_licence' ) ) {
return false;
}
return null;
}
/**
* Remove the resources table & version stored in options table on update to 3.12
*
* @since 3.12
*
* @param string $new_version New plugin version.
* @param string $old_version Previous plugin version.
*
* @return void
*/
public function drop_resources_table( $new_version, $old_version ) {
if ( version_compare( $old_version, '3.12', '>=' ) ) {
return;
}
$this->database->drop_resources_table();
}
/**
* Displays a notice if the used CSS folder is not writable
*
* @since 3.11.4
*
* @return void
*/
public function notice_write_permissions() {
$this->used_css->notice_write_permissions();
}
/**
* Display a notice on table missing.
*
* @return void
*/
public function display_no_table_notice() {
$this->settings->display_no_table_notice();
}
/**
* Maybe delete transient.
*
* @param mixed $old_value Option old value.
* @param mixed $value Option new value.
*
* @return void
*/
public function maybe_delete_transient( $old_value, $value ) {
if ( ! isset( $old_value['remove_unused_css'], $value['remove_unused_css'] ) ) {
return;
}
if ( 1 === (int) $value['remove_unused_css'] ) {
return;
}
if ( $old_value['remove_unused_css'] === $value['remove_unused_css'] ) {
return;
}
delete_transient( 'wp_rocket_no_licence' );
}
/**
* Checks if the RUCSS deletion is enabled.
*
* @return bool
*/
protected function is_deletion_enabled(): bool {
/**
* Filters the enable RUCSS deletion value
*
* @param bool $delete_rucss True to enable deletion, false otherwise.
*/
return (bool) apply_filters( 'rocket_rucss_deletion_enabled', true );
}
}
Fatal error: Uncaught TypeError: Argument 1 passed to WP_Rocket\Event_Management\Event_Manager::add_subscriber() must implement interface WP_Rocket\Event_Management\Subscriber_Interface, string given, called in /home/merciket/public_html/wp-content/plugins/wp-rocket/inc/Plugin.php on line 155 and defined in /home/merciket/public_html/wp-content/plugins/wp-rocket/inc/classes/event-management/class-event-manager.php:33
Stack trace:
#0 /home/merciket/public_html/wp-content/plugins/wp-rocket/inc/Plugin.php(155): WP_Rocket\Event_Management\Event_Manager->add_subscriber('WP_Rocket\\Engin...')
#1 /home/merciket/public_html/wp-content/plugins/wp-rocket/inc/main.php(42): WP_Rocket\Plugin->load()
#2 /home/merciket/public_html/wp-includes/class-wp-hook.php(324): rocket_init('')
#3 /home/merciket/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#4 /home/merciket/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#5 /home/merciket/public_html/wp-settings.php(506): do_action('plugins_l in /home/merciket/public_html/wp-content/plugins/wp-rocket/inc/classes/event-management/class-event-manager.php on line 33