HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/ordneco.com/wp-content/plugins/swa-import-export/swa-import-export.php
<?php
/**
 * Plugin Name: SWA Import Export Special
 * Plugin URI: http://cmssuperheroes.com/
 * Description: SWA Import Export helping to create demo data package and setup demo data for clients site.
 * Version: 1.3.4
 * Author: KennethRoy
 * Author URI: http://cmssuperheroes.com/
 * License: GPLv2
 * Text Domain: swa-import-export
 */
if (!defined('ABSPATH')) {
    exit();
}
define('SWA_TEXT_DOMAIN', 'swa-import-export');
define('SWA_IE_FILE', __FILE__);

if (!class_exists('SWA_Import_Export')) {

    /**
     * Main Class SWA_Import_Export
     *
     * @since 1.0.0
     *
     * @description: Public SWA_Import_Export:: or GLOBAL swa_ie()
     *
     * @author: KP
     *
     * @create: 15 November, 2017
     */
    class SWA_Import_Export
    {
        public $file;
        public $basename;
        public $plugin_dir;
        public $plugin_url;
        public $assets_dir;
        public $assets_url;
        public $theme_dir;
        public $theme_url;
        public $theme_name;
        public $theme_text_domain;

        public static $instance;

        /**
         * @return SWA_Import_Export
         */
        public static function instance()
        {
            if (is_null(self::$instance)) {
                self::$instance = new SWA_Import_Export();
                self::$instance->setup_globals();
                self::$instance->includes();
                self::$instance->setup_actions();

                remove_filter('wp_import_post_meta', ['Elementor\Compatibility', 'on_wp_import_post_meta']);
            }

            return self::$instance;
        }

        private function setup_globals()
        {
            $this->file = __FILE__;

            /* base name. */
            $this->basename = plugin_basename($this->file);

            /* base plugin. */
            $this->plugin_dir = plugin_dir_path($this->file);
            $this->plugin_url = plugin_dir_url($this->file);

            /* base assets. */
            $this->assets_dir = trailingslashit($this->plugin_dir . 'assets');
            $this->assets_url = trailingslashit($this->plugin_url . 'assets');

            $this->theme_dir = trailingslashit(get_template_directory() . '/inc/demo-data');
            $this->theme_url = trailingslashit(get_template_directory_uri() . '/inc/demo-data');

        }

        function swa_ie_menu_handle()
        {
            $current_theme = wp_get_theme();
            if (class_exists('CMS_PORTAL') && is_child_theme()) {
                $current_theme = $current_theme->parent();
            }
            $this->theme_name = $current_theme->get('Name');
            $this->theme_text_domain = $current_theme->get('TextDomain');
            if (class_exists('CmssuperheroesCore') || class_exists('Elementor_Theme_Core')) {
                add_submenu_page($this->theme_text_domain, esc_html__('Import Demo', SWA_TEXT_DOMAIN), esc_html__('Import Demo', SWA_TEXT_DOMAIN), 'manage_options', 'swa-import', array($this, 'swa_import_demo_page'));
            } else {
                add_submenu_page('tools.php', esc_html__('Import Demo', SWA_TEXT_DOMAIN), esc_html__('Import Demo', SWA_TEXT_DOMAIN), 'manage_options', 'swa-import', array($this, 'swa_import_demo_page'));
            }
        }

        public function swa_import_demo_page()
        {
            $export_mode = $this->swa_ie_enable_export_mode();
            include_once swa_ie()->plugin_dir . 'templates/import-page.php';
        }


        function swa_ie_enable_export_mode()
        {
            return apply_filters('swa_ie_export_mode', false);
        }

        private function includes()
        {
            global $wp_filesystem;

            add_action('admin_menu', array($this, 'swa_ie_menu_handle'), 100);
            add_action('admin_enqueue_scripts', array($this, 'swa_ie_enqueue_scripts'));

            add_action('wp_ajax_swa_before_reset', [$this, 'before_reset']);

            /**
             * Add WP_Filesystem Class
             *
             */
            if (!class_exists('WP_Filesystem')) {
                require_once(ABSPATH . 'wp-admin/includes/file.php');
                WP_Filesystem();
            }


            // Load Importer API
            require_once ABSPATH . 'wp-admin/includes/import.php';

            if (!class_exists('WP_Importer'))
                require_once ABSPATH . 'wp-admin/includes/class-wp-importer.php';


            require_once ABSPATH . 'wp-admin/includes/post.php';

            require_once ABSPATH . 'wp-admin/includes/comment.php';

            require_once ABSPATH . 'wp-admin/includes/media.php';

            require_once ABSPATH . 'wp-admin/includes/image.php';

            require_once ABSPATH . 'wp-admin/includes/taxonomy.php';

            // include WXR file parsers
            require swa_ie()->plugin_dir . 'includes/api/parsers.php';

            /* class WP_Import not exists */
            if (!class_exists('SWA_Import'))
                require_once swa_ie()->plugin_dir . 'includes/api/wordpress-importer.php';

            /**
             * Require extra functions file
             */
            require_once $this->plugin_dir . 'includes/extra-functions.php';
            /**
             * Require export contents handle
             */
            require_once $this->plugin_dir . 'includes/export.php';

            /**
             * Require import contents handle
             */
            require_once $this->plugin_dir . 'includes/import-contents.php';

            /**
             * Require media handle
             */
            require_once $this->plugin_dir . 'includes/attachments.php';

            /**
             * Require zip file and download handle
             */
            require_once $this->plugin_dir . 'includes/zip-file-and-download.php';

            /**
             * Require widget handle
             */
            require_once $this->plugin_dir . 'includes/widgets.php';

            /**
             * Require theme options handle
             */
            require_once $this->plugin_dir . 'includes/settings.php';


            /**
             * Require wp options handle
             */
            require_once $this->plugin_dir . 'includes/options.php';


            /**
             * Require wp options handle
             */
            require_once $this->plugin_dir . 'includes/revslider.php';

            /**
             * Require wp options handle
             */
            require_once $this->plugin_dir . 'includes/events-manager.php';


            /**
             * Require clear tmp folder
             */
            require_once $this->plugin_dir . 'includes/clear-folder.php';


            /**
             * Require term handlers
             */
            require_once $this->plugin_dir . 'includes/term-handlers.php';

            /**
             * Require woocommerce attributes handles
             */
            require_once $this->plugin_dir . 'includes/woo_attributes_handles.php';

            /**
             * Require git sync
             */
            require_once $this->plugin_dir . 'includes/git.php';


            /**
             * Require reset demo data
             */
            require_once $this->plugin_dir . 'includes/wp-reset.php';


            /**
             * Add SWA_Import_Export_redirect_handle Class
             *
             */
            if (!class_exists('SWA_Import_Export_handle')) {
                require_once($this->plugin_dir . 'includes/import-export-handle.php');
                new SWA_Import_Export_handle();
            }

        }

        private function setup_actions()
        {
        }

        function pp_load_textdomain()
        {
            $language_folder = basename(dirname(__FILE__)) . '/languages';
            load_plugin_textdomain(SWA_TEXT_DOMAIN, false, $language_folder);
        }


        function get_all_demo_folder()
        {

            if (!is_dir($this->theme_dir))
                return false;

            $files = scandir($this->theme_dir, 1);

            return array_diff($files, array('..', '.', 'attachment'));
        }

        function swa_ie_enqueue_scripts()
        {
            if (isset($_REQUEST['page']) && $_REQUEST['page'] === 'swa-import') {
                wp_enqueue_style('swa-ie.css', $this->plugin_url . 'assets/swa-ie.css');
                wp_enqueue_script('swa-ie.js', $this->plugin_url . 'assets/swa-ie.js', array(), 'all', true);
                wp_localize_script('swa-ie.js', 'swa_ie', [
                    'ajax_url' => admin_url('admin-ajax.php'),
                ]);
            }
        }

        function before_reset()
        {
            // Deactivate all plugins exclude swa import export
            if (!function_exists('get_plugins')) {
                require_once ABSPATH . 'wp-admin/includes/plugin.php';
            }
            if (!function_exists('request_filesystem_credentials')) {
                require_once ABSPATH . 'wp-admin/includes/file.php';
            }

            $swa_ie_basename = plugin_basename(SWA_IE_FILE);

            $active_plugins = (array)get_option('active_plugins', array());
            if (($key = array_search($swa_ie_basename, $active_plugins)) !== false) {
                unset($active_plugins[$key]);
            }

            if (!empty($active_plugins)) {
                deactivate_plugins($active_plugins, true, false);
            }

            wp_send_json_success();
            exit;
        }
    }

    function swa_ie()
    {
        return SWA_Import_Export::instance();
    }

    $GLOBALS['swa_ie'] = swa_ie();
}