ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-16 06:02:27
Editing: setup-wizard.php
Cancel
Save Changes
<?php if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Complete Setup Wizard */ function seedprod_lite_complete_setup_wizard() { if ( check_ajax_referer( 'seedprod_lite_complete_setup_wizard' ) ) { if ( ! current_user_can( apply_filters( 'seedprod_lpage_capability', 'edit_others_posts' ) ) ) { wp_send_json_error(); } $wizard_id = isset( $_POST['wizard_id'] ) ? wp_unslash( $_POST['wizard_id'] ) : null; // get the wizard data with id and token. $site_token = get_option( 'seedprod_token' ); $data = array( 'wizard_id' => $wizard_id, 'site_token' => $site_token, ); $headers = array(); // Build the headers of the request. $headers = wp_parse_args( $headers, array( 'Accept' => 'application/json', ) ); $url = SEEDPROD_API_URL . 'get-wizard-data'; $response = wp_remote_post( $url, array( 'body' => $data, 'headers' => $headers, ) ); $status_code = wp_remote_retrieve_response_code( $response ); // manually install code if error. if ( is_wp_error( $response ) ) { $response = array( 'status' => 'false', 'ip' => seedprod_lite_get_ip(), 'msg' => $response->get_error_message(), ); wp_send_json( $response ); } if ( 200 !== $status_code ) { $response = array( 'status' => 'false', 'ip' => seedprod_lite_get_ip(), 'msg' => $response['response']['message'], ); wp_send_json( $response ); } $body = wp_remote_retrieve_body( $response ); if ( ! empty( $body ) ) { $body = json_decode( $body ); } // store the wizard id and data locally. $onboarding = $body->onboarding; // store the wizard verify plugins. update_option( 'seedprod_verify_wizard_options', $onboarding->options ); // set tracking if they have opted in. if ( ! empty( $onboarding->allow_usagetracking ) ) { update_option( 'seedprod_allow_usage_tracking', true ); } // free templates. if ( ! empty( $onboarding->email ) ) { update_option( 'seedprod_free_templates_subscribed', true ); } // get template type that was setup in the onboarding. $type = 'lp'; if ( ! empty( $onboarding->sp_type ) ) { $type = $onboarding->sp_type; } // create a landoing page. if ( $type == 'lp' || $type == 'cs' || $type == 'mm' || $type == 'p404' || $type == 'loginp' ) { // install themplate. $cpt = 'page'; // seedprod ctp types. $cpt_types = array( 'cs', 'mm', 'p404', 'header', 'footer', 'part', 'page', ); if ( in_array( $type, $cpt_types ) ) { $cpt = 'seedprod'; } // base page settings. require_once SEEDPROD_PLUGIN_PATH . 'resources/data-templates/basic-page.php'; $basic_settings = json_decode( $seedprod_basic_lpage, true ); $basic_settings['is_new'] = true; $basic_settings['page_type'] = $type; // slug. if ( 'cs' == $type ) { $slug = 'sp-cs'; $lpage_name = $slug; $basic_settings['no_conflict_mode'] = true; } if ( 'mm' == $type ) { $slug = 'sp-mm'; $lpage_name = $slug; $basic_settings['no_conflict_mode'] = true; } if ( 'p404' == $type ) { $slug = 'sp-p404'; $lpage_name = $slug; $basic_settings['no_conflict_mode'] = true; } if ( 'loginp' == $type ) { $slug = 'sp-login'; $lpage_name = $slug; $basic_settings['no_conflict_mode'] = true; } // insert page code. $code = ''; if ( ! empty( $onboarding->code ) ) { $code = base64_decode( $onboarding->code ); } $code = json_decode( $code, true ); // merge in code. if ( ! empty( $slug ) ) { $basic_settings['post_title'] = $slug; $basic_settings['post_name'] = $slug; } $basic_settings['template_id'] = intval( $onboarding->template_id ); if ( 99999 != $onboarding->template_id ) { unset( $basic_settings['document'] ); if ( is_array( $code ) ) { $new_settings = $basic_settings + $code; } } $id = wp_insert_post( array( 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_content' => '', 'post_status' => 'draft', 'post_title' => 'seedprod', 'post_type' => $cpt, 'post_name' => $slug, 'post_content_filtered' => wp_json_encode( $new_settings ), 'meta_input' => array( '_seedprod_page' => true, '_seedprod_page_uuid' => wp_generate_uuid4(), '_seedprod_page_template_type' => $type, ), ), true ); // update pointer. // record coming soon page_id. if ( 'cs' == $type ) { update_option( 'seedprod_coming_soon_page_id', $id ); } if ( 'mm' == $type ) { update_option( 'seedprod_maintenance_mode_page_id', $id ); } if ( 'p404' == $type ) { update_option( 'seedprod_404_page_id', $id ); } if ( 'loginp' == $type ) { update_option( 'seedprod_login_page_id', $id ); } // If landing page set a temp name. if ( 'lp' == $type ) { if ( is_numeric( $id ) ) { $lpage_name = esc_html__( 'New Page', 'coming-soon' ) . " (ID #$id)"; } else { $lpage_name = esc_html__( 'New Page', 'coming-soon' ); } } wp_update_post( array( 'ID' => $id, 'post_title' => $lpage_name, ) ); } // install theme if theme is the type. if ( $type == 'websitebuilder' || $type == 'woocommerce' ) { $template_id = $onboarding->template_id; if ( function_exists( 'seedprod_lite_theme_import' ) ) { seedprod_lite_theme_import( $template_id ); } } // install plugins. $reponse = array( 'status' => 'true', 'type' => $type, 'id' => $id, 'options' => $onboarding->options, ); wp_send_json_success( $reponse ); } } // Install Plugins Request During Setup. // function seedprod_lite_complete_setup_wizard_plugins(){ // if( !empty( $_GET['site_token'] ) ){ // $site_token = get_option( 'seedprod_token' ); // if( $_GET['site_token'] == $site_token ){ // if ( !empty( $_GET['seedprod_verify'] ) ) { // $seedprod_verify = json_decode( wp_unslash( urldecode( $_GET['seedprod_verify'] ) ) ); // if we get here see what plugins the user wants to install. // $paths_map = array( // 'rafflepress' => 'rafflepress/rafflepress.php', // 'allinoneseo' => 'all-in-one-seo-pack/all_in_one_seo_pack.php', // 'ga' => 'google-analytics-for-wordpress/googleanalytics.php', // 'wpforms' => 'wpforms-lite/wpforms.php', // 'optinmonster' => 'optinmonster/optin-monster-wp-api.php', // ); // $options = get_option('seedprod_verify_wizard_options'); // if ( ! empty( $options ) ) { // $options = json_decode( $options ); // foreach($options as $p){ // if(in_array($p,$seedprod_verify)){ // if(!empty($paths_map[$p])){ // $plugin = $paths_map[$p]; // error_log($plugin); // } // } // } // } // exit(); // } // } // } // } // add_action( 'init', 'seedprod_lite_complete_setup_wizard_plugins' ); function seedprod_lite_install_addon_setup() { // Run a security check. check_ajax_referer( 'seedprod_lite_install_addon_setup', 'nonce' ); // Check for permissions. if ( ! current_user_can( 'install_plugins' ) ) { wp_send_json_error(); } // if we get here see what plugins the user wants to install. $paths_map = array( 'rafflepress' => array( 'slug' => 'rafflepress/rafflepress.php', 'url' => 'https://downloads.wordpress.org/plugin/rafflepress.zip', ), 'allinoneseo' => array( 'slug' => 'all-in-one-seo-pack/all_in_one_seo_pack.php', 'url' => 'https://downloads.wordpress.org/plugin/all-in-one-seo-pack.zip', ), 'ga' => array( 'slug' => 'google-analytics-for-wordpress/googleanalytics.php', 'url' => 'https://downloads.wordpress.org/plugin/google-analytics-for-wordpress.zip', ), 'wpforms' => array( 'slug' => 'wpforms-lite/wpforms.php', 'url' => 'https://downloads.wordpress.org/plugin/wpforms-lite.zip', ), 'optinmonster' => array( 'slug' => 'optinmonster/optin-monster-wp-api.php', 'url' => 'https://downloads.wordpress.org/plugin/optinmonster.zip', ), ); $options = get_option( 'seedprod_verify_wizard_options' ); $options = json_decode( $options ); // this allows us to do one at a time. if ( isset( $_POST['plugin'] ) ) { $plugin = sanitize_text_field( wp_unslash( $_POST['plugin'] ) ); $options = array( $plugin ); } $install_plugins = array(); $all_plugins = get_plugins(); // purge options to make sure we don't install plugin with conflicts. if ( in_array( 'allinoneseo', $options ) ) { if ( isset( $all_plugins['all-in-one-seo-pack/all_in_one_seo_pack.php'] ) || isset( $all_plugins['all-in-one-seo-pack-pro/all_in_one_seo_pack.php'] ) || isset( $all_plugins['seo-by-rank-math/rank-math.php'] ) || isset( $all_plugins['wordpress-seo/wp-seo.php'] ) || isset( $all_plugins['wordpress-seo-premium/wp-seo-premium.php'] ) || isset( $all_plugins['autodescription/autodescription.php'] ) ) { if ( ( $key = array_search( 'allinoneseo', $options ) ) !== false ) { unset( $options[ $key ] ); } } } if ( in_array( 'rafflepress', $options ) ) { if ( isset( $all_plugins['rafflepress/rafflepress.php'] ) || isset( $all_plugins['rafflepress-pro/rafflepress-pro.php'] ) ) { if ( ( $key = array_search( 'rafflepress', $options ) ) !== false ) { unset( $options[ $key ] ); } } } if ( in_array( 'wpforms', $options ) ) { if ( isset( $all_plugins['wpforms-lite/wpforms.php'] ) || isset( $all_plugins['wpforms/wpforms.php'] ) ) { if ( ( $key = array_search( 'wpforms', $options ) ) !== false ) { unset( $options[ $key ] ); } } } if ( in_array( 'monsterinsights', $options ) ) { if ( isset( $all_plugins['google-analytics-for-wordpress/googleanalytics.php'] ) || isset( $all_plugins['google-analytics-premium/googleanalytics-premium.php'] ) ) { if ( ( $key = array_search( 'monsterinsights', $options ) ) !== false ) { unset( $options[ $key ] ); } } } // install plugins. if ( ! empty( $options ) ) { foreach ( $options as $p ) { if ( ! empty( $paths_map[ $p ] ) ) { $plugin = $paths_map[ $p ]['slug']; $download_url = $paths_map[ $p ]['url']; global $hook_suffix; // Set the current screen to avoid undefined notices. set_current_screen(); // Prepare variables. $method = ''; $url = add_query_arg( array( 'page' => 'seedprod_lite', ), admin_url( 'admin.php' ) ); $url = esc_url( $url ); // Start output bufferring to catch the filesystem form if credentials are needed. $creds = request_filesystem_credentials( $url, $method, false, false, null ); if ( false === $creds ) { wp_send_json_error(); } // If we are not authenticated, make it happen now. if ( ! WP_Filesystem( $creds ) ) { request_filesystem_credentials( $url, $method, true, false, null ); $form = ob_get_clean(); return; } // We do not need any extra credentials if we have gotten this far, so let's install the plugin. require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; global $wp_version; if ( version_compare( $wp_version, '5.3.0' ) >= 0 ) { require_once SEEDPROD_PLUGIN_PATH . 'app/includes/skin53.php'; } else { require_once SEEDPROD_PLUGIN_PATH . 'app/includes/skin.php'; } // Create the plugin upgrader with our custom skin. ob_start(); $installer = new Plugin_Upgrader( new SeedProd_Skin() ); $installer->install( $download_url ); $output = ob_get_clean(); // Flush the cache and return the newly installed plugin basename. wp_cache_flush(); if ( $installer->plugin_info() ) { $plugin_basename = $installer->plugin_info(); $install_plugins[] = $plugin_basename; } } } } // activate plugins. foreach ( $install_plugins as $ip ) { activate_plugin( $ip, '', false, true ); } wp_send_json_success( $install_plugins ); }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete