Merge pull request #8388 from annando/fetch

Additional logging and additional path for fetching posts
This commit is contained in:
Tobias Diekershoff 2020-03-09 07:20:13 +01:00 committed by GitHub
commit d6ed0068e6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1476,7 +1476,8 @@ class Diaspora
public static function fetchByURL($url, $uid = 0)
{
// Check for Diaspora (and Friendica) typical paths
if (!preg_match("=(https?://.+)/(?:posts|display)/([a-zA-Z0-9-_@.:%]+[a-zA-Z0-9])=i", $url, $matches)) {
if (!preg_match("=(https?://.+)/(?:posts|display|objects)/([a-zA-Z0-9-_@.:%]+[a-zA-Z0-9])=i", $url, $matches)) {
Logger::info('Invalid url', ['url' => $url]);
return false;
}
@ -1484,15 +1485,20 @@ class Diaspora
$item = Item::selectFirst(['id'], ['guid' => $guid, 'uid' => $uid]);
if (DBA::isResult($item)) {
Logger::info('Found', ['id' => $item['id']]);
return $item['id'];
}
self::storeByGuid($guid, $matches[1], $uid);
Logger::info('Fetch GUID from origin', ['guid' => $guid, 'server' => $matches[1]]);
$ret = self::storeByGuid($guid, $matches[1], $uid);
Logger::info('Result', ['ret' => $ret]);
$item = Item::selectFirst(['id'], ['guid' => $guid, 'uid' => $uid]);
if (DBA::isResult($item)) {
Logger::info('Found', ['id' => $item['id']]);
return $item['id'];
} else {
Logger::info('Not found', ['guid' => $guid, 'uid' => $uid]);
return false;
}
}