whoami7 - Manager
:
/
home
/
dataiclx
/
vielorbe.com
/
wp-content
/
themes
/
botiga
/
inc
/
Upload File:
files >> //home/dataiclx/vielorbe.com/wp-content/themes/botiga/inc/theme-update.php
<?php /** * Theme update functions * * to do: use version compare * */ /** * Migrate woocommerce options */ function botiga_migrate_woo_catalog_columns_and_rows() { $flag = get_theme_mod( 'botiga_migrate_woo_catalog_columns_and_rows_flag', false ); if ( ! empty( $flag ) ) { return; } $woocommerce_catalog_columns = get_option( 'woocommerce_catalog_columns', 4 ); set_theme_mod( 'shop_woocommerce_catalog_columns_desktop', $woocommerce_catalog_columns ); $woocommerce_catalog_rows = get_option( 'woocommerce_catalog_rows', 4 ); set_theme_mod( 'shop_woocommerce_catalog_rows', $woocommerce_catalog_rows ); //Set flag set_theme_mod( 'botiga_migrate_woo_catalog_columns_and_rows_flag', true ); } add_action( 'init', 'botiga_migrate_woo_catalog_columns_and_rows' ); /** * Migrate header options */ function botiga_migrate_header_mobile_icons() { $flag = get_theme_mod( 'botiga_migrate_header_mobile_icons_flag', false ); if ( ! empty( $flag ) ) { return; } $default_components = botiga_get_default_header_components(); $header_components = get_theme_mod( 'header_components', $default_components['l1'] ); $header_components_mobile = array_map(function ( $value ) { return $value === 'woocommerce_icons' ? 'mobile_woocommerce_icons' : $value; }, $header_components ); set_theme_mod( 'header_components_mobile', $header_components_mobile ); $header_components_offcanvas = array_map(function ( $value ) { return $value === 'woocommerce_icons' ? 'mobile_offcanvas_woocommerce_icons' : $value; }, $header_components ); set_theme_mod( 'header_components_offcanvas', $header_components_offcanvas ); //Set flag set_theme_mod( 'botiga_migrate_header_mobile_icons_flag', true ); } add_action( 'init', 'botiga_migrate_header_mobile_icons' ); /** * Header/Footer Builder * Enable HF module for new users. * Existing users (from update) will be asked if they want to use new header builder * or continue with old header system. * * @since 1.1.9 */ function botiga_hf_enable_to_new_users( $old_theme_name ) { $old_theme_name = strtolower( $old_theme_name ); if( !get_option( 'botiga-update-hf' ) && strpos( $old_theme_name, 'botiga' ) === FALSE ) { update_option( 'botiga-update-hf', true ); $all_modules = get_option( 'botiga-modules' ); $all_modules = ( is_array( $all_modules ) ) ? $all_modules : (array) $all_modules; update_option( 'botiga-modules', array_merge( $all_modules, array( 'hf-builder' => true ) ) ); } } add_action('after_switch_theme', 'botiga_hf_enable_to_new_users'); /** * Header/Footer Update Notice * * @since 1.1.9 * */ function botiga_hf_update_notice_1_1_9() { $theme = wp_get_theme(); $theme_version = $theme->get( 'Version' ); if ( version_compare( $theme_version, '2.1.6', '>' ) ) { return; } if ( get_option( 'botiga-update-hf-dismiss' ) ) { return; } if ( !get_option( 'botiga-update-hf' ) ) { ?> <div class="notice notice-success thd-theme-dashboard-notice-success is-dismissible"> <h3><?php esc_html_e( 'Botiga Header/Footer Update', 'botiga'); ?></h3> <p> <?php esc_html_e( 'This version of Botiga comes with a new Header and Footer Builder. Activate it by clicking on the button below and you can access new options.', 'botiga' ); ?> </p> <p> <?php esc_html_e( 'Note 1: This upgrade is optional, there is no need to do it if you are happy with your current header and footer.', 'botiga' ); ?> </p> <p> <?php esc_html_e( 'Note 2: Your current header and footer customizations will be lost and you will have to use the new options to customize your header and footer.', 'botiga' ); ?> </p> <p> <?php esc_html_e( 'Note 3: Please take a full backup of your website before upgrading.', 'botiga' ); ?> </p> <p> <?php /* translators: 1: documentation link. */ printf( esc_html__( 'Want to see the new header and footer builder before upgrading? Check out our %s.', 'botiga' ), '<a target="_blank" href="https://docs.athemes.com/article/pro-header-builder/">documentation</a>' ); ?> </p> <a href="#" class="button botiga-update-hf" data-nonce="<?php echo esc_attr( wp_create_nonce( 'botiga-update-hf-nonce' ) ); ?>" style="margin-top: 15px;"><?php esc_html_e( 'Update theme header and footer', 'botiga' ); ?></a> <a href="#" class="button botiga-update-hf-dismiss" data-nonce="<?php echo esc_attr( wp_create_nonce( 'botiga-update-hf-dismiss-nonce' ) ); ?>" style="margin-top: 15px;"><?php esc_html_e( 'Continue to use the old header and footer system', 'botiga' ); ?></a> </div> <?php } } add_action( 'admin_notices', 'botiga_hf_update_notice_1_1_9' ); /** * Header update ajax callback * * @since 1.1.9 */ function botiga_hf_update_notice_1_1_9_callback() { check_ajax_referer( 'botiga-update-hf-nonce', 'nonce' ); update_option( 'botiga-update-hf', true ); $all_modules = get_option( 'botiga-modules' ); $all_modules = ( is_array( $all_modules ) ) ? $all_modules : (array) $all_modules; update_option( 'botiga-modules', array_merge( $all_modules, array( 'hf-builder' => true ) ) ); wp_send_json( array( 'success' => true, ) ); } add_action( 'wp_ajax_botiga_hf_update_notice_1_1_9_callback', 'botiga_hf_update_notice_1_1_9_callback' ); /** * Header update ajax callback * * @since 1.1.9 */ function botiga_hf_update_dismiss_notice_1_1_9_callback() { check_ajax_referer( 'botiga-update-hf-dismiss-nonce', 'nonce' ); update_option( 'botiga-update-hf-dismiss', true ); wp_send_json( array( 'success' => true, ) ); } add_action( 'wp_ajax_botiga_hf_update_dismiss_notice_1_1_9_callback', 'botiga_hf_update_dismiss_notice_1_1_9_callback' ); /** * Migrate 'header transparent' and 'header image' old display conditions to the new. * Migrate scroll to top offsets. * * @since 1.2.1 */ function botiga_migrate_1_2_1_options() { $flag = get_theme_mod( 'botiga_migrate_1_2_1_options_flag', false ); if ( ! empty( $flag ) ) { return; } // Scroll To Top Offsets set_theme_mod( 'scrolltop_side_offset_desktop', get_theme_mod( 'scrolltop_side_offset', 30 ) ); set_theme_mod( 'scrolltop_bottom_offset_desktop', get_theme_mod( 'scrolltop_bottom_offset', 30 ) ); // Header Transparent $header_transparent_display_on = get_theme_mod( 'header_transparent_display_on', 'front-page' ); $values = explode( ',', $header_transparent_display_on ); $new_value = array(); foreach( $values as $val ) { if( $val === 'pages' ) { $val = 'single-page'; } if( $val === 'blog-archive' ) { $val = 'post-archives'; } if( $val === 'blog-posts' ) { $val = 'single-post'; } if( $val === 'post-search' ) { $val = 'search'; } $new_value[] = array( 'type' => 'include', 'condition' => $val, 'id' => null, ); } set_theme_mod( 'header_transparent_display_on', wp_json_encode( $new_value ) ); // Header Image $show_header_image_only_home = get_theme_mod( 'show_header_image_only_home', 0 ); if( $show_header_image_only_home ) { set_theme_mod( 'header_image_display_conditions', wp_json_encode( array( array( 'type' => 'include', 'condition' => 'front-page', 'id' => null, ), ) ) ); } else { set_theme_mod( 'header_image_display_conditions', wp_json_encode( array( array( 'type' => 'include', 'condition' => 'all', 'id' => null, ), ) ) ); } //Set flag set_theme_mod( 'botiga_migrate_1_2_1_options_flag', true ); } add_action( 'init', 'botiga_migrate_1_2_1_options' ); /** * Migrate 'size-chart, linked variations, product swatches and video gallery' modules. * * @since 2.0.0 */ function botiga_migrate_2_0_0_modules( $old_theme_name ) { $flag = get_theme_mod( 'botiga_migrate_2_0_0_modules_flag', false ); if ( ! empty( $flag ) ) { return; } $modules = get_option( 'botiga-modules', array() ); // Size charts module. $size_chart = get_theme_mod( 'single_size_chart', 0 ); if ( ! empty( $size_chart ) ) { $modules = array_merge( $modules, array( 'size-chart' => true ) ); } // Linked variations module. $linked_variations = get_theme_mod( 'single_product_linked_variations', 0 ); if ( ! empty( $linked_variations ) ) { $modules = array_merge( $modules, array( 'linked-variations' => true ) ); } // Product swatches module. $product_swatches = get_theme_mod( 'product_swatch', 1 ); if ( ! empty( $product_swatches ) ) { $modules = array_merge( $modules, array( 'product-swatches' => true ) ); } // Modal popup module. $modal_popup = get_theme_mod( 'modal_popup_enable', 0 ); if ( ! empty( $modal_popup ) ) { $modules = array_merge( $modules, array( 'modal-popup' => true ) ); } // Local google fonts module. $local_google_fonts = get_theme_mod( 'perf_google_fonts_local', 1 ); if ( ! empty( $local_google_fonts ) && ! isset( $modules['local-google-fonts'] ) ) { $modules = array_merge( $modules, array( 'local-google-fonts' => true ) ); } // Sticky add to cart module. $sticky_add_to_cart = get_theme_mod( 'single_sticky_add_to_cart', 0 ); if ( ! empty( $sticky_add_to_cart ) ) { $modules = array_merge( $modules, array( 'sticky-add-to-cart' => true ) ); } // Advanced reviews module. $advanced_reviews = get_theme_mod( 'single_product_reviews_advanced_enable', 0 ); if ( ! empty( $advanced_reviews ) ) { $modules = array_merge( $modules, array( 'advanced-reviews' => true ) ); } // Login Popup $login_popup = get_theme_mod( 'login_register_popup', 0 ); if ( ! empty( $login_popup ) ) { $modules = array_merge( $modules, array( 'login-popup' => true ) ); } // Video gallery module if( ! isset( $modules[ 'video-gallery' ] ) ) { $modules = array_merge( $modules, array( 'video-gallery' => true ) ); } // Wishlist module $wishlist_enabled = get_theme_mod( 'shop_product_wishlist_layout', 'layout1' ) !== 'layout1' ? true : false; if( $wishlist_enabled ) { $modules = array_merge( $modules, array( 'wishlist' => true ) ); } // Table of contents module if( ! isset( $modules[ 'table-of-contents' ] ) ) { $modules = array_merge( $modules, array( 'table-of-contents' => true ) ); } // Custom sidebars module $custom_sidebars_enabled = get_theme_mod( 'custom_sidebars', '[]' ) !== '[]' ? true : false; if( $custom_sidebars_enabled ) { $modules = array_merge( $modules, array( 'custom-sidebars' => true ) ); } // Variations gallery module if( ! isset( $modules[ 'variations-gallery' ] ) ) { $modules = array_merge( $modules, array( 'variations-gallery' => true ) ); } update_option( 'botiga-modules', $modules ); //Set flag set_theme_mod( 'botiga_migrate_2_0_0_modules_flag', true ); } add_action( 'admin_init', 'botiga_migrate_2_0_0_modules' ); /** * Migrate 'size-chart, linked variations, product swatches and video gallery' modules. * * @since 2.0.0 */ function botiga_migrate_2_1_0_options() { $flag = get_theme_mod( 'botiga_migrate_2_1_0_options_flag', false ); if ( ! empty( $flag ) ) { return; } // Migrate the mobile offcanvas old padding to new responsive padding. $bhfb_mobile_offcanvas_padding = get_theme_mod( 'bhfb_mobile_offcanvas_padding', 20 ); if( $bhfb_mobile_offcanvas_padding !== 20 && $bhfb_mobile_offcanvas_padding !== '{ "unit": "px", "linked": false, "top": "20", "right": "20", "bottom": "20", "left": "20" }' ) { $padding = $bhfb_mobile_offcanvas_padding; $new_value = '{ "unit": "px", "linked": false, "top": "'. $padding .'", "right": "'. $padding .'", "bottom": "'. $padding .'", "left": "'. $padding .'" }'; set_theme_mod( 'bhfb_mobile_offcanvas_padding_desktop', $new_value ); } //Set flag set_theme_mod( 'botiga_migrate_2_1_0_options_flag', true ); } add_action( 'admin_init', 'botiga_migrate_2_1_0_options' ); /** * Migrate size chart options * @since 2.0.5 */ function botiga_migrate_2_0_5_options() { $flag = get_theme_mod( 'botiga_migrate_2_0_5_options_flag', false ); if ( ! empty( $flag ) ) { return; } // Size Chart if( class_exists( 'Botiga_Modules' ) && Botiga_Modules::is_module_active( 'size-chart' ) ) { // Size Chart Default Colors set_theme_mod( 'single_size_chart_title_text_color', get_theme_mod( 'color_link_default', '#212121' ) ); set_theme_mod( 'single_size_chart_title_text_hover', get_theme_mod( 'color_link_hover', '#757575' ) ); set_theme_mod( 'single_size_chart_icon_link_color', get_theme_mod( 'color_link_default', '#212121' ) ); set_theme_mod( 'single_size_chart_icon_link_color_hover', get_theme_mod( 'color_link_hover', '#757575' ) ); // Size Chart Popup Colors set_theme_mod( 'single_size_chart_popup_background_color', get_theme_mod( 'content_cards_background', '#F2F2F2' ) ); set_theme_mod( 'single_size_chart_popup_close_icon_color', get_theme_mod( 'color_link_default', '#212121' ) ); set_theme_mod( 'single_size_chart_popup_close_icon_color_hover', get_theme_mod( 'color_link_hover', '#757575' ) ); set_theme_mod( 'single_size_chart_popup_title_color', get_theme_mod( 'color_heading_4', '#212121' ) ); set_theme_mod( 'single_size_chart_popup_tabs_color', get_theme_mod( 'color_link_default', '#212121' ) ); set_theme_mod( 'single_size_chart_popup_tabs_color_hover', get_theme_mod( 'color_link_hover', '#757575' ) ); set_theme_mod( 'single_size_chart_popup_table_headings_background_color', get_theme_mod( 'color_link_default', '#212121' ) ); set_theme_mod( 'single_size_chart_popup_table_headings_text_color', get_theme_mod( 'button_color', '#FFF' ) ); } // Slide Sidebar if( get_theme_mod( 'shop_archive_sidebar' ) === 'sidebar-slide' ) { // Background Color set_theme_mod( 'shop_archive_slide_sidebar_background_color', get_theme_mod( 'content_cards_background', '#f5f5f5' ) ); // Widgets Divider Border Color set_theme_mod( 'shop_archive_slide_sidebar_widgets_divider_color', '#d1d1d1' ); } //Set flag set_theme_mod( 'botiga_migrate_2_0_5_options_flag', true ); } add_action( 'init', 'botiga_migrate_2_0_5_options' ); /** * Migrate quick links options * * @since 2.0.7 */ function botiga_migrate_2_0_7_options() { $flag = get_theme_mod( 'botiga_migrate_2_0_7_options_flag', false ); if ( ! empty( $flag ) ) { return; } // Quick Links if( class_exists( 'Botiga_Modules' ) && Botiga_Modules::is_module_active( 'quick-links' ) ) { // Set Item Text Color set_theme_mod( 'ql_item_text_color', get_theme_mod( 'ql_item_color', '' ) ); set_theme_mod( 'ql_item_text_color_hover', get_theme_mod( 'ql_item_color_hover', '' ) ); } //Set flag set_theme_mod( 'botiga_migrate_2_0_7_options_flag', true ); } add_action( 'init', 'botiga_migrate_2_0_7_options' ); /** * Do not enable new templates builder UI to existing users. * * @since 2.1.4 */ function botiga_templates_builder_new_ui() { $flag = get_theme_mod( 'botiga_templates_builder_new_ui_flag', false ); if ( ! empty( $flag ) ) { return; } if ( class_exists( 'Botiga_Modules' ) && Botiga_Modules::is_module_active( 'templates' ) ) { update_option( 'botiga-legacy-templates-builder', true ); } else { update_option( 'botiga-legacy-templates-builder', false ); } //Set flag set_theme_mod( 'botiga_templates_builder_new_ui_flag', true ); } add_action( 'init', 'botiga_templates_builder_new_ui' ); /** * Enable/disable single product merchant elements. * * @since 2.2.1 */ function botiga_single_product_elements_merchant_modules() { if ( ! class_exists( 'Woocommerce' ) ) { return; } if ( ! class_exists( 'Merchant' ) ) { return; } if ( defined( 'MERCHANT_VERSION' ) && version_compare( MERCHANT_VERSION, '1.9.2', '<=' ) ) { return; } $flag = get_theme_mod( 'botiga_single_product_elements_merchant_modules_flag', false ); if ( ! empty( $flag ) ) { return; } $defaults = botiga_get_default_single_product_components(); $modules_to_migrate = Botiga_Merchant_Single_Product_Elements::$modules_data; foreach ( $modules_to_migrate as $module_id => $module_data ) { if ( Merchant_Modules::is_module_active( $module_id ) ) { $old_value = get_theme_mod( 'single_product_elements_order', $defaults ); $new_value = array_merge( $old_value, array( $module_data['callback'] ) ); if ( ! in_array( $module_data['callback'], $old_value, true ) ) { if ( in_array( $module_id, array( 'buy-x-get-y', 'volume-discounts', 'product-bundles', 'stock-scarcity' ), true ) ) { $add_to_cart_position = array_search( 'woocommerce_template_single_add_to_cart', $new_value, true ); if ( $add_to_cart_position ) { array_splice( $new_value, $add_to_cart_position, 0, $module_data['callback'] ); // Remove duplicates. $new_value = array_unique( $new_value ); } } set_theme_mod( 'single_product_elements_order', $new_value ); } } } // Set flag set_theme_mod( 'botiga_single_product_elements_merchant_modules_flag', true ); } add_action( 'init', 'botiga_single_product_elements_merchant_modules' ); /** * Accordion style to widgets. * The option ID changed from 'shop_accordion_to_widgets' to 'accordion_to_lists' in favor of more general usage throughout the theme. * * @since 2.2.4 */ function botiga_migrate_accordion_style_to_wdigets() { $flag = get_theme_mod( 'botiga_migrate_accordion_style_to_wdigets_flag', false ); if ( ! empty( $flag ) ) { return; } set_theme_mod( 'accordion_to_lists', get_theme_mod( 'shop_accordion_to_widgets', 0 ) ); set_theme_mod( 'accordion_to_lists_initial_state', get_theme_mod( 'shop_accordion_to_widgets_initial_state', 'expanded' ) ); //Set flag set_theme_mod( 'botiga_migrate_accordion_style_to_wdigets_flag', true ); } add_action( 'init', 'botiga_migrate_accordion_style_to_wdigets' ); /** * Enable the templates builder v3 for new and existing users. * With exception for users that have the legacy templates builder active. * * @since 2.2.6 */ function botiga_enable_templates_builder_v3() { $flag = get_theme_mod( 'botiga_enable_templates_builder_v3_flag', false ); if ( ! empty( $flag ) ) { return; } // Do not enable the templates builder v3 to users that have the legacy templates builder active. $is_legacy_templates_builder = get_option( 'botiga-legacy-templates-builder' ); if ( $is_legacy_templates_builder ) { return; } // Enable the templates builder v3 to v2 users and new users. update_option( 'botiga_templates_builder_v3', 'yes' ); //Set flag set_theme_mod( 'botiga_enable_templates_builder_v3_flag', true ); } add_action( 'init', 'botiga_enable_templates_builder_v3' ); /** * Store the first theme version in the database to new users. * * @param string $old_theme_name * * @return void */ function botiga_set_database_theme_version_to_new_users( $old_theme_name ) { $flag = get_theme_mod( 'botiga_set_database_theme_version_to_new_users_flag', false ); if ( ! empty( $flag ) ) { return; } $old_theme_name = strtolower( $old_theme_name ); $not_theme_update = strpos( $old_theme_name, 'botiga' ) === FALSE; if( ! get_option( 'botiga-first-theme-version' ) && $not_theme_update ) { update_option( 'botiga-first-theme-version', BOTIGA_VERSION ); } // Set flag set_theme_mod( 'botiga_set_database_theme_version_to_new_users_flag', true ); } add_action('after_switch_theme', 'botiga_set_database_theme_version_to_new_users'); /** * Update the theme version in the database after every update or * manual theme installation via the WordPress admin. * * @param WP_Upgrader $upgrader_object * @param array $options * * @return void */ function botiga_update_database_theme_version( $upgrader_object, $options ) { $new_theme_name = isset( $upgrader_object->new_theme_data ) ? $upgrader_object->new_theme_data['Name'] : ''; $new_theme_version = isset( $upgrader_object->new_theme_data ) ? $upgrader_object->new_theme_data['Version'] : ''; if ( $new_theme_name !== 'Botiga' ) { return; } if( ( $options['action'] === 'update' || $options['action'] === 'install' ) && $options['type'] === 'theme' ) { update_option( 'botiga-theme-version', BOTIGA_VERSION ); } } add_action('upgrader_process_complete', 'botiga_update_database_theme_version', 10, 2);
Copyright ©2021 || Defacer Indonesia