aboutsummaryrefslogtreecommitdiffhomepage
path: root/routes/actor_profile_fragment.php
diff options
context:
space:
mode:
authorwinter2025-03-16 00:53:52 +0000
committerwinter2025-03-16 00:53:52 +0000
commit145b5db9474e32ca3430fe35eaa7498d7f26ff95 (patch)
treedf1da516a05cd382e19a815d4e7e6bee314e3007 /routes/actor_profile_fragment.php
parenta0a86c3a98a6af158ecd2f1923feb752c82907db (diff)
implement poking and such
Diffstat (limited to 'routes/actor_profile_fragment.php')
-rw-r--r--routes/actor_profile_fragment.php14
1 files changed, 14 insertions, 0 deletions
diff --git a/routes/actor_profile_fragment.php b/routes/actor_profile_fragment.php
index d189f87..65f7a49 100644
--- a/routes/actor_profile_fragment.php
+++ b/routes/actor_profile_fragment.php
@@ -1,9 +1,11 @@
<?php
+use Digitigrade\HttpResponseStatus\Forbidden;
use Digitigrade\HttpResponseStatus\PolicyRejected;
use Digitigrade\Model\Actor;
use Digitigrade\Model\StorageObject;
use Digitigrade\Model\UserAccount;
+use Digitigrade\PokeVerb;
use Digitigrade\PolicyManager;
use Digitigrade\Router;
use Digitigrade\StorageProvider\FilesystemStorage;
@@ -62,6 +64,18 @@ Router::getInstance()->mount('/fragment/actor/:id/blockButton', function (array
render_template('actor/profile_block_button', ['user' => $user, 'actor' => $actor]);
});
+Router::getInstance()->mount('/fragment/actor/:id/poke', function (array $args) {
+ $user = UserAccount::requireByCurrentSession();
+ $actor = Actor::find($args['id']);
+
+ if (!$actor->isPokeable()) {
+ throw new Forbidden("can't poke that user");
+ }
+ $user->actor->poke($actor, PokeVerb::from($_POST['verb']), isset($_POST['urgent']));
+
+ render_template('actor/profile_poke_form', ['actor' => $actor, 'poked' => true]);
+});
+
Router::getInstance()->mount('/fragment/profile', function (array $args) {
$user = UserAccount::requireByCurrentSession();
$actor = $user->actor;