xref: /webtrees/app/SiteUser.php (revision 9abbcca9747738c136d30d39ec7be82574ab4b52)
1<?php
2
3/**
4 * webtrees: online genealogy
5 * Copyright (C) 2022 webtrees development team
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <https://www.gnu.org/licenses/>.
16 */
17
18declare(strict_types=1);
19
20namespace Fisharebest\Webtrees;
21
22use Fisharebest\Webtrees\Contracts\UserInterface;
23
24/**
25 * The site can act as a user, for example to send email.
26 *
27 * Some SMTP servers insist that this is a real/validated email address.
28 * Others are happy to accept no-reply@localhost.
29 */
30class SiteUser implements UserInterface
31{
32    /**
33     * The user‘s internal identifier.
34     *
35     * @return int
36     */
37    public function id(): int
38    {
39        return 0;
40    }
41
42    /**
43     * The users email address.
44     *
45     * @return string
46     */
47    public function email(): string
48    {
49        return Site::getPreference('SMTP_FROM_NAME');
50    }
51
52    /**
53     * The user‘s real name.
54     *
55     * @return string
56     */
57    public function realName(): string
58    {
59        return Site::getPreference('SMTP_DISP_NAME');
60    }
61
62    /**
63     * The user‘s login name.
64     *
65     * @return string
66     */
67    public function userName(): string
68    {
69        return '';
70    }
71
72    /**
73     * @param string $setting_name
74     * @param string $default
75     *
76     * @return string
77     */
78    public function getPreference(string $setting_name, string $default = ''): string
79    {
80        return $default;
81    }
82
83    /**
84     * @param string $setting_name
85     * @param string $setting_value
86     *
87     * @return void
88     */
89    public function setPreference(string $setting_name, string $setting_value): void
90    {
91    }
92}
93