print_error('coursemisconf'); } require_course_login($course, false, $cm); $booking = new booking_options($cm->id, TRUE, $urlParams, $page, $perPage); $booking->apply_tags(); $booking->get_url_params(); $strbooking = get_string('modulename', 'booking'); $strbookings = get_string('modulenameplural', 'booking'); if (!($context = context_module::instance($cm->id))) { print_error('badcontext'); } // check if data has been submitted to be processed if ($action == 'delbooking' and confirm_sesskey() && $confirm == 1 and has_capability('mod/booking:choose', $context) and ($booking->booking->allowupdate or has_capability('mod/booking:deleteresponses', $context))) { $bookingData = new booking_option($cm->id, $optionid); $bookingData->apply_tags(); if ($bookingData->user_delete_response($USER->id)) { echo $OUTPUT->header(); $contents = get_string('bookingdeleted', 'booking'); $options = array('id' => $cm->id); $contents .= $OUTPUT->single_button(new moodle_url('view.php', $options), get_string('continue'), 'get'); echo $OUTPUT->box($contents, 'box generalbox', 'notice'); echo $OUTPUT->footer(); die; } } elseif ($action == 'delbooking' and confirm_sesskey() and has_capability('mod/booking:choose', $context) and ($booking->booking->allowupdate or has_capability('mod/booking:deleteresponses', $context))) { //print confirm delete form echo $OUTPUT->header(); $options = array('id' => $cm->id, 'action' => 'delbooking', 'confirm' => 1, 'optionid' => $optionid, 'sesskey' => $USER->sesskey); $deletemessage = $booking->options[$optionid]->text . "<br />" . $booking->options[$optionid]->coursestarttimetext . " - " . $booking->options[$optionid]->courseendtimetext; echo $OUTPUT->confirm(get_string('deletebooking', 'booking', $deletemessage), new moodle_url('view.php', $options), $url); echo $OUTPUT->footer();
foreach ($users as $user) { if (!$bookingoption->user_submit_response($user)) { $subscribesuccess = false; print_error('bookingmeanwhilefull', 'booking', $errorurl->out(), $user->id); } $subscribedusers[] = $user->id; } } else { print_error('invalidaction'); } } else { if ($unsubscribe && has_capability('mod/booking:deleteresponses', $context)) { $users = $existingselector->get_selected_users(); $unsubscribesuccess = true; foreach ($users as $user) { if (!$bookingoption->user_delete_response($user->id)) { $unsubscribesuccess = false; print_error('cannotremovesubscriber', 'forum', $errorurl->out(), $user->id); } } } else { if ($unsubscribe && !has_capability('mod/booking:deleteresponses', $context)) { print_error('nopermission', null, $errorurl->out()); } } } $subscriberselector->invalidate_selected_users(); $existingselector->invalidate_selected_users(); $bookingoption->update_booked_users(); $subscriberselector->set_potential_users($bookingoption->potentialusers); $existingselector->set_potential_users($bookingoption->bookedvisibleusers);