summaryrefslogtreecommitdiff
path: root/inc/compatibility/class-astra-bb-ultimate-addon.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/compatibility/class-astra-bb-ultimate-addon.php')
-rw-r--r--inc/compatibility/class-astra-bb-ultimate-addon.php428
1 files changed, 428 insertions, 0 deletions
diff --git a/inc/compatibility/class-astra-bb-ultimate-addon.php b/inc/compatibility/class-astra-bb-ultimate-addon.php
new file mode 100644
index 0000000..c77b165
--- /dev/null
+++ b/inc/compatibility/class-astra-bb-ultimate-addon.php
@@ -0,0 +1,428 @@
+<?php
+/**
+ * Filters to override defaults in UABB
+ *
+ * @package Astra
+ * @author Astra
+ * @copyright Copyright (c) 2020, Astra
+ * @link https://wpastra.com/
+ * @since Astra 1.0.0
+ */
+
+// If plugin - 'BB Ultimate Addon' not exist then return.
+if ( ! class_exists( 'BB_Ultimate_Addon' ) ) {
+ return;
+}
+
+/**
+ * Astra BB Ultimate Addon Compatibility
+ */
+if ( ! class_exists( 'Astra_BB_Ultimate_Addon' ) ) :
+
+ /**
+ * Astra BB Ultimate Addon Compatibility
+ *
+ * @since 1.0.0
+ */
+ class Astra_BB_Ultimate_Addon {
+
+ /**
+ * Member Variable
+ *
+ * @var object instance
+ */
+ private static $instance;
+
+ /**
+ * Initiator
+ */
+ public static function get_instance() {
+ if ( ! isset( self::$instance ) ) {
+ self::$instance = new self();
+ }
+ return self::$instance;
+ }
+
+ /**
+ * Constructor
+ */
+ public function __construct() {
+
+ add_filter( 'uabb_global_support', array( $this, 'remove_uabb_global_setting' ) );
+ add_filter( 'uabb_theme_theme_color', array( $this, 'theme_color' ) );
+ add_filter( 'uabb_theme_text_color', array( $this, 'text_color' ) );
+ add_filter( 'uabb_theme_link_color', array( $this, 'link_color' ) );
+ add_filter( 'uabb_theme_link_hover_color', array( $this, 'link_hover_color' ) );
+ add_filter( 'uabb_theme_button_font_family', array( $this, 'button_font_family' ) );
+ add_filter( 'uabb_theme_button_font_size', array( $this, 'button_font_size' ) );
+ add_filter( 'uabb_theme_button_line_height', array( $this, 'button_line_height' ) );
+ add_filter( 'uabb_theme_button_letter_spacing', array( $this, 'button_letter_spacing' ) );
+ add_filter( 'uabb_theme_button_text_transform', array( $this, 'button_text_transform' ) );
+ add_filter( 'uabb_theme_button_text_color', array( $this, 'button_text_color' ) );
+ add_filter( 'uabb_theme_button_text_hover_color', array( $this, 'button_text_hover_color' ) );
+ add_filter( 'uabb_theme_button_bg_color', array( $this, 'button_bg_color' ) );
+ add_filter( 'uabb_theme_button_bg_hover_color', array( $this, 'button_bg_hover_color' ) );
+ add_filter( 'uabb_theme_button_border_radius', array( $this, 'button_border_radius' ) );
+ add_filter( 'uabb_theme_button_padding', array( $this, 'button_padding' ) );
+ add_filter( 'uabb_theme_button_border_width', array( $this, 'button_border_width' ) );
+ add_filter( 'uabb_theme_border_color', array( $this, 'button_border_color' ) );
+ add_filter( 'uabb_theme_border_hover_color', array( $this, 'button_border_hover_color' ) );
+ add_filter( 'uabb_theme_button_vertical_padding', array( $this, 'button_vertical_padding' ) );
+ add_filter( 'uabb_theme_button_horizontal_padding', array( $this, 'button_horizontal_padding' ) );
+
+ /**
+ * Default button type UABB compatibility.
+ */
+ add_filter( 'uabb_theme_default_button_font_size', array( $this, 'default_type_button_font_size' ) );
+ add_filter( 'uabb_theme_default_button_line_height', array( $this, 'default_type_button_line_height' ) );
+ add_filter( 'uabb_theme_default_button_letter_spacing', array( $this, 'default_type_button_letter_spacing' ) );
+ add_filter( 'uabb_theme_default_button_text_transform', array( $this, 'default_type_button_text_transform' ) );
+ add_filter( 'uabb_theme_default_button_text_color', array( $this, 'default_type_button_text_color' ) );
+ add_filter( 'uabb_theme_default_button_text_hover_color', array( $this, 'default_type_button_text_hover_color' ) );
+ add_filter( 'uabb_theme_default_button_bg_color', array( $this, 'default_type_button_bg_color' ) );
+ add_filter( 'uabb_theme_default_button_bg_hover_color', array( $this, 'default_type_button_bg_hover_color' ) );
+ add_filter( 'uabb_theme_default_button_padding', array( $this, 'default_type_button_padding' ) );
+ }
+
+ /**
+ * Remove UABB Global Setting Option
+ */
+ public function remove_uabb_global_setting() {
+ return false;
+ }
+
+ /**
+ * Theme Color
+ */
+ public function theme_color() {
+ return astra_get_option( 'theme-color' );
+ }
+
+
+ /**
+ * Text Color
+ */
+ public function text_color() {
+ return astra_get_option( 'text-color' );
+ }
+
+
+ /**
+ * Link Color
+ */
+ public function link_color() {
+ return astra_get_option( 'link-color' );
+ }
+
+
+ /**
+ * Link Hover Color
+ */
+ public function link_hover_color() {
+ return astra_get_option( 'link-h-color' );
+ }
+
+ /**
+ * Button Font Family
+ */
+ public function button_font_family() {
+ $font_family = str_replace( "'", '', astra_get_option( 'font-family-button' ) );
+ $font_family = explode( ',', $font_family );
+ return array(
+ 'family' => $font_family[0],
+ 'weight' => astra_get_option( 'font-weight-button' ),
+ );
+ }
+
+ /**
+ * Button Font Size
+ */
+ public function button_font_size() {
+ return '';
+ }
+
+ /**
+ * Button Line Height
+ */
+ public function button_line_height() {
+ return '';
+ }
+
+ /**
+ * Default type : Button Font Size
+ *
+ * @since 2.2.0
+ */
+ public function default_type_button_font_size() {
+ $font_size_arr = array();
+ $body_font_size = astra_get_option( 'font-size-body' );
+ $theme_btn_font_size = astra_get_option( 'font-size-button' );
+
+ $font_size_arr['desktop'] = astra_responsive_font( $theme_btn_font_size, 'desktop' );
+ $font_size_arr['tablet'] = astra_responsive_font( $theme_btn_font_size, 'tablet' );
+ $font_size_arr['mobile'] = astra_responsive_font( $theme_btn_font_size, 'mobile' );
+
+ if ( empty( $font_size_arr['desktop'] ) ) {
+ $font_size_arr['desktop'] = astra_responsive_font( $body_font_size, 'desktop' );
+ }
+ if ( empty( $font_size_arr['tablet'] ) ) {
+ $font_size_arr['tablet'] = astra_responsive_font( $body_font_size, 'tablet' );
+ }
+ if ( empty( $font_size_arr['mobile'] ) ) {
+ $font_size_arr['mobile'] = astra_responsive_font( $body_font_size, 'mobile' );
+ }
+
+ return $font_size_arr;
+ }
+
+ /**
+ * Default type : Button Line Height
+ *
+ * @since 2.2.0
+ */
+ public function default_type_button_line_height() {
+ $theme_btn_body_line_height = astra_get_option( 'body-line-height', 1.85714285714286 );
+ $theme_btn_line_height = astra_get_option( 'theme-btn-line-height', $theme_btn_body_line_height );
+ return $theme_btn_line_height;
+ }
+
+ /**
+ * Button Letter Spacing
+ */
+ public function button_letter_spacing() {
+ return '';
+ }
+
+ /**
+ * Default type : Button Letter Spacing
+ *
+ * @since 2.2.0
+ */
+ public function default_type_button_letter_spacing() {
+ $theme_btn_letter_spacing = astra_get_option( 'theme-btn-letter-spacing' );
+ return $theme_btn_letter_spacing;
+ }
+
+ /**
+ * Button Text Transform
+ */
+ public function button_text_transform() {
+ return '';
+ }
+
+ /**
+ * Default type : Button Text Transform
+ *
+ * @since 2.2.0
+ */
+ public function default_type_button_text_transform() {
+ $theme_btn_text_transform = astra_get_option( 'text-transform-button' );
+ return $theme_btn_text_transform;
+ }
+
+ /**
+ * Button Text Color
+ */
+ public function button_text_color() {
+ $theme_color = astra_get_option( 'theme-color' );
+ $link_color = astra_get_option( 'link-color', $theme_color );
+ $color = astra_get_option( 'button-color' );
+ if ( empty( $color ) ) {
+ $color = astra_get_foreground_color( $link_color );
+ }
+ return $color;
+ }
+
+ /**
+ * Default type : Button Text Color
+ *
+ * @since 2.2.0
+ */
+ public function default_type_button_text_color() {
+ $theme_color = astra_get_option( 'theme-color' );
+ $btn_text_color = astra_get_option( 'button-color' );
+ if ( empty( $btn_text_color ) ) {
+ $btn_text_color = astra_get_foreground_color( $theme_color );
+ }
+
+ return $btn_text_color;
+ }
+
+ /**
+ * Button Text Hover Color
+ */
+ public function button_text_hover_color() {
+ $link_hover_color = astra_get_option( 'link-h-color' );
+ $btn_text_hover_color = astra_get_option( 'button-h-color' );
+ if ( empty( $btn_text_hover_color ) ) {
+ $btn_text_hover_color = astra_get_foreground_color( $link_hover_color );
+ }
+
+ return $btn_text_hover_color;
+ }
+
+ /**
+ * Default type : Button Text Hover Color
+ *
+ * @since 2.2.0
+ */
+ public function default_type_button_text_hover_color() {
+ $link_hover_color = astra_get_option( 'link-h-color' );
+ $btn_text_hover_color = astra_get_option( 'button-h-color' );
+ if ( empty( $btn_text_hover_color ) ) {
+ $btn_text_hover_color = astra_get_foreground_color( $link_hover_color );
+ }
+
+ return $btn_text_hover_color;
+ }
+
+ /**
+ * Button Background Color
+ */
+ public function button_bg_color() {
+ return astra_get_option( 'button-bg-color' );
+ }
+
+ /**
+ * Default type : Button Background Color
+ *
+ * @since 2.2.0
+ */
+ public function default_type_button_bg_color() {
+ $theme_color = astra_get_option( 'theme-color' );
+ $btn_bg_color = astra_get_option( 'button-bg-color', $theme_color );
+ return $btn_bg_color;
+ }
+
+ /**
+ * Button Background Color
+ */
+ public function button_bg_hover_color() {
+ return astra_get_option( 'button-bg-h-color' );
+ }
+
+ /**
+ * Default type : Button Background Color
+ *
+ * @since 2.2.0
+ */
+ public function default_type_button_bg_hover_color() {
+ $link_hover_color = astra_get_option( 'link-h-color' );
+ $btn_bg_hover_color = astra_get_option( 'button-bg-h-color', $link_hover_color );
+ return $btn_bg_hover_color;
+ }
+
+ /**
+ * Button Border Radius
+ */
+ public function button_border_radius() {
+ return astra_get_option( 'button-radius' );
+ }
+
+
+ /**
+ * Button Padding
+ */
+ public function button_padding() {
+ $padding = '';
+ $v_padding = astra_get_option( 'button-v-padding' );
+ $h_padding = astra_get_option( 'button-h-padding' );
+ if ( '' != $v_padding && '' != $h_padding ) {
+ $padding = $v_padding . 'px ' . $h_padding . 'px';
+ }
+ return $padding;
+ }
+
+ /**
+ * Default type : Button Padding
+ *
+ * @since 2.2.0
+ */
+ public function default_type_button_padding() {
+
+ $padding = astra_get_option( 'theme-button-padding' );
+
+ return $padding;
+ }
+
+ /**
+ * Button Border Width
+ */
+ public function button_border_width() {
+
+ $btn_width = array();
+ $get_btn_width = astra_get_option( 'theme-button-border-group-border-size' );
+
+ if ( ! empty( $get_btn_width ) ) {
+ $btn_width = $get_btn_width;
+ }
+
+ return $btn_width;
+ }
+
+ /**
+ * Button Border Color
+ */
+ public function button_border_color() {
+
+ $theme_color = astra_get_option( 'theme-color' );
+ $btn_bg_color = astra_get_option( 'button-bg-color', $theme_color );
+ $get_btn_border_color = astra_get_option( 'theme-button-border-group-border-color', $btn_bg_color );
+
+ return $get_btn_border_color;
+ }
+
+ /**
+ * Button Border Hover Color
+ */
+ public function button_border_hover_color() {
+
+ $link_hover_color = astra_get_option( 'link-h-color' );
+ $btn_bg_hover_color = astra_get_option( 'button-bg-h-color', $link_hover_color );
+ $get_btn_border_h_color = astra_get_option( 'theme-button-border-group-border-h-color', $btn_bg_hover_color );
+
+ return $get_btn_border_h_color;
+ }
+
+ /**
+ * Button Vertical Padding.
+ *
+ * @deprecated 2.2.0
+ */
+ public function button_vertical_padding() {
+
+ $padding = '';
+ $v_padding = astra_get_option( 'button-v-padding' );
+
+ if ( '' != $v_padding ) {
+ $padding = $v_padding;
+ }
+
+ return $padding;
+ }
+
+ /**
+ * Button Horizontal Padding.
+ *
+ * @deprecated 2.2.0
+ */
+ public function button_horizontal_padding() {
+
+ $padding = '';
+ $h_padding = astra_get_option( 'button-h-padding' );
+
+ if ( '' != $h_padding ) {
+ $padding = $h_padding;
+ }
+
+ return $padding;
+ }
+
+ }
+
+endif;
+
+/**
+ * Kicking this off by calling 'get_instance()' method
+ */
+Astra_BB_Ultimate_Addon::get_instance();