1<?php 2namespace Webtrees; 3 4/** 5 * webtrees: online genealogy 6 * Copyright (C) 2015 webtrees development team 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19/** 20 * Interface ModuleBlockInterface - Classes and libraries for module system 21 */ 22interface ModuleBlockInterface { 23 /** 24 * Generate the HTML content of this block. 25 * 26 * @param integer $block_id 27 * 28 * @return string 29 */ 30 public function getBlock($block_id); 31 32 /** 33 * Should this block load asynchronously using AJAX? 34 * Simple blocks are faster in-line, more comples ones 35 * can be loaded later. 36 * 37 * @return boolean 38 */ 39 public function loadAjax(); 40 41 /** 42 * Can this block be shown on the user’s home page? 43 * 44 * @return boolean 45 */ 46 public function isUserBlock(); 47 48 /** 49 * Can this block be shown on the tree’s home page? 50 * 51 * @return boolean 52 */ 53 public function isGedcomBlock(); 54 55 /** 56 * An HTML form to edit block settings 57 * 58 * @param integer $block_id 59 * 60 * @return void 61 */ 62 public function configureBlock($block_id); 63} 64