db_version, '2.5.7', '<=' ) ) $this->remove_excluded_external_script(); // is caching active? if ( (int) Breeze_Options_Reader::get_option_value( 'breeze-active' ) === 1 ) { // update 2.4.16+ if ( version_compare( $cn->db_version, '2.4.16', '<=' ) ) { // clear cache $this->delete_cache(); } add_action( 'cn_configuration_updated', [ $this, 'delete_cache' ] ); // is js minification active? if ( (int) Breeze_Options_Reader::get_option_value( 'breeze-minify-js' ) === 1 ) { // filters add_filter( 'cn_cookie_compliance_output', [ $this, 'update_cc_output' ] ); } } } /** * Update Cookie Compliance output. * * @param string $output * * @return string */ public function update_cc_output( $output ) { // add special /breeze-extra/ comment return preg_replace( '//', "", $output, 1 ); } /** * Remove previously excluded external script from being minified/combined. * * @return void */ public function remove_excluded_external_script() { $pattern = '(.*)/js/hu-options.js(.*)'; // get breeze file options $file_options = breeze_get_option( 'file_settings' ); // find pattern $key = array_search( $pattern, $file_options['breeze-exclude-js'], true ); // found pattern? remove it if ( $key !== false ) unset( $file_options['breeze-exclude-js'][$key] ); // update breeze file options breeze_update_option( 'file_settings', $file_options, true ); } /** * Delete all cache files. * * @return void */ public function delete_cache() { do_action( 'breeze_clear_all_cache' ); } } new Cookie_Notice_Modules_Breeze();