forked from Wunderbyte-GmbH/moodle-mod_booking
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbookingform.class.php
executable file
·98 lines (81 loc) · 3.88 KB
/
bookingform.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
require_once $CFG->libdir.'/formslib.php';
class mod_booking_bookingform_form extends moodleform {
function definition() {
global $CFG, $DB;
$mform =& $this->_form;
// visible elements
$mform->addElement('header', '', get_string('addeditbooking','booking'));
$mform->addElement('text', 'text', get_string('booking','booking'), array('size'=>'64'));
$mform->addRule('text', get_string('required'), 'required', null,'client');
if (!empty($CFG->formatstringstriptags)) {
$mform->setType('text', PARAM_TEXT);
} else {
$mform->setType('text', PARAM_CLEANHTML);
}
$mform->addElement('checkbox', 'limitanswers', get_string('limitanswers','booking'));
$mform->addElement('text', 'maxanswers', get_string('maxparticipantsnumber','booking'));
$mform->setType('maxanswers', PARAM_INT);
$mform->disabledIf('maxanswers', 'limitanswers', 'notchecked');
$mform->addElement('text', 'maxoverbooking', get_string('maxoverbooking','booking'));
$mform->setType('maxoverbooking', PARAM_INT);
$mform->disabledIf('maxoverbooking', 'limitanswers', 'notchecked');
$mform->addElement('checkbox', 'restrictanswerperiod', get_string('timerestrict', 'booking'));
$mform->addElement('date_time_selector', 'bookingclosingtime', get_string("bookingclose", "booking"));
$mform->disabledIf('bookingclosingtime', 'restrictanswerperiod', 'notchecked');
if (get_config('booking', 'linktocourse')) {
$coursearray = array();
$coursearray[0] = get_string('donotselectcourse', 'booking');
$allcourses = $DB->get_records_select('course', 'id > 0', array(),'id', 'id, shortname');
foreach ($allcourses as $id => $courseobject) {
$coursearray[$id] = $courseobject->shortname;
}
$mform->addElement('select', 'courseid', get_string("choosecourse", "booking"), $coursearray);
}
else
$mform->addElement('hidden', 'courseid', 0);
$mform->addElement('checkbox', 'startendtimeknown', get_string('startendtimeknown','booking'));
$mform->addElement('date_time_selector', 'coursestarttime', get_string("coursestarttime", "booking"));
$mform->setType('coursestarttime', PARAM_INT);
$mform->disabledIf('coursestarttime', 'startendtimeknown', 'notchecked');
$mform->addElement('date_time_selector', 'courseendtime', get_string("courseendtime", "booking"));
$mform->setType('courseendtime', PARAM_INT);
$mform->disabledIf('courseendtime', 'startendtimeknown', 'notchecked');
$mform->addElement('editor', 'description', get_string('description'));
$mform->setType('description', PARAM_CLEANHTML);
//hidden elements
$mform->addElement('hidden', 'id');
$mform->setType('id', PARAM_INT);
$mform->addElement('hidden', 'bookingid');
$mform->setType('bookingid', PARAM_INT);
$mform->addElement('hidden', 'optionid');
$mform->setType('optionid', PARAM_INT);
//-------------------------------------------------------------------------------
// buttons
//
$buttonarray=array();
$buttonarray[] = &$mform->createElement('submit', 'submitbutton', get_string('savechangesanddisplay'));
$buttonarray[] = &$mform->createElement("submit",'submittandaddnew', get_string('submitandaddnew','booking'));
$buttonarray[] = &$mform->createElement('cancel');
$mform->addGroup($buttonarray, 'buttonar', '', array(' '), false);
$mform->closeHeaderBefore('buttonar');
//$this->add_action_buttons();
}
function data_preprocessing(&$default_values){
if (!isset($default_values['descriptionformat'])) {
$default_values['descriptionformat'] = FORMAT_HTML;
}
if (!isset($default_values['description'])) {
$default_values['description'] = '';
}
}
function get_data() {
$data = parent::get_data();
if ($data) {
$data->descriptionformat = $data->description['format'];
$data->description = $data->description['text'];
}
return $data;
}
}
?>