Server : Apache System : Linux pod-100823:apache2_74:v0.5.7 5.4.0-1138-gcp #147~18.04.1-Ubuntu SMP Mon Oct 7 21:46:26 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33.7 Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system Directory : /nas/content/live/attorneyexperi/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/ |
<?php namespace WP_Rocket\ThirdParty\Themes; use WP_Rocket\Admin\Options_Data; use WP_Rocket\Event_Management\Subscriber_Interface; class Themify implements Subscriber_Interface { /** * WP Rocket options instance. * * @var Options_Data */ private $options; /** * Instantiate the class. * * @param Options_Data $options WP Rocket options instance. */ public function __construct( Options_Data $options ) { $this->options = $options; } /** * Returns an array of events that this subscriber wants to listen to. * * @return array */ public static function get_subscribed_events() { return [ 'after_switch_theme' => 'disabling_concat_on_theme', 'update_option_' . rocket_get_constant( 'WP_ROCKET_SLUG', 'wp_rocket_settings' ) => [ 'disabling_concat_on_rucss', 10, 2 ], 'themify_save_data' => 'disable_concat_on_saving_data', 'themify_dev_mode' => 'maybe_enable_dev_mode', ]; } /** * Change the value on change theme. * * @return void */ public function disabling_concat_on_theme() { $data = themify_get_data(); $remove_unused_css = $this->options->get( 'remove_unused_css', false ); if ( ! $remove_unused_css ) { $data = $this->maybe_disable( $data ); } if ( $remove_unused_css ) { $data = $this->maybe_enable( $data ); } themify_set_data( $data ); } /** * Disable concat on saving theme options. * * @param array $value theme options. * @return array */ public function disable_concat_on_saving_data( $value ) { if ( ! $this->options->get( 'remove_unused_css', false ) ) { return $value; } return $this->maybe_enable( $value ); } /** * Disable concat on RUCSS enabled. * * @param array $old Old configurations. * @param array $new New configurations. * * @return void */ public function disabling_concat_on_rucss( $old, $new ) { // phpcs:ignore Universal.NamingConventions.NoReservedKeywordParameterNames.newFound if ( ! key_exists( 'remove_unused_css', $old ) || ! key_exists( 'remove_unused_css', $new ) || $old['remove_unused_css'] === $new['remove_unused_css'] ) { return; } $data = themify_get_data(); if ( ! $new['remove_unused_css'] ) { $data = $this->maybe_disable( $data ); } if ( $new['remove_unused_css'] ) { $data = $this->maybe_enable( $data ); } themify_set_data( $data ); } /** * Maybe disable concate CSS. * * @param array $data Themify data. * * @return array */ protected function maybe_disable( array $data ): array { if ( key_exists( 'setting-dev-mode-concate', $data ) && ! $data['setting-dev-mode-concate'] && key_exists( 'setting-dev-mode', $data ) && ! $data['setting-dev-mode'] ) { return $data; } $data['setting-dev-mode-concate'] = false; $data['setting-dev-mode'] = false; return $data; } /** * Maybe enable dev mode and concat. * * @param array $data Themify data. * * @return array */ protected function maybe_enable( array $data ): array { if ( key_exists( 'setting-dev-mode-concate', $data ) && $data['setting-dev-mode-concate'] && key_exists( 'setting-dev-mode', $data ) && $data['setting-dev-mode'] ) { return $data; } $data['setting-dev-mode'] = true; $data['setting-dev-mode-concate'] = true; return $data; } /** * Enable the dev mode when RUCSS is activated. * * @param bool $is_enabled Is dev mode enabled. * @return bool */ public function maybe_enable_dev_mode( $is_enabled ) { if ( $this->options->get( 'remove_unused_css', false ) ) { return true; } return $is_enabled; } }