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