MDL-14493 First checkin of Feedback module into HEAD.
[moodle.git] / mod / feedback / choose_group_form.php
1 <?php // $Id$
2 /**
3 * prints the form to choose the group you want to analyse
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_choose_group_form extends moodleform {
14     var $feedbackdata;
15     
16     function definition() {
17         $this->feedbackdata = new object();
18         //this function can not be called, because not all data are available at this time
19         //I use set_form_elements instead
20     }
21     
22     //this function set the data used in set_form_elements()
23     //in this form the only value have to set is course
24     //eg: array('course' => $course)
25     function set_feedbackdata($data) {
26         if(is_array($data)) {
27             foreach($data as $key => $val) {
28                 $this->feedbackdata->{$key} = $val;
29             }
30         }
31     }
32     
33     //here the elements will be set
34     //this function have to be called manually
35     //the advantage is that the data are already set
36     function set_form_elements(){
37         $mform =& $this->_form;
38         
39         $elementgroup = array();
40         //headline
41         // $mform->addElement('header', 'general', get_string('choose_group', 'feedback'));
42         // hidden elements
43         $mform->addElement('hidden', 'id');
44         $mform->addElement('hidden', 'do_show');
45         
46         // visible elements
47         $groups_options = array();
48         if(isset($this->feedbackdata->groups)){
49             $groups_options['-1'] = get_string('allgroups');
50             foreach($this->feedbackdata->groups as $group) {
51                 $groups_options[$group->id] = $group->name;
52             }
53         }
54         $attributes = 'onChange="this.form.submit()"';
55         $elementgroup[] =& $mform->createElement('select', 'lstgroupid', '', $groups_options, $attributes);
56         // buttons
57         $elementgroup[] =& $mform->createElement('submit', 'switch_group', get_string('switch_group', 'feedback'));
58         $mform->addGroup($elementgroup, 'elementgroup', '', array(' '), false);
59         
60 //-------------------------------------------------------------------------------
61     }
62 }
63 ?>