Differences Between: [Versions 310 and 401] [Versions 310 and 402] [Versions 310 and 403]
1 <?php 2 if (!defined('MOODLE_INTERNAL')) { 3 die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page 4 } 5 6 require_once ($CFG->dirroot.'/course/moodleform_mod.php'); 7 8 class mod_survey_mod_form extends moodleform_mod { 9 10 function definition() { 11 global $CFG, $DB; 12 13 $mform =& $this->_form; 14 15 $strrequired = get_string('required'); 16 17 //------------------------------------------------------------------------------- 18 $mform->addElement('header', 'general', get_string('general', 'form')); 19 20 $mform->addElement('text', 'name', get_string('name'), array('size'=>'64')); 21 if (!empty($CFG->formatstringstriptags)) { 22 $mform->setType('name', PARAM_TEXT); 23 } else { 24 $mform->setType('name', PARAM_CLEANHTML); 25 } 26 $mform->addRule('name', null, 'required', null, 'client'); 27 28 if (!$options = $DB->get_records_menu("survey", array("template"=>0), "name", "id, name")) { 29 print_error('cannotfindsurveytmpt', 'survey'); 30 } 31 32 foreach ($options as $id => $name) { 33 $options[$id] = get_string($name, "survey"); 34 } 35 $options = array(''=>get_string('choose').'...') + $options; 36 $mform->addElement('select', 'template', get_string("surveytype", "survey"), $options); 37 $mform->addRule('template', $strrequired, 'required', null, 'client'); 38 $mform->addHelpButton('template', 'surveytype', 'survey'); 39 40 $this->standard_intro_elements(get_string('customintro', 'survey')); 41 42 $this->standard_coursemodule_elements(); 43 44 //------------------------------------------------------------------------------- 45 // buttons 46 $this->add_action_buttons(); 47 } 48 49 /** 50 * Allows module to modify the data returned by form get_data(). 51 * This method is also called in the bulk activity completion form. 52 * 53 * Only available on moodleform_mod. 54 * 55 * @param stdClass $data the form data to be modified. 56 */ 57 public function data_postprocessing($data) { 58 parent::data_postprocessing($data); 59 if (!empty($data->completionunlocked)) { 60 // Turn off completion settings if the checkboxes aren't ticked. 61 $autocompletion = !empty($data->completion) && 62 $data->completion == COMPLETION_TRACKING_AUTOMATIC; 63 if (!$autocompletion || empty($data->completionsubmit)) { 64 $data->completionsubmit = 0; 65 } 66 } 67 } 68 69 /** 70 * Add completion rules to form. 71 * @return array 72 */ 73 public function add_completion_rules() { 74 $mform =& $this->_form; 75 $mform->addElement('checkbox', 'completionsubmit', '', get_string('completionsubmit', 'survey')); 76 // Enable this completion rule by default. 77 $mform->setDefault('completionsubmit', 1); 78 return array('completionsubmit'); 79 } 80 81 /** 82 * Enable completion rules 83 * @param stdclass $data 84 * @return array 85 */ 86 public function completion_rule_enabled($data) { 87 return !empty($data['completionsubmit']); 88 } 89 } 90
title
Description
Body
title
Description
Body
title
Description
Body
title
Body