aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Lib/Libzot.php9
-rw-r--r--include/network.php20
2 files changed, 27 insertions, 2 deletions
diff --git a/Zotlabs/Lib/Libzot.php b/Zotlabs/Lib/Libzot.php
index a6db9e431..9b4b05878 100644
--- a/Zotlabs/Lib/Libzot.php
+++ b/Zotlabs/Lib/Libzot.php
@@ -2116,6 +2116,11 @@ class Libzot {
$item_found = false;
$post_id = 0;
+ $m = parse_url($item['mid']);
+ unset($m['fragment']);
+ $normalised = unparse_url($m);
+
+
// reactions such as like and dislike could have an mid with /activity/ in it.
// Check for both forms in order to prevent duplicates.
@@ -2124,8 +2129,8 @@ class Libzot {
dbesc($sender),
dbesc($sender),
dbesc($sender),
- dbesc($item['mid']),
- dbesc(str_replace('/activity/', '/item/', $item['mid'])),
+ dbesc($normalised),
+ dbesc(str_replace('/activity/', '/item/', $normalised)),
intval($uid)
);
diff --git a/include/network.php b/include/network.php
index d9d534cd7..750d56ac3 100644
--- a/include/network.php
+++ b/include/network.php
@@ -2061,3 +2061,23 @@ function get_request_string($url) {
return '/' . ((count($a) > 3) ? $a[3] : EMPTY_STR);
}
+
+
+/*
+ *
+ * Takes the output of parse_url and builds a URL from it
+ *
+ */
+
+function unparse_url($parsed_url) {
+ $scheme = isset($parsed_url['scheme']) ? $parsed_url['scheme'] . '://' : '';
+ $host = isset($parsed_url['host']) ? $parsed_url['host'] : '';
+ $port = isset($parsed_url['port']) ? ':' . $parsed_url['port'] : '';
+ $user = isset($parsed_url['user']) ? $parsed_url['user'] : '';
+ $pass = isset($parsed_url['pass']) ? ':' . $parsed_url['pass'] : '';
+ $pass = ($user || $pass) ? "$pass@" : '';
+ $path = isset($parsed_url['path']) ? $parsed_url['path'] : '';
+ $query = isset($parsed_url['query']) ? '?' . $parsed_url['query'] : '';
+ $fragment = isset($parsed_url['fragment']) ? '#' . $parsed_url['fragment'] : '';
+ return "$scheme$user$pass$host$port$path$query$fragment";
+}