File: /home/roshanchandy/public_html/buildmydesign.in/wp-content/plugins/dzimport/dzimport.php
<?php
/**
* Plugin Name: DZImport
* Plugin URI: http://dexignlab.com
* Description: DZ Import helping to create demo data package and setup demo data for clients site.
* Version: 1.3
* Author: DexignZone
* Author URI: http://dexignlab.com
* License: GPLv2
* Text Domain: dzimport
*/
if (!defined('ABSPATH')) {
exit();
}
define('SWA_TEXT_DOMAIN', 'dzimport');
/* Khelesh: import */
require_once 'vendor/autoload.php';
if (!class_exists('DZ_Import')) {
/**
* Main Class DZ_Import
*
* @since 1.0.0
*
* @description: Public DZ_Import:: or GLOBAL swa_ie()
*
* @author: DexignZone
*
* @create: 15 November, 2017
*/
class DZ_Import
{
public $file;
public $basename;
public $plugin_dir;
public $plugin_url;
public $assets_dir;
public $assets_url;
public $theme_dir;
public $theme_url;
public static $instance;
/**
* @return DZ_Import
*/
public static function instance()
{
if (is_null(self::$instance)) {
self::$instance = new DZ_Import();
self::$instance->setup_globals();
self::$instance->includes();
self::$instance->setup_actions();
}
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'); */
// $this->theme_url = "http://pendownnews.com/demo-data";
$this->theme_dir = trailingslashit($this->plugin_dir . 'inc/demo-data');
$this->theme_url = trailingslashit($this->plugin_url . 'inc/demo-data');
}
function dz_ie_menu_handle()
{
$current_theme = wp_get_theme();
$this->theme_name = $current_theme->get('Name');
$this->theme_text_domain = $current_theme->get('TextDomain');
if (class_exists('DzThemeSupport') && class_exists('Visva_Menu_Handle')) {
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->dz_ie_enable_export_mode();
include_once swa_ie()->plugin_dir . 'templates/import-page.php';
}
function dz_ie_enable_export_mode()
{
return apply_filters('dz_ie_export_mode', false);
}
private function includes()
{
global $wp_filesystem;
add_action('admin_menu', array($this, 'dz_ie_menu_handle'),100);
add_action('admin_enqueue_scripts', array($this, 'dz_ie_enqueue_scripts'));
add_filter('dz_ie_export_mode', function () {
return true;
});
/**
* 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('WP_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 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 git sync
*/
require_once $this->plugin_dir . 'includes/git.php';
/**
* Require reset demo data
*/
require_once $this->plugin_dir . 'includes/wp-reset.php';
/**
* Add DZ_Import_redirect_handle Class
*
*/
if (!class_exists('DZ_Import_handle')) {
require_once($this->plugin_dir . 'includes/import-export-handle.php');
new DZ_Import_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 dz_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);
}
}
}
function swa_ie()
{
return DZ_Import::instance();
}
$GLOBALS['swa_ie'] = swa_ie();
}