Exemplo n.º 1
0
function snapshot_utility_get_database_table_meta($table_name, $blog_id=0, $site_id=1) {
	global $wpdb;

	if (($blog_id) && ($blog_id != $wpdb->blogid)) {
		$wpdb->set_blog_id($blog_id);
	}

	if ( is_multisite() ) {
		$db_name = snapshot_utility_get_db_name();
		if (!$db_name) $db_name = DB_NAME;
		$wpdb_prefix = str_replace('_', '\_', $wpdb->prefix);
	} else {
		$db_name = DB_NAME;
		$wpdb_prefix = str_replace('_', '\_', $wpdb->prefix);
	}

	$table_meta_sql = "SELECT * FROM information_schema.TABLES WHERE table_schema = '". $db_name ."' AND table_name = '". $table_name ."'";
	//echo "table_meta_sql[". $table_meta_sql ."]<br />";
	$result = $wpdb->get_row($table_meta_sql);
	//echo "result<pre>"; print_r($result); echo "</pre>";
	return $result;
}
Exemplo n.º 2
0
 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_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;
 }