MDL-20353 adding missing data types of hidden form fields
[moodle.git] / mod / feedback / edit_form.php
1 <?php // $Id$
2 /**
3 * prints the forms to choose an item-typ to create items and to choose a template to use
4 *
5 * @version $Id$
6 * @author Andreas Grabs
7 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
8 * @package feedback
9 */
11 require_once $CFG->libdir.'/formslib.php';
13 class feedback_edit_add_question_form extends moodleform {
14     function definition() {
15         $mform =& $this->_form;
17         //headline
18         $mform->addElement('header', 'general', get_string('add_items', 'feedback'));
19         // visible elements
20         // $feedback_names = feedback_load_feedback_items('mod/feedback/item');
21         // $feedback_names_options = array();
22         // $feedback_names_options[' '] = get_string('select');
23         // foreach($feedback_names as $fn) {
24             // $feedback_names_options[$fn] = get_string($fn,'feedback');
25         // }
26         $feedback_names_options = feedback_load_feedback_items_options();
27         
28         $attributes = 'onChange="this.form.submit()"';
29         $mform->addElement('select', 'typ', '', $feedback_names_options, $attributes);
31         // hidden elements
32         $mform->addElement('hidden', 'id');
33         $mform->setType('id', PARAM_INT);
34         $mform->addElement('hidden', 'position');
35         $mform->setType('position', PARAM_INT);
36 //-------------------------------------------------------------------------------
37         // buttons
38         $mform->addElement('submit', 'add_item', get_string('add_item', 'feedback'));
39     }
40 }
42 class feedback_edit_use_template_form extends moodleform {
43     var $feedbackdata;
44     
45     function definition() {
46         $this->feedbackdata = new object();
47         //this function can not be called, because not all data are available at this time
48         //I use set_form_elements instead
49     }
50     
51     //this function set the data used in set_form_elements()
52     //in this form the only value have to set is course
53     //eg: array('course' => $course)
54     function set_feedbackdata($data) {
55         if(is_array($data)) {
56             foreach($data as $key => $val) {
57                 $this->feedbackdata->{$key} = $val;
58             }
59         }
60     }
61     
62     //here the elements will be set
63     //this function have to be called manually
64     //the advantage is that the data are already set
65     function set_form_elements(){
66         $mform =& $this->_form;
67         
68         $elementgroup = array();
69         //headline
70         $mform->addElement('header', '', get_string('using_templates', 'feedback'));
71         // hidden elements
72         $mform->addElement('hidden', 'id');
73         $mform->setType('id', PARAM_INT);
74         
75         // visible elements
76         $templates_options = array();
77         if($templates = feedback_get_template_list($this->feedbackdata->course)){//get the templates
78             $templates_options[' '] = get_string('select');
79             foreach($templates as $template) {
80                 $templates_options[$template->id] = $template->name;
81             }
82             $attributes = 'onChange="this.form.submit()"';
83             $elementgroup[] =& $mform->createElement('select', 'templateid', '', $templates_options, $attributes);
84             // buttons
85             $elementgroup[] =& $mform->createElement('submit', 'use_template', get_string('use_this_template', 'feedback'));
86         }else {
87             $mform->addElement('static', 'info', get_string('no_templates_available_yet', 'feedback'));
88         }
89         $mform->addGroup($elementgroup, 'elementgroup', '', array(' '), false);
90         
91     //-------------------------------------------------------------------------------
92     }
93 }
95 class feedback_edit_create_template_form extends moodleform {
96     var $feedbackdata;
97     
98     function definition() {
99     }
100     
101     function data_preprocessing(&$default_values){
102         $default_values['templatename'] = '';
103     }
104     
105     function set_feedbackdata($data) {
106         if(is_array($data)) {
107             foreach($data as $key => $val) {
108                 $this->feedbackdata->{$key} = $val;
109             }
110         }
111     }
112     
113     function set_form_elements(){
114         $mform =& $this->_form;
115         $capabilities = $this->feedbackdata->capabilities;
117         // hidden elements
118         $mform->addElement('hidden', 'id');
119         $mform->setType('id', PARAM_INT);
120         $mform->addElement('hidden', 'do_show');
121         $mform->setType('do_show', PARAM_INT);
122         $mform->addElement('hidden', 'savetemplate', 1);
123         $mform->setType('savetemplate', PARAM_INT);
125         //headline
126         $mform->addElement('header', '', get_string('creating_templates', 'feedback'));
127         
128         // visible elements
129         $elementgroup = array();
130         
131         $elementgroup[] =& $mform->createElement('static', 'templatenamelabel', get_string('name', 'feedback'));
132         $elementgroup[] =& $mform->createElement('text', 'templatename', get_string('name', 'feedback'), array('size'=>'40', 'maxlength'=>'200'));
133         if($capabilities->createpublictemplate) {
134             $elementgroup[] =& $mform->createElement('checkbox', 'ispublic', get_string('public', 'feedback'), get_string('public', 'feedback'));
135         }
136         
137         // buttons
138         $elementgroup[] =& $mform->createElement('submit', 'create_template', get_string('save_as_new_template', 'feedback'));
139         $mform->addGroup($elementgroup, 'elementgroup', get_string('name', 'feedback'), array(' '), false);
140         
141         $mform->setType('templatename', PARAM_TEXT);
142         
143 //-------------------------------------------------------------------------------
144     }
146 ?>