aboutsummaryrefslogtreecommitdiff
path: root/lib/models/OERMaterialUser.php
blob: 1e6babe4e2f2f1406ba1ea80b04608e2818e3b0e (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
<?php

class OERMaterialUser extends SimpleORMap
{
    protected static function configure($config = [])
    {
        $config['db_table'] = 'oer_material_users';

        $config['belongs_to']['oeruser'] = [
            'class_name' => ExternalUser::class,
            'foreign_key' => 'user_id'
        ];

        parent::configure($config);
    }

    public function getJSON()
    {
        if ($this['external_contact']) {
            $user = $this['oeruser'];
            return [
                'user_id' => $user['foreign_user_id'],
                'name' => $user['name'],
                'avatar' => $user['avatar'],
                'description' => $user['description'],
                'host_url' => $user->host['url']
            ];
        } else {
            $user = User::find($this['user_id']);
            return [
                'user_id' => $user['user_id'],
                'name' => $user ? $user->getFullName() : _("unbekannt"),
                'avatar' => Avatar::getAvatar($user['user_id'])->getURL(Avatar::NORMAL),
                'description' => $user ? $user['oercampus_description'] : "",
                'host_url' => OERHost::thisOne()->url
            ];
        }
    }
}