From 324b8e849f54e559ac21594bd7cc7a3a5dfbaacc Mon Sep 17 00:00:00 2001 From: Ghostie Date: Thu, 9 Jan 2025 18:49:13 -0500 Subject: [PATCH] obtaining actors from mentions and more pagination --- app/Http/Controllers/HomeController.php | 5 +++++ app/Types/TypeActor.php | 4 +++- app/Types/TypeNote.php | 20 +++++++++++++------- resources/views/posts/show.blade.php | 2 +- resources/views/users/requests.blade.php | 8 ++++++-- 5 files changed, 28 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index ee82dde..d87ca9c 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -10,6 +10,8 @@ use App\Models\Actor; use App\Models\Note; use App\Models\Hashtag; +use App\Helpers\PaginationHelper; + use GuzzleHttp\Client; use Illuminate\Http\Request; @@ -127,6 +129,9 @@ class HomeController extends Controller $sent_requests[] = $actor; } + $received_requests = PaginationHelper::paginate (collect ($received_requests), 20, "received"); + $sent_requests = PaginationHelper::paginate (collect ($sent_requests), 20, "sent"); + return view ("users.requests", compact ("user", "received_requests", "sent_requests")); } diff --git a/app/Types/TypeActor.php b/app/Types/TypeActor.php index e0828dd..8c612db 100644 --- a/app/Types/TypeActor.php +++ b/app/Types/TypeActor.php @@ -206,6 +206,9 @@ class TypeActor { $instance->save (); } + // we need to save the model first + $actor->save (); + ProfileAttachment::where ("actor_id", $actor->id)->delete (); foreach ($request ["attachment"] as $attachment) { @@ -245,7 +248,6 @@ class TypeActor { $actor = new Actor (); TypeActor::update_from_request ($actor, $request); - $actor->save (); return $actor; } diff --git a/app/Types/TypeNote.php b/app/Types/TypeNote.php index 05cc9ab..fe01061 100644 --- a/app/Types/TypeNote.php +++ b/app/Types/TypeNote.php @@ -182,20 +182,26 @@ class TypeNote case "Mention": $mention_name = $tag["name"]; + $exploded_name = explode ("@", $mention_name); $mention_actor = null; - $actor_exists = Actor::where ("local_actor_id", $mention_name)->first (); - if (!$actor_exists) + $actor_exists = null; + Log::info (json_encode ($exploded_name)); + + if (count ($exploded_name) == 2) { // let's check if maybe it's local - $processed_name = explode ("@", $mention_name); - if (count ($processed_name) < 2) - continue; - - $actor_exists = Actor::where ("preferredUsername", $processed_name [1])->first (); + $actor_exists = Actor::where ("preferredUsername", $exploded_name [1])->first (); if (!$actor_exists) continue; } + else if (count ($exploded_name) == 3) + { + // maybe it's remote + $actor_exists = TypeActor::actor_exists_or_obtain_from_handle($exploded_name [1], $exploded_name [2]); + } + else + continue; $mention = NoteMention::create ([ "note_id" => $note->id, diff --git a/resources/views/posts/show.blade.php b/resources/views/posts/show.blade.php index 0756f0c..d7bdcfe 100644 --- a/resources/views/posts/show.blade.php +++ b/resources/views/posts/show.blade.php @@ -70,7 +70,7 @@ {!! $note->content !!} @foreach ($note->attachments as $attachment) - + @endforeach diff --git a/resources/views/users/requests.blade.php b/resources/views/users/requests.blade.php index 98de8ea..06788e7 100644 --- a/resources/views/users/requests.blade.php +++ b/resources/views/users/requests.blade.php @@ -14,7 +14,7 @@

- {{ count ($user->received_requests ()) }} + {{ $received_requests->total () }} Open Friend Requests @@ -53,12 +53,14 @@ @endforeach + + {{ $received_requests->withQueryString ()->links("pagination::default") }}


- {{ count ($user->sent_requests ()) }} + {{ $sent_requests->total () }} Pending Friend Requests
@@ -92,6 +94,8 @@ @endforeach + + {{ $sent_requests->withQueryString ()->links("pagination::default") }}