aboutsummaryrefslogtreecommitdiffhomepage
path: root/routes/actor_profile.php
blob: 2f297b9bf19c293f7614591a2092fde5c44d67a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

use Digitigrade\HttpResponseStatus\NotFound;
use Digitigrade\Model\Actor;
use Digitigrade\Router;

Router::getInstance()->mount('/@/:handle', function (array $args) {
    if (str_contains($args['handle'], '@')) {
        // remote actor
        $actor = Actor::findByWebfinger($args['handle']);
    } else {
        // local actor
        $actor = Actor::findLocalByHandle($args['handle']);
    }
    if ($actor == null || $actor->deleted) {
        throw new NotFound("i don't know any actor called " . $args['handle']);
    }
    render_template('actor/profile_page', ['actor' => $actor]);
});