| @@ -1,6 +1,8 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | namespace EverCompare; |
| 3 | + | |
| 4 | +defined( 'ABSPATH' ) || exit; | |
| 3 | 5 | /** |
| 4 | 6 | * Assets handlers class |
| 5 | 7 | */ |
| 6 | 8 | class Assets { |
| @@ -107,28 +109,43 @@ | ||
| 107 | 109 | // Inline CSS |
| 108 | 110 | wp_add_inline_style( 'evercompare-frontend', $this->inline_style() ); |
| 109 | 111 | |
| 110 | 112 | // Frontend Localize data |
| 111 | - $option_data = array(); | |
| 113 | + $option_data = array( | |
| 114 | + 'remove_on_click' => ever_compare_get_option( 'remove_on_click','ever_compare_settings_tabs', 'off' ), | |
| 115 | + 'enable_success_notification' => ever_compare_get_option( 'enable_success_notification', 'ever_compare_settings_general', 'off' ), | |
| 116 | + 'success_added_notification_text' => ever_compare_get_option( 'success_added_notification_text', 'ever_compare_settings_general', __( '{product_name} added to compare list.', 'ever-compare') ), | |
| 117 | + 'success_removed_notification_text' => ever_compare_get_option( 'success_removed_notification_text', 'ever_compare_settings_general', __( '{product_name} removed from compare list.', 'ever-compare') ), | |
| 118 | + 'removed_notification_after' => ever_compare_get_option( 'removed_notification_after', 'ever_compare_settings_general', -1 ), | |
| 119 | + ); | |
| 120 | + $cookie_name = 'ever_compare_compare_list'; | |
| 121 | + if ( is_multisite() ) { | |
| 122 | + $cookie_name .= '_' . get_current_blog_id(); | |
| 123 | + } | |
| 112 | 124 | $localize_data = array( |
| 113 | - 'ajaxurl' => admin_url( 'admin-ajax.php' ), | |
| 114 | - 'popup' => ( ever_compare_get_option( 'open_popup', 'ever_compare_settings_tabs', 'on' ) === 'on' ) ? 'yes' : 'no', | |
| 115 | - 'option_data' => $option_data, | |
| 125 | + 'ajaxurl' => admin_url( 'admin-ajax.php' ), | |
| 126 | + 'cookie_name' => $cookie_name, | |
| 127 | + 'compare_page_url' => esc_url( get_permalink( ever_compare_get_option( 'compare_page', 'ever_compare_table_settings_tabs' ) ) ), | |
| 128 | + 'popup' => ( ever_compare_get_option( 'open_popup', 'ever_compare_settings_tabs', 'on' ) === 'on' ) ? 'yes' : 'no', | |
| 129 | + 'option_data' => $option_data, | |
| 116 | 130 | ); |
| 117 | 131 | |
| 118 | 132 | // Admin Localize data |
| 119 | 133 | $setting_page = 0; |
| 120 | - if( isset( $_GET['page'] ) && $_GET['page'] == 'evercompare' ){ | |
| 134 | + if( isset( $_GET['page'] ) && $_GET['page'] == 'evercompare' ){ //phpcs:ignore WordPress.Security.NonceVerification.Recommended | |
| 121 | 135 | $setting_page = 1; |
| 122 | 136 | } |
| 123 | 137 | $admin_option_data = array( |
| 124 | - 'shop_btn_position' => ever_compare_get_option( 'shop_btn_position','ever_compare_settings_tabs','after_cart_btn' ), | |
| 125 | - 'product_btn_position' => ever_compare_get_option( 'product_btn_position','ever_compare_settings_tabs','after_cart_btn' ), | |
| 126 | - 'button_icon_type' => ever_compare_get_option( 'button_icon_type','ever_compare_settings_tabs','none' ), | |
| 127 | - 'added_button_icon_type'=> ever_compare_get_option( 'added_button_icon_type','ever_compare_settings_tabs','none' ), | |
| 128 | - 'enable_shareable_link' => ever_compare_get_option( 'enable_shareable_link','ever_compare_table_settings_tabs','off' ), | |
| 129 | - 'button_style' => ever_compare_get_option( 'button_style','ever_compare_style_tabs','theme' ), | |
| 130 | - 'table_style' => ever_compare_get_option( 'table_style','ever_compare_style_tabs','default' ), | |
| 138 | + 'enable_success_notification' => ever_compare_get_option( 'enable_success_notification','ever_compare_settings_general','off' ), | |
| 139 | + 'shop_btn_position' => ever_compare_get_option( 'shop_btn_position','ever_compare_settings_tabs','after_cart_btn' ), | |
| 140 | + 'product_btn_position' => ever_compare_get_option( 'product_btn_position','ever_compare_settings_tabs','after_cart_btn' ), | |
| 141 | + 'remove_on_click' => ever_compare_get_option( 'remove_on_click','ever_compare_settings_tabs', 'off' ), | |
| 142 | + 'button_icon_type' => ever_compare_get_option( 'button_icon_type','ever_compare_settings_tabs','none' ), | |
| 143 | + 'added_button_icon_type' => ever_compare_get_option( 'added_button_icon_type','ever_compare_settings_tabs','none' ), | |
| 144 | + 'enable_shareable_link' => ever_compare_get_option( 'enable_shareable_link','ever_compare_table_settings_tabs','off' ), | |
| 145 | + 'button_style' => ever_compare_get_option( 'button_style','ever_compare_style_tabs','theme' ), | |
| 146 | + 'table_style' => ever_compare_get_option( 'table_style','ever_compare_style_tabs','default' ), | |
| 147 | + 'notification_style' => ever_compare_get_option( 'notification_style','ever_compare_style_tabs','default' ), | |
| 131 | 148 | ); |
| 132 | 149 | $admin_localize_data = array( |
| 133 | 150 | 'is_settings'=> $setting_page, |
| 134 | 151 | 'option_data'=> $admin_option_data, |
| @@ -237,8 +254,33 @@ | ||
| 237 | 254 | } |
| 238 | 255 | |
| 239 | 256 | "; |
| 240 | 257 | |
| 258 | + } | |
| 259 | + | |
| 260 | + // Notification Custom Style | |
| 261 | + if( 'custom' === ever_compare_get_option( 'notification_style', 'ever_compare_style_tabs', 'default' ) ){ | |
| 262 | + $notification_color = ever_compare_generate_css('notification_text_color','ever_compare_style_tabs','color'); | |
| 263 | + $notification_bg_color = ever_compare_generate_css('notification_bg_color','ever_compare_style_tabs','background-color'); | |
| 264 | + $notification_border_color = ever_compare_generate_css('notification_border_color','ever_compare_style_tabs','border-color'); | |
| 265 | + $notification_btn_color = ever_compare_generate_css('notification_btn_color','ever_compare_style_tabs','color'); | |
| 266 | + $notification_btn_color_hover = ever_compare_generate_css('notification_btn_color_hover','ever_compare_style_tabs','color'); | |
| 267 | + | |
| 268 | + $inline_css .= " | |
| 269 | + .htcompare-notification{ | |
| 270 | + {$notification_bg_color} | |
| 271 | + {$notification_border_color} | |
| 272 | + } | |
| 273 | + .htcompare-notification-text{ | |
| 274 | + {$notification_color} | |
| 275 | + } | |
| 276 | + .htcompare-notification-close{ | |
| 277 | + {$notification_btn_color} | |
| 278 | + } | |
| 279 | + .htcompare-notification-close:hover{ | |
| 280 | + {$notification_btn_color_hover} | |
| 281 | + } | |
| 282 | + "; | |
| 241 | 283 | } |
| 242 | 284 | |
| 243 | 285 | return $inline_css; |
| 244 | 286 | |