function setup_elements(&$mform) { global $CFG, $COURSE; $ynoptions = array( 0 => get_string('no'), 1 => get_string('yes')); $mform->addElement('select', 'resubmit', get_string('allowresubmit', 'assignment'), $ynoptions); $mform->addHelpButton('resubmit', 'allowresubmit', 'assignment'); $mform->setDefault('resubmit', 0); $mform->addElement('select', 'emailteachers', get_string('emailteachers', 'assignment'), $ynoptions); $mform->addHelpButton('emailteachers', 'emailteachers', 'assignment'); $mform->setDefault('emailteachers', 0); $mform->addElement('select', 'var1', get_string('commentinline', 'assignment'), $ynoptions); $mform->addHelpButton('var1', 'commentinline', 'assignment'); $mform->setDefault('var1', 0); $coursecontext = context_course::instance($COURSE->id); plagiarism_get_form_elements_module($mform, $coursecontext, 'mod_assignment'); }
/** * Defines the workshop instance configuration form * * @return void */ public function definition() { global $CFG; $workshopconfig = get_config('workshop'); $mform = $this->_form; // General -------------------------------------------------------------------- $mform->addElement('header', 'general', get_string('general', 'form')); // Workshop name $label = get_string('workshopname', 'workshop'); $mform->addElement('text', 'name', $label, array('size' => '64')); if (!empty($CFG->formatstringstriptags)) { $mform->setType('name', PARAM_TEXT); } else { $mform->setType('name', PARAM_CLEANHTML); } $mform->addRule('name', null, 'required', null, 'client'); $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client'); // Introduction $this->standard_intro_elements(get_string('introduction', 'workshop')); // Grading settings ----------------------------------------------------------- $mform->addElement('header', 'gradingsettings', get_string('gradingsettings', 'workshop')); $mform->setExpanded('gradingsettings'); $label = get_string('strategy', 'workshop'); $mform->addElement('select', 'strategy', $label, workshop::available_strategies_list()); $mform->setDefault('strategy', $workshopconfig->strategy); $mform->addHelpButton('strategy', 'strategy', 'workshop'); $grades = workshop::available_maxgrades_list(); $gradecategories = grade_get_categories_menu($this->course->id); $label = get_string('submissiongrade', 'workshop'); $mform->addGroup(array($mform->createElement('select', 'grade', '', $grades), $mform->createElement('select', 'gradecategory', '', $gradecategories)), 'submissiongradegroup', $label, ' ', false); $mform->setDefault('grade', $workshopconfig->grade); $mform->addHelpButton('submissiongradegroup', 'submissiongrade', 'workshop'); $mform->addElement('text', 'submissiongradepass', get_string('gradetopasssubmission', 'workshop')); $mform->addHelpButton('submissiongradepass', 'gradepass', 'grades'); $mform->setDefault('submissiongradepass', ''); $mform->setType('submissiongradepass', PARAM_RAW); $label = get_string('gradinggrade', 'workshop'); $mform->addGroup(array($mform->createElement('select', 'gradinggrade', '', $grades), $mform->createElement('select', 'gradinggradecategory', '', $gradecategories)), 'gradinggradegroup', $label, ' ', false); $mform->setDefault('gradinggrade', $workshopconfig->gradinggrade); $mform->addHelpButton('gradinggradegroup', 'gradinggrade', 'workshop'); $mform->addElement('text', 'gradinggradepass', get_string('gradetopassgrading', 'workshop')); $mform->addHelpButton('gradinggradepass', 'gradepass', 'grades'); $mform->setDefault('gradinggradepass', ''); $mform->setType('gradinggradepass', PARAM_RAW); $options = array(); for ($i = 5; $i >= 0; $i--) { $options[$i] = $i; } $label = get_string('gradedecimals', 'workshop'); $mform->addElement('select', 'gradedecimals', $label, $options); $mform->setDefault('gradedecimals', $workshopconfig->gradedecimals); // Submission settings -------------------------------------------------------- $mform->addElement('header', 'submissionsettings', get_string('submissionsettings', 'workshop')); $label = get_string('instructauthors', 'workshop'); $mform->addElement('editor', 'instructauthorseditor', $label, null, workshop::instruction_editors_options($this->context)); $options = array(); for ($i = 7; $i >= 0; $i--) { $options[$i] = $i; } $label = get_string('nattachments', 'workshop'); $mform->addElement('select', 'nattachments', $label, $options); $mform->setDefault('nattachments', 1); $label = get_string('allowedfiletypesforsubmission', 'workshop'); $mform->addElement('text', 'submissionfiletypes', $label, array('maxlength' => 255, 'size' => 64)); $mform->addHelpButton('submissionfiletypes', 'allowedfiletypesforsubmission', 'workshop'); $mform->setType('submissionfiletypes', PARAM_TEXT); $mform->addRule('submissionfiletypes', get_string('maximumchars', '', 255), 'maxlength', 255, 'client'); $mform->disabledIf('submissionfiletypes', 'nattachments', 'eq', 0); $options = get_max_upload_sizes($CFG->maxbytes, $this->course->maxbytes, 0, $workshopconfig->maxbytes); $mform->addElement('select', 'maxbytes', get_string('maxbytes', 'workshop'), $options); $mform->setDefault('maxbytes', $workshopconfig->maxbytes); $mform->disabledIf('maxbytes', 'nattachments', 'eq', 0); $label = get_string('latesubmissions', 'workshop'); $text = get_string('latesubmissions_desc', 'workshop'); $mform->addElement('checkbox', 'latesubmissions', $label, $text); $mform->addHelpButton('latesubmissions', 'latesubmissions', 'workshop'); // Assessment settings -------------------------------------------------------- $mform->addElement('header', 'assessmentsettings', get_string('assessmentsettings', 'workshop')); $label = get_string('instructreviewers', 'workshop'); $mform->addElement('editor', 'instructreviewerseditor', $label, null, workshop::instruction_editors_options($this->context)); $label = get_string('useselfassessment', 'workshop'); $text = get_string('useselfassessment_desc', 'workshop'); $mform->addElement('checkbox', 'useselfassessment', $label, $text); $mform->addHelpButton('useselfassessment', 'useselfassessment', 'workshop'); // Feedback ------------------------------------------------------------------- $mform->addElement('header', 'feedbacksettings', get_string('feedbacksettings', 'workshop')); $mform->addElement('select', 'overallfeedbackmode', get_string('overallfeedbackmode', 'mod_workshop'), array(0 => get_string('overallfeedbackmode_0', 'mod_workshop'), 1 => get_string('overallfeedbackmode_1', 'mod_workshop'), 2 => get_string('overallfeedbackmode_2', 'mod_workshop'))); $mform->addHelpButton('overallfeedbackmode', 'overallfeedbackmode', 'mod_workshop'); $mform->setDefault('overallfeedbackmode', 1); $options = array(); for ($i = 7; $i >= 0; $i--) { $options[$i] = $i; } $mform->addElement('select', 'overallfeedbackfiles', get_string('overallfeedbackfiles', 'workshop'), $options); $mform->setDefault('overallfeedbackfiles', 0); $mform->disabledIf('overallfeedbackfiles', 'overallfeedbackmode', 'eq', 0); $label = get_string('allowedfiletypesforoverallfeedback', 'workshop'); $mform->addElement('text', 'overallfeedbackfiletypes', $label, array('maxlength' => 255, 'size' => 64)); $mform->addHelpButton('overallfeedbackfiletypes', 'allowedfiletypesforoverallfeedback', 'workshop'); $mform->setType('overallfeedbackfiletypes', PARAM_TEXT); $mform->addRule('overallfeedbackfiletypes', get_string('maximumchars', '', 255), 'maxlength', 255, 'client'); $mform->disabledIf('overallfeedbackfiletypes', 'overallfeedbackfiles', 'eq', 0); $options = get_max_upload_sizes($CFG->maxbytes, $this->course->maxbytes); $mform->addElement('select', 'overallfeedbackmaxbytes', get_string('overallfeedbackmaxbytes', 'workshop'), $options); $mform->setDefault('overallfeedbackmaxbytes', $workshopconfig->maxbytes); $mform->disabledIf('overallfeedbackmaxbytes', 'overallfeedbackmode', 'eq', 0); $mform->disabledIf('overallfeedbackmaxbytes', 'overallfeedbackfiles', 'eq', 0); $label = get_string('conclusion', 'workshop'); $mform->addElement('editor', 'conclusioneditor', $label, null, workshop::instruction_editors_options($this->context)); $mform->addHelpButton('conclusioneditor', 'conclusion', 'workshop'); // Example submissions -------------------------------------------------------- $mform->addElement('header', 'examplesubmissionssettings', get_string('examplesubmissions', 'workshop')); $label = get_string('useexamples', 'workshop'); $text = get_string('useexamples_desc', 'workshop'); $mform->addElement('checkbox', 'useexamples', $label, $text); $mform->addHelpButton('useexamples', 'useexamples', 'workshop'); $label = get_string('examplesmode', 'workshop'); $options = workshop::available_example_modes_list(); $mform->addElement('select', 'examplesmode', $label, $options); $mform->setDefault('examplesmode', $workshopconfig->examplesmode); $mform->disabledIf('examplesmode', 'useexamples'); // Availability --------------------------------------------------------------- $mform->addElement('header', 'accesscontrol', get_string('availability', 'core')); $label = get_string('submissionstart', 'workshop'); $mform->addElement('date_time_selector', 'submissionstart', $label, array('optional' => true)); $label = get_string('submissionend', 'workshop'); $mform->addElement('date_time_selector', 'submissionend', $label, array('optional' => true)); $label = get_string('submissionendswitch', 'mod_workshop'); $mform->addElement('checkbox', 'phaseswitchassessment', $label); $mform->disabledIf('phaseswitchassessment', 'submissionend[enabled]'); $mform->addHelpButton('phaseswitchassessment', 'submissionendswitch', 'mod_workshop'); $label = get_string('assessmentstart', 'workshop'); $mform->addElement('date_time_selector', 'assessmentstart', $label, array('optional' => true)); $label = get_string('assessmentend', 'workshop'); $mform->addElement('date_time_selector', 'assessmentend', $label, array('optional' => true)); $coursecontext = context_course::instance($this->course->id); plagiarism_get_form_elements_module($mform, $coursecontext, 'mod_workshop'); // Common module settings, Restrict availability, Activity completion etc. ---- $features = array('groups' => true, 'groupings' => true, 'outcomes' => true, 'gradecat' => false, 'idnumber' => false); $this->standard_coursemodule_elements(); // Standard buttons, common to all modules ------------------------------------ $this->add_action_buttons(); }
function setup_elements(&$mform) { global $CFG, $COURSE; $ynoptions = array(0 => get_string('no'), 1 => get_string('yes')); $mform->addElement('select', 'resubmit', get_string('allowresubmit', 'assignment'), $ynoptions); $mform->addHelpButton('resubmit', 'allowresubmit', 'assignment'); $mform->setDefault('resubmit', 0); $mform->addElement('select', 'emailteachers', get_string('emailteachers', 'assignment'), $ynoptions); $mform->addHelpButton('emailteachers', 'emailteachers', 'assignment'); $mform->setDefault('emailteachers', 0); $choices = get_max_upload_sizes($CFG->maxbytes, $COURSE->maxbytes); $mform->addElement('select', 'maxbytes', get_string('maximumsize', 'assignment'), $choices); $mform->setDefault('maxbytes', $CFG->assignment_maxbytes); $course_context = context_course::instance($COURSE->id); plagiarism_get_form_elements_module($mform, $course_context, 'mod_assignment'); }
function setup_elements(&$mform) { global $CFG, $COURSE; $ynoptions = array( 0 => get_string('no'), 1 => get_string('yes')); $choices = get_max_upload_sizes($CFG->maxbytes, $COURSE->maxbytes); $choices[0] = get_string('courseuploadlimit') . ' ('.display_size($COURSE->maxbytes).')'; $mform->addElement('select', 'maxbytes', get_string('maximumsize', 'assignment'), $choices); $mform->setDefault('maxbytes', $CFG->assignment_maxbytes); $mform->addElement('select', 'resubmit', get_string('allowdeleting', 'assignment'), $ynoptions); $mform->addHelpButton('resubmit', 'allowdeleting', 'assignment'); $mform->setDefault('resubmit', 1); $options = array(); for($i = 1; $i <= 20; $i++) { $options[$i] = $i; } $mform->addElement('select', 'var1', get_string('allowmaxfiles', 'assignment'), $options); $mform->addHelpButton('var1', 'allowmaxfiles', 'assignment'); $mform->setDefault('var1', 3); $mform->addElement('select', 'var2', get_string('allownotes', 'assignment'), $ynoptions); $mform->addHelpButton('var2', 'allownotes', 'assignment'); $mform->setDefault('var2', 0); $mform->addElement('select', 'var3', get_string('hideintro', 'assignment'), $ynoptions); $mform->addHelpButton('var3', 'hideintro', 'assignment'); $mform->setDefault('var3', 0); $mform->addElement('select', 'emailteachers', get_string('emailteachers', 'assignment'), $ynoptions); $mform->addHelpButton('emailteachers', 'emailteachers', 'assignment'); $mform->setDefault('emailteachers', 0); $mform->addElement('select', 'var4', get_string('trackdrafts', 'assignment'), $ynoptions); $mform->addHelpButton('var4', 'trackdrafts', 'assignment'); $mform->setDefault('var4', 1); $course_context = context_course::instance($COURSE->id); plagiarism_get_form_elements_module($mform, $course_context, 'mod_assignment'); }
/** * Called to define this moodle form * * @return void */ public function definition() { global $CFG, $DB, $PAGE; $mform = $this->_form; $mform->addElement('header', 'general', get_string('general', 'form')); $mform->addElement('text', 'name', get_string('assignmentname', 'assign'), array('size' => '64')); if (!empty($CFG->formatstringstriptags)) { $mform->setType('name', PARAM_TEXT); } else { $mform->setType('name', PARAM_CLEANHTML); } $mform->addRule('name', null, 'required', null, 'client'); $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client'); $this->add_intro_editor(true, get_string('description', 'assign')); $ctx = null; if ($this->current && $this->current->coursemodule) { $cm = get_coursemodule_from_instance('assign', $this->current->id, 0, false, MUST_EXIST); $ctx = context_module::instance($cm->id); } $assignment = new assign($ctx, null, null); if ($this->current && $this->current->course) { if (!$ctx) { $ctx = context_course::instance($this->current->course); } $course = $DB->get_record('course', array('id' => $this->current->course), '*', MUST_EXIST); $assignment->set_course($course); } $config = get_config('assign'); $mform->addElement('header', 'availability', get_string('availability', 'assign')); $mform->setExpanded('availability', true); $name = get_string('allowsubmissionsfromdate', 'assign'); $options = array('optional' => true); $mform->addElement('date_time_selector', 'allowsubmissionsfromdate', $name, $options); $mform->addHelpButton('allowsubmissionsfromdate', 'allowsubmissionsfromdate', 'assign'); $name = get_string('duedate', 'assign'); $mform->addElement('date_time_selector', 'duedate', $name, array('optional' => true)); $mform->addHelpButton('duedate', 'duedate', 'assign'); $name = get_string('cutoffdate', 'assign'); $mform->addElement('date_time_selector', 'cutoffdate', $name, array('optional' => true)); $mform->addHelpButton('cutoffdate', 'cutoffdate', 'assign'); $name = get_string('alwaysshowdescription', 'assign'); $mform->addElement('checkbox', 'alwaysshowdescription', $name); $mform->addHelpButton('alwaysshowdescription', 'alwaysshowdescription', 'assign'); $mform->disabledIf('alwaysshowdescription', 'allowsubmissionsfromdate[enabled]', 'notchecked'); $assignment->add_all_plugin_settings($mform); $mform->addElement('header', 'submissionsettings', get_string('submissionsettings', 'assign')); $name = get_string('submissiondrafts', 'assign'); $mform->addElement('selectyesno', 'submissiondrafts', $name); $mform->addHelpButton('submissiondrafts', 'submissiondrafts', 'assign'); $name = get_string('requiresubmissionstatement', 'assign'); $mform->addElement('selectyesno', 'requiresubmissionstatement', $name); $mform->addHelpButton('requiresubmissionstatement', 'requiresubmissionstatement', 'assign'); $mform->setType('requiresubmissionstatement', PARAM_BOOL); $options = array(ASSIGN_ATTEMPT_REOPEN_METHOD_NONE => get_string('attemptreopenmethod_none', 'mod_assign'), ASSIGN_ATTEMPT_REOPEN_METHOD_MANUAL => get_string('attemptreopenmethod_manual', 'mod_assign'), ASSIGN_ATTEMPT_REOPEN_METHOD_UNTILPASS => get_string('attemptreopenmethod_untilpass', 'mod_assign')); $mform->addElement('select', 'attemptreopenmethod', get_string('attemptreopenmethod', 'mod_assign'), $options); $mform->addHelpButton('attemptreopenmethod', 'attemptreopenmethod', 'mod_assign'); $options = array(ASSIGN_UNLIMITED_ATTEMPTS => get_string('unlimitedattempts', 'mod_assign')); $options += array_combine(range(1, 30), range(1, 30)); $mform->addElement('select', 'maxattempts', get_string('maxattempts', 'mod_assign'), $options); $mform->addHelpButton('maxattempts', 'maxattempts', 'assign'); $mform->disabledIf('maxattempts', 'attemptreopenmethod', 'eq', ASSIGN_ATTEMPT_REOPEN_METHOD_NONE); $mform->addElement('header', 'groupsubmissionsettings', get_string('groupsubmissionsettings', 'assign')); $name = get_string('teamsubmission', 'assign'); $mform->addElement('selectyesno', 'teamsubmission', $name); $mform->addHelpButton('teamsubmission', 'teamsubmission', 'assign'); if ($assignment->has_submissions_or_grades()) { $mform->freeze('teamsubmission'); } $name = get_string('requireallteammemberssubmit', 'assign'); $mform->addElement('selectyesno', 'requireallteammemberssubmit', $name); $mform->addHelpButton('requireallteammemberssubmit', 'requireallteammemberssubmit', 'assign'); $mform->disabledIf('requireallteammemberssubmit', 'teamsubmission', 'eq', 0); $mform->disabledIf('requireallteammemberssubmit', 'submissiondrafts', 'eq', 0); $groupings = groups_get_all_groupings($assignment->get_course()->id); $options = array(); $options[0] = get_string('none'); foreach ($groupings as $grouping) { $options[$grouping->id] = $grouping->name; } $name = get_string('teamsubmissiongroupingid', 'assign'); $mform->addElement('select', 'teamsubmissiongroupingid', $name, $options); $mform->addHelpButton('teamsubmissiongroupingid', 'teamsubmissiongroupingid', 'assign'); $mform->disabledIf('teamsubmissiongroupingid', 'teamsubmission', 'eq', 0); if ($assignment->has_submissions_or_grades()) { $mform->freeze('teamsubmissiongroupingid'); } $mform->addElement('header', 'notifications', get_string('notifications', 'assign')); $name = get_string('sendnotifications', 'assign'); $mform->addElement('selectyesno', 'sendnotifications', $name); $mform->addHelpButton('sendnotifications', 'sendnotifications', 'assign'); $name = get_string('sendlatenotifications', 'assign'); $mform->addElement('selectyesno', 'sendlatenotifications', $name); $mform->addHelpButton('sendlatenotifications', 'sendlatenotifications', 'assign'); $mform->disabledIf('sendlatenotifications', 'sendnotifications', 'eq', 1); $name = get_string('sendstudentnotificationsdefault', 'assign'); $mform->addElement('selectyesno', 'sendstudentnotifications', $name); $mform->addHelpButton('sendstudentnotifications', 'sendstudentnotificationsdefault', 'assign'); // Plagiarism enabling form. if (!empty($CFG->enableplagiarism)) { require_once $CFG->libdir . '/plagiarismlib.php'; plagiarism_get_form_elements_module($mform, $ctx->get_course_context(), 'mod_assign'); } $this->standard_grading_coursemodule_elements(); $name = get_string('blindmarking', 'assign'); $mform->addElement('selectyesno', 'blindmarking', $name); $mform->addHelpButton('blindmarking', 'blindmarking', 'assign'); if ($assignment->has_submissions_or_grades()) { $mform->freeze('blindmarking'); } $name = get_string('markingworkflow', 'assign'); $mform->addElement('selectyesno', 'markingworkflow', $name); $mform->addHelpButton('markingworkflow', 'markingworkflow', 'assign'); $name = get_string('markingallocation', 'assign'); $mform->addElement('selectyesno', 'markingallocation', $name); $mform->addHelpButton('markingallocation', 'markingallocation', 'assign'); $mform->disabledIf('markingallocation', 'markingworkflow', 'eq', 0); $this->standard_coursemodule_elements(); $this->apply_admin_defaults(); $this->add_action_buttons(); // Add warning popup/noscript tag, if grades are changed by user. $hasgrade = false; if (!empty($this->_instance)) { $hasgrade = $DB->record_exists_select('assign_grades', 'assignment = ? AND grade <> -1', array($this->_instance)); } if ($mform->elementExists('grade') && $hasgrade) { $module = array('name' => 'mod_assign', 'fullpath' => '/mod/assign/module.js', 'requires' => array('node', 'event'), 'strings' => array(array('changegradewarning', 'mod_assign'))); $PAGE->requires->js_init_call('M.mod_assign.init_grade_change', null, false, $module); // Add noscript tag in case. $noscriptwarning = $mform->createElement('static', 'warning', null, html_writer::tag('noscript', get_string('changegradewarning', 'mod_assign'))); $mform->insertElementBefore($noscriptwarning, 'grade'); } }
/** * Called to define this moodle form * * @return void */ function definition() { global $CFG, $DB, $PAGE; $mform = $this->_form; $mform->addElement('header', 'general', get_string('general', 'form')); $mform->addElement('text', 'name', get_string('assignmentname', 'assign'), array('size'=>'64')); if (!empty($CFG->formatstringstriptags)) { $mform->setType('name', PARAM_TEXT); } else { $mform->setType('name', PARAM_CLEANHTML); } $mform->addRule('name', null, 'required', null, 'client'); $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client'); $this->add_intro_editor(true, get_string('description', 'assign')); $ctx = null; if ($this->current && $this->current->coursemodule) { $cm = get_coursemodule_from_instance('assign', $this->current->id, 0, false, MUST_EXIST); $ctx = context_module::instance($cm->id); } $assignment = new assign($ctx, null, null); if ($this->current && $this->current->course) { if (!$ctx) { $ctx = context_course::instance($this->current->course); } $assignment->set_course($DB->get_record('course', array('id'=>$this->current->course), '*', MUST_EXIST)); } $mform->addElement('header', 'general', get_string('settings', 'assign')); $mform->addElement('date_time_selector', 'allowsubmissionsfromdate', get_string('allowsubmissionsfromdate', 'assign'), array('optional'=>true)); $mform->addHelpButton('allowsubmissionsfromdate', 'allowsubmissionsfromdate', 'assign'); $mform->setDefault('allowsubmissionsfromdate', time()); $mform->addElement('date_time_selector', 'duedate', get_string('duedate', 'assign'), array('optional'=>true)); $mform->addHelpButton('duedate', 'duedate', 'assign'); $mform->setDefault('duedate', time()+7*24*3600); $mform->addElement('selectyesno', 'alwaysshowdescription', get_string('alwaysshowdescription', 'assign')); $mform->addHelpButton('alwaysshowdescription', 'alwaysshowdescription', 'assign'); $mform->setDefault('alwaysshowdescription', 1); $mform->addElement('selectyesno', 'preventlatesubmissions', get_string('preventlatesubmissions', 'assign')); $mform->addHelpButton('preventlatesubmissions', 'preventlatesubmissions', 'assign'); $mform->setDefault('preventlatesubmissions', 0); $mform->addElement('selectyesno', 'submissiondrafts', get_string('submissiondrafts', 'assign')); $mform->addHelpButton('submissiondrafts', 'submissiondrafts', 'assign'); $mform->setDefault('submissiondrafts', 0); $mform->addElement('selectyesno', 'sendnotifications', get_string('sendnotifications', 'assign')); $mform->addHelpButton('sendnotifications', 'sendnotifications', 'assign'); $mform->setDefault('sendnotifications', 1); $mform->addElement('selectyesno', 'sendlatenotifications', get_string('sendlatenotifications', 'assign')); $mform->addHelpButton('sendlatenotifications', 'sendlatenotifications', 'assign'); $mform->setDefault('sendlatenotifications', 1); $mform->disabledIf('sendlatenotifications', 'sendnotifications', 'eq', 1); // plagiarism enabling form if (!empty($CFG->enableplagiarism)) { /** Include plagiarismlib.php */ require_once($CFG->libdir . '/plagiarismlib.php'); plagiarism_get_form_elements_module($mform, $ctx->get_course_context()); } $assignment->add_all_plugin_settings($mform); $this->standard_grading_coursemodule_elements(); $this->standard_coursemodule_elements(); $this->add_action_buttons(); // Add warning popup/noscript tag, if grades are changed by user. if ($mform->elementExists('grade') && !empty($this->_instance) && $DB->record_exists_select('assign_grades', 'assignment = ? AND grade <> -1', array($this->_instance))) { $module = array( 'name' => 'mod_assign', 'fullpath' => '/mod/assign/module.js', 'requires' => array('node', 'event'), 'strings' => array(array('changegradewarning', 'mod_assign')) ); $PAGE->requires->js_init_call('M.mod_assign.init_grade_change', null, false, $module); // Add noscript tag in case $noscriptwarning = $mform->createElement('static', 'warning', null, html_writer::tag('noscript', get_string('changegradewarning', 'mod_assign'))); $mform->insertElementBefore($noscriptwarning, 'grade'); } }
/** * Called to define this moodle form * * @return void */ public function definition() { global $CFG, $COURSE, $DB, $PAGE; $mform = $this->_form; $mform->addElement('header', 'general', get_string('general', 'form')); $mform->addElement('select', 'state', 'State/Province: '); $mform->addElement('text', 'name', get_string('seplmentname', 'sepl'), array('size' => '64')); if (!empty($CFG->formatstringstriptags)) { $mform->setType('name', PARAM_TEXT); } else { $mform->setType('name', PARAM_CLEANHTML); } $se_problems = new SphereEngine\Api("dadeea82cdd4b840cbde18858d9f17d6fb11a957", "v3", "problems"); $problemsClient = $se_problems->getProblemsClient(); #$client = (new SphereEngine\Api("dadeea82cdd4b840cbde18858d9f17d6fb11a957", "v3", "problems"))->getProblemsClient(); #$result = $problemsClient->problems->all(); #$mform->addElement('select', 'problem', 'Problem: ',$result);//, $state); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://problems.sphere-engine.com/api/v3/problems?access_token=dadeea82cdd4b840cbde18858d9f17d6fb11a957"); curl_setopt($ch, CURLOPT_POST, 1); #curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); // curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output2 = curl_exec($ch); curl_close($ch); $client = (new SphereEngine\Api("dadeea82cdd4b840cbde18858d9f17d6fb11a957", "v3", "endpoint"))->getProblemsClient(); var_dump($user); #var_dump( #$client->problems->all(['items']); var_dump($server_output2); $result2 = json_decode($server_output2, true); var_dump($result2); $mform->addElement('select', 'problem', 'Problem: ', $result2); //, $state); $mform->addRule('name', null, 'required', null, 'client'); $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client'); $this->standard_intro_elements(get_string('description', 'sepl')); $mform->addElement('filemanager', 'introattachments', get_string('introattachments', 'sepl'), null, array('subdirs' => 0, 'maxbytes' => $COURSE->maxbytes)); $mform->addHelpButton('introattachments', 'introattachments', 'sepl'); $ctx = null; if ($this->current && $this->current->coursemodule) { $cm = get_coursemodule_from_instance('sepl', $this->current->id, 0, false, MUST_EXIST); $ctx = context_module::instance($cm->id); } $seplment = new sepl($ctx, null, null); if ($this->current && $this->current->course) { if (!$ctx) { $ctx = context_course::instance($this->current->course); } $course = $DB->get_record('course', array('id' => $this->current->course), '*', MUST_EXIST); $seplment->set_course($course); } $config = get_config('sepl'); $mform->addElement('header', 'availability', get_string('availability', 'sepl')); $mform->setExpanded('availability', true); $name = get_string('allowsubmissionsfromdate', 'sepl'); $options = array('optional' => true); $mform->addElement('date_time_selector', 'allowsubmissionsfromdate', $name, $options); $mform->addHelpButton('allowsubmissionsfromdate', 'allowsubmissionsfromdate', 'sepl'); $name = get_string('duedate', 'sepl'); $mform->addElement('date_time_selector', 'duedate', $name, array('optional' => true)); $mform->addHelpButton('duedate', 'duedate', 'sepl'); $name = get_string('cutoffdate', 'sepl'); $mform->addElement('date_time_selector', 'cutoffdate', $name, array('optional' => true)); $mform->addHelpButton('cutoffdate', 'cutoffdate', 'sepl'); $name = get_string('alwaysshowdescription', 'sepl'); $mform->addElement('checkbox', 'alwaysshowdescription', $name); $mform->addHelpButton('alwaysshowdescription', 'alwaysshowdescription', 'sepl'); $mform->disabledIf('alwaysshowdescription', 'allowsubmissionsfromdate[enabled]', 'notchecked'); $seplment->add_all_plugin_settings($mform); $mform->addElement('header', 'submissionsettings', get_string('submissionsettings', 'sepl')); $name = get_string('submissiondrafts', 'sepl'); $mform->addElement('selectyesno', 'submissiondrafts', $name); $mform->addHelpButton('submissiondrafts', 'submissiondrafts', 'sepl'); $name = get_string('requiresubmissionstatement', 'sepl'); $mform->addElement('selectyesno', 'requiresubmissionstatement', $name); $mform->addHelpButton('requiresubmissionstatement', 'requiresubmissionstatement', 'sepl'); $mform->setType('requiresubmissionstatement', PARAM_BOOL); $options = array(ASSIGN_ATTEMPT_REOPEN_METHOD_NONE => get_string('attemptreopenmethod_none', 'mod_sepl'), ASSIGN_ATTEMPT_REOPEN_METHOD_MANUAL => get_string('attemptreopenmethod_manual', 'mod_sepl'), ASSIGN_ATTEMPT_REOPEN_METHOD_UNTILPASS => get_string('attemptreopenmethod_untilpass', 'mod_sepl')); $mform->addElement('select', 'attemptreopenmethod', get_string('attemptreopenmethod', 'mod_sepl'), $options); $mform->addHelpButton('attemptreopenmethod', 'attemptreopenmethod', 'mod_sepl'); $options = array(ASSIGN_UNLIMITED_ATTEMPTS => get_string('unlimitedattempts', 'mod_sepl')); $options += array_combine(range(1, 30), range(1, 30)); $mform->addElement('select', 'maxattempts', get_string('maxattempts', 'mod_sepl'), $options); $mform->addHelpButton('maxattempts', 'maxattempts', 'sepl'); $mform->disabledIf('maxattempts', 'attemptreopenmethod', 'eq', ASSIGN_ATTEMPT_REOPEN_METHOD_NONE); $mform->addElement('header', 'groupsubmissionsettings', get_string('groupsubmissionsettings', 'sepl')); $name = get_string('teamsubmission', 'sepl'); $mform->addElement('selectyesno', 'teamsubmission', $name); $mform->addHelpButton('teamsubmission', 'teamsubmission', 'sepl'); if ($seplment->has_submissions_or_grades()) { $mform->freeze('teamsubmission'); } $name = get_string('preventsubmissionnotingroup', 'sepl'); $mform->addElement('selectyesno', 'preventsubmissionnotingroup', $name); $mform->addHelpButton('preventsubmissionnotingroup', 'preventsubmissionnotingroup', 'sepl'); $mform->setType('preventsubmissionnotingroup', PARAM_BOOL); $mform->disabledIf('preventsubmissionnotingroup', 'teamsubmission', 'eq', 0); $name = get_string('requireallteammemberssubmit', 'sepl'); $mform->addElement('selectyesno', 'requireallteammemberssubmit', $name); $mform->addHelpButton('requireallteammemberssubmit', 'requireallteammemberssubmit', 'sepl'); $mform->disabledIf('requireallteammemberssubmit', 'teamsubmission', 'eq', 0); $mform->disabledIf('requireallteammemberssubmit', 'submissiondrafts', 'eq', 0); $groupings = groups_get_all_groupings($seplment->get_course()->id); $options = array(); $options[0] = get_string('none'); foreach ($groupings as $grouping) { $options[$grouping->id] = $grouping->name; } $name = get_string('teamsubmissiongroupingid', 'sepl'); $mform->addElement('select', 'teamsubmissiongroupingid', $name, $options); $mform->addHelpButton('teamsubmissiongroupingid', 'teamsubmissiongroupingid', 'sepl'); $mform->disabledIf('teamsubmissiongroupingid', 'teamsubmission', 'eq', 0); if ($seplment->has_submissions_or_grades()) { $mform->freeze('teamsubmissiongroupingid'); } $mform->addElement('header', 'notifications', get_string('notifications', 'sepl')); $name = get_string('sendnotifications', 'sepl'); $mform->addElement('selectyesno', 'sendnotifications', $name); $mform->addHelpButton('sendnotifications', 'sendnotifications', 'sepl'); $name = get_string('sendlatenotifications', 'sepl'); $mform->addElement('selectyesno', 'sendlatenotifications', $name); $mform->addHelpButton('sendlatenotifications', 'sendlatenotifications', 'sepl'); $mform->disabledIf('sendlatenotifications', 'sendnotifications', 'eq', 1); $name = get_string('sendstudentnotificationsdefault', 'sepl'); $mform->addElement('selectyesno', 'sendstudentnotifications', $name); $mform->addHelpButton('sendstudentnotifications', 'sendstudentnotificationsdefault', 'sepl'); // Plagiarism enabling form. if (!empty($CFG->enableplagiarism)) { require_once $CFG->libdir . '/plagiarismlib.php'; plagiarism_get_form_elements_module($mform, $ctx->get_course_context(), 'mod_sepl'); } $this->standard_grading_coursemodule_elements(); $name = get_string('blindmarking', 'sepl'); $mform->addElement('selectyesno', 'blindmarking', $name); $mform->addHelpButton('blindmarking', 'blindmarking', 'sepl'); if ($seplment->has_submissions_or_grades()) { $mform->freeze('blindmarking'); } $name = get_string('markingworkflow', 'sepl'); $mform->addElement('selectyesno', 'markingworkflow', $name); $mform->addHelpButton('markingworkflow', 'markingworkflow', 'sepl'); $name = get_string('markingallocation', 'sepl'); $mform->addElement('selectyesno', 'markingallocation', $name); $mform->addHelpButton('markingallocation', 'markingallocation', 'sepl'); $mform->disabledIf('markingallocation', 'markingworkflow', 'eq', 0); $this->standard_coursemodule_elements(); $this->apply_admin_defaults(); $this->add_action_buttons(); // Add warning popup/noscript tag, if grades are changed by user. $hasgrade = false; if (!empty($this->_instance)) { $hasgrade = $DB->record_exists_select('sepl_grades', 'seplment = ? AND grade <> -1', array($this->_instance)); } if ($mform->elementExists('grade') && $hasgrade) { $module = array('name' => 'mod_sepl', 'fullpath' => '/mod/sepl/module.js', 'requires' => array('node', 'event'), 'strings' => array(array('changegradewarning', 'mod_sepl'))); $PAGE->requires->js_init_call('M.mod_sepl.init_grade_change', null, false, $module); // Add noscript tag in case. $noscriptwarning = $mform->createElement('static', 'warning', null, html_writer::tag('noscript', get_string('changegradewarning', 'mod_sepl'))); $mform->insertElementBefore($noscriptwarning, 'grade'); } }
function definition() { global $CFG, $COURSE, $DB; $mform =& $this->_form; //------------------------------------------------------------------------------- $mform->addElement('header', 'general', get_string('general', 'form')); $mform->addElement('text', 'name', get_string('forumname', 'forum'), array('size' => '64')); if (!empty($CFG->formatstringstriptags)) { $mform->setType('name', PARAM_TEXT); } else { $mform->setType('name', PARAM_CLEANHTML); } $mform->addRule('name', null, 'required', null, 'client'); $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client'); $this->standard_intro_elements(get_string('forumintro', 'forum')); $forumtypes = forum_get_forum_types(); core_collator::asort($forumtypes, core_collator::SORT_STRING); $mform->addElement('select', 'type', get_string('forumtype', 'forum'), $forumtypes); $mform->addHelpButton('type', 'forumtype', 'forum'); $mform->setDefault('type', 'general'); // Attachments and word count. $mform->addElement('header', 'attachmentswordcounthdr', get_string('attachmentswordcount', 'forum')); $choices = get_max_upload_sizes($CFG->maxbytes, $COURSE->maxbytes, 0, $CFG->forum_maxbytes); $choices[1] = get_string('uploadnotallowed'); $mform->addElement('select', 'maxbytes', get_string('maxattachmentsize', 'forum'), $choices); $mform->addHelpButton('maxbytes', 'maxattachmentsize', 'forum'); $mform->setDefault('maxbytes', $CFG->forum_maxbytes); $choices = array(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 20 => 20, 50 => 50, 100 => 100); $mform->addElement('select', 'maxattachments', get_string('maxattachments', 'forum'), $choices); $mform->addHelpButton('maxattachments', 'maxattachments', 'forum'); $mform->setDefault('maxattachments', $CFG->forum_maxattachments); $mform->addElement('selectyesno', 'displaywordcount', get_string('displaywordcount', 'forum')); $mform->addHelpButton('displaywordcount', 'displaywordcount', 'forum'); $mform->setDefault('displaywordcount', 0); // Subscription and tracking. $mform->addElement('header', 'subscriptionandtrackinghdr', get_string('subscriptionandtracking', 'forum')); $options = array(); $options[FORUM_CHOOSESUBSCRIBE] = get_string('subscriptionoptional', 'forum'); $options[FORUM_FORCESUBSCRIBE] = get_string('subscriptionforced', 'forum'); $options[FORUM_INITIALSUBSCRIBE] = get_string('subscriptionauto', 'forum'); $options[FORUM_DISALLOWSUBSCRIBE] = get_string('subscriptiondisabled', 'forum'); $mform->addElement('select', 'forcesubscribe', get_string('subscriptionmode', 'forum'), $options); $mform->addHelpButton('forcesubscribe', 'subscriptionmode', 'forum'); $options = array(); $options[FORUM_TRACKING_OPTIONAL] = get_string('trackingoptional', 'forum'); $options[FORUM_TRACKING_OFF] = get_string('trackingoff', 'forum'); if ($CFG->forum_allowforcedreadtracking) { $options[FORUM_TRACKING_FORCED] = get_string('trackingon', 'forum'); } $mform->addElement('select', 'trackingtype', get_string('trackingtype', 'forum'), $options); $mform->addHelpButton('trackingtype', 'trackingtype', 'forum'); $default = $CFG->forum_trackingtype; if (!$CFG->forum_allowforcedreadtracking && $default == FORUM_TRACKING_FORCED) { $default = FORUM_TRACKING_OPTIONAL; } $mform->setDefault('trackingtype', $default); if ($CFG->enablerssfeeds && isset($CFG->forum_enablerssfeeds) && $CFG->forum_enablerssfeeds) { //------------------------------------------------------------------------------- $mform->addElement('header', 'rssheader', get_string('rss')); $choices = array(); $choices[0] = get_string('none'); $choices[1] = get_string('discussions', 'forum'); $choices[2] = get_string('posts', 'forum'); $mform->addElement('select', 'rsstype', get_string('rsstype'), $choices); $mform->addHelpButton('rsstype', 'rsstype', 'forum'); if (isset($CFG->forum_rsstype)) { $mform->setDefault('rsstype', $CFG->forum_rsstype); } $choices = array(); $choices[0] = '0'; $choices[1] = '1'; $choices[2] = '2'; $choices[3] = '3'; $choices[4] = '4'; $choices[5] = '5'; $choices[10] = '10'; $choices[15] = '15'; $choices[20] = '20'; $choices[25] = '25'; $choices[30] = '30'; $choices[40] = '40'; $choices[50] = '50'; $mform->addElement('select', 'rssarticles', get_string('rssarticles'), $choices); $mform->addHelpButton('rssarticles', 'rssarticles', 'forum'); $mform->disabledIf('rssarticles', 'rsstype', 'eq', '0'); if (isset($CFG->forum_rssarticles)) { $mform->setDefault('rssarticles', $CFG->forum_rssarticles); } } $mform->addElement('header', 'discussionlocking', get_string('discussionlockingheader', 'forum')); $options = [0 => get_string('discussionlockingdisabled', 'forum'), 1 * DAYSECS => get_string('numday', 'core', 1), 1 * WEEKSECS => get_string('numweek', 'core', 1), 2 * WEEKSECS => get_string('numweeks', 'core', 2), 30 * DAYSECS => get_string('nummonth', 'core', 1), 60 * DAYSECS => get_string('nummonths', 'core', 2), 90 * DAYSECS => get_string('nummonths', 'core', 3), 180 * DAYSECS => get_string('nummonths', 'core', 6), 1 * YEARSECS => get_string('numyear', 'core', 1)]; $mform->addElement('select', 'lockdiscussionafter', get_string('lockdiscussionafter', 'forum'), $options); $mform->addHelpButton('lockdiscussionafter', 'lockdiscussionafter', 'forum'); $mform->disabledIf('lockdiscussionafter', 'type', 'eq', 'single'); //------------------------------------------------------------------------------- $mform->addElement('header', 'blockafterheader', get_string('blockafter', 'forum')); $options = array(); $options[0] = get_string('blockperioddisabled', 'forum'); $options[60 * 60 * 24] = '1 ' . get_string('day'); $options[60 * 60 * 24 * 2] = '2 ' . get_string('days'); $options[60 * 60 * 24 * 3] = '3 ' . get_string('days'); $options[60 * 60 * 24 * 4] = '4 ' . get_string('days'); $options[60 * 60 * 24 * 5] = '5 ' . get_string('days'); $options[60 * 60 * 24 * 6] = '6 ' . get_string('days'); $options[60 * 60 * 24 * 7] = '1 ' . get_string('week'); $mform->addElement('select', 'blockperiod', get_string('blockperiod', 'forum'), $options); $mform->addHelpButton('blockperiod', 'blockperiod', 'forum'); $mform->addElement('text', 'blockafter', get_string('blockafter', 'forum')); $mform->setType('blockafter', PARAM_INT); $mform->setDefault('blockafter', '0'); $mform->addRule('blockafter', null, 'numeric', null, 'client'); $mform->addHelpButton('blockafter', 'blockafter', 'forum'); $mform->disabledIf('blockafter', 'blockperiod', 'eq', 0); $mform->addElement('text', 'warnafter', get_string('warnafter', 'forum')); $mform->setType('warnafter', PARAM_INT); $mform->setDefault('warnafter', '0'); $mform->addRule('warnafter', null, 'numeric', null, 'client'); $mform->addHelpButton('warnafter', 'warnafter', 'forum'); $mform->disabledIf('warnafter', 'blockperiod', 'eq', 0); $coursecontext = context_course::instance($COURSE->id); plagiarism_get_form_elements_module($mform, $coursecontext, 'mod_forum'); //------------------------------------------------------------------------------- $this->standard_grading_coursemodule_elements(); $this->standard_coursemodule_elements(); //------------------------------------------------------------------------------- // buttons $this->add_action_buttons(); }
/** * Called to define this moodle form * * @return void */ function definition() { global $CFG, $DB; $mform = $this->_form; $mform->addElement('header', 'general', get_string('general', 'form')); $mform->addElement('text', 'name', get_string('assignmentname', 'assign'), array('size'=>'64')); if (!empty($CFG->formatstringstriptags)) { $mform->setType('name', PARAM_TEXT); } else { $mform->setType('name', PARAM_CLEANHTML); } $mform->addRule('name', null, 'required', null, 'client'); $this->add_intro_editor(true, get_string('description', 'assign')); $ctx = null; if ($this->current && $this->current->coursemodule) { $cm = get_coursemodule_from_instance('assign', $this->current->id, 0, false, MUST_EXIST); $ctx = context_module::instance($cm->id); } $assignment = new assign($ctx, null, null); if ($this->current && $this->current->course) { if (!$ctx) { $ctx = context_course::instance($this->current->course); } $assignment->set_course($DB->get_record('course', array('id'=>$this->current->course), '*', MUST_EXIST)); } $mform->addElement('header', 'general', get_string('settings', 'assign')); $mform->addElement('date_time_selector', 'allowsubmissionsfromdate', get_string('allowsubmissionsfromdate', 'assign'), array('optional'=>true)); $mform->addHelpButton('allowsubmissionsfromdate', 'allowsubmissionsfromdate', 'assign'); $mform->setDefault('allowsubmissionsfromdate', time()); $mform->addElement('date_time_selector', 'duedate', get_string('duedate', 'assign'), array('optional'=>true)); $mform->addHelpButton('duedate', 'duedate', 'assign'); $mform->setDefault('duedate', time()+7*24*3600); $mform->addElement('selectyesno', 'alwaysshowdescription', get_string('alwaysshowdescription', 'assign')); $mform->addHelpButton('alwaysshowdescription', 'alwaysshowdescription', 'assign'); $mform->setDefault('alwaysshowdescription', 1); $mform->addElement('selectyesno', 'preventlatesubmissions', get_string('preventlatesubmissions', 'assign')); $mform->addHelpButton('preventlatesubmissions', 'preventlatesubmissions', 'assign'); $mform->setDefault('preventlatesubmissions', 0); $mform->addElement('selectyesno', 'submissiondrafts', get_string('submissiondrafts', 'assign')); $mform->addHelpButton('submissiondrafts', 'submissiondrafts', 'assign'); $mform->setDefault('submissiondrafts', 0); $mform->addElement('selectyesno', 'sendnotifications', get_string('sendnotifications', 'assign')); $mform->addHelpButton('sendnotifications', 'sendnotifications', 'assign'); $mform->setDefault('sendnotifications', 1); $mform->addElement('selectyesno', 'sendlatenotifications', get_string('sendlatenotifications', 'assign')); $mform->addHelpButton('sendlatenotifications', 'sendlatenotifications', 'assign'); $mform->setDefault('sendlatenotifications', 1); $mform->disabledIf('sendlatenotifications', 'sendnotifications', 'eq', 1); // plagiarism enabling form if (!empty($CFG->enableplagiarism)) { /** Include plagiarismlib.php */ require_once($CFG->libdir . '/plagiarismlib.php'); plagiarism_get_form_elements_module($mform, $ctx->get_course_context()); } $assignment->add_all_plugin_settings($mform); $this->standard_grading_coursemodule_elements(); $this->standard_coursemodule_elements(); $this->add_action_buttons(); }
function definition() { global $CFG, $COURSE, $DB; $mform =& $this->_form; //------------------------------------------------------------------------------- $mform->addElement('header', 'general', get_string('general', 'form')); $mform->addElement('text', 'name', get_string('forumname', 'forum'), array('size'=>'64')); if (!empty($CFG->formatstringstriptags)) { $mform->setType('name', PARAM_TEXT); } else { $mform->setType('name', PARAM_CLEANHTML); } $mform->addRule('name', null, 'required', null, 'client'); $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client'); $forum_types = forum_get_forum_types(); asort($forum_types); $mform->addElement('select', 'type', get_string('forumtype', 'forum'), $forum_types); $mform->addHelpButton('type', 'forumtype', 'forum'); $mform->setDefault('type', 'general'); $this->add_intro_editor(true, get_string('forumintro', 'forum')); $options = array(); $options[FORUM_CHOOSESUBSCRIBE] = get_string('subscriptionoptional', 'forum'); $options[FORUM_FORCESUBSCRIBE] = get_string('subscriptionforced', 'forum'); $options[FORUM_INITIALSUBSCRIBE] = get_string('subscriptionauto', 'forum'); $options[FORUM_DISALLOWSUBSCRIBE] = get_string('subscriptiondisabled','forum'); $mform->addElement('select', 'forcesubscribe', get_string('subscriptionmode', 'forum'), $options); $mform->addHelpButton('forcesubscribe', 'subscriptionmode', 'forum'); $options = array(); $options[FORUM_TRACKING_OPTIONAL] = get_string('trackingoptional', 'forum'); $options[FORUM_TRACKING_OFF] = get_string('trackingoff', 'forum'); $options[FORUM_TRACKING_ON] = get_string('trackingon', 'forum'); $mform->addElement('select', 'trackingtype', get_string('trackingtype', 'forum'), $options); $mform->addHelpButton('trackingtype', 'trackingtype', 'forum'); $choices = get_max_upload_sizes($CFG->maxbytes, $COURSE->maxbytes); $choices[1] = get_string('uploadnotallowed'); $choices[0] = get_string('courseuploadlimit') . ' ('.display_size($COURSE->maxbytes).')'; $mform->addElement('select', 'maxbytes', get_string('maxattachmentsize', 'forum'), $choices); $mform->addHelpButton('maxbytes', 'maxattachmentsize', 'forum'); $mform->setDefault('maxbytes', $CFG->forum_maxbytes); $choices = array(0,1,2,3,4,5,6,7,8,9,10,20,50,100); $mform->addElement('select', 'maxattachments', get_string('maxattachments', 'forum'), $choices); $mform->addHelpButton('maxattachments', 'maxattachments', 'forum'); $mform->setDefault('maxattachments', $CFG->forum_maxattachments); if ($CFG->enablerssfeeds && isset($CFG->forum_enablerssfeeds) && $CFG->forum_enablerssfeeds) { //------------------------------------------------------------------------------- $mform->addElement('header', '', get_string('rss')); $choices = array(); $choices[0] = get_string('none'); $choices[1] = get_string('discussions', 'forum'); $choices[2] = get_string('posts', 'forum'); $mform->addElement('select', 'rsstype', get_string('rsstype'), $choices); $mform->addHelpButton('rsstype', 'rsstype', 'forum'); $choices = array(); $choices[0] = '0'; $choices[1] = '1'; $choices[2] = '2'; $choices[3] = '3'; $choices[4] = '4'; $choices[5] = '5'; $choices[10] = '10'; $choices[15] = '15'; $choices[20] = '20'; $choices[25] = '25'; $choices[30] = '30'; $choices[40] = '40'; $choices[50] = '50'; $mform->addElement('select', 'rssarticles', get_string('rssarticles'), $choices); $mform->addHelpButton('rssarticles', 'rssarticles', 'forum'); } //------------------------------------------------------------------------------- $mform->addElement('header', '', get_string('blockafter', 'forum')); $options = array(); $options[0] = get_string('blockperioddisabled','forum'); $options[60*60*24] = '1 '.get_string('day'); $options[60*60*24*2] = '2 '.get_string('days'); $options[60*60*24*3] = '3 '.get_string('days'); $options[60*60*24*4] = '4 '.get_string('days'); $options[60*60*24*5] = '5 '.get_string('days'); $options[60*60*24*6] = '6 '.get_string('days'); $options[60*60*24*7] = '1 '.get_string('week'); $mform->addElement('select', 'blockperiod', get_string('blockperiod', 'forum'), $options); $mform->addHelpButton('blockperiod', 'blockperiod', 'forum'); $mform->addElement('text', 'blockafter', get_string('blockafter', 'forum')); $mform->setType('blockafter', PARAM_INT); $mform->setDefault('blockafter', '0'); $mform->addRule('blockafter', null, 'numeric', null, 'client'); $mform->addHelpButton('blockafter', 'blockafter', 'forum'); $mform->disabledIf('blockafter', 'blockperiod', 'eq', 0); $mform->addElement('text', 'warnafter', get_string('warnafter', 'forum')); $mform->setType('warnafter', PARAM_INT); $mform->setDefault('warnafter', '0'); $mform->addRule('warnafter', null, 'numeric', null, 'client'); $mform->addHelpButton('warnafter', 'warnafter', 'forum'); $mform->disabledIf('warnafter', 'blockperiod', 'eq', 0); $coursecontext = context_course::instance($COURSE->id); plagiarism_get_form_elements_module($mform, $coursecontext, 'mod_forum'); //------------------------------------------------------------------------------- $this->standard_grading_coursemodule_elements(); $this->standard_coursemodule_elements(); //------------------------------------------------------------------------------- // buttons $this->add_action_buttons(); }
function definition() { global $CFG, $COURSE, $DB; $mform =& $this->_form; //------------------------------------------------------------------------------- $mform->addElement('header', 'general', get_string('general', 'form')); $mform->addElement('text', 'name', get_string('anonforumname', 'anonforum'), array('size' => '64')); if (!empty($CFG->formatstringstriptags)) { $mform->setType('name', PARAM_TEXT); } else { $mform->setType('name', PARAM_CLEANHTML); } $mform->addRule('name', null, 'required', null, 'client'); $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client'); $this->add_intro_editor(true, get_string('anonforumintro', 'anonforum')); $anonforumtypes = anonforum_get_anonforum_types(); core_collator::asort($anonforumtypes, core_collator::SORT_STRING); $mform->addElement('select', 'type', get_string('anonforumtype', 'anonforum'), $anonforumtypes); $mform->addHelpButton('type', 'anonforumtype', 'anonforum'); $mform->setDefault('type', 'general'); // Attachments and word count. $mform->addElement('header', 'attachmentswordcounthdr', get_string('attachmentswordcount', 'anonforum')); $choices = get_max_upload_sizes($CFG->maxbytes, $COURSE->maxbytes, 0, $CFG->anonforum_maxbytes); $choices[1] = get_string('uploadnotallowed'); $mform->addElement('select', 'maxbytes', get_string('maxattachmentsize', 'anonforum'), $choices); $mform->addHelpButton('maxbytes', 'maxattachmentsize', 'anonforum'); $mform->setDefault('maxbytes', $CFG->anonforum_maxbytes); $choices = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 50, 100); $mform->addElement('select', 'maxattachments', get_string('maxattachments', 'anonforum'), $choices); $mform->addHelpButton('maxattachments', 'maxattachments', 'anonforum'); $mform->setDefault('maxattachments', $CFG->anonforum_maxattachments); $mform->addElement('selectyesno', 'displaywordcount', get_string('displaywordcount', 'anonforum')); $mform->addHelpButton('displaywordcount', 'displaywordcount', 'anonforum'); $mform->setDefault('displaywordcount', 0); // Subscription and tracking. $mform->addElement('header', 'subscriptionandtrackinghdr', get_string('subscriptionandtracking', 'anonforum')); $options = array(); $options[ANONFORUM_CHOOSESUBSCRIBE] = get_string('subscriptionoptional', 'anonforum'); $options[ANONFORUM_FORCESUBSCRIBE] = get_string('subscriptionforced', 'anonforum'); $options[ANONFORUM_INITIALSUBSCRIBE] = get_string('subscriptionauto', 'anonforum'); $options[ANONFORUM_DISALLOWSUBSCRIBE] = get_string('subscriptiondisabled', 'anonforum'); $mform->addElement('select', 'forcesubscribe', get_string('subscriptionmode', 'anonforum'), $options); $mform->addHelpButton('forcesubscribe', 'subscriptionmode', 'anonforum'); $options = array(); $options[ANONFORUM_TRACKING_OPTIONAL] = get_string('trackingoptional', 'anonforum'); $options[ANONFORUM_TRACKING_OFF] = get_string('trackingoff', 'anonforum'); if ($CFG->anonforum_allowforcedreadtracking) { $options[ANONFORUM_TRACKING_FORCED] = get_string('trackingon', 'anonforum'); } $mform->addElement('select', 'trackingtype', get_string('trackingtype', 'anonforum'), $options); $mform->addHelpButton('trackingtype', 'trackingtype', 'anonforum'); $default = $CFG->anonforum_trackingtype; if (!$CFG->anonforum_allowforcedreadtracking && $default == ANONFORUM_TRACKING_FORCED) { $default = ANONFORUM_TRACKING_OPTIONAL; } $mform->setDefault('trackingtype', $default); if ($CFG->enablerssfeeds && isset($CFG->anonforum_enablerssfeeds) && $CFG->anonforum_enablerssfeeds) { //------------------------------------------------------------------------------- $mform->addElement('header', 'rssheader', get_string('rss')); $choices = array(); $choices[0] = get_string('none'); $choices[1] = get_string('discussions', 'anonforum'); $choices[2] = get_string('posts', 'anonforum'); $mform->addElement('select', 'rsstype', get_string('rsstype'), $choices); $mform->addHelpButton('rsstype', 'rsstype', 'anonforum'); $choices = array(); $choices[0] = '0'; $choices[1] = '1'; $choices[2] = '2'; $choices[3] = '3'; $choices[4] = '4'; $choices[5] = '5'; $choices[10] = '10'; $choices[15] = '15'; $choices[20] = '20'; $choices[25] = '25'; $choices[30] = '30'; $choices[40] = '40'; $choices[50] = '50'; $mform->addElement('select', 'rssarticles', get_string('rssarticles'), $choices); $mform->addHelpButton('rssarticles', 'rssarticles', 'anonforum'); $mform->disabledIf('rssarticles', 'rsstype', 'eq', '0'); } //------------------------------------------------------------------------------- $mform->addElement('header', 'blockafterheader', get_string('blockafter', 'anonforum')); $options = array(); $options[0] = get_string('blockperioddisabled', 'anonforum'); $options[60 * 60 * 24] = '1 ' . get_string('day'); $options[60 * 60 * 24 * 2] = '2 ' . get_string('days'); $options[60 * 60 * 24 * 3] = '3 ' . get_string('days'); $options[60 * 60 * 24 * 4] = '4 ' . get_string('days'); $options[60 * 60 * 24 * 5] = '5 ' . get_string('days'); $options[60 * 60 * 24 * 6] = '6 ' . get_string('days'); $options[60 * 60 * 24 * 7] = '1 ' . get_string('week'); $mform->addElement('select', 'blockperiod', get_string('blockperiod', 'anonforum'), $options); $mform->addHelpButton('blockperiod', 'blockperiod', 'anonforum'); $mform->addElement('text', 'blockafter', get_string('blockafter', 'anonforum')); $mform->setType('blockafter', PARAM_INT); $mform->setDefault('blockafter', '0'); $mform->addRule('blockafter', null, 'numeric', null, 'client'); $mform->addHelpButton('blockafter', 'blockafter', 'anonforum'); $mform->disabledIf('blockafter', 'blockperiod', 'eq', 0); $mform->addElement('text', 'warnafter', get_string('warnafter', 'anonforum')); $mform->setType('warnafter', PARAM_INT); $mform->setDefault('warnafter', '0'); $mform->addRule('warnafter', null, 'numeric', null, 'client'); $mform->addHelpButton('warnafter', 'warnafter', 'anonforum'); $mform->disabledIf('warnafter', 'blockperiod', 'eq', 0); $coursecontext = context_course::instance($COURSE->id); plagiarism_get_form_elements_module($mform, $coursecontext, 'mod_anonforum'); //------------------------------------------------------------------------------- // Ratings are remove for the module as they will never be used $this->_features->rating = false; $this->standard_coursemodule_elements(); //------------------------------------------------------------------------------- // buttons $this->add_action_buttons(); }
/** * Print the form for this assignment type * * @param $mform object Allready existant form */ function setup_elements(&$mform) { global $CFG, $COURSE, $DB; // Some code are copied from parent::setup_elements(). Keep sync please. $ynoptions = array(0 => get_string('no'), 1 => get_string('yes')); $choices = get_max_upload_sizes($CFG->maxbytes, $COURSE->maxbytes); $choices[0] = get_string('courseuploadlimit') . ' (' . display_size($COURSE->maxbytes) . ')'; $mform->addElement('select', 'maxbytes', get_string('maximumfilesize', 'assignment_onlinejudge'), $choices); $mform->setDefault('maxbytes', $CFG->assignment_maxbytes); $mform->addElement('select', 'resubmit', get_string('allowdeleting', 'assignment'), $ynoptions); $mform->addHelpButton('resubmit', 'allowdeleting', 'assignment'); $mform->setDefault('resubmit', 1); $options = array(); for ($i = 1; $i <= 20; $i++) { $options[$i] = $i; } $mform->addElement('select', 'var1', get_string('allowmaxfiles', 'assignment'), $options); $mform->addHelpButton('var1', 'allowmaxfiles', 'assignment'); $mform->setDefault('var1', 1); $mform->addElement('select', 'var2', get_string('allownotes', 'assignment'), $ynoptions); $mform->addHelpButton('var2', 'allownotes', 'assignment'); $mform->setDefault('var2', 0); $mform->addElement('select', 'var3', get_string('hideintro', 'assignment'), $ynoptions); $mform->addHelpButton('var3', 'hideintro', 'assignment'); $mform->setDefault('var3', 0); $mform->addElement('select', 'emailteachers', get_string('emailteachers', 'assignment'), $ynoptions); $mform->addHelpButton('emailteachers', 'emailteachers', 'assignment'); $mform->setDefault('emailteachers', 0); // Get existing onlinejudge settings $update = optional_param('update', 0, PARAM_INT); if (!empty($update)) { $cm = $DB->get_record('course_modules', array('id' => $update), '*', MUST_EXIST); $onlinejudge = $DB->get_record('assignment_oj', array('assignment' => $cm->instance)); } // Programming languages unset($choices); $choices = onlinejudge_get_languages(); $mform->addElement('select', 'language', get_string('assignmentlangs', 'assignment_onlinejudge'), $choices); $mform->setDefault('language', isset($onlinejudge) ? $onlinejudge->language : get_config('local_onlinejudge', 'defaultlanguage')); // Presentation error grade ratio unset($choices); $choices = get_grade_options()->gradeoptions; // Steal from question lib $mform->addElement('select', 'ratiope', get_string('ratiope', 'assignment_onlinejudge'), $choices); $mform->addHelpButton('ratiope', 'ratiope', 'assignment_onlinejudge'); $mform->setDefault('ratiope', isset($onlinejudge) ? $onlinejudge->ratiope : 0); $mform->setAdvanced('ratiope'); // Max. CPU time unset($choices); $choices = $this->get_max_cpu_times(); $mform->addElement('select', 'cpulimit', get_string('cpulimit', 'assignment_onlinejudge'), $choices); $mform->setDefault('cpulimit', isset($onlinejudge) ? $onlinejudge->cpulimit : 1); // Max. memory usage unset($choices); $choices = $this->get_max_memory_usages(); $mform->addElement('select', 'memlimit', get_string('memlimit', 'assignment_onlinejudge'), $choices); $mform->setDefault('memlimit', isset($onlinejudge) ? $onlinejudge->memlimit : 1048576); // Compile only? $mform->addElement('select', 'compileonly', get_string('compileonly', 'assignment_onlinejudge'), $ynoptions); $mform->addHelpButton('compileonly', 'compileonly', 'assignment_onlinejudge'); $mform->setDefault('compileonly', isset($onlinejudge) ? $onlinejudge->compileonly : 0); $mform->setAdvanced('compileonly'); //ideone.com $mform->addElement('text', 'ideoneuser', get_string('ideoneuser', 'assignment_onlinejudge'), array('size' => 20)); $mform->addHelpButton('ideoneuser', 'ideoneuser', 'assignment_onlinejudge'); $mform->setType('ideoneuser', PARAM_ALPHANUMEXT); $mform->setDefault('ideoneuser', isset($onlinejudge) ? $onlinejudge->ideoneuser : ''); $mform->addElement('password', 'ideonepass', get_string('ideonepass', 'assignment_onlinejudge'), array('size' => 20)); $mform->addHelpButton('ideonepass', 'ideonepass', 'assignment_onlinejudge'); $mform->setDefault('ideonepass', isset($onlinejudge) ? $onlinejudge->ideonepass : ''); $course_context = get_context_instance(CONTEXT_COURSE, $COURSE->id); plagiarism_get_form_elements_module($mform, $course_context); }
function definition() { global $CFG, $COURSE, $PAGE; $config = get_config('hsuforum'); $mform =& $this->_form; //------------------------------------------------------------------------------- $mform->addElement('header', 'general', get_string('general', 'form')); $mform->addElement('text', 'name', get_string('forumname', 'hsuforum'), array('size' => '64')); if (!empty($CFG->formatstringstriptags)) { $mform->setType('name', PARAM_TEXT); } else { $mform->setType('name', PARAM_CLEANHTML); } $mform->addRule('name', null, 'required', null, 'client'); $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client'); $this->add_intro_editor(true, get_string('forumintro', 'hsuforum')); if (empty($config->hiderecentposts)) { // Display recent posts on course page? $mform->addElement('advcheckbox', 'showrecent', get_string('showrecent', 'hsuforum')); $mform->addHelpButton('showrecent', 'showrecent', 'hsuforum'); $mform->setDefault('showrecent', 1); } $forumtypes = hsuforum_get_hsuforum_types(); core_collator::asort($forumtypes, core_collator::SORT_STRING); $mform->addElement('select', 'type', get_string('forumtype', 'hsuforum'), $forumtypes); $mform->addHelpButton('type', 'forumtype', 'hsuforum'); $mform->setDefault('type', 'general'); // Post options. $mform->addElement('header', 'postoptshdr', get_string('postoptions', 'hsuforum')); // Substantive flag visible? $mform->addElement('advcheckbox', 'showsubstantive', get_string('showsubstantive', 'hsuforum')); $mform->addHelpButton('showsubstantive', 'showsubstantive', 'hsuforum'); $mform->setDefault('showsubstantive', 0); // Bookmarking flag visible? $mform->addElement('advcheckbox', 'showbookmark', get_string('showbookmark', 'hsuforum')); $mform->addHelpButton('showbookmark', 'showbookmark', 'hsuforum'); $mform->setDefault('showbookmark', 0); // Allow private replies if checked. $mform->addElement('advcheckbox', 'allowprivatereplies', get_string('privatereplies', 'hsuforum')); $mform->addHelpButton('allowprivatereplies', 'privatereplies', 'hsuforum'); // Allow anonymous replies? $mform->addElement('advcheckbox', 'anonymous', get_string('allowanonymous', 'hsuforum')); $mform->addHelpButton('anonymous', 'allowanonymous', 'hsuforum'); // Display word count? $mform->addElement('advcheckbox', 'displaywordcount', get_string('displaywordcount', 'hsuforum')); $mform->addHelpButton('displaywordcount', 'displaywordcount', 'hsuforum'); $mform->setDefault('displaywordcount', 0); // Attachments and word count. $mform->addElement('header', 'attachmentshdr', get_string('attachments', 'hsuforum')); $choices = get_max_upload_sizes($CFG->maxbytes, $COURSE->maxbytes, 0, $config->maxbytes); $choices[1] = get_string('uploadnotallowed'); $mform->addElement('select', 'maxbytes', get_string('maxattachmentsize', 'hsuforum'), $choices); $mform->addHelpButton('maxbytes', 'maxattachmentsize', 'hsuforum'); $mform->setDefault('maxbytes', $config->maxbytes); $choices = array(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 20 => 20, 50 => 50, 100 => 100); $mform->addElement('select', 'maxattachments', get_string('maxattachments', 'hsuforum'), $choices); $mform->addHelpButton('maxattachments', 'maxattachments', 'hsuforum'); $mform->setDefault('maxattachments', $config->maxattachments); // Subscription and tracking. $mform->addElement('header', 'subscriptionhdr', get_string('subscription', 'hsuforum')); $options = array(); $options[HSUFORUM_CHOOSESUBSCRIBE] = get_string('subscriptionoptional', 'hsuforum'); $options[HSUFORUM_FORCESUBSCRIBE] = get_string('subscriptionforced', 'hsuforum'); $options[HSUFORUM_INITIALSUBSCRIBE] = get_string('subscriptionauto', 'hsuforum'); $options[HSUFORUM_DISALLOWSUBSCRIBE] = get_string('subscriptiondisabled', 'hsuforum'); $mform->addElement('select', 'forcesubscribe', get_string('subscriptionmode', 'hsuforum'), $options); $mform->addHelpButton('forcesubscribe', 'subscriptionmode', 'hsuforum'); if ($CFG->enablerssfeeds && isset($config->enablerssfeeds) && $config->enablerssfeeds) { //------------------------------------------------------------------------------- $mform->addElement('header', 'rssheader', get_string('rss')); $choices = array(); $choices[0] = get_string('none'); $choices[1] = get_string('discussions', 'hsuforum'); $choices[2] = get_string('posts', 'hsuforum'); $mform->addElement('select', 'rsstype', get_string('rsstype'), $choices); $mform->addHelpButton('rsstype', 'rsstype', 'hsuforum'); $choices = array(); $choices[0] = '0'; $choices[1] = '1'; $choices[2] = '2'; $choices[3] = '3'; $choices[4] = '4'; $choices[5] = '5'; $choices[10] = '10'; $choices[15] = '15'; $choices[20] = '20'; $choices[25] = '25'; $choices[30] = '30'; $choices[40] = '40'; $choices[50] = '50'; $mform->addElement('select', 'rssarticles', get_string('rssarticles'), $choices); $mform->addHelpButton('rssarticles', 'rssarticles', 'hsuforum'); $mform->disabledIf('rssarticles', 'rsstype', 'eq', '0'); } //------------------------------------------------------------------------------- $mform->addElement('header', 'blockafterheader', get_string('blockafter', 'hsuforum')); $options = array(); $options[0] = get_string('blockperioddisabled', 'hsuforum'); $options[60 * 60 * 24] = '1 ' . get_string('day'); $options[60 * 60 * 24 * 2] = '2 ' . get_string('days'); $options[60 * 60 * 24 * 3] = '3 ' . get_string('days'); $options[60 * 60 * 24 * 4] = '4 ' . get_string('days'); $options[60 * 60 * 24 * 5] = '5 ' . get_string('days'); $options[60 * 60 * 24 * 6] = '6 ' . get_string('days'); $options[60 * 60 * 24 * 7] = '1 ' . get_string('week'); $mform->addElement('select', 'blockperiod', get_string('blockperiod', 'hsuforum'), $options); $mform->addHelpButton('blockperiod', 'blockperiod', 'hsuforum'); $mform->addElement('text', 'blockafter', get_string('blockafter', 'hsuforum')); $mform->setType('blockafter', PARAM_INT); $mform->setDefault('blockafter', '0'); $mform->addRule('blockafter', null, 'numeric', null, 'client'); $mform->addHelpButton('blockafter', 'blockafter', 'hsuforum'); $mform->disabledIf('blockafter', 'blockperiod', 'eq', 0); $mform->addElement('text', 'warnafter', get_string('warnafter', 'hsuforum')); $mform->setType('warnafter', PARAM_INT); $mform->setDefault('warnafter', '0'); $mform->addRule('warnafter', null, 'numeric', null, 'client'); $mform->addHelpButton('warnafter', 'warnafter', 'hsuforum'); $mform->disabledIf('warnafter', 'blockperiod', 'eq', 0); $coursecontext = context_course::instance($COURSE->id); plagiarism_get_form_elements_module($mform, $coursecontext, 'mod_hsuforum'); //------------------------------------------------------------------------------- $this->standard_grading_coursemodule_elements(); $this->standard_coursemodule_elements(); $mform->addElement('select', 'gradetype', get_string('gradetype', 'hsuforum'), hsuforum_get_grading_types()); $mform->setDefault('gradetype', HSUFORUM_GRADETYPE_NONE); $mform->setType('gradetype', PARAM_INT); $mform->addHelpButton('gradetype', 'gradetype', 'hsuforum'); $mform->insertElementBefore($mform->removeElement('gradetype'), 'grade'); $scale = $mform->insertElementBefore($mform->removeElement('scale'), 'grade'); $scale->setLabel(get_string('grade')); // Done abusing this poor fellow... $mform->removeElement('grade'); if ($this->_features->advancedgrading) { foreach ($this->current->_advancedgradingdata['areas'] as $areaname => $areadata) { $mform->disabledIf('advancedgradingmethod_' . $areaname, 'gradetype', 'neq', HSUFORUM_GRADETYPE_MANUAL); } } $key = array_search('scale', $mform->_dependencies['assessed']['eq'][0]); if ($key !== false) { unset($mform->_dependencies['assessed']['eq'][0][$key]); } $mform->disabledIf('gradecat', 'gradetype', 'eq', HSUFORUM_GRADETYPE_NONE); //------------------------------------------------------------------------------- // buttons $this->add_action_buttons(); if (!$this->_features->advancedgrading) { /** @var $renderer mod_hsuforum_renderer */ $renderer = $PAGE->get_renderer('mod_hsuforum'); $PAGE->requires->js_init_call('M.mod_hsuforum.init_modform', array(HSUFORUM_GRADETYPE_MANUAL), false, $renderer->get_js_module()); } }