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 | |
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
-rw-r--r-- | Zotlabs/Lib/Activity.php | 13 | ||||
-rw-r--r-- | Zotlabs/Lib/ActivityStreams.php | 7 | ||||
-rw-r--r-- | view/tpl/channel_activities.tpl | 4 |
3 files changed, 21 insertions, 3 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); + } diff --git a/view/tpl/channel_activities.tpl b/view/tpl/channel_activities.tpl index a675f71db..242fc519a 100644 --- a/view/tpl/channel_activities.tpl +++ b/view/tpl/channel_activities.tpl @@ -1,9 +1,9 @@ <div class="mb-1 text-uppercase"> <a href="{{$url}}"><i class="fa fa-fw fa-{{$icon}} generic-icons-nav"></i>{{$label}}</a> </div> -<div class="row mb-3"> +<div class="row row-cols-1 row-cols-sm-3 g-4 mb-4"> {{foreach $items as $i}} - <div class="col-sm-4 mb-3"> + <div class="col"> <div class="card"> <a href="{{$i.url}}" class="text-dark"> <div class="card-body"> |