]> git.mxchange.org Git - friendica.git/commitdiff
Clean gcontact url before saving in gcontact table
authorMichael Vogel <icarus@dabo.de>
Sat, 16 Apr 2016 13:22:54 +0000 (15:22 +0200)
committerMichael Vogel <icarus@dabo.de>
Sat, 16 Apr 2016 13:22:54 +0000 (15:22 +0200)
include/socgraph.php

index 33d62dc5b9abba5030c28706ab53237c9b76ab7d..8942d8be0c8f1b763275f1b362cb1f7c931e7afe 100644 (file)
@@ -1354,6 +1354,29 @@ function poco_discover_server($data, $default_generation = 0) {
        return $success;
 }
 
+/**
+ * @brief Removes unwanted parts from a contact url
+ *
+ * @param string $url Contact url
+ * @return string Contact url with the wanted parts
+ */
+function clean_contact_url($url) {
+        $parts = parse_url($url);
+
+        if (!isset($parts["scheme"]) OR !isset($parts["host"]))
+                return $url;
+
+        $new_url = $parts["scheme"]."://".$parts["host"];
+
+        if (isset($parts["port"]))
+                $new_url .= ":".$parts["port"];
+
+        if (isset($parts["path"]))
+                $new_url .= $parts["path"];
+
+        return $new_url;
+}
+
 /**
  * @brief Fetch the gcontact id, add an entry if not existed
  *
@@ -1367,6 +1390,8 @@ function get_gcontact_id($contact) {
        if ($contact["network"] == NETWORK_STATUSNET)
                $contact["network"] = NETWORK_OSTATUS;
 
+       $contact["url"] = clean_contact_url($contact["url"]);
+
        $r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 2",
                dbesc(normalise_link($contact["url"])));