protected function definition() { global $DB; $mform = $this->_form; $data = $this->_customdata; $mform->addElement('hidden', 'id', $data['id']); $mform->setType('id', PARAM_INT); $mform->addElement('hidden', 'mode', $data['mode']); $mform->setType('mode', PARAM_INT); $mform->addElement('hidden', 'action', 'delete'); $mform->setType('action', PARAM_ACTION); $deletableslots = false; if (isset($data['slots'])) { list($sql, $params) = $DB->get_in_or_equal($data['slots']); $slots = $DB->get_records_sql('SELECT * FROM {organizer_slots} WHERE {organizer_slots}.id ' . $sql, $params); $mform->addElement('static', '', '', '<b>' . get_string('deleteheader', 'organizer') . '</b>'); foreach ($slots as $slot) { $slot = new organizer_slot($slot); $deletableslots = true; $mform->addElement('hidden', 'slots[]', $slot->id); $mform->setType('slots[]', PARAM_INT); if (!$slot->has_participants()) { $date = userdate($slot->starttime, get_string('datetemplate', 'organizer')); $stime = userdate($slot->starttime, get_string('timetemplate', 'organizer')); $etime = userdate($slot->starttime + $slot->duration, get_string('timetemplate', 'organizer')); $mform->addElement('static', '', '', "{$date} " . get_string('slotfrom', 'organizer') . " {$stime} " . get_string('slotto', 'organizer') . " {$etime} " . get_string('atlocation', 'organizer') . " {$slot->location}"); } } if (!$deletableslots) { $mform->addElement('static', '', '', get_string('deletenoslots', 'organizer')); } $exceptions = false; foreach ($slots as $slot) { $slot = new organizer_slot($slot); if ($slot->has_participants()) { $exceptions = true; break; } } if ($exceptions) { $mform->addElement('static', '', '', '<br/><b>' . get_string('deletekeep', 'organizer') . '</b>'); foreach ($slots as $slot) { $slot = new organizer_slot($slot); if ($slot->has_participants()) { $date = userdate($slot->starttime, get_string('datetemplate', 'organizer')); $stime = userdate($slot->starttime, get_string('timetemplate', 'organizer')); $etime = userdate($slot->starttime + $slot->duration, get_string('timetemplate', 'organizer')); $mform->addElement('static', '', '', "{$date} " . get_string('slotfrom', 'organizer') . " {$stime} " . get_string('slotto', 'organizer') . " {$etime} " . get_string('atlocation', 'organizer') . " {$slot->location}"); } } } } $buttonarray = array(); $buttonarray[] =& $mform->createElement('submit', 'confirm', get_string('confirm_delete', 'organizer')); $buttonarray[] =& $mform->createElement('cancel'); $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false); $mform->closeHeaderBefore('buttonar'); }
function organizer_slot_status($params, $slot) { $slotx = new organizer_slot($slot); $slotevaluated = $slotx->is_evaluated(); $slotpastdue = $slotx->is_past_due(); $slotpastdeadline = $slotx->is_past_deadline(); $slothasparticipants = $slotx->has_participants(); $slotnoparticipants = !$slotevaluated && ($slotpastdue || $slotpastdeadline) && !$slothasparticipants; $slotpending = !$slotevaluated && $slotpastdue && $slothasparticipants; $slotgradeable = !$slotevaluated && $slotpastdeadline && $slothasparticipants; $slotdueempty = !$slotpastdeadline && !$slothasparticipants; $slotdue = !$slotpastdeadline && $slothasparticipants; $actionurl = new moodle_url('/mod/organizer/view_action.php', array('id' => $params['id'], 'mode' => $params['mode'], 'action' => 'eval', 'slots[]' => $slot->id, 'sesskey' => sesskey())); if ($slotevaluated) { return '<a href="' . $actionurl->out(false) . '">' . organizer_get_img('pix/yes_24x24.png', '', get_string('img_title_evaluated', 'organizer')) . '</a>'; } else { if ($slotnoparticipants) { return organizer_get_img('pix/no_participants_24x24.png', '', get_string('img_title_no_participants', 'organizer')); } else { if ($slotpending) { return '<a href="' . $actionurl->out(false) . '">' . organizer_get_img('pix/slot_pending_24x24.png', '', get_string('img_title_pending', 'organizer')) . '</a>'; } else { if ($slotgradeable) { return '<a href="' . $actionurl->out(false) . '">' . organizer_get_img('pix/student_slot_past_deadline_24x24.png', '', get_string('img_title_past_deadline', 'organizer')) . '</a>'; } else { if ($slotdueempty) { return organizer_get_img('pix/student_slot_available_24x24.png', '', get_string('img_title_due', 'organizer')); } else { if ($slotdue) { return '<a href="' . $actionurl->out(false) . '">' . organizer_get_img('pix/student_slot_available_24x24.png', '', get_string('img_title_due', 'organizer')) . '</a>'; } else { print_error("This shouldn't happen."); } } } } } } }