function porto_import() { global $wpdb, $porto_settings; if (current_user_can('manage_options') && isset($_GET['import_sample_content'])) { if (!defined('WP_LOAD_IMPORTERS')) { define('WP_LOAD_IMPORTERS', true); } // we are loading importers if (!class_exists('WP_Importer')) { // if main importer class doesn't exist $wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php'; include $wp_importer; } if (!class_exists('WP_Import')) { // if WP importer doesn't exist $wp_import = porto_plugins . '/importer/wordpress-importer.php'; include $wp_import; } if (class_exists('WP_Importer') && class_exists('WP_Import')) { // check for main import class and wp import class // update visual composer content types update_option('wpb_js_content_types', array('post', 'page', 'block', 'faq', 'member', 'portfolio')); $importer = new WP_Import(); // Import Woocommerce Products if (class_exists('WooCommerce')) { // update woocommerce image sizes $catalog = array('width' => '300', 'height' => '400', 'crop' => 1); $single = array('width' => '500', 'height' => '666', 'crop' => 1); $thumbnail = array('width' => '90', 'height' => '90', 'crop' => 1); // Image sizes add_image_size('shop_thumbnail', $thumbnail['width'], $thumbnail['height'], $thumbnail['crop']); add_image_size('shop_catalog', $catalog['width'], $catalog['height'], $catalog['crop']); add_image_size('shop_single', $single['width'], $single['height'], $single['crop']); $theme_xml = porto_plugins . '/importer/data/dummy_data_with_woo.xml.gz'; $importer->fetch_attachments = true; ob_start(); $importer->import($theme_xml); ob_end_clean(); // Set woocommerce pages $woopages = array('woocommerce_shop_page_id' => 'Shop', 'woocommerce_cart_page_id' => 'Cart', 'woocommerce_checkout_page_id' => 'Checkout', 'woocommerce_myaccount_page_id' => 'My Account'); foreach ($woopages as $woo_page_name => $woo_page_title) { $woopage = get_page_by_title($woo_page_title); if (isset($woopage) && $woopage->ID) { update_option($woo_page_name, $woopage->ID); // Front Page } } // We no longer need to install pages $notices = array_diff(get_option('woocommerce_admin_notices', array()), array('install', 'update')); update_option('woocommerce_admin_notices', $notices); delete_option('_wc_needs_pages'); delete_transient('_wc_activation_redirect'); // Flush rules after install flush_rewrite_rules(); } else { $theme_xml = porto_plugins . '/importer/data/dummy_data_without_woo.xml.gz'; $importer->fetch_attachments = true; ob_start(); $importer->import($theme_xml); ob_end_clean(); } // Set imported menus to registered theme locations $locations = get_theme_mod('nav_menu_locations'); // registered menu locations in theme $menus = wp_get_nav_menus(); // registered menus if ($menus) { foreach ($menus as $menu) { // assign menus to theme locations if ($menu->name == 'Main Menu') { $locations['main_menu'] = $menu->term_id; } else { if ($menu->name == 'Top Navigation') { $locations['top_nav'] = $menu->term_id; } else { if ($menu->name == 'View Switcher') { $locations['view_switcher'] = $menu->term_id; } else { if ($menu->name == 'Currency Switcher') { $locations['currency_switcher'] = $menu->term_id; } } } } } } set_theme_mod('nav_menu_locations', $locations); // set menus to locations // Add widgets $widgets_json = porto_plugins_uri . '/importer/data/widget_data.json'; $widgets_json = wp_remote_get($widgets_json); $widget_data = $widgets_json['body']; $import_widgets = porto_import_widget_data($widget_data); // Set reading options if (!isset($porto_settings)) { $page_title = 'Home Version 1'; } else { if (!isset($porto_settings['theme-type'])) { $page_title = 'Home Version 1'; } else { if ($porto_settings['theme-type'] == '_rtl') { $page_title = 'Home RTL Version'; } else { if (!$porto_settings['theme-type']) { $page_title = 'Home Version 1'; } else { $page_title = 'Home Version ' . str_replace('_', '', $porto_settings['theme_type']); } } } } $homepage = get_page_by_title($page_title); $posts_page = get_page_by_title('Blog'); if ($homepage->ID && $posts_page->ID) { update_option('show_on_front', 'page'); update_option('page_on_front', $homepage->ID); // Front Page update_option('page_for_posts', $posts_page->ID); // Blog Page } // Import master slider if (class_exists('MSP_Importer') && $porto_settings['import-master']) { for ($i = 1; $i < 6; $i++) { $master_slider_json = porto_plugins_uri . '/importer/data/master_slider_' . $i . '.json'; $master_slider_json = wp_remote_get($master_slider_json); $master_slider_json = $master_slider_json['body']; $master_slider_importer = new MSP_Importer(); ob_start(); $master_slider_importer->import_data($master_slider_json); ob_end_clean(); } } // finally redirect to success page wp_redirect(admin_url('admin.php?page=porto_settings&import_success=true')); exit; } } }
function porto_import() { global $wpdb, $porto_settings; if (current_user_can('manage_options') && isset($_GET['page']) && $_GET['page'] == 'porto_settings') { if (isset($_GET['import_sample_content'])) { if (!defined('WP_LOAD_IMPORTERS')) { define('WP_LOAD_IMPORTERS', true); } // we are loading importers if (!class_exists('WP_Importer')) { // if main importer class doesn't exist $wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php'; include $wp_importer; } if (!class_exists('WP_Import')) { // if WP importer doesn't exist $wp_import = porto_plugins . '/importer/wordpress-importer.php'; include $wp_import; } if (class_exists('WP_Importer') && class_exists('WP_Import')) { // check for main import class and wp import class // update visual composer content types update_option('wpb_js_content_types', array('post', 'page', 'block', 'faq', 'member', 'portfolio')); $importer = new WP_Import(); // update woocommerce image sizes $catalog = array('width' => '300', 'height' => '400', 'crop' => 1); $single = array('width' => '500', 'height' => '666', 'crop' => 1); $thumbnail = array('width' => '90', 'height' => '90', 'crop' => 1); // Image sizes add_image_size('shop_thumbnail', $thumbnail['width'], $thumbnail['height'], $thumbnail['crop']); add_image_size('shop_catalog', $catalog['width'], $catalog['height'], $catalog['crop']); add_image_size('shop_single', $single['width'], $single['height'], $single['crop']); $theme_xml = porto_plugins . '/importer/data/dummy_data.xml'; $importer->fetch_attachments = true; ob_start(); $importer->import($theme_xml); ob_end_clean(); // Set woocommerce pages $woopages = array('woocommerce_shop_page_id' => 'Shop', 'woocommerce_cart_page_id' => 'Cart', 'woocommerce_checkout_page_id' => 'Checkout', 'woocommerce_myaccount_page_id' => 'My Account'); foreach ($woopages as $woo_page_name => $woo_page_title) { $woopage = get_page_by_title($woo_page_title); if (isset($woopage) && $woopage->ID) { update_option($woo_page_name, $woopage->ID); // Front Page } } // We no longer need to install pages $notices = array_diff(get_option('woocommerce_admin_notices', array()), array('install', 'update')); update_option('woocommerce_admin_notices', $notices); delete_option('_wc_needs_pages'); delete_transient('_wc_activation_redirect'); // Set imported menus to registered theme locations $locations = get_theme_mod('nav_menu_locations'); // registered menu locations in theme $menus = wp_get_nav_menus(); // registered menus if ($menus) { foreach ($menus as $menu) { // assign menus to theme locations if ($menu->name == 'Main Menu') { $locations['main_menu'] = $menu->term_id; } else { if ($menu->name == 'Top Navigation') { $locations['top_nav'] = $menu->term_id; } else { if ($menu->name == 'View Switcher') { $locations['view_switcher'] = $menu->term_id; } else { if ($menu->name == 'Currency Switcher') { $locations['currency_switcher'] = $menu->term_id; } } } } } } set_theme_mod('nav_menu_locations', $locations); // set menus to locations // Set reading options $homepage = get_page_by_title('Home'); $posts_page = get_page_by_title('Blog'); if ($homepage && $homepage->ID || $posts_page && $posts_page->ID) { update_option('show_on_front', 'page'); if ($homepage && $homepage->ID) { update_option('page_on_front', $homepage->ID); // Front Page } if ($posts_page && $posts_page->ID) { update_option('page_for_posts', $posts_page->ID); // Blog Page } } // Add sidebar widget areas $sidebars = array('Shortcodes' => 'Shortcodes'); update_option('sbg_sidebars', $sidebars); flush_rewrite_rules(); // finally redirect to success page wp_redirect(admin_url('admin.php?page=porto_settings&import_success=true')); } } if (isset($_GET['import_masterslider'])) { // Import master sliders if (class_exists('MSP_Importer')) { $slider_alias = get_masterslider_names('alias'); for ($i = 1; $i < PORTO_MASTERSLIDER_COUNT; $i++) { if (isset($slider_alias['ms-' . $i]) && $slider_alias['ms-' . $i]) { } else { ob_start(); include porto_plugins . '/importer/data/master_slider_' . $i . '.json'; $master_slider_data = ob_get_clean(); $master_slider_importer = new MSP_Importer(); ob_start(); $master_slider_importer->import_data($master_slider_data); ob_end_clean(); } } } flush_rewrite_rules(); // finally redirect to success page wp_redirect(admin_url('admin.php?page=porto_settings&import_masterslider_success=true')); } if (isset($_GET['import_font'])) { if (get_option('smile_fonts', false)) { // Import Simple Line Icon Font $paths = wp_upload_dir(); $paths['fonts'] = 'smile_fonts'; $paths['temp'] = trailingslashit($paths['fonts']) . 'smile_temp'; $paths['fontdir'] = trailingslashit($paths['basedir']) . $paths['fonts']; $paths['tempdir'] = trailingslashit($paths['basedir']) . $paths['temp']; $paths['fonturl'] = set_url_scheme(trailingslashit($paths['baseurl']) . $paths['fonts']); $paths['tempurl'] = trailingslashit($paths['baseurl']) . trailingslashit($paths['temp']); $paths['config'] = 'charmap.php'; $sli_fonts = trailingslashit($paths['basedir']) . $paths['fonts'] . '/Simple-Line-Icons'; $sli_fonts_dir = porto_plugins . '/importer/data/Simple-Line-Icons/'; // Make destination directory if (!is_dir($sli_fonts)) { wp_mkdir_p($sli_fonts); } @chmod($sli_fonts, 0777); foreach (glob($sli_fonts_dir . '*') as $file) { $new_file = basename($file); @copy($file, $sli_fonts . '/' . $new_file); } $fonts = get_option('smile_fonts'); if (empty($fonts)) { $fonts = array(); } $fonts['Simple-Line-Icons'] = array('include' => trailingslashit($paths['fonts']) . 'Simple-Line-Icons', 'folder' => trailingslashit($paths['fonts']) . 'Simple-Line-Icons', 'style' => 'Simple-Line-Icons' . '/' . 'Simple-Line-Icons' . '.css', 'config' => $paths['config']); update_option('smile_fonts', $fonts); flush_rewrite_rules(); // finally redirect to success page wp_redirect(admin_url('admin.php?page=porto_settings&import_font_success=true')); } else { flush_rewrite_rules(); // finally redirect to success page wp_redirect(admin_url('admin.php?page=porto_settings&import_font_success=false')); } } if (isset($_GET['import_widget'])) { // Import widgets ob_start(); include porto_plugins . '/importer/data/widget_data.json'; $widget_data = ob_get_clean(); porto_import_widget_data($widget_data); flush_rewrite_rules(); // finally redirect to success page wp_redirect(admin_url('admin.php?page=porto_settings&import_widget_success=true')); } if (isset($_GET['import_theme_options'])) { $demo = $_GET['import_theme_options']; ob_start(); include porto_plugins . '/importer/data/theme_options' . $demo . '.php'; $theme_options = ob_get_clean(); $options = json_decode($theme_options, true); $redux = ReduxFrameworkInstances::get_instance('porto_settings'); $redux->set_options($options); porto_compile_css(true); porto_save_theme_settings(); // Set reading options if (!$demo) { $page_title = 'Home'; } else { if ($demo == '_rtl') { $page_title = 'Home RTL Version'; } else { $page_title = 'Home Version ' . str_replace('_', '', $demo); } } $homepage = get_page_by_title($page_title); $posts_page = get_page_by_title('Blog'); if ($homepage && $homepage->ID || $posts_page && $posts_page->ID) { update_option('show_on_front', 'page'); if ($homepage && $homepage->ID) { update_option('page_on_front', $homepage->ID); // Front Page } if ($posts_page && $posts_page->ID) { update_option('page_for_posts', $posts_page->ID); // Blog Page } } flush_rewrite_rules(); // finally redirect to success page wp_redirect(admin_url('admin.php?page=porto_settings&import_options_success=true')); } } }