. /** * Moodle Component Library * * A sample dynamic tab page. * * @package tool_componentlibrary * @copyright 2021 David Matamoros * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ declare(strict_types=1); namespace tool_componentlibrary\local\examples\dynamictabs; use core\output\dynamic_tabs\base; use renderer_base; use stdClass; /** * Example tab class * * @package tool_componentlibrary * @copyright 2021 David Matamoros * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class tab2 extends base { /** * Export this for use in a mustache template context. * * @param renderer_base $output * @return stdClass */ public function export_for_template(renderer_base $output) { $content = (object)[]; // Define any content you might want to pass to the dynamic tab. $content->currenttime = userdate(time(), get_string('strftimedatetimeaccurate')); return $content; } /** * The label to be displayed on the tab * * @return string */ public function get_tab_label(): string { return 'Tab 2'; } /** * Check permission of the current user to access this tab * * @return bool */ public function is_available(): bool { // Define the correct permissions here. return true; } /** * Template to use to display tab contents * * @return string */ public function get_template(): string { return 'tool_componentlibrary/examples/dynamictabs/tab2'; } }