Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/cartinsight.co/wp-content/plugins/colibri-page-builder/src/OCDI/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/cartinsight.co/wp-content/plugins/colibri-page-builder/src/OCDI/WXRImporter.php
<?php
/**
 * WXR importer class used in the One Click Demo Import plugin.
 * Needed to extend the WXR_Importer class to get/set the importer protected variables,
 * for use in the multiple AJAX calls.
 *
 * @package ocdi
 */

namespace ColibriWP\PageBuilder\OCDI;

class WXRImporter extends \ProteusThemes\WPContentImporter2\WXRImporter {
    /**
     * Constructor method.
     *
     * @param array $options Importer options.
     */
    public function __construct( $options = array() ) {
        parent::__construct( $options );

        // Set current user to $mapping variable.
        // Fixes the [WARNING] Could not find the author for ... log warning messages.
        $current_user_obj                                            = wp_get_current_user();
        $this->mapping['user_slug'][ $current_user_obj->user_login ] = $current_user_obj->ID;

        // WooCommerce product attributes registration.
        if ( class_exists( 'WooCommerce' ) ) {
            add_filter( 'wxr_importer.pre_process.term', array(
                $this,
                'woocommerce_product_attributes_registration'
            ), 10, 1 );
        }
    }

    /**
     * Get all protected variables from the WXR_Importer needed for continuing the import.
     */
    public function get_importer_data() {
        return array(
            'mapping'            => $this->mapping,
            'requires_remapping' => $this->requires_remapping,
            'exists'             => $this->exists,
            'user_slug_override' => $this->user_slug_override,
            'url_remap'          => $this->url_remap,
            'featured_images'    => $this->featured_images,
        );
    }

    /**
     * Sets all protected variables from the WXR_Importer needed for continuing the import.
     *
     * @param array $data with set variables.
     */
    public function set_importer_data( $data ) {
        $this->mapping            = empty( $data['mapping'] ) ? array() : $data['mapping'];
        $this->requires_remapping = empty( $data['requires_remapping'] ) ? array() : $data['requires_remapping'];
        $this->exists             = empty( $data['exists'] ) ? array() : $data['exists'];
        $this->user_slug_override = empty( $data['user_slug_override'] ) ? array() : $data['user_slug_override'];
        $this->url_remap          = empty( $data['url_remap'] ) ? array() : $data['url_remap'];
        $this->featured_images    = empty( $data['featured_images'] ) ? array() : $data['featured_images'];
    }

    /**
     * Hook into the pre-process term filter of the content import and register the
     * custom WooCommerce product attributes, so that the terms can then be imported normally.
     *
     * This should probably be removed once the WP importer 2.0 support is added in WooCommerce.
     *
     * Fixes: [WARNING] Failed to import pa_size L warnings in content import.
     * Code from: woocommerce/includes/admin/class-wc-admin-importers.php (ver 2.6.9).
     *
     * Github issue: https://github.com/proteusthemes/one-click-demo-import/issues/71
     *
     * @param array $date The term data to import.
     *
     * @return array       The unchanged term data.
     */
    public function woocommerce_product_attributes_registration( $data ) {
        global $wpdb;

        if ( strstr( $data['taxonomy'], 'pa_' ) ) {
            if ( ! taxonomy_exists( $data['taxonomy'] ) ) {
                $attribute_name = wc_sanitize_taxonomy_name( str_replace( 'pa_', '', $data['taxonomy'] ) );

                // Create the taxonomy
                if ( ! in_array( $attribute_name, wc_get_attribute_taxonomies() ) ) {
                    $attribute = array(
                        'attribute_label'   => $attribute_name,
                        'attribute_name'    => $attribute_name,
                        'attribute_type'    => 'select',
                        'attribute_orderby' => 'menu_order',
                        'attribute_public'  => 0
                    );
                    $wpdb->insert( $wpdb->prefix . 'woocommerce_attribute_taxonomies', $attribute );
                    delete_transient( 'wc_attribute_taxonomies' );
                }

                // Register the taxonomy now so that the import works!
                register_taxonomy(
                    $data['taxonomy'],
                    apply_filters( 'woocommerce_taxonomy_objects_' . $data['taxonomy'], array( 'product' ) ),
                    apply_filters( 'woocommerce_taxonomy_args_' . $data['taxonomy'], array(
                        'hierarchical' => true,
                        'show_ui'      => false,
                        'query_var'    => true,
                        'rewrite'      => false,
                    ) )
                );
            }
        }

        return $data;
    }
}

Spamworldpro Mini