aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates/actor/profile_page.php
blob: 9c11dd61bc56ada1350d62373e50f346580d2e3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php

use Digitigrade\Model\Note;
use Digitigrade\Model\UserAccount;
use Digitigrade\UserSettings;

$lang = get_ui_language();
$actorUser = UserAccount::findByLinkedActor($actor);

call_template('skeleton', [
    'pageTitle' => "$actor->displayName - @" . $actor->getFullHandle(),
    'renderTitleHeading' => false,
    'ogTitle' => $actor->displayName,
    'ogDesc' => $actor->bio,
    'ogImage' => $actor->avatar ?? path_to_uri('/static/default-avatar.png'),
    'ogType' => 'profile',
    'ogHandle' => '@' . $actor->getFullHandle(true),
    'headLinks' => ($actorUser != null && (new UserSettings($actorUser))->getBool('profile.rssEnabled')) ? [
        [
            'rel' => 'alternate',
            'type' => 'application/rss+xml',
            'href' => "/actor/$actor->id/feed/$lang/feed.rss",
            'title' => __('user.profile.feed.rss')
        ],
        [
            'rel' => 'alternate',
            'type' => 'application/atom+xml',
            'href' => "/actor/$actor->id/feed/$lang/feed.atom",
            'title' => __('user.profile.feed.atom')
        ]
    ] : []
], function () use ($actor) {
    $user = UserAccount::findByCurrentSession();

    call_template('actor/profile', ['actor' => $actor]);
    echo '<hr>';
    $notes = Note::findAllWithAuthor($actor, 20);
    if (count($notes) == 0) {
        call_template('placeholder_text', ['message' => __('user.notes.placeholder')]);
    } elseif ($user != null && $user->actor->blocks($actor)) {
        call_template('placeholder_text', ['message' => __('user.profile.notesHidden')]);
    } else {
        foreach ($notes as $n) {
            if ($n->isViewableBy($user))
                call_template('note/note', ['note' => $n]);
        }
        $countNotShown = Note::countWithAuthor($actor) - count($notes);
        if ($countNotShown >= 0) {
            call_template('placeholder_text', ['count' => $countNotShown]);
        }
    }
});