private static $baseurl;
private static $istimeout;
+ /**
+ * Remove stuff from an URI that doesn't belong there
+ *
+ * @param string $URI
+ * @return string Cleaned URI
+ */
+ public static function cleanURI(string $URI)
+ {
+ // At first remove leading and trailing junk
+ $URI = trim($URI, "@#?:/ \t\n\r\0\x0B");
+
+ $parts = parse_url($URI);
+
+ if (empty($parts['scheme'])) {
+ return $URI;
+ }
+
+ // Remove the URL fragment, since these shouldn't be part of any profile URL
+ unset($parts['fragment']);
+
+ $URI = Network::unparseURL($parts);
+
+ return $URI;
+ }
+
/**
* Rearrange the array so that it always has the same order
*
private static function rearrangeData($data)
{
$fields = ["name", "nick", "guid", "url", "addr", "alias", "photo", "account-type",
- "community", "keywords", "location", "about", "gender", "hide",
+ "community", "keywords", "location", "about", "hide",
"batch", "notify", "poll", "request", "confirm", "poco",
"following", "followers", "inbox", "outbox", "sharedinbox",
"priority", "network", "pubkey", "baseurl"];
if (!empty($profile['description'])) {
$data['about'] = $profile['description'];
}
- if (!empty($profile['gender'])) {
- $data['gender'] = $profile['gender'];
- }
if (!empty($profile['keywords'])) {
$keywords = implode(', ', $profile['keywords']);
if (!empty($keywords)) {
$data["about"] = $json["about"];
}
- if (!empty($json["gender"])) {
- $data["gender"] = $json["gender"];
- }
-
if (!empty($json["key"])) {
$data["pubkey"] = $json["key"];
}