Skip to content

Commit

Permalink
MDL-57510 questionbank: Add horizontal navigation
Browse files Browse the repository at this point in the history
  • Loading branch information
ankitagarwal committed Mar 24, 2017
1 parent 98c4094 commit 0fa21eb
Show file tree
Hide file tree
Showing 6 changed files with 84 additions and 0 deletions.
4 changes: 4 additions & 0 deletions question/category.php
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,10 @@
$PAGE->set_heading($COURSE->fullname);
echo $OUTPUT->header();

// Print horizontal nav if needed.
$renderer = $PAGE->get_renderer('core_question', 'bank');
echo $renderer->extra_horizontal_navigation();

// Display the UI.
if (!empty($param->edit)) {
$qcobject->edit_single_category($param->edit);
Expand Down
4 changes: 4 additions & 0 deletions question/edit.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@
$PAGE->set_heading($COURSE->fullname);
echo $OUTPUT->header();

// Print horizontal nav if needed.
$renderer = $PAGE->get_renderer('core_question', 'bank');
echo $renderer->extra_horizontal_navigation();

echo '<div class="questionbankwindow boxwidthwide boxaligncenter">';
$questionbank->display('questions', $pagevars['qpage'], $pagevars['qperpage'],
$pagevars['cat'], $pagevars['recurse'], $pagevars['showhidden'],
Expand Down
4 changes: 4 additions & 0 deletions question/export.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@
$PAGE->set_heading($COURSE->fullname);
echo $OUTPUT->header();

// Print horizontal nav if needed.
$renderer = $PAGE->get_renderer('core_question', 'bank');
echo $renderer->extra_horizontal_navigation();

$export_form = new question_export_form($thispageurl,
array('contexts' => $contexts->having_one_edit_tab_cap('export'), 'defaultcategory' => $pagevars['cat']));

Expand Down
4 changes: 4 additions & 0 deletions question/import.php
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@
$PAGE->set_heading($COURSE->fullname);
echo $OUTPUT->header();

// Print horizontal nav if needed.
$renderer = $PAGE->get_renderer('core_question', 'bank');
echo $renderer->extra_horizontal_navigation();

// file upload form sumitted
if ($form = $import_form->get_data()) {

Expand Down
10 changes: 10 additions & 0 deletions question/renderer.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,16 @@
*/
class core_question_bank_renderer extends plugin_renderer_base {

/**
* Display additional navigation if needed.
*
* @return string
*/
public function extra_horizontal_navigation() {
// Overwrite in child themes if needed.
return '';
}

/**
* Output the icon for a question type.
*
Expand Down
58 changes: 58 additions & 0 deletions theme/boost/classes/output/core_question/bank_renderer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

/**
* Question renderer.
*
* @package theme_boost
* @copyright 2017 onwards Ankit Agarwal <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

namespace theme_boost\output\core_question;
defined('MOODLE_INTERNAL') || die();

require_once($CFG->dirroot . '/' . $CFG->admin . '/renderer.php');

/**
* Question renderer class.
*
* @package theme_boost
* @copyright 2017 onwards Ankit Agarwal <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class bank_renderer extends \core_question_bank_renderer {

/**
* Display additional navigation if needed.
*
* @return string
*/
public function extra_horizontal_navigation() {
// Horizontal navigation for question bank.
if ($questionnode = $this->page->settingsnav->find("questionbank", \navigation_node::TYPE_CONTAINER)) {
if ($children = $questionnode->children) {
$tabs = [];
foreach ($children as $key => $node) {
$tabs[] = new \tabobject($node->key, $node->action, $node->text);
}
$active = $questionnode->find_active_node()->key;
return \html_writer::div(print_tabs([$tabs], $active, null, null, true), 'questionbank-navigation');
}
}
return '';
}
}

0 comments on commit 0fa21eb

Please sign in to comment.