Fix a possible race condition in the PaintWeb DML code.
[moodle/mihaisucan.git] / mod / exercise / mod_form.php
blob000f09cd6c4473d675c6601e95e13b297896b26e
1 <?php
2 require_once ($CFG->dirroot.'/course/moodleform_mod.php');
4 class mod_exercise_mod_form extends moodleform_mod {
6 function definition() {
8 global $CFG, $COURSE, $EXERCISE_TYPE, $EXERCISE_ASSESSMENT_COMPS;
9 $mform =& $this->_form;
11 //-------------------------------------------------------------------------------
12 $mform->addElement('header', 'general', get_string('general', 'form'));
14 $mform->addElement('text', 'name', get_string('title', 'exercise'), array('size'=>'64'));
15 if (!empty($CFG->formatstringstriptags)) {
16 $mform->setType('name', PARAM_TEXT);
17 } else {
18 $mform->setType('name', PARAM_CLEAN);
20 $mform->addRule('name', null, 'required', null, 'client');
22 $mform->addElement('static', 'description', get_string('description', 'exercise'), get_string('descriptionofexercise', 'exercise', $COURSE->students));
24 $filesize = array();
25 $sizelist = array('10Kb', '50Kb', '100Kb', '500Kb', '1Mb', '2Mb', '5Mb', '10Mb', '20Mb', '50Mb');
26 $maxsize = get_max_upload_file_size();
27 foreach ($sizelist as $size) {
28 $sizebytes = get_real_size($size);
29 if ($sizebytes < $maxsize) {
30 $filesize[$sizebytes] = $size;
33 $filesize[$maxsize] = display_size($maxsize);
34 ksort($filesize, SORT_NUMERIC);
35 $mform->addElement('select', 'maxbytes', get_string('maximumsize', 'exercise'), $filesize);
36 $mform->setHelpButton('maxbytes', array('comparisonofassessments', get_string('comparisonofassessments', 'exercise'), 'exercise'));
37 $mform->setDefault('maxbytes', get_real_size('500K'));
39 $mform->addElement('date_time_selector', 'deadline', get_string('deadline', 'exercise'));
41 $numbers = array();
42 $numbers[22] = 'All';
43 $numbers[21] = 50;
44 for ($i=20; $i>=0; $i--) {
45 $numbers[$i] = $i;
47 //-------------------------------------------------------------------------------
48 $mform->addElement('header', 'leaguetablehdr', get_string('leaguetable', 'exercise'));
49 $mform->addElement('select', 'showleaguetable', get_string('numberofentriesinleaguetable', 'exercise'), $numbers);
50 $mform->setHelpButton('showleaguetable', array('leaguetable', get_string('numberofentriesinleaguetable', 'exercise'), 'exercise'));
52 $mform->addElement('selectyesno', 'anonymous', get_string('hidenamesfromstudents', 'exercise', $COURSE->students), $numbers);
53 $mform->setHelpButton('anonymous', array('leaguetablenames', get_string('hidenamesfromstudents', 'exercise', $COURSE->students), 'exercise'));
55 //-------------------------------------------------------------------------------
56 $mform->addElement('header', 'gradeshdr', get_string('grades'));
57 $grades = array();
58 for ($i=100; $i>=0; $i--) {
59 $grades[$i] = $i;
61 $mform->addElement('select', 'gradinggrade', get_string('gradeforstudentsassessment', 'exercise', $COURSE->student), $grades);
62 $mform->setHelpButton('gradinggrade', array('gradinggrade', get_string('gradinggrade', 'exercise'), 'exercise'));
63 $mform->setDefault('gradinggrade', 100);
65 $mform->addElement('select', 'grade', get_string('gradeforsubmission', 'exercise'), $grades);
66 $mform->setHelpButton('grade', array('grade', get_string('gradeforsubmission', 'exercise'), 'exercise'));
67 $mform->setDefault('grade', 100);
69 $mform->addElement('select', 'gradingstrategy', get_string('gradingstrategy', 'exercise'), $EXERCISE_TYPE);
70 $mform->setHelpButton('gradingstrategy', array('gradingstrategy', get_string('gradingstrategy', 'exercise'), 'exercise'));
71 $mform->setDefault('gradingstrategy', 1);
73 $options= array(get_string('usemean', 'exercise'), get_string('usemaximum', 'exercise'));
74 $mform->addElement('select', 'usemaximum', get_string('handlingofmultiplesubmissions', 'exercise'), $options);
75 $mform->setHelpButton('usemaximum', array('usemax', get_string('handlingofmultiplesubmissions', 'exercise'), 'exercise'));
76 $mform->setDefault('usemaximum', 0);
78 $options= array();
79 for ($i=20; $i>=0; $i--) {
80 $options[$i] = $i;
82 $mform->addElement('select', 'nelements', get_string('numberofassessmentelements', 'exercise'), $options);
83 $mform->setHelpButton('nelements', array('nelements', get_string('numberofassessmentelements', 'exercise'), 'exercise'));
84 $mform->setDefault('nelements', 1);
86 $COMPARISONS=array();
87 foreach ($EXERCISE_ASSESSMENT_COMPS as $KEY => $COMPARISON) {
88 $COMPARISONS[] = $COMPARISON['name'];
90 $mform->addElement('select', 'assessmentcomps', get_string('comparisonofassessments', 'exercise'), $options);
91 $mform->setHelpButton('assessmentcomps', array('comparisonofassessments', get_string('comparisonofassessments', 'exercise'), 'exercise'));
92 $mform->setDefault('assessmentcomps', 2);
94 //-------------------------------------------------------------------------------
95 $mform->addElement('header', 'passwordhdr', get_string('password'));
96 $mform->addElement('selectyesno', 'usepassword', get_string('usepassword', 'exercise'));
97 $mform->setHelpButton('usepassword', array('usepassword', get_string('usepassword', 'exercise'), 'exercise'));
98 $mform->setDefault('usepassword', 0);
100 $mform->addElement('text', 'password', get_string('password'));
101 $mform->setHelpButton('password', array('usepassword', get_string('usepassword', 'exercise'), 'exercise'));
102 $mform->setType('password', PARAM_RAW);
104 //-------------------------------------------------------------------------------
105 $this->standard_coursemodule_elements();
106 //-------------------------------------------------------------------------------
107 // buttons
108 $this->add_action_buttons();