From b8b53e97b516d88259f7a16cf5ef49586fa3afd4 Mon Sep 17 00:00:00 2001
From: lechuck <l3chuck@autistici.org>
Date: Sun, 14 Apr 2013 19:20:57 +0000
Subject: [PATCH] Moved mysql host to tcp and function refactoring

---
 db-backends.php | 39 +++++++++++++++++++++++++++------------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/db-backends.php b/db-backends.php
index 7cd26af..44180a2 100644
--- a/db-backends.php
+++ b/db-backends.php
@@ -1,5 +1,10 @@
 <?php
 
+function noblogs_split_db($file) {
+    $db_url = trim(file_get_contents($file));
+    return parse_url($db_url);
+}
+
 function noblogs_load_backends($db_config_file, $hashptr) {
   global $wpdb;
 
@@ -35,16 +40,26 @@ function noblogs_load_backends($db_config_file, $hashptr) {
   return $backend_map;
 }
 
-function noblogs_load_master($master_file) {
-  $master_url = trim(file_get_contents($master_file));
-  $mdata = parse_url($master_url);
-  return array(
-      "host" => $mdata["host"] . ":" . $mdata["port"],
-      "user" => $mdata["user"],
-      "password" => $mdata["pass"],
-      "name" => substr($mdata["path"], 1),
-      "dataset" => "global",
-      "read" => 0, "write" => 1, "timeout" => 10
-      );
+function noblogs_load_global_dataset($master_file, $ip_file) {
+    global $wpdb;
+    $mdata = noblogs_split_db($master_file);
+    $ldata = trim(file_get_contents($ip_file));
+    $globaldb = array(
+        "host" => $mdata["host"] . ":" . $mdata["port"],
+        "user" => $mdata["user"],
+        "password" => $mdata["pass"],
+        "name" => substr($mdata["path"], 1),
+        "dataset" => "global",
+        "read" => 1, "write" => 1, "timeout" => 2
+    );
+    if ($mdata['host'] == $ldata) {
+        $wpdb->add_database($globaldb);
+    } else {
+        $globaldb['read'] = 0;
+        $wpdb->add_database($globaldb);
+        $globaldb['host'] = $ldata;
+        $globaldb['read'] = 1;
+        $globaldb['write'] = 0;
+        $wpdb->add_database($globaldb);
+    }
 }
-
-- 
GitLab