public function view_mode_selector(array $modes, $currentmode, moodle_url $url = null, $param = 'view') {
        if ($url === null) {
            $url = $this->page->url;
        }

        $menu = new action_menu;
        $menu->attributes['class'] .= ' view-mode-selector vms ml-1';

        $selected = null;
        foreach ($modes as $mode => $modestr) {
            $attributes = array(
                'class' => 'vms-mode',
                'data-mode' => $mode
            );
            if ($currentmode === $mode) {
                $attributes['class'] .= ' currentmode';
                $selected = $modestr;
            }
            if ($selected === null) {
                $selected = $modestr;
            }
            $modeurl = new moodle_url($url, array($param => $mode));
            if ($mode === 'default') {
                $modeurl->remove_params($param);
            }
            $menu->add(new action_menu_link_secondary($modeurl, null, $modestr, $attributes));
        }

        $menu->set_menu_trigger($selected);

        $html = html_writer::start_div('view-mode-selector vms d-flex');
        $html .= get_string('viewing').' '.$this->render($menu);
        $html .= html_writer::end_div();

        return $html;
    }
public function view_mode_selector(array $modes, $currentmode, moodle_url $url = null, $param = 'view') {
        if ($url === null) {
            $url = $this->page->url;
        }

        $menu = new action_menu;
        $menu->attributes['class'] .= ' view-mode-selector vms ml-1';

        $selected = null;
        foreach ($modes as $mode => $modestr) {
            $attributes = array(
                'class' => 'vms-mode',
                'data-mode' => $mode
            );
            if ($currentmode === $mode) {
                $attributes['class'] .= ' currentmode';
                $selected = $modestr;
            }
            if ($selected === null) {
                $selected = $modestr;
            }
            $modeurl = new moodle_url($url, array($param => $mode));
            if ($mode === 'default') {
                $modeurl->remove_params($param);
            }
            $menu->add(new action_menu_link_secondary($modeurl, null, $modestr, $attributes));
        }

        $menu->set_menu_trigger($selected);

        $html = html_writer::start_div('view-mode-selector vms d-flex');
        $html .= get_string('viewing').' '.$this->render($menu);
        $html .= html_writer::end_div();

        return $html;
    }
public function view_mode_selector ( array $ modes , $ currentmode , moodle_url $ url = null , $ param = 'view' ) { if ( $ url === null ) { $ url = $ this -> page -> url ; } $ menu = new action_menu ; $ menu -> attributes [ 'class' ] .= ' view-mode-selector vms ml-1' ; $ selected = null ; foreach ( $ modes as $ mode => $ modestr ) { $ attributes = array ( 'class' => 'vms-mode' , 'data-mode' => $ mode ) ; if ( $ currentmode === $ mode ) { $ attributes [ 'class' ] .= ' currentmode' ; $ selected = $ modestr ; } if ( $ selected === null ) { $ selected = $ modestr ; } $ modeurl = new moodle_url ( $ url , array ( $ param => $ mode ) ) ; if ( $ mode === 'default' ) { $ modeurl -> remove_params ( $ param ) ; } $ menu -> add ( new action_menu_link_secondary ( $ modeurl , null , $ modestr , $ attributes ) ) ; } $ menu -> set_menu_trigger ( $ selected ) ; $ html = html_writer :: start_div ( 'view-mode-selector vms d-flex' ) ; $ html .= get_string ( 'viewing' ) . ' ' . $ this -> render ( $ menu ) ; $ html .= html_writer :: end_div ( ) ; return $ html ; }
Displays a view mode selector.

@param array $modes An array of view modes.
@param string $currentmode The current view mode.
@param moodle_url $url The URL to use when changing actions. Defaults to the page URL.
@param string $param The param name.
@return string
Displays a view mode selector .