public function user_picture() {
global $DB;
-
- if (!$this->attemptobj->get_quiz()->showuserpicture) {
+ if ($this->attemptobj->get_quiz()->showuserpicture == QUIZ_SHOWIMAGE_NONE) {
return null;
}
-
$user = $DB->get_record('user', array('id' => $this->attemptobj->get_userid()));
$userpicture = new user_picture($user);
$userpicture->courseid = $this->attemptobj->get_courseid();
+ if ($this->attemptobj->get_quiz()->showuserpicture == QUIZ_SHOWIMAGE_LARGE) {
+ $userpicture->size = true;
+ }
return $userpicture;
}
}
$string['showeachpage'] = 'Show one page at a time';
$string['showfeedback'] = 'After answering, show feedback?';
$string['showinsecurepopup'] = 'Use a \'secure\' popup window for attempts';
+$string['showlargeimage'] = 'Large image';
$string['shownoattempts'] = 'Show students with no attempts';
$string['shownoattemptsonly'] = 'Show only students with no attempts';
+$string['shownoimage'] = 'No image';
$string['showreport'] = 'Show report';
+$string['showsmallimage'] = 'Small image';
$string['showteacherattempts'] = 'Show teacher attempts';
$string['showuserpicture'] = 'Show the user\'s picture';
$string['showuserpicture_help'] = 'If enabled, the student\'s name and picture will be shown on-screen during the attempt, and on the review screen, making it easier to check that the student is logged in as themself in an invigilated (proctored) exam.';
*/
define('QUIZ_MIN_TIME_TO_CONTINUE', '2');
+/**
+ * @var int We show no image when user selects No image from dropdown menu in quiz settings.
+ */
+define('QUIZ_SHOWIMAGE_NONE', 0);
+
+/**
+ * @var int We show small image when user selects small image from dropdown menu in quiz settings.
+ */
+define('QUIZ_SHOWIMAGE_SMALL', 1);
+
+/**
+ * @var int We show Large image when user selects Large image from dropdown menu in quiz settings.
+ */
+define('QUIZ_SHOWIMAGE_LARGE', 2);
+
// Functions related to attempts ///////////////////////////////////////////////
$mform->addElement('header', 'display', get_string('display', 'form'));
// Show user picture.
- $mform->addElement('selectyesno', 'showuserpicture',
- get_string('showuserpicture', 'quiz'));
+ $mform->addElement('select', 'showuserpicture', get_string('showuserpicture', 'quiz'), array(
+ QUIZ_SHOWIMAGE_NONE => get_string('shownoimage', 'quiz'),
+ QUIZ_SHOWIMAGE_SMALL => get_string('showsmallimage', 'quiz'),
+ QUIZ_SHOWIMAGE_LARGE => get_string('showlargeimage', 'quiz')));
$mform->addHelpButton('showuserpicture', 'showuserpicture', 'quiz');
$mform->setAdvanced('showuserpicture', $quizconfig->showuserpicture_adv);
$mform->setDefault('showuserpicture', $quizconfig->showuserpicture);
require_once($CFG->dirroot . '/mod/quiz/lib.php');
require_once($CFG->dirroot . '/mod/quiz/settingslib.php');
+require_once($CFG->dirroot . '/mod/quiz/locallib.php');
// First get a list of quiz reports with there own settings pages. If there none,
// we use a simpler overall menu structure.
}
// Show the user's picture.
-$quizsettings->add(new admin_setting_configcheckbox_with_advanced('quiz/showuserpicture',
+$options = array(
+ QUIZ_SHOWIMAGE_NONE => get_string('shownoimage', 'quiz'),
+ QUIZ_SHOWIMAGE_SMALL => get_string('showsmallimage', 'quiz'),
+ QUIZ_SHOWIMAGE_LARGE => get_string('showlargeimage', 'quiz'));
+
+$quizsettings->add(new admin_setting_configselect_with_advanced('quiz/showuserpicture',
get_string('showuserpicture', 'quiz'), get_string('configshowuserpicture', 'quiz'),
- array('value' => 0, 'adv' => false)));
+ array('value' => QUIZ_SHOWIMAGE_NONE, 'adv' => false), $options));
// Decimal places for overall grades.
$options = array();