function snapshot_get_blog_restore_info() { global $wpdb; //echo "POST<pre>"; print_r($_POST); echo "</pre>"; $blog_id = 0; $json_data = array(); $home_path = apply_filters('snapshot_home_path', get_home_path()); if (isset($_POST['snapshot_blog_id_search'])) { $snapshot_blog_id_search = esc_attr($_POST['snapshot_blog_id_search']); $PHP_URL_SCHEME = parse_url($snapshot_blog_id_search, PHP_URL_SCHEME); if (!empty($PHP_URL_SCHEME)) { $snapshot_blog_id_search = str_replace($PHP_URL_SCHEME . "://", '', $snapshot_blog_id_search); } if (intval($snapshot_blog_id_search) != 0) { $blog_id = intval($snapshot_blog_id_search); } else { $current_domain = apply_filters('snapshot_current_domain', DOMAIN_CURRENT_SITE); $current_path = apply_filters('snapshot_current_path', PATH_CURRENT_SITE); if (is_subdomain_install()) { if (!empty($snapshot_blog_id_search)) { // $full_domain = $snapshot_blog_id_search . "." . $current_domain . $current_path; $full_domain = $snapshot_blog_id_search . "." . $current_domain; } else { // $full_domain = $current_domain . $current_path; $full_domain = $current_domain; } $sql_str = $wpdb->prepare("SELECT blog_id FROM {$wpdb->blogs} WHERE domain = %s LIMIT 1", $full_domain); } else { $snapshot_blog_id_search_path = trailingslashit($snapshot_blog_id_search); if ('/' == $snapshot_blog_id_search_path) { $snapshot_blog_id_search_path = ''; } $sql_str = $wpdb->prepare("SELECT blog_id FROM {$wpdb->blogs} WHERE domain = %s AND path = %s LIMIT 1", $current_domain, $current_path . $snapshot_blog_id_search_path); } //echo "sql_str=[". $sql_str ."]<br />"; $blog = $wpdb->get_row($sql_str); if (isset($blog->blog_id) && intval($blog->blog_id) > 0) { $blog_id = intval($blog->blog_id); } else { if (!$blog) { if (function_exists('is_plugin_active') && is_plugin_active('domain-mapping/domain-mapping.php')) { $sql_str = $wpdb->prepare("SELECT blog_id FROM " . $wpdb->prefix . "domain_mapping WHERE domain = %s LIMIT 1", $snapshot_blog_id_search); //echo "sql_str=[". $sql_str ."]<br />"; $blog = $wpdb->get_row($sql_str); if (isset($blog->blog_id) && intval($blog->blog_id) > 0) { $blog_id = intval($blog->blog_id); } } } } } } if ($blog_id > 0) { $json_data['blog'] = get_blog_details($blog_id); if (function_exists('is_plugin_active') && is_plugin_active('domain-mapping/domain-mapping.php')) { $sql_str = $wpdb->prepare("SELECT domain FROM " . $wpdb->prefix . "domain_mapping WHERE blog_id = %d AND active=1 LIMIT 1", $blog_id); //echo "sql_str=[". $sql_str ."]<br />"; $mapped_domain = $wpdb->get_row($sql_str); if (isset($mapped_domain->domain) && !empty($mapped_domain->domain)) { $json_data['mapped_domain'] = $mapped_domain->domain; } } switch_to_blog(intval($blog_id)); $json_data['WP_DB_BASE_PREFIX'] = $wpdb->base_prefix; $json_data['WP_DB_PREFIX'] = $wpdb->get_blog_prefix($blog_id); $json_data['WP_DB_NAME'] = Snapshot_Helper_Utility::get_db_name(); $uploads = wp_upload_dir(); if (isset($uploads['basedir'])) { $uploads['basedir'] = str_replace('\\', '/', $uploads['basedir']); $json_data['WP_UPLOAD_PATH'] = str_replace($home_path, '', $uploads['basedir']); } restore_current_blog(); } echo json_encode($json_data); die; }