Server IP : 162.213.251.212 / Your IP : 18.227.48.91 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/allssztx/./www/PIQTV/wp-content/themes/woodmart/inc/admin/modules/import/ |
Upload File : |
<?php /** * Import after. * * @package Woodmart */ namespace XTS\Admin\Modules\Import; use Automattic\WooCommerce\Internal\ProductAttributesLookup\DataRegenerator; use Elementor\Plugin; use Elementor\Utils; use Exception; use WC_Cache_Helper; use WP_Query; use XTS\Singleton; if ( ! defined( 'WOODMART_THEME_DIR' ) ) { exit( 'No direct script access allowed' ); } /** * Import after. */ class After extends Singleton { /** * Helpers. * * @var Helpers */ private $helpers; /** * Init. */ public function init() { $this->helpers = Helpers::get_instance(); } /** * Change header on pages */ public function change_header_on_pages() { $header = 'none'; $pages = array( 'about-factory', 'contact-us', 'contact-us-2', 'contact-us-3', 'contact-us-4', 'about-us-3', ); $current_version = get_option( 'wd_import_current_version' ); $file_path = $this->helpers->get_file_path( 'configs.json', $current_version ); if ( 'elementor' === woodmart_get_current_page_builder() ) { $file_path = $this->helpers->get_file_path( 'configs-elementor.json', $current_version ); } if ( $file_path ) { $configs = json_decode( $this->helpers->get_local_file_content( $file_path ), true ); $header = $configs['pages_header_1'][0]; } foreach ( $pages as $page_slug ) { $page_data = get_page_by_path( $page_slug, ARRAY_A ); if ( isset( $page_data['ID'] ) ) { update_post_meta( $page_data['ID'], '_woodmart_whb_header', $header ); } } } /** * Remove uncategorized cat. */ public function wc_remove_uncategorized_cat() { $uncategorized = get_term_by( 'id', get_option( 'default_product_cat' ), 'product_cat' ); $accessories = get_term_by( 'name', 'Accessories', 'product_cat' ); if ( ! $uncategorized ) { return; } update_option( 'default_product_cat', $accessories->term_id ); wp_delete_term( $uncategorized->term_id, 'product_cat' ); } /** * Set pages sidebar. */ public function set_pages_sidebar() { $pages = apply_filters( 'woocommerce_create_pages', array( 'cart' => array( 'name' => _x( 'cart', 'Page slug', 'woodmart' ), 'title' => _x( 'Cart', 'Page title', 'woodmart' ), 'content' => '[' . apply_filters( 'woocommerce_cart_shortcode_tag', 'woocommerce_cart' ) . ']', ), 'checkout' => array( 'name' => _x( 'checkout', 'Page slug', 'woodmart' ), 'title' => _x( 'Checkout', 'Page title', 'woodmart' ), 'content' => '[' . apply_filters( 'woocommerce_checkout_shortcode_tag', 'woocommerce_checkout' ) . ']', ), 'myaccount' => array( 'name' => _x( 'my-account', 'Page slug', 'woocommerce' ), 'title' => _x( 'My account', 'Page title', 'woocommerce' ), 'content' => '<!-- wp:shortcode -->[' . apply_filters( 'woocommerce_my_account_shortcode_tag', 'woocommerce_my_account' ) . ']<!-- /wp:shortcode -->', ), ) ); foreach ( $pages as $key => $page ) { $option = 'woocommerce_' . $key . '_page_id'; $page_id = get_option( $option ); update_post_meta( $page_id, '_woodmart_main_layout', 'full-width' ); } update_option( 'woocommerce_single_image_width', '1200' ); update_option( 'woocommerce_thumbnail_image_width', '600' ); } /** * Update product lookup tables. */ public function update_product_lookup_tables() { if ( 'yes' === get_option( 'woocommerce_attribute_lookup_regeneration_in_progress', null ) ) { return; } $data_regenerator = wc_get_container()->get( DataRegenerator::class ); $data_regenerator->initiate_regeneration(); delete_transient( 'wc_count_comments' ); delete_transient( 'as_comment_count' ); wc_delete_shop_order_transients(); wc_delete_product_transients(); $attributes = wc_get_attribute_taxonomies(); if ( $attributes ) { foreach ( $attributes as $attribute ) { delete_transient( 'wc_layered_nav_counts_pa_' . $attribute->attribute_name ); } } WC_Cache_Helper::get_transient_version( 'shipping', true ); wc_clear_template_cache(); wc_delete_expired_transients(); if ( ! wc_update_product_lookup_tables_is_running() ) { wc_update_product_lookup_tables(); } } /** * Set menu locations. */ public function set_menu_locations() { global $wpdb; $location = 'main-menu'; $mobile_location = 'mobile-menu'; $table_name = $wpdb->prefix . 'terms'; // @codingStandardsIgnoreStart $menu_ids = $wpdb->get_results( 'SELECT `term_id`, `name` FROM ' . $table_name . " WHERE name IN ('Main navigation', 'Mobile navigation') ORDER BY name ASC" ); // @codingStandardsIgnoreEnd $locations = get_theme_mod( 'nav_menu_locations' ); foreach ( $menu_ids as $menu ) { if ( 'Main navigation' === $menu->name ) { $locations[ $location ] = $menu->term_id; } if ( 'Mobile navigation' === $menu->name ) { $locations[ $mobile_location ] = $menu->term_id; } } set_theme_mod( 'nav_menu_locations', $locations ); } /** * Set blog page. */ public function set_blog_page() { $blog_page_title = 'Blog'; $query = new WP_Query( array( 'post_type' => 'page', 'title' => $blog_page_title, 'posts_per_page' => 1, 'no_found_rows' => true, 'ignore_sticky_posts' => true, 'update_post_term_cache' => false, 'update_post_meta_cache' => false, ) ); $blog_page = ! empty( $query->post ) ? $query->post : null; if ( ! is_null( $blog_page ) ) { update_option( 'page_for_posts', $blog_page->ID ); update_option( 'show_on_front', 'page' ); } if ( get_the_title( 1 ) !== 'Default Kit' ) { wp_trash_post( 1 ); } if ( get_the_title( 2 ) !== 'Default Kit' ) { wp_trash_post( 1 ); } } /** * Enable wpb on custom post types. */ public function enable_wpb_on_custom_post_types() { if ( ! function_exists( 'vc_path_dir' ) ) { return; } $file = vc_path_dir( 'SETTINGS_DIR', 'class-vc-roles.php' ); if ( ! file_exists( $file ) ) { return; } require_once $file; if ( ! class_exists( 'Vc_Roles' ) ) { return; } $vc_roles = new \Vc_Roles(); $vc_roles->save( array( 'administrator' => json_decode( '{"post_types":{"_state":"custom","post":"1","page":"1","woodmart_slide":"1","woodmart_layout":"1","woodmart_size_guide":"1","cms_block":"1","woodmart_sidebar":"0","portfolio":"1","product":"1","woodmart_woo_lv":"0"},"backend_editor":{"_state":"1","disabled_ce_editor":"0"},"frontend_editor":{"_state":"1"},"post_settings":{"_state":"1"},"settings":{"_state":"1"},"templates":{"_state":"1"},"shortcodes":{"_state":"1"},"grid_builder":{"_state":"1"},"presets":{"_state":"1"}}' ), ) ); } /** * Enable elementor on custom post types. */ public function enable_elementor_on_custom_post_types() { $post_types = get_option( 'elementor_cpt_support', array( 'page', 'all_posts' ) ); $post_types[] = 'product'; $post_types[] = 'portfolio'; $post_types[] = 'cms_block'; $post_types[] = 'woodmart_slide'; $post_types[] = 'woodmart_layout'; update_option( 'elementor_cpt_support', $post_types ); update_option( 'elementor_disable_color_schemes', 'yes' ); update_option( 'elementor_disable_typography_schemes', 'yes' ); } /** * Show all fields menu. */ public function show_all_fields_menu() { $user_id = 1; update_user_meta( $user_id, 'managenav-menuscolumnshidden', array() ); update_user_meta( $user_id, 'metaboxhidden_nav-menus', array() ); } /** * Enable register. */ public function enable_myaccount_registration() { update_option( 'woocommerce_enable_myaccount_registration', 'yes' ); } /** * Replace URL. */ public function replace_db_urls() { $links = $this->helpers->links; foreach ( $links as $key => $value ) { if ( 'uploads' === $key ) { foreach ( $value as $link ) { $url_data = wp_upload_dir(); if ( woodmart_is_elementor_installed() ) { Utils::replace_urls( $link, $url_data['baseurl'] . '/' ); } else { $this->wpb_replace_urls( $link, $url_data['baseurl'] . '/' ); } $this->replace_urls_menu_items( $link, $url_data['baseurl'] . '/' ); } } if ( 'simple' === $key ) { foreach ( $value as $link ) { if ( woodmart_is_elementor_installed() ) { Utils::replace_urls( $link, get_home_url() . '/' ); } else { $this->wpb_replace_urls( $link, get_home_url() . '/' ); } $this->replace_urls_menu_items( $link, get_home_url() . '/' ); } } } } /** * Replace URLs. * * Replace old URLs to new URLs. This method also updates all the Elementor data. * * @param string $from From url. * @param string $to To url. * * @throws Exception Exception. */ public function replace_urls_menu_items( $from, $to ) { $from = trim( $from ); $to = trim( $to ); global $wpdb; // @codingStandardsIgnoreStart $wpdb->query( "UPDATE {$wpdb->postmeta} SET `meta_value` = REPLACE(`meta_value`, '{$from}', '{$to}') WHERE `meta_key` = '_menu_item_url'" ); // @codingStandardsIgnoreEnd } /** * Replace URLs. * * Replace old URLs to new URLs. This method also updates all the Elementor data. * * @param string $from From url. * @param string $to To url. * * @throws Exception Exception. */ public function wpb_replace_urls( $from, $to ) { $from = trim( $from ); $to = trim( $to ); global $wpdb; // @codingStandardsIgnoreStart $wpdb->query( "UPDATE {$wpdb->postmeta} SET `meta_value` = REPLACE(`meta_value`, '{$from}', '{$to}') WHERE `meta_key` = '_wpb_shortcodes_custom_css'" ); $encoded_from = urlencode( $from ); $encoded_to = urlencode( $to ); $wpdb->query( "UPDATE {$wpdb->posts} SET `post_content` = REPLACE(`post_content`, '{$encoded_from}', '{$encoded_to}')" ); // @codingStandardsIgnoreEnd } /** * Set shop page. */ public function set_shop_page() { $query = new WP_Query( array( 'post_type' => 'page', 'title' => 'Shop', 'posts_per_page' => 1, 'no_found_rows' => true, 'ignore_sticky_posts' => true, 'update_post_term_cache' => false, 'update_post_meta_cache' => false, ) ); $shop_page = ! empty( $query->post ) ? $query->post : null; if ( ! is_null( $shop_page ) ) { update_option( 'woocommerce_shop_page_id', $shop_page->ID ); } else { wc_create_page( esc_sql( _x( 'shop', 'Page slug', 'woocommerce' ) ), 'woocommerce_shop_page_id', _x( 'Shop', 'Page title', 'woocommerce' ) ); } } /** * Set site settings page. */ public function set_site_settings() { if ( ! class_exists( 'Elementor\Plugin' ) ) { return; } $settings = array( 'container_padding' => array( 'unit' => 'px', 'top' => '0', 'right' => '0', 'bottom' => '0', 'left' => '0', 'isLinked' => '1', ), 'container_padding_tablet' => array( 'unit' => 'px', 'top' => '', 'right' => '', 'bottom' => '', 'left' => '', 'isLinked' => '1', ), 'container_padding_mobile' => array( 'unit' => 'px', 'top' => '', 'right' => '', 'bottom' => '', 'left' => '', 'isLinked' => '1', ), 'viewport_mobile' => '768.98', ); foreach ( $settings as $key => $setting ) { Plugin::$instance->kits_manager->update_kit_settings_based_on_option( $key, $setting ); } } }