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 19:36:27
Editing: upgrade.php
Cancel
Save Changes
<?php if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Ajax handler for grabbing the upgrade url. */ function seedprod_lite_upgrade_license() { check_ajax_referer( 'seedprod_lite_upgrade_license' ); // Check for permissions. if ( ! current_user_can( 'install_plugins' ) ) { wp_send_json_error( array( 'message' => esc_html__( 'You are not allowed to install plugins.', 'coming-soon' ) ) ); } // Check for local dev sites. // if (seedprod_lite_is_dev_url(home_url())) { // wp_send_json_success(array( // 'url' => 'https://www.seedprod.com/docs/go-lite-pro/#manual-upgrade', // )); // } // Check for a license key. $license_key = seedprod_lite_get_api_key(); if ( empty( $license_key ) ) { wp_send_json_error( array( 'message' => esc_html__( 'You are not licensed.', 'coming-soon' ) ) ); } $url = esc_url_raw( add_query_arg( array( 'page' => 'seedprod_lite', ), admin_url( 'admin.php' ) ) ); // Verify pro version is not installed. $active = activate_plugin( 'seedprod-coming-soon-pro-5/seedprod-coming-soon-pro-5.php', false, false, true ); if ( ! is_wp_error( $active ) ) { // Deactivate plugin. // deactivate_plugins(plugin_basename('seedprod-coming-soon-pro-5/seedprod-coming-soon-pro-5.php')); wp_send_json_error( array( 'message' => esc_html__( 'Pro version is already installed.', 'coming-soon' ), 'reload' => true, ) ); } // Verifiy licnese key. $license = seedprod_lite_save_api_key( $license_key ); // Redirect. $oth = hash( 'sha512', wp_rand() ); $hashed_oth = hash_hmac( 'sha512', $oth, wp_salt() ); update_option( 'seedprod_one_click_upgrade', $oth ); $version = SEEDPROD_VERSION; $file = $license['body']->download_link; $siteurl = admin_url(); $endpoint = admin_url( 'admin-ajax.php' ); $redirect = admin_url( 'admin.php?page=seedprod_lite#/settings' ); $url = add_query_arg( array( 'api_token' => get_option( 'seedprod_api_token' ), 'license_key' => $license_key, 'oth' => $hashed_oth, 'endpoint' => $endpoint, 'version' => $version, 'siteurl' => $siteurl, 'redirect' => rawurldecode( base64_encode( $redirect ) ), 'file' => rawurldecode( base64_encode( $file ) ), ), SEEDPROD_WEB_API_URL . 'upgrade-free-to-pro' ); wp_send_json_success( array( 'url' => $url, ) ); } add_action( 'wp_ajax_seedprod_upgrade_license', 'seedprod_upgrade_license' ); /** * Endpoint for one-click upgrade. */ function seedprod_lite_run_one_click_upgrade() { $error = esc_html__( 'Could not install upgrade. Please download from seedprod.com and install manually.', 'coming-soon' ); // verify params present (oth & download link). $post_oth = ! empty( $_REQUEST['oth'] ) ? sanitize_text_field( $_REQUEST['oth'] ) : ''; $post_url = ! empty( $_REQUEST['file'] ) ? $_REQUEST['file'] : ''; if ( empty( $post_oth ) || empty( $post_url ) ) { wp_send_json_error( $error ); } // Verify oth. $oth = get_option( 'seedprod_one_click_upgrade' ); if ( empty( $oth ) ) { wp_send_json_error( $error ); } if ( hash_hmac( 'sha512', $oth, wp_salt() ) !== $post_oth ) { wp_send_json_error( $error ); } // Delete so cannot replay. delete_option( 'seedprod_one_click_upgrade' ); // Set the current screen to avoid undefined notices. set_current_screen( 'insights_page_seedprod_settings' ); // Prepare variables. $url = esc_url_raw( add_query_arg( array( 'page' => 'seedprod-settings', ), admin_url( 'admin.php' ) ) ); // Verify pro not activated. if ( is_plugin_active( 'seedprod-coming-soon-pro-5/seedprod-coming-soon-pro-5.php' ) ) { deactivate_plugins( plugin_basename( 'coming-soon/coming-soon.php' ) ); wp_send_json_success( esc_html__( 'Plugin installed & activated.', 'coming-soon' ) ); } // Verify pro not installed. $active = activate_plugin( 'seedprod-coming-soon-pro-5/seedprod-coming-soon-pro-5.php', $url, false, true ); if ( ! is_wp_error( $active ) ) { deactivate_plugins( plugin_basename( 'coming-soon/coming-soon.php' ) ); wp_send_json_success( esc_html__( 'Plugin installed & activated.', 'coming-soon' ) ); } $creds = request_filesystem_credentials( $url, '', false, false, null ); // Check for file system permissions. if ( false === $creds ) { wp_send_json_error( $error ); } if ( ! WP_Filesystem( $creds ) ) { wp_send_json_error( $error ); } // 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'; 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'; } // Do not allow WordPress to search/download translations, as this will break JS output. remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 ); // Create the plugin upgrader with our custom skin. $installer = new Plugin_Upgrader( $skin = new SeedProd_Skin() ); // Error check. if ( ! method_exists( $installer, 'install' ) ) { wp_send_json_error( $error ); } // Check license key. $license_key = seedprod_lite_get_api_key(); if ( empty( $license_key ) ) { wp_send_json_error( new WP_Error( '403', esc_html__( 'You are not licensed.', 'coming-soon' ) ) ); } $license = seedprod_lite_save_api_key( $license_key ); if ( empty( $license['body']->download_link ) ) { wp_send_json_error(); } $installer->install($license['body']->download_link); // phpcs:ignore // Flush the cache and return the newly installed plugin basename. wp_cache_flush(); if ( $installer->plugin_info() ) { $plugin_basename = $installer->plugin_info(); // Deactivate the lite version first. deactivate_plugins( plugin_basename( 'coming-soon/coming-soon.php' ) ); // Activate the plugin silently. $activated = activate_plugin( $plugin_basename, '', false, true ); if ( ! is_wp_error( $activated ) ) { wp_send_json_success( esc_html__( 'Plugin installed & activated.', 'coming-soon' ) ); } else { // Reactivate the lite plugin if pro activation failed. activate_plugin( plugin_basename( 'coming-soon/coming-soon.php' ), '', false, true ); wp_send_json_error( esc_html__( 'Pro version installed but needs to be activated from the Plugins page inside your WordPress admin.', 'coming-soon' ) ); } } wp_send_json_error( $error ); }
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