diff options
author | Mario <mario@mariovavti.com> | 2022-08-30 13:51:59 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2022-08-30 13:51:59 +0000 |
commit | 6421a32520588af4506f108036bb8ccaa9621465 (patch) | |
tree | 69f4b0e59146675e25d7df88f82031033853d1c1 /Zotlabs/Lib | |
parent | fdcae5274043ce23fd8f6721e0484bc731975430 (diff) | |
download | volse-hubzilla-6421a32520588af4506f108036bb8ccaa9621465.tar.gz volse-hubzilla-6421a32520588af4506f108036bb8ccaa9621465.tar.bz2 volse-hubzilla-6421a32520588af4506f108036bb8ccaa9621465.zip |
fix issue where an unkown diaspora author was not imported if the comment arrived via a relayed activity and a minor css fix
Diffstat (limited to 'Zotlabs/Lib')
-rw-r--r-- | Zotlabs/Lib/Activity.php | 13 | ||||
-rw-r--r-- | Zotlabs/Lib/ActivityStreams.php | 7 |
2 files changed, 19 insertions, 1 deletions
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index caeb1db4b..b400ffd61 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -3874,6 +3874,19 @@ class Activity { return $hookdata['actor']; } + static function get_unknown_actor($act) { + + // try other get_actor providers (e.g. diaspora) + $hookdata = [ + 'activity' => $act, + 'actor' => null + ]; + + call_hooks('get_actor_provider', $hookdata); + + return $hookdata['actor']; + } + static function get_actor_hublocs($url, $options = 'all') { switch ($options) { diff --git a/Zotlabs/Lib/ActivityStreams.php b/Zotlabs/Lib/ActivityStreams.php index e77b501b3..c0b07bfb5 100644 --- a/Zotlabs/Lib/ActivityStreams.php +++ b/Zotlabs/Lib/ActivityStreams.php @@ -308,20 +308,25 @@ class ActivityStreams { function get_actor($property, $base = '', $namespace = '') { $x = $this->get_property_obj($property, $base, $namespace); + if ($this->is_url($x)) { $y = Activity::get_cached_actor($x); if ($y) { return $y; } } + $actor = $this->get_compound_property($property, $base, $namespace, true); + if (is_array($actor) && self::is_an_actor($actor['type'])) { if (array_key_exists('id', $actor) && (!array_key_exists('inbox', $actor))) { $actor = $this->fetch_property($actor['id']); } return $actor; } - return null; + + return Activity::get_unknown_actor($this->data); + } |