* @link https://www.8therate.com * @since 1.0.0 */ if (!defined('ABSPATH')) { exit; // Exit if accessed directly. } if (!class_exists('AoneImportDemoData')) { class AoneImportDemoData { public static $_instance; public static function instance() { if (!isset(static::$_instance)) { static::$_instance = new static; } return static::$_instance; } public function __construct() { add_action('after_setup_theme', array($this, 'hooks'), 5); // $this->hooks(); } public function hooks() { if ('y' == get_theme_mod('import_demo_data_completed', 'n')) { add_filter('ocdi/plugin_intro_text', array($this, 'ocdi_plugin_intro_text_1')); return; // Demo Data already imported } // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once get_template_directory() . '/inc/class-tgm-plugin-activation.php'; add_action('tgmpa_register', array($this, 'tgmpa_register')); add_filter('ocdi/import_files', array($this, 'ocdi_import_files')); add_filter('ocdi/register_plugins', array($this, 'ocdi_register_plugins')); add_action('ocdi/after_import', array($this, 'ocdi_after_import')); add_action('admin_footer', array($this, 'admin_footer')); } public function ocdi_plugin_intro_text_1($text) { ob_start(); ?>

'One Click Demo Import', 'slug' => 'one-click-demo-import', 'required' => false, ), array( 'name' => 'Elementor', 'slug' => 'elementor', 'required' => false, ), array( 'name' => 'Elementor Header & Footer Builder', 'slug' => 'header-footer-elementor', 'required' => false, ), array( 'name' => 'Contact Form 7', 'slug' => 'contact-form-7', 'required' => false, ), array( 'name' => 'Contact Form 7 Database Addon - CFDB7', 'slug' => 'contact-form-cfdb7', 'required' => false, ), ); /* * Array of configuration settings. Amend each line as needed. */ $config = array( 'id' => 'aone', // Unique ID for hashing notices for multiple instances of TGMPA. 'default_path' => '', // Default absolute path to bundled plugins. 'menu' => 'tgmpa-install-plugins', // Menu slug. 'has_notices' => true, // Show admin notices or not. 'dismissable' => true, // If false, a user cannot dismiss the nag message. 'dismiss_msg' => '', // If 'dismissable' is false, this message will be output at top of nag. 'is_automatic' => false, // Automatically activate plugins after installation or not. 'message' => '', // Message to output right before the plugins table. ); tgmpa($plugins, $config); } public function ocdi_import_files($files = array()) { // delete_option('aone_import_files_data'); $import_files_data = get_option('aone_import_files_data'); if (empty($import_files_data)) { $response = wp_remote_get('https://demo.8therate.com/wp-content/uploads/import-data/free-demos.json'); $import_files_data = json_decode(wp_remote_retrieve_body($response), true); if (!empty($import_files_data)) { update_option('aone_import_files_data', $import_files_data, false); } else { $import_files_data = array(); } } return $import_files_data; } public function ocdi_register_plugins($plugins = array()) { if (!isset($_GET['import'])) { return $plugins; } $import = absint($_GET['import']); $ocdi_import_files = $this->ocdi_import_files(); if (!isset($ocdi_import_files[$import]['plugins'])) { return $plugins; } return array_merge($plugins, $ocdi_import_files[$import]['plugins']); } public function ocdi_after_import() { // Mark demo import completed set_theme_mod('import_demo_data_completed', 'y'); // remove import file data delete_option('aone_import_files_data'); // Assign menus to their locations. $main_menu = get_term_by('name', 'Main Menu', 'nav_menu'); if (isset($main_menu->term_id)) { set_theme_mod( 'nav_menu_locations', array('menu-1' => $main_menu->term_id) ); } // Get the front page. $front_page = get_posts(array( 'post_type' => 'page', 'title' => 'Home', 'numberposts' => 1, )); // Get the blog page. $blog_page = get_posts(array( 'post_type' => 'page', 'title' => 'Blog', 'numberposts' => 1, )); if (!empty($front_page)) { update_option('page_on_front', $front_page[0]->ID); } if (!empty($blog_page)) { update_option('page_for_posts', $blog_page[0]->ID); } if (!empty($front_page) || !empty($blog_page)) { update_option('show_on_front', 'page'); } // Reset Permalink Settings global $wp_rewrite; if (isset($wp_rewrite)) { $wp_rewrite->set_permalink_structure('\/%postname%\/'); // Write the rule update_option('rewrite_rules', false); // Set the option rewrite_rules $wp_rewrite->flush_rules(true); // Flush the rules and tell it to write htaccess } // Get the elementor_library Demo Kit. $elementor_kit = get_posts(array( 'post_type' => 'elementor_library', 'title' => 'Demo Kit', 'numberposts' => 1, )); if (!empty($elementor_kit)) { $elementor_instance = \Elementor\Plugin::instance(); // Update active elementor_library kit $elementor_instance->kits_manager->revert( 0, $elementor_kit[0]->ID, $elementor_instance->kits_manager->get_active_id() ); // Elementor clear cache $elementor_instance->files_manager->clear_cache(); } } public function admin_footer() { /* * Custom Css for one-click-demo-import admin page */ if (isset($_GET['page']) && $_GET['page'] == 'one-click-demo-import') { ?>