oont-contents/plugins/astra-addon/addons/advanced-footer/classes/dynamic.css.php
2025-02-08 15:10:23 +01:00

229 lines
9.6 KiB
PHP

<?php
/**
* Footer Widgets - Dynamic CSS
*
* @package Astra Addon
*/
add_filter( 'astra_addon_dynamic_css', 'astra_ext_footer_adv_dynamic_css' );
/**
* Dynamic CSS
*
* @param string $dynamic_css Astra Dynamic CSS.
* @param string $dynamic_css_filtered Astra Dynamic CSS Filters.
* @return string
*/
function astra_ext_footer_adv_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) {
$body_font_family = astra_body_font_family();
$body_text_transform = astra_get_option( 'body-text-transform', 'inherit' );
// Typography.
$footer_adv_title_font_family = astra_get_option( 'footer-adv-wgt-title-font-family', 'inherit' );
$footer_adv_title_font_weight = astra_get_option( 'footer-adv-wgt-title-font-weight', 'inherit' );
$footer_adv_title_font_size = astra_get_option( 'footer-adv-wgt-title-font-size' );
$footer_adv_title_text_transform = astra_get_option( 'footer-adv-wgt-title-text-transform', $body_text_transform );
$footer_adv_title_line_height = astra_get_option( 'footer-adv-wgt-title-line-height' );
$footer_adv_content_font_family = astra_get_option( 'footer-adv-wgt-content-font-family', 'inherit' );
$footer_adv_content_font_weight = astra_get_option( 'footer-adv-wgt-content-font-weight', 'inherit' );
$footer_adv_content_font_size = astra_get_option( 'footer-adv-wgt-content-font-size' );
$footer_adv_content_text_transform = astra_get_option( 'footer-adv-wgt-content-text-transform' );
$footer_adv_content_line_height = astra_get_option( 'footer-adv-wgt-content-line-height' );
// Spacing.
$footer_adv_area_padding = astra_get_option( 'footer-adv-area-padding' );
// Color.
$footer_adv_text_color = astra_get_option( 'footer-adv-text-color' );
$footer_adv_widget_title_color = astra_get_option( 'footer-adv-wgt-title-color' );
$footer_adv_link_color = astra_get_option( 'footer-adv-link-color' );
$footer_adv_link_h_color = astra_get_option( 'footer-adv-link-h-color' );
$footer_adv_width = astra_get_option( 'footer-adv-layout-width' );
$footer_adv = array(
// Advanced Fotter colors/fonts.
'.footer-adv .widget-title,.footer-adv .widget-title a' => array(
'color' => esc_attr( $footer_adv_widget_title_color ),
),
'.footer-adv' => array(
'color' => esc_attr( $footer_adv_text_color ),
),
'.footer-adv a' => array(
'color' => esc_attr( $footer_adv_link_color ),
),
'.footer-adv .tagcloud a:hover, .footer-adv .tagcloud a.current-item' => array(
'border-color' => esc_attr( $footer_adv_link_color ),
'background-color' => esc_attr( $footer_adv_link_color ),
),
'.footer-adv a:hover, .footer-adv .no-widget-text a:hover, .footer-adv a:focus, .footer-adv .no-widget-text a:focus' => array(
'color' => esc_attr( $footer_adv_link_h_color ),
),
'.footer-adv .calendar_wrap #today, .footer-adv a:hover + .post-count' => array(
'background-color' => esc_attr( $footer_adv_link_color ),
),
'.footer-adv .widget-title, .footer-adv .widget-title a.rsswidget, .ast-no-widget-row .widget-title' => array(
'font-family' => astra_get_css_value( $footer_adv_title_font_family, 'font', $body_font_family ),
'font-weight' => astra_get_css_value( $footer_adv_title_font_weight, 'font' ),
'font-size' => astra_responsive_font( $footer_adv_title_font_size, 'desktop' ),
'line-height' => esc_attr( $footer_adv_title_line_height ),
'text-transform' => esc_attr( $footer_adv_title_text_transform ),
),
'.footer-adv .widget > *:not(.widget-title)' => array(
'font-family' => astra_get_css_value( $footer_adv_content_font_family, 'font', $body_font_family ),
'font-weight' => astra_get_css_value( $footer_adv_content_font_weight, 'font' ),
'font-size' => astra_responsive_font( $footer_adv_content_font_size, 'desktop' ),
'line-height' => esc_attr( $footer_adv_content_line_height ),
'text-transform' => esc_attr( $footer_adv_content_text_transform ),
),
'.footer-adv-overlay' => array(
'padding-top' => astra_responsive_spacing( $footer_adv_area_padding, 'top', 'desktop' ),
'padding-bottom' => astra_responsive_spacing( $footer_adv_area_padding, 'bottom', 'desktop' ),
),
);
$adv_footer_css_output = astra_parse_css( $footer_adv );
$tablet_css = array(
'.footer-adv .widget-title, .footer-adv .widget-title a.rsswidget, .ast-no-widget-row .widget-title' => array(
'font-size' => astra_responsive_font( $footer_adv_title_font_size, 'tablet' ),
),
'.footer-adv .widget > *:not(.widget-title)' => array(
'font-size' => astra_responsive_font( $footer_adv_content_font_size, 'tablet' ),
),
'.footer-adv-overlay' => array(
'padding-top' => astra_responsive_spacing( $footer_adv_area_padding, 'top', 'tablet' ),
'padding-bottom' => astra_responsive_spacing( $footer_adv_area_padding, 'bottom', 'tablet' ),
),
);
$adv_footer_css_output .= astra_parse_css( $tablet_css, '', astra_addon_get_tablet_breakpoint() );
$mobile_css = array(
'.footer-adv .widget-title, .footer-adv .widget-title a.rsswidget, .ast-no-widget-row .widget-title' => array(
'font-size' => astra_responsive_font( $footer_adv_title_font_size, 'mobile' ),
),
'.footer-adv .widget > *:not(.widget-title)' => array(
'font-size' => astra_responsive_font( $footer_adv_content_font_size, 'mobile' ),
),
'.footer-adv-overlay' => array(
'padding-top' => astra_responsive_spacing( $footer_adv_area_padding, 'top', 'mobile' ),
'padding-bottom' => astra_responsive_spacing( $footer_adv_area_padding, 'bottom', 'mobile' ),
),
);
$adv_footer_css_output .= astra_parse_css( $mobile_css, '', astra_addon_get_mobile_breakpoint() );
/* Width for Footer Widgets */
if ( 'content' != $footer_adv_width ) {
$footer_adv_left_padding = 35;
$footer_adv_right_padding = 35;
$footer_adv_left_padding_t = 35;
$footer_adv_right_padding_t = 35;
$footer_adv_left_padding_m = 35;
$footer_adv_right_padding_m = 35;
// Desktop.
if ( '' != $footer_adv_area_padding['desktop']['left'] ) {
$footer_adv_left_padding = $footer_adv_area_padding['desktop']['left'];
}
if ( '' != $footer_adv_area_padding['desktop']['right'] ) {
$footer_adv_right_padding = $footer_adv_area_padding['desktop']['right'];
}
// Tablet.
if ( '' != $footer_adv_area_padding['tablet']['left'] ) {
$footer_adv_left_padding_t = $footer_adv_area_padding['tablet']['left'];
}
if ( '' != $footer_adv_area_padding['tablet']['right'] ) {
$footer_adv_right_padding_t = $footer_adv_area_padding['tablet']['right'];
}
// Mobile.
if ( '' != $footer_adv_area_padding['mobile']['left'] ) {
$footer_adv_left_padding_m = $footer_adv_area_padding['mobile']['left'];
}
if ( '' != $footer_adv_area_padding['mobile']['right'] ) {
$footer_adv_right_padding_m = $footer_adv_area_padding['mobile']['right'];
}
$genral_global_responsive = array(
'.footer-adv .ast-container' => array(
'max-width' => '100%',
'padding-left' => astra_get_css_value( $footer_adv_left_padding, 'px' ),
'padding-right' => astra_get_css_value( $footer_adv_right_padding, 'px' ),
),
);
/* Parse CSS from array()*/
$adv_footer_css_output .= astra_parse_css( $genral_global_responsive );
// Tablet.
$tablet_css = array(
'.footer-adv .ast-container' => array(
'max-width' => '100%',
'padding-left' => astra_get_css_value( $footer_adv_left_padding_t, 'px' ),
'padding-right' => astra_get_css_value( $footer_adv_right_padding_t, 'px' ),
),
);
/* Parse CSS from array()*/
$adv_footer_css_output .= astra_parse_css( $tablet_css, '', astra_addon_get_tablet_breakpoint() );
// Mobile.
$mobile_css = array(
'.footer-adv .ast-container' => array(
'max-width' => '100%',
'padding-left' => astra_get_css_value( $footer_adv_left_padding_m, 'px' ),
'padding-right' => astra_get_css_value( $footer_adv_right_padding_m, 'px' ),
),
);
$adv_footer_css_output .= astra_parse_css( $mobile_css, '', astra_addon_get_mobile_breakpoint() );
} else {
$desktop_lr_padding['.footer-adv .ast-container'] = array(
'padding-right' => astra_responsive_spacing( $footer_adv_area_padding, 'right', 'desktop' ),
'padding-left' => astra_responsive_spacing( $footer_adv_area_padding, 'left', 'desktop' ),
);
$adv_footer_css_output .= astra_parse_css( $desktop_lr_padding );
$tablet_lr_padding['.footer-adv .ast-container'] = array(
'padding-right' => astra_responsive_spacing( $footer_adv_area_padding, 'right', 'tablet' ),
'padding-left' => astra_responsive_spacing( $footer_adv_area_padding, 'left', 'tablet' ),
);
$adv_footer_css_output .= astra_parse_css( $tablet_lr_padding, '', astra_addon_get_tablet_breakpoint() );
$mobile_lr_padding['.footer-adv .ast-container'] = array(
'padding-right' => astra_responsive_spacing( $footer_adv_area_padding, 'right', 'mobile' ),
'padding-left' => astra_responsive_spacing( $footer_adv_area_padding, 'left', 'mobile' ),
);
$adv_footer_css_output .= astra_parse_css( $mobile_lr_padding, '', astra_addon_get_mobile_breakpoint() );
}
// Foreground color.
if ( ! empty( $footer_adv_link_color ) ) {
$footer_adv_tagcloud = array(
'.footer-adv .tagcloud a:hover, .footer-adv .tagcloud a.current-item' => array(
'color' => astra_get_foreground_color( $footer_adv_link_color ),
),
'.footer-adv .calendar_wrap #today' => array(
'color' => astra_get_foreground_color( $footer_adv_link_color ),
),
);
$adv_footer_css_output .= astra_parse_css( $footer_adv_tagcloud );
}
return $dynamic_css . $adv_footer_css_output;
}