$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); } } echo $OUTPUT->header(); echo html_writer::tag('div', html_writer::link(new moodle_url('/mod/booking/report.php', array('id' => $cm->id, 'optionid' => $optionid)), get_string('backtoresponses', 'booking')), array('style' => 'width:100%; font-weight: bold; text-align: right;')); if ($subscribesuccess || $unsubscribesuccess) { if ($subscribesuccess) { echo $OUTPUT->container(get_string('allchangessave', 'booking'), 'important', 'notice'); } if ($unsubscribesuccess && has_capability('mod/booking:deleteresponses', $context)) { echo $OUTPUT->container(get_string('allchangessave', 'booking'), 'important', 'notice'); } } echo $bookingoutput->subscriber_selection_form($existingselector, $subscriberselector);