コード例 #1
0
 /**
  * hook to add plagiarism specific settings to a module settings page.
  * @param object $mform  - Moodle form
  * @param object $context - current context
  */
 public function get_form_elements_module($mform, $context, $modulename = "")
 {
     global $CFG, $DB, $COURSE;
     $plagiarismsettings = $this->get_settings();
     if (!$plagiarismsettings) {
         return;
     }
     // Hack to prevent this from showing on custom compilatioassignment type.
     if ($mform->elementExists('seuil_faible')) {
         return;
     }
     $cmid = optional_param('update', 0, PARAM_INT);
     // We can't access $this->_cm here.
     if (!empty($modulename)) {
         $modname = 'compilatio_enable_' . $modulename;
         if (empty($plagiarismsettings[$modname])) {
             return;
             // Return if compilatio is not enabled for the module
         }
     }
     if (!empty($cmid)) {
         $plagiarismvalues = $DB->get_records_menu('plagiarism_compilatio_config', array('cm' => $cmid), '', 'name, value');
     }
     // The cmid(0) is the default list.
     $plagiarismdefaults = $DB->get_records_menu('plagiarism_compilatio_config', array('cm' => 0), '', 'name, value');
     $plagiarismelements = $this->config_options();
     if (has_capability('plagiarism/compilatio:enable', $context)) {
         compilatio_get_form_elements($mform);
         if ($mform->elementExists('compilatio_draft_submit')) {
             if ($mform->elementExists('var4')) {
                 $mform->disabledIf('compilatio_draft_submit', 'var4', 'eq', 0);
             } else {
                 if ($mform->elementExists('submissiondrafts')) {
                     $mform->disabledIf('compilatio_draft_submit', 'submissiondrafts', 'eq', 0);
                 }
             }
         }
         // Disable all plagiarism elements if use_plagiarism eg 0.
         foreach ($plagiarismelements as $element) {
             if ($element != 'use_compilatio') {
                 // Ignore this var.
                 $mform->disabledIf($element, 'use_compilatio', 'eq', 0);
             }
         }
     } else {
         // Add plagiarism settings as hidden vars.
         foreach ($plagiarismelements as $element) {
             $mform->addElement('hidden', $element);
         }
     }
     // Now set defaults.
     foreach ($plagiarismelements as $element) {
         if (isset($plagiarismvalues[$element])) {
             $mform->setDefault($element, $plagiarismvalues[$element]);
         } else {
             if (isset($plagiarismdefaults[$element])) {
                 $mform->setDefault($element, $plagiarismdefaults[$element]);
             }
         }
     }
 }
コード例 #2
0
 protected function definition()
 {
     $mform =& $this->_form;
     compilatio_get_form_elements($mform, true);
     $this->add_action_buttons(true);
 }