.*?)(\\1)\)/', $rewriteUrl, $content); $content = preg_replace_callback('/@import (?!url\()(\'|"|)(?[^\'"\)\n\r]*)\1;?/', $rewriteUrl, $content); // Handle 'src' values (used in e.g. calls to AlphaImageLoader, which is a proprietary IE filter) $content = preg_replace_callback('/\bsrc\s*=\s*(["\']?)(?.*?)(\\1)/i', $rewriteUrl, $content); return $content; } /** * Get AMP Styles * * @return mixed|null|string */ function affcoups_get_amp_styles() { $options_output = affcoups_get_options(); // Core styles if ( ! affcoups_is_development() ) $amp_styles = get_transient( 'affcoups_amp_styles' ); if ( empty( $amp_styles ) ) { $amp_styles = affcoups_asset_embed( AFFCOUPS_URL . 'public/css/amp.min.css' ); set_transient( 'affcoups_amp_styles', $amp_styles, 60 * 60 * 24 * 7 ); } // Custom styles $custom_css_activated = ( isset ( $options_output['custom_css_activated'] ) && $options_output['custom_css_activated'] == '1' ) ? 1 : 0; $custom_css = ( ! empty ( $options_output['custom_css'] ) ) ? $options_output['custom_css'] : ''; if ( $custom_css_activated == '1' && $custom_css != '' ) { $amp_styles .= stripslashes( $custom_css ); } if ( ! empty( $amp_styles ) ) $amp_styles = affcoups_cleanup_css_for_amp( $amp_styles ); return $amp_styles; } /** * Cleanup css for AMP usage * * @param string $css * * @return mixed|string */ function affcoups_cleanup_css_for_amp( $css = '' ) { $css = stripslashes( $css ); // Remove important declarations $css = str_replace('!important', '', $css); return $css; } /** * Get settings css * * @param bool $apply_prefix * @return string */ function affcoups_get_settings_css( $apply_prefix = true ) { $options = affcoups_get_options(); $prefix = ( $apply_prefix ) ? '.affcoups ' : ''; $settings_css = ''; // Discount colors if ( ! empty( $options['discount_bg_color'] ) && ! empty( $options['discount_color'] ) ) { $settings_css .= $prefix . '.affcoups-coupon__discount { background-color: ' . $options['discount_bg_color'] . '; color: ' . $options['discount_color'] . '; }'; } // Button Colors if ( ! empty( $options['button_bg_color'] ) && ! empty( $options['button_color'] ) ) { $settings_css .= affcoups_get_assets_button_styles( $options['button_bg_color'], $options['button_color'], $prefix ); } return $settings_css; } /** * Generate button styles * * @param null $bg_color * @param null $color * @param string $prefix * @return string */ function affcoups_get_assets_button_styles( $bg_color, $color, $prefix = '' ) { $styles = ''; $selector = 'a.affcoups-coupon__button'; $styles .= $prefix . $selector . ' { background-color: ' . $bg_color . '; color: ' . $color . '; }'; $styles .= $prefix . $selector . ':visited { color: ' . $color . '; }'; $styles .= $prefix . $selector . ':hover, ' . $prefix . $selector . ':focus, ' . $prefix . $selector . ':active { background-color: ' . affcoups_assets_color_darken( $bg_color, 10 ) . '; color: ' . $color . '; }'; return $styles; }