$count = organizer_remind_all($recipient, $data->message_custommessage['text']); $redirecturl->param('data[count]', $count); if ($count == 1) { $redirecturl->param('messages[]', 'message_info_reminders_sent_sg'); } else { $redirecturl->param('messages[]', 'message_info_reminders_sent_pl'); } $event = \mod_organizer\event\appointment_reminder_sent::create(array('objectid' => $PAGE->cm->id, 'context' => $PAGE->context)); $event->trigger(); $redirecturl = $redirecturl->out(); redirect($redirecturl); } else { if ($mform->is_cancelled()) { redirect($redirecturl); } else { organizer_display_form($mform, get_string('organizer_remind_all_title', 'organizer')); } } print_error('If you see this, something went wrong with delete action!'); die; function organizer_remind_all($recipient = null, $custommessage = "") { global $DB; list($cm, $course, $organizer, $context) = organizer_get_course_module_data(); if ($recipient != null) { $entries = $DB->get_records_list('user', 'id', array($recipient)); } else { if ($cm->groupingid == 0) { $entries = get_enrolled_users($context, 'mod/organizer:register'); } else { $query = "SELECT u.* FROM {user} u\n INNER JOIN {groups_members} gm ON u.id = gm.userid\n INNER JOIN {groups} g ON gm.groupid = g.id\n INNER JOIN {groupings_groups} gg ON g.id = gg.groupid\n WHERE gg.groupingid = :grouping";
$count = count($slotids = organizer_add_appointment_slots($data)); if ($count == 0) { $redirecturl->param('messages[]', 'message_warning_no_slots_added'); } else { $event = \mod_organizer\event\slot_created::create(array('objectid' => $PAGE->cm->id, 'context' => $PAGE->context)); $event->trigger(); $redirecturl->param('data[count]', $count); if ($count == 1) { $redirecturl->param('messages[]', 'message_info_slots_added_sg'); } else { $redirecturl->param('messages[]', 'message_info_slots_added_pl'); } $redirecturl = $redirecturl->out(); foreach ($slotids as $slotid) { $redirecturl .= '&slots[]=' . $slotid; } } redirect($redirecturl); } else { print_error('Something went wrong with the submission of the add action!'); } } } else { if ($mform->is_cancelled()) { redirect($redirecturl); } else { organizer_display_form($mform, get_string('title_add', 'organizer')); } } print_error('If you see this, something went wrong with add action!'); die;
//$tsort = optional_param('tsort', null, PARAM_ALPHA); $url = new moodle_url('/mod/organizer/comment_edit.php'); $url->param('id', $cm->id); $PAGE->set_url($url); $PAGE->set_pagelayout('standard'); $PAGE->set_title($organizer->name); $PAGE->set_heading($course->fullname); $jsmodule = array('name' => 'mod_organizer', 'fullpath' => '/mod/organizer/module.js', 'requires' => array('node', 'event', 'node-screen', 'panel', 'node-event-delegate')); $PAGE->requires->js_module($jsmodule); $redirecturl = new moodle_url('/mod/organizer/view.php', array('id' => $cm->id)); $logurl = new moodle_url('/mod/organizer/comment_edit.php', array('id' => $cm->id)); require_capability('mod/organizer:comment', $context); if (!organizer_security_check_slots($slot)) { print_error('Security failure: Selected slot doesn\'t belong to this organizer!'); } $mform = new organizer_comment_slot_form(null, array('id' => $cm->id, 'slot' => $slot)); if (($data = $mform->get_data()) && confirm_sesskey()) { $app = $DB->get_record('organizer_slot_appointments', array('slotid' => $slot, 'userid' => $USER->id)); organizer_update_comments($app->id, $data->comments); $event = \mod_organizer\event\appointment_commented::create(array('objectid' => $PAGE->cm->id, 'context' => $PAGE->context)); $event->trigger(); redirect($redirecturl); } else { if ($mform->is_cancelled()) { redirect($redirecturl); } else { organizer_display_form($mform, get_string('title_comment', 'organizer')); } } print_error('If you see this, something went wrong with delete action!'); die;
redirect($redirecturl); } else { if ($mform->is_cancelled()) { // form canceled unset($_SESSION['organizer_slots']); redirect($redirecturl); } else { // display printpreview if ($slots == NULL || count($slots) == 0) { $redirecturl->param('messages[]', 'message_warning_no_slots_selected'); redirect($redirecturl); } if (!organizer_security_check_slots($slots)) { print_error('Security failure: Some of selected slots don\'t belong to this organizer!'); } organizer_display_form($mform, get_string('title_print', 'organizer'), true); } } //print_error('If you see this, something went wrong with print action!'); die; function organizer_organizer_student_action_allowed($action, $slot) { global $DB; if (!$DB->record_exists('organizer_slots', array('id' => $slot))) { return false; } $slotx = new organizer_slot($slot); list($cm, $course, $organizer, $context) = organizer_get_course_module_data(); $canregister = has_capability('mod/organizer:register', $context, null, false); $canunregister = has_capability('mod/organizer:unregister', $context, null, false); $canreregister = $canregister && $canunregister;
$redirecturl->param('messages[0]', 'message_info_slots_deleted'); $slots = $DB->get_records('organizer_slots', array('organizerid' => $organizer->id)); $places_total = 0; foreach ($slots as $slot) { $places_total += $slot->maxparticipants; } $registrants_total = count(get_enrolled_users($context, 'mod/organizer:register')); } $free_total = $places_total - $appointments_total; $notregistered = $registrants_total - $appointments_total; $redirecturl->param('data[deleted]', $slots_deleted); $redirecturl->param('data[notified]', $notified); // anzahl benachrichtigter studenten $redirecturl->param('data[freeslots]', $free_total); // freie slots $redirecturl->param('data[notregistered]', $notregistered); // anzahl noch nicht angemeldeter studenten $prefix = $notregistered > $free_total ? 'warning' : 'info'; $suffix = $organizer->isgrouporganizer ? '_group' : ''; $redirecturl->param('messages[1]', 'message_' . $prefix . '_available' . $suffix); } redirect($redirecturl); } else { if ($mform->is_cancelled()) { redirect($redirecturl); } else { organizer_display_form($mform, get_string('title_delete', 'organizer')); } } print_error('If you see this, something went wrong with delete action!'); die;