options = $options; $this->rucss_url_context = $rucss_url_context; } /** * Add clean SaaS data to WP Rocket admin bar menu * * @param WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance, passed by reference. * * @return void */ public function add_clean_saas_menu_item( $wp_admin_bar ) { $title = __( 'Clear Used CSS', 'rocket' ); $action = 'rocket_clean_saas'; if ( 'local' === wp_get_environment_type() ) { return; } if ( 'local' === wp_get_environment_type() && (bool) $this->options->get( 'remove_unused_css', 0 ) ) { return; } if ( ! (bool) $this->options->get( 'remove_unused_css', 0 ) ) { return; } $this->add_menu_to_admin_bar( $wp_admin_bar, 'clean-saas', $title, $action ); } /** * Add clean SaaS URL data to WP Rocket admin bar menu * * @param WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance, passed by reference. * * @return void */ public function add_clean_url_menu_item( WP_Admin_Bar $wp_admin_bar ) { if ( 'local' === wp_get_environment_type() && $this->rucss_url_context->is_allowed() ) { return; } global $post; /** * Filters the rocket `clear used css of this url` option on admin bar menu. * * @since 3.12.1 * * @param bool $should_skip Should skip adding `clear used css of this url` option in admin bar. * @param type $post Post object. */ if ( wpm_apply_filters_typed( 'boolean', 'rocket_skip_admin_bar_clear_used_css_option', false, $post ) ) { return; } $action = 'rocket_clean_saas_url'; $title = __( 'Clear Used CSS of this URL', 'rocket' ); $this->add_url_menu_item_to_admin_bar( $wp_admin_bar, 'clear-saas-url', $title, $action, $this->rucss_url_context->is_allowed() ); } /** * Display the dashboard button to clean SaaS features * * @return void */ public function display_dashboard_button() { if ( 'local' === wp_get_environment_type() && $this->rucss_url_context->is_allowed() ) { return; } $this->dashboard_button( $this->rucss_url_context->is_allowed(), __( 'Used CSS', 'rocket' ), esc_html__( 'Clear', 'rocket' ), 'rocket_clean_saas', esc_html__( 'This action will clear the used CSS files.', 'rocket' ) ); } }