diff options
| author | winter | 2025-03-16 00:53:52 +0000 |
|---|---|---|
| committer | winter | 2025-03-16 00:53:52 +0000 |
| commit | 145b5db9474e32ca3430fe35eaa7498d7f26ff95 (patch) | |
| tree | df1da516a05cd382e19a815d4e7e6bee314e3007 /routes/actor_profile_fragment.php | |
| parent | a0a86c3a98a6af158ecd2f1923feb752c82907db (diff) | |
implement poking and such
Diffstat (limited to 'routes/actor_profile_fragment.php')
| -rw-r--r-- | routes/actor_profile_fragment.php | 14 |
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; |
