Uname: Linux premium294.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
Software: LiteSpeed
PHP version: 8.1.32 [ PHP INFO ] PHP os: Linux
Server Ip: 104.21.48.1
Your Ip: 216.73.216.223
User: mjbynoyq (1574) | Group: mjbynoyq (1570)
Safe Mode: OFF
Disable Function:
NONE

name : demo-import.php
<?php

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

class DustrialDemoimport {

    public function __construct(){
        // Action Hook
        add_action( 'pt-ocdi/after_content_import_execution', array( $this, 'johanspond_theme_options_import' ), 3, 99 );
        add_action( 'pt-ocdi/after_import', array( $this, 'johanspond_import_menu_setup' ) );
        add_action( 'pt-ocdi/after_import', array( $this, 'johanspond_import_page_setup' ) );
        add_action( 'pt-ocdi/after_import', array( $this, 'johanspond_import_page_setup' ) );
        // Filter Hook
        add_filter( 'pt-ocdi/import_files', array( $this, 'johanspond_import_files' ) );
        add_filter( 'pt-ocdi/plugin_page_setup', array( $this, 'johanspond_oneclick_admin_page' ) );
        add_filter( 'pt-ocdi/plugin_intro_text', array( $this, 'johanspond_ocdi_plugin_intro_text' ) );
        add_filter( 'pt-ocdi/disable_pt_branding', '__return_true' );
        add_filter( 'pt-ocdi/confirmation_dialog_options', array( $this, 'geoport_ocdi_confirmation_dialog_options' ), 10, 1 );
    }

    /**
    * Demo containes file loading methos
    */
    public function johanspond_import_files() {
        return array(
            //Home 1 Setup
            array(
                'import_file_name'             => 'Import Demo',
                'categories'                   => array( 'Import Demo', 'Import Demo' ),
                'local_import_file'            => trailingslashit( DUSTRIAL_PLG_DEMO_PATH ) . 'demo/demo-content.xml',
                'local_import_widget_file'     => trailingslashit( DUSTRIAL_PLG_DEMO_PATH ) . 'demo/widgets.wie',
                'local_import_customizer_file' => trailingslashit( DUSTRIAL_PLG_DEMO_PATH ) . 'demo/customizer.dat',
                'local_import_csf'             => array(
                    array(
                        'file_path'   => trailingslashit( DUSTRIAL_PLG_DEMO_PATH ) . 'demo/options.txt',
                        'option_name' => '_dustrial_options',
                    ),
                ),
                'import_notice'                => __( 'Are you sure? you want to setup home as a front page ?', 'dustrial-master' ),
            ),
        );
    }


    /**
    * Assign CodeStar Framework import data
    */
    public function johanspond_theme_options_import( $selected_import_files, $import_files, $selected_index ) {

        if ( !class_exists( 'DUSTRIALFramework' ) ) {
            return;
        }

        function cs_decode_string( $string ) {
            return unserialize( $string );
        }

        $downloader = new OCDI\Downloader();

        if( ! empty( $import_files[$selected_index]['local_import_csf'] ) ) {

            foreach( $import_files[$selected_index]['local_import_csf'] as $index => $import ) {
                $file_path = $import['file_path'];
                $file_raw  = OCDI\Helpers::data_from_file( $file_path );
                update_option( $import['option_name'], cs_decode_string( $file_raw, true ) );
            }
        }
        // Put info to log file.
        $ocdi       = OCDI\OneClickDemoImport::get_instance();
        $log_path   = $ocdi->get_log_file_path();

        OCDI\Helpers::append_to_file( 'Codestar Framework files loaded.'. $logs, $log_path );
    }


    /**
    * Assign menus to their locations.
    */
    public function johanspond_import_menu_setup( $selected_import ) {
        $main_menu = get_term_by( 'name', 'Main Menu', 'nav_menu' );

        set_theme_mod( 'nav_menu_locations', array(
                'primary' => $main_menu->term_id,
            )
        );
    }


    /**
    * Assign front page and posts page (blog page).
    */
    public function johanspond_import_page_setup( $selected_import ) {

        // Assign front page and posts page (blog page).

        $front_page_id = get_page_by_title( 'Home' );

        update_option( 'show_on_front', 'page' );
        update_option( 'page_on_front', $front_page_id->ID );

        $blog_page_id  = get_page_by_title( 'Blog' );
        update_option( 'page_for_posts', $blog_page_id->ID );

    }


    /**
    * Install Demos Menu - Menu Edited
    */
    public function johanspond_oneclick_admin_page( $default_settings ) {
        $default_settings['parent_slug'] = 'themes.php';
        $default_settings['page_title']  = esc_html__( 'Install Demos', 'dustrial-master' );
        $default_settings['menu_title']  = esc_html__( 'Install Demos', 'dustrial-master' );
        $default_settings['capability']  = 'import';
        $default_settings['menu_slug']   = 'install_demos';
        return $default_settings;
    }


    // Model Popup - Width Increased
    public function geoport_ocdi_confirmation_dialog_options ( $options ) {
      return array_merge( $options, array(
        'width'       => 600,
        'dialogClass' => 'wp-dialog',
        'resizable'   => false,
        'height'      => 'auto',
        'modal'       => true,
      ) );
    }


    public function johanspond_ocdi_plugin_intro_text( $default_text ) {
        $auto_install = admin_url('themes.php?page=install_demos');
        $manual_install = admin_url('themes.php?page=install_demos&import-mode=manual');
        $default_text .= '<h1>Install Demos</h1>
        <div class="geoport-core_intro-text vtdemo-one-click">
        <div id="poststuff">

        <div class="postbox important-notes">
        <h3><span style="margin-left: 25px">Important notes:</span></h3>
        <div class="inside">
        <ol>
        <li>Please note, this import process will take time. So, please be patient.</li>
        <li>Please make sure you\'ve installed recommended plugins before you import this content.</li>
        <li>All images are demo purposes only. So, images may repeat in your site content.</li>
        </ol>
        </div>
        </div>

        <div class="nav-tab-wrapper vt-nav-tab">
        <a href="'. $auto_install .'" class="nav-tab vt-mode-switch vt-auto-mode nav-tab-active">Auto Import</a>
        <a href="'. $manual_install .'" class="nav-tab vt-mode-switch vt-manual-mode">Manual Import</a>
        </div>

        </div>
        </div>';

        return $default_text;
    }

} //End Of Class

function dustrial_demo_importer_init(){
    $johanspond_init = new DustrialDemoimport(); //Initialization of class
}
add_action('plugins_loaded', 'dustrial_demo_importer_init');
© 2025 XylotrechusZ