xref: /webtrees/app/Module/ModuleCustomInterface.php (revision d11be7027e34e3121be11cc025421873364403f9)
149a243cbSGreg Roach<?php
23976b470SGreg Roach
349a243cbSGreg Roach/**
449a243cbSGreg Roach * webtrees: online genealogy
5*d11be702SGreg Roach * Copyright (C) 2023 webtrees development team
649a243cbSGreg Roach * This program is free software: you can redistribute it and/or modify
749a243cbSGreg Roach * it under the terms of the GNU General Public License as published by
849a243cbSGreg Roach * the Free Software Foundation, either version 3 of the License, or
949a243cbSGreg Roach * (at your option) any later version.
1049a243cbSGreg Roach * This program is distributed in the hope that it will be useful,
1149a243cbSGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of
1249a243cbSGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1349a243cbSGreg Roach * GNU General Public License for more details.
1449a243cbSGreg Roach * You should have received a copy of the GNU General Public License
1589f7189bSGreg Roach * along with this program. If not, see <https://www.gnu.org/licenses/>.
1649a243cbSGreg Roach */
17fcfa147eSGreg Roach
1849a243cbSGreg Roachdeclare(strict_types=1);
1949a243cbSGreg Roach
2049a243cbSGreg Roachnamespace Fisharebest\Webtrees\Module;
2149a243cbSGreg Roach
2249a243cbSGreg Roach/**
2349a243cbSGreg Roach * Interface ModuleCustomInterface - Classes and libraries for module system
2449a243cbSGreg Roach */
2537eb8894SGreg Roachinterface ModuleCustomInterface extends ModuleInterface
2649a243cbSGreg Roach{
2749a243cbSGreg Roach    /**
2849a243cbSGreg Roach     * The person or organisation who created this module.
2949a243cbSGreg Roach     *
3049a243cbSGreg Roach     * @return string
3149a243cbSGreg Roach     */
3249a243cbSGreg Roach    public function customModuleAuthorName(): string;
3349a243cbSGreg Roach
3449a243cbSGreg Roach    /**
3549a243cbSGreg Roach     * The version of this module.
3649a243cbSGreg Roach     *
3749a243cbSGreg Roach     * @return string
3849a243cbSGreg Roach     */
3949a243cbSGreg Roach    public function customModuleVersion(): string;
4049a243cbSGreg Roach
4149a243cbSGreg Roach    /**
4249a243cbSGreg Roach     * A URL that will provide the latest version of this module.
4349a243cbSGreg Roach     *
4449a243cbSGreg Roach     * @return string
4549a243cbSGreg Roach     */
4649a243cbSGreg Roach    public function customModuleLatestVersionUrl(): string;
4749a243cbSGreg Roach
4849a243cbSGreg Roach    /**
4964d12f7bSGreg Roach     * Fetch the latest version of this module.
5064d12f7bSGreg Roach     *
5164d12f7bSGreg Roach     * @return string
5264d12f7bSGreg Roach     */
5364d12f7bSGreg Roach    public function customModuleLatestVersion(): string;
5464d12f7bSGreg Roach
5564d12f7bSGreg Roach    /**
5664d12f7bSGreg Roach     * Where to get support for this module.  Perhaps a github repository?
5749a243cbSGreg Roach     *
5849a243cbSGreg Roach     * @return string
5949a243cbSGreg Roach     */
6049a243cbSGreg Roach    public function customModuleSupportUrl(): string;
61d37db671SGreg Roach
62d37db671SGreg Roach    /**
63d37db671SGreg Roach     * Additional/updated translations.
64d37db671SGreg Roach     *
65d37db671SGreg Roach     * @param string $language
66d37db671SGreg Roach     *
67f4c767fdSGreg Roach     * @return array<string,string>
68d37db671SGreg Roach     */
69d37db671SGreg Roach    public function customTranslations(string $language): array;
7049a243cbSGreg Roach}
71