.*?)(\\1)\)/', $rewrite_url, $content ); $content = preg_replace_callback( '/@import (?!url\()(\'|"|)(?[^\'"\)\n\r]*)\1;?/', $rewrite_url, $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', $rewrite_url, $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'] ) && '1' === $options_output['custom_css_activated'] ) ? 1 : 0; $custom_css = ( ! empty( $options_output['custom_css'] ) ) ? $options_output['custom_css'] : ''; if ( '1' === $custom_css_activated && '' !== $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; }