Beispiel #1
0
function processRestoringBackup($url, $zipmode)
{
    wpa_cleanup(true);
    if (!is_string($url) || '' == $url) {
        wpa_backup_error('restore', sprintf(__('The provided URL "<code>%s</code>" is either not valid or empty'), $url), true);
    }
    global $wp_filesystem;
    $GLOBALS['wpclone']['logfile'] = 'wpclone_restore_' . current_time('dS_M_Y_h-iA', false) . '_' . wp_generate_password(10, false) . '.log';
    wpa_wpc_log_start('restore');
    if ($zipmode) {
        define('PCLZIP_TEMPORARY_DIR', WPCLONE_DIR_BACKUP);
    }
    $temp_dir = wpa_wpc_temp_dir();
    $site_url = site_url();
    $permalink_url = admin_url('options-permalink.php');
    $zipfile = wpa_fetch_file($url);
    $report = wpa_wpc_process_db($zipfile, $zipmode);
    $unzipped_folder = wpCloneSafePathMode(trailingslashit($temp_dir) . 'wpclone_backup');
    wpa_unzip($zipfile, $temp_dir, $zipmode);
    wpa_wpc_log('copying files..');
    wpa_copy($unzipped_folder . '/wp-content', WPCLONE_WP_CONTENT);
    wpa_wpc_log('deleting temp directory..');
    $wp_filesystem->delete($temp_dir, true);
    /* remove the zip file only if it was downloaded from an external location. */
    $wptmp = explode('.', $zipfile);
    if (in_array('tmp', $wptmp)) {
        wpa_wpc_log('deleting downloaded zip file..');
        $wp_filesystem->delete($zipfile);
    }
    wpa_wpc_log('restore finished');
    echo '<div class="width-60"><h1>Restore Successful!</h1>';
    printf('Visit your restored site [ <a href="%s" target=blank>here</a> ]<br><br>', $site_url);
    printf('<strong>You may need to re-save your permalink structure <a href="%s" target=blank>Here</a></strong>', $permalink_url);
    printf('</br><a href="%s">log</a>', convertPathIntoUrl(WPCLONE_DIR_BACKUP . $GLOBALS['wpclone']['logfile']));
    unset($GLOBALS['wpclone']);
    echo wpa_wpc_search_n_replace_report($report);
}
Beispiel #2
0
function wpa_wpc_ajax_search_n_replace()
{
    check_ajax_referer('wpclone-ajax-submit', 'nonce');
    global $wpdb;
    $search = isset($_POST['search']) ? $_POST['search'] : '';
    $replace = isset($_POST['replace']) ? $_POST['replace'] : '';
    if (empty($search) || empty($replace)) {
        echo '<p class="error">Search and Replace values cannot be empty.</p>';
        wp_die();
    }
    wpa_bump_limits();
    $report = wpa_safe_replace_wrapper($search, $replace, $wpdb->prefix);
    echo wpa_wpc_search_n_replace_report($report);
    wp_die();
}