<?php function noblogs_load_backends($db_config_file, $hashptr) { global $wpdb; $backend_map = array(); $fp = @fopen($db_config_file, "r"); if (!$fp) { die("Database backends not configured!"); } while (($line = fgets($fp, 1024)) !== false) { if ($line[0] == '#') { continue; } $line_parts = explode(" ", rtrim($line)); $server_id = $line_parts[0]; $dataset = "backend_" . $server_id; $backend_url = $line_parts[2]; $backend_url_data = parse_url($backend_url); $backend = array( "host" => $backend_url_data["host"] . ":" . $backend_url_data["port"], "user" => $backend_url_data["user"], "password" => $backend_url_data["pass"], "name" => substr($backend_url_data["path"], 1), "dataset" => $dataset, "read" => 1, "write" => 1, "timeout" => 2 ); $wpdb->add_database($backend); $hashptr->addTarget($dataset); $backend_map[$dataset] = $backend; } fclose($fp); return $backend_map; }