header = $header; $this->body = (string)$body; $this->section = $section; $this->position = $position; if (is_null($id)) { $id = (empty($header) ? md5($this->body ?? '') : $header) . $section; } $str_id = preg_replace_ex('/[^\w-]/', '', str_replace(' ', '_', $id)); $this->id = $str_id; } /** * Get the HTML for this block. */ public function get_html(bool $hidable = false): string { $h = $this->header; $b = $this->body; $i = $this->id; $html = "
"; $h_toggler = $hidable ? " shm-toggler" : ""; if (!empty($h)) { $html .= "

$h

"; } if (!empty($b)) { $html .= "
$b
"; } $html .= "
\n"; return $html; } } /** * Class NavBlock * * A generic navigation block with a link to the main page. * * Used because "new NavBlock()" is easier than "new Block('Navigation', ..." * */ class NavBlock extends Block { public function __construct() { parent::__construct("Navigation", "Index", "left", 0); } }