mirror of
https://github.com/moodle/moodle.git
synced 2025-02-13 12:34:28 +01:00
cd06115fa7
I have not converted the rest of the quiz, and I don't intend to. I am hoping Moodle.com will do it. I hope this does not introduce any bugs, but view.php is so complicate (at least it is less complicated than it was) and the quiz has so many options, that it is hard to be sure. This needs lots of testing before 1.7 is released.
108 lines
4.1 KiB
PHP
108 lines
4.1 KiB
PHP
<?php // $Id$
|
|
/**
|
|
* Sets up the tabs used by the quiz pages for teachers.
|
|
*
|
|
* @version $Id$
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
|
* @package quiz
|
|
*/
|
|
|
|
/// This file to be included so we can assume config.php has already been included.
|
|
|
|
if (empty($quiz)) {
|
|
error('You cannot call this script in that way');
|
|
}
|
|
if (!isset($currenttab)) {
|
|
$currenttab = '';
|
|
}
|
|
if (!isset($cm)) {
|
|
$cm = get_coursemodule_from_instance('quiz', $quiz->id);
|
|
}
|
|
if (!isset($course)) {
|
|
$course = get_record('course', 'id', $quiz->course);
|
|
}
|
|
|
|
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
|
//print_heading(format_string($quiz->name));
|
|
|
|
$tabs = array();
|
|
$row = array();
|
|
$inactive = array();
|
|
|
|
if (has_capability('mod/quiz:view', $context)) {
|
|
$row[] = new tabobject('info', "$CFG->wwwroot/mod/quiz/view.php?q=$quiz->id", get_string('info', 'quiz'));
|
|
}
|
|
if (has_capability('mod/quiz:viewreports', $context)) {
|
|
$row[] = new tabobject('reports', "$CFG->wwwroot/mod/quiz/report.php?q=$quiz->id", get_string('results', 'quiz'));
|
|
}
|
|
if (has_capability('mod/quiz:preview', $context)) {
|
|
$row[] = new tabobject('preview', "$CFG->wwwroot/mod/quiz/attempt.php?q=$quiz->id", get_string('preview', 'quiz'));
|
|
}
|
|
if (has_capability('mod/quiz:manage', $context)) {
|
|
$row[] = new tabobject('edit', "$CFG->wwwroot/mod/quiz/edit.php?quizid=$quiz->id", get_string('edit'));
|
|
}
|
|
|
|
if ($currenttab == 'info' && count($row) == 1) {
|
|
// Don't show only an info tab (e.g. to students).
|
|
} else {
|
|
$tabs[] = $row;
|
|
}
|
|
|
|
if ($currenttab == 'reports' and isset($mode)) {
|
|
$inactive[] = 'reports';
|
|
$allreports = get_list_of_plugins("mod/quiz/report");
|
|
$reportlist = array ('overview', 'regrade', 'grading', 'analysis'); // Standard reports we want to show first
|
|
|
|
foreach ($allreports as $report) {
|
|
if (!in_array($report, $reportlist)) {
|
|
$reportlist[] = $report;
|
|
}
|
|
}
|
|
|
|
$row = array();
|
|
$currenttab = '';
|
|
foreach ($reportlist as $report) {
|
|
$row[] = new tabobject($report, "$CFG->wwwroot/mod/quiz/report.php?q=$quiz->id&mode=$report",
|
|
get_string($report, 'quiz_'.$report));
|
|
if ($report == $mode) {
|
|
$currenttab = $report;
|
|
}
|
|
}
|
|
$tabs[] = $row;
|
|
}
|
|
|
|
if ($currenttab == 'edit' and isset($mode)) {
|
|
$inactive[] = 'edit';
|
|
|
|
$row = array();
|
|
$currenttab = $mode;
|
|
|
|
$strquizzes = get_string('modulenameplural', 'quiz');
|
|
$strquiz = get_string('modulename', 'quiz');
|
|
$streditingquestions = get_string('editquestions', "quiz");
|
|
$streditingquiz = get_string("editinga", "moodle", $strquiz);
|
|
$strupdate = get_string('updatethis', 'moodle', $strquiz);
|
|
$row[] = new tabobject('editq', "$CFG->wwwroot/mod/quiz/edit.php?quizid=$quiz->id", $strquiz, $streditingquiz);
|
|
|
|
if (has_capability('moodle/question:manage', $context)) {
|
|
$row[] = new tabobject('questions', "$CFG->wwwroot/question/edit.php?courseid=$course->id", get_string('questions', 'quiz'), $streditingquestions);
|
|
}
|
|
|
|
if (has_capability('moodle/question:managecategory', $context)) {
|
|
$row[] = new tabobject('categories', "$CFG->wwwroot/question/category.php?id=$course->id", get_string('categories', 'quiz'), get_string('editqcats', 'quiz'));
|
|
}
|
|
|
|
if (has_capability('moodle/question:import', $context)) {
|
|
$row[] = new tabobject('import', "$CFG->wwwroot/question/import.php?course=$course->id", get_string('import', 'quiz'), get_string('importquestions', 'quiz'));
|
|
}
|
|
|
|
if (has_capability('moodle/question:export', $context)) {
|
|
$row[] = new tabobject('export', "$CFG->wwwroot/question/export.php?courseid=$course->id", get_string('export', 'quiz'), get_string('exportquestions', 'quiz'));
|
|
}
|
|
$tabs[] = $row;
|
|
}
|
|
|
|
print_tabs($tabs, $currenttab, $inactive);
|
|
|
|
?>
|