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