. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Module; /** * Interface ModuleBlockInterface - Classes and libraries for module system */ interface ModuleBlockInterface { /** * Generate the HTML content of this block. * * @param int $block_id * @param bool $template * @param string[] $cfg * * @return string */ public function getBlock($block_id, $template = true, $cfg = []): string; /** * Should this block load asynchronously using AJAX? * * Simple blocks are faster in-line, more comples ones * can be loaded later. * * @return bool */ public function loadAjax(): bool; /** * Can this block be shown on the user’s home page? * * @return bool */ public function isUserBlock(): bool; /** * Can this block be shown on the tree’s home page? * * @return bool */ public function isGedcomBlock(): bool; /** * An HTML form to edit block settings * * @param int $block_id * * @return void */ public function configureBlock($block_id): void; }