. namespace format_topics\output; use core_courseformat\output\section_renderer; use moodle_page; /** * Basic renderer for topics format. * * @copyright 2012 Dan Poltawski * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class renderer extends section_renderer { /** * Constructor method, calls the parent constructor. * * @param moodle_page $page * @param string $target one of rendering target constants */ public function __construct(moodle_page $page, $target) { parent::__construct($page, $target); // Since format_topics_renderer::section_edit_control_items() only displays the 'Highlight' control // when editing mode is on we need to be sure that the link 'Turn editing mode on' is available for a user // who does not have any other managing capability. $page->set_other_editing_capability('moodle/course:setcurrentsection'); } /** * Generate the section title, wraps it in a link to the section page if page is to be displayed on a separate page. * * @param section_info|stdClass $section The course_section entry from DB * @param stdClass $course The course entry from DB * @return string HTML to output. */ public function section_title($section, $course) { return $this->render(course_get_format($course)->inplace_editable_render_section_name($section)); } /** * Generate the section title to be displayed on the section page, without a link. * * @param section_info|stdClass $section The course_section entry from DB * @param int|stdClass $course The course entry from DB * @return string HTML to output. */ public function section_title_without_link($section, $course) { return $this->render(course_get_format($course)->inplace_editable_render_section_name($section, false)); } }