From 363322ba78f3bba4c651c12b6ea1704fcc3ae31a Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 10 Jul 2017 22:35:32 +0000 Subject: [PATCH] Issue 3571 and Diaspora mail bugfix --- include/diaspora.php | 16 ++++++++++++---- src/Network/Probe.php | 6 ++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 762018b17..58a77dca8 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -1529,6 +1529,8 @@ class Diaspora { $person = self::person_by_handle($msg_author); + dba::lock('mail'); + $r = q("SELECT `id` FROM `mail` WHERE `guid` = '%s' AND `uid` = %d LIMIT 1", dbesc($msg_guid), intval($importer["uid"]) @@ -1556,6 +1558,8 @@ class Diaspora { dbesc($msg_created_at) ); + dba::unlock(); + q("UPDATE `conv` SET `updated` = '%s' WHERE `id` = %d", dbesc(datetime_convert()), intval($conversation["id"]) @@ -1832,6 +1836,12 @@ class Diaspora { return false; } + $body = diaspora2bb($text); + + $body = self::replace_people_guid($body, $person["url"]); + + dba::lock('mail'); + $r = q("SELECT `id` FROM `mail` WHERE `guid` = '%s' AND `uid` = %d LIMIT 1", dbesc($guid), intval($importer["uid"]) @@ -1841,10 +1851,6 @@ class Diaspora { return false; } - $body = diaspora2bb($text); - - $body = self::replace_people_guid($body, $person["url"]); - q("INSERT INTO `mail` (`uid`, `guid`, `convid`, `from-name`,`from-photo`,`from-url`,`contact-id`,`title`,`body`,`seen`,`reply`,`uri`,`parent-uri`,`created`) VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, '%s','%s','%s')", intval($importer["uid"]), @@ -1863,6 +1869,8 @@ class Diaspora { dbesc($created_at) ); + dba::unlock(); + q("UPDATE `conv` SET `updated` = '%s' WHERE `id` = %d", dbesc(datetime_convert()), intval($conversation["id"]) diff --git a/src/Network/Probe.php b/src/Network/Probe.php index f0bb17dac..9b559304d 100644 --- a/src/Network/Probe.php +++ b/src/Network/Probe.php @@ -827,6 +827,12 @@ class Probe { } } + foreach ($webfinger["aliases"] as $alias) { + if (substr($alias, 0, 5) == 'acct:') { + $data["addr"] = substr($alias, 5); + } + } + if (!isset($data["network"]) || ($hcard_url == "")) { return false; }