function organizer_get_overview_student($organizer, $forindex = false) { global $DB; if (!$forindex) { $str = '<div class="assignment overview">'; $str .= organizer_get_overview_link($organizer); $class = "class=\"info organizerinfo\""; $element = "div"; } else { $str = ''; $class = ""; $element = "p"; } if ($organizer->isgrouporganizer) { $group = organizer_fetch_group($organizer); $app = organizer_get_last_user_appointment($organizer); if ($app && isset($app->attended) && (int) $app->attended === 1) { $slot = $DB->get_record('organizer_slots', array('id' => $app->slotid)); $a = new stdClass(); $a->date = userdate($slot->starttime, get_string('fulldatetemplate', 'organizer')); $a->time = userdate($slot->starttime, get_string('timetemplate', 'organizer')); $a->groupname = $group->name; $completedapp = get_string('mymoodle_completed_app_group', 'organizer', $a) . ($forindex ? '' : "<br />(" . get_string('grade') . ": " . organizer_display_grade($organizer, $app->grade) . ")"); if ($app->allownewappointments) { $completedapp .= "<br />" . get_string('can_reregister', 'organizer'); } $str .= "<{$element} {$class}>{$completedapp}</{$element}>"; } else { if ($app && isset($app->attended) && (int) $app->attended === 0) { $slot = $DB->get_record('organizer_slots', array('id' => $app->slotid)); $a = new stdClass(); $a->date = userdate($slot->starttime, get_string('fulldatetemplate', 'organizer')); $a->time = userdate($slot->starttime, get_string('timetemplate', 'organizer')); $a->groupname = $group->name; $missedapp = get_string('mymoodle_missed_app_group', 'organizer', $a) . ($forindex ? '' : "<br />(" . get_string('grade') . ": " . organizer_display_grade($organizer, $app->grade) . ")"); if ($app->allownewappointments) { $missedapp .= "<br />" . get_string('can_reregister', 'organizer'); } $str .= "<{$element} {$class}>{$missedapp}</{$element}>"; if (isset($organizer->duedate)) { $a = new stdClass(); $a->date = userdate($organizer->duedate, get_string('fulldatetemplate', 'organizer')); $a->time = userdate($organizer->duedate, get_string('timetemplate', 'organizer')); if ($organizer->duedate > time()) { $orgexpires = get_string('mymoodle_organizer_expires', 'organizer', $a); } else { $orgexpires = get_string('mymoodle_organizer_expired', 'organizer', $a); } $str .= "<{$element} {$class}>{$orgexpires}</{$element}>"; } } else { if ($app && !isset($app->attended)) { $slot = $DB->get_record('organizer_slots', array('id' => $app->slotid)); $a = new stdClass(); $a->date = userdate($slot->starttime, get_string('fulldatetemplate', 'organizer')); $a->time = userdate($slot->starttime, get_string('timetemplate', 'organizer')); $a->groupname = $group->name; if (isset($slot->locationlink) && $slot->locationlink != '') { $a->location = html_writer::link($slot->locationlink, $slot->location, array('target' => '_blank')); } else { $a->location = $slot->location; } if ($slot->starttime > time()) { $upcomingapp = get_string('mymoodle_upcoming_app_group', 'organizer', $a); $str .= "<{$element} {$class}>{$upcomingapp}</{$element}>"; } else { $pending = get_string('mymoodle_pending_app_group', 'organizer', $a); $str .= "<{$element} {$class}>{$pending}</{$element}>"; } } else { $noregslot = get_string('mymoodle_no_reg_slot', 'organizer'); $str .= "<{$element} {$class}>{$noregslot}</{$element}>"; if (isset($organizer->duedate)) { $a = new stdClass(); $a->date = userdate($organizer->duedate, get_string('fulldatetemplate', 'organizer')); $a->time = userdate($organizer->duedate, get_string('timetemplate', 'organizer')); if ($organizer->duedate > time()) { $orgexpires = get_string('mymoodle_organizer_expires', 'organizer', $a); } else { $orgexpires = get_string('mymoodle_organizer_expired', 'organizer', $a); } $str .= "<{$element} {$class}>{$orgexpires}</{$element}>"; } } } } } else { $app = organizer_get_last_user_appointment($organizer); if ($app && isset($app->attended) && (int) $app->attended === 1) { $slot = $DB->get_record('organizer_slots', array('id' => $app->slotid)); $a = new stdClass(); $a->date = userdate($slot->starttime, get_string('fulldatetemplate', 'organizer')); $a->time = userdate($slot->starttime, get_string('timetemplate', 'organizer')); $completedapp = get_string('mymoodle_completed_app', 'organizer', $a) . ($forindex ? '' : "<br />(" . get_string('grade') . ": " . organizer_display_grade($organizer, $app->grade) . ")"); if ($app->allownewappointments) { $completedapp .= "<br />" . get_string('can_reregister', 'organizer'); } $str .= "<{$element} {$class}>{$completedapp}</{$element}>"; } else { if ($app && isset($app->attended) && (int) $app->attended === 0) { $slot = $DB->get_record('organizer_slots', array('id' => $app->slotid)); $a = new stdClass(); $a->date = userdate($slot->starttime, get_string('fulldatetemplate', 'organizer')); $a->time = userdate($slot->starttime, get_string('timetemplate', 'organizer')); $missedapp = get_string('mymoodle_missed_app', 'organizer', $a) . ($forindex ? '' : "<br />(" . get_string('grade') . ": " . organizer_display_grade($organizer, $app->grade) . ")"); if ($app->allownewappointments) { $missedapp .= "<br />" . get_string('can_reregister', 'organizer'); } $str .= "<{$element} {$class}>{$missedapp}</{$element}>"; if (isset($organizer->duedate)) { $a = new stdClass(); $a->date = userdate($organizer->duedate, get_string('fulldatetemplate', 'organizer')); $a->time = userdate($organizer->duedate, get_string('timetemplate', 'organizer')); if ($organizer->duedate > time()) { $orgexpires = get_string('mymoodle_organizer_expires', 'organizer', $a); } else { $orgexpires = get_string('mymoodle_organizer_expired', 'organizer', $a); } $str .= "<{$element} {$class}>{$orgexpires}</{$element}>"; } } else { if ($app && !isset($app->attended)) { $slot = $DB->get_record('organizer_slots', array('id' => $app->slotid)); $a = new stdClass(); $a->date = userdate($slot->starttime, get_string('fulldatetemplate', 'organizer')); $a->time = userdate($slot->starttime, get_string('timetemplate', 'organizer')); if (isset($slot->locationlink) && $slot->locationlink != '') { $a->location = html_writer::link($slot->locationlink, $slot->location, array('target' => '_blank')); } else { $a->location = $slot->location; } if ($slot->starttime > time()) { $upcomingapp = get_string('mymoodle_upcoming_app', 'organizer', $a); $str .= "<{$element} {$class}>{$upcomingapp}</{$element}>"; } else { $pending = get_string('mymoodle_pending_app', 'organizer', $a); $str .= "<{$element} {$class}>{$pending}</{$element}>"; } } else { $noregslot = get_string('mymoodle_no_reg_slot', 'organizer'); $str .= "<{$element} {$class}>{$noregslot}</{$element}>"; if (isset($organizer->duedate)) { $a = new stdClass(); $a->date = userdate($organizer->duedate, get_string('fulldatetemplate', 'organizer')); $a->time = userdate($organizer->duedate, get_string('timetemplate', 'organizer')); if ($organizer->duedate > time()) { $orgexpires = get_string('mymoodle_organizer_expires', 'organizer', $a); } else { $orgexpires = get_string('mymoodle_organizer_expired', 'organizer', $a); } $str .= '<' . $element . ' ' . $class . '>' . $orgexpires . '</' . $element . '>'; } } } } } if (!$forindex) { $str .= '</div>'; } return $str; }
$row[] = $organizer->intro; $cm = get_coursemodule_from_instance('organizer', $organizer->id, $course->id, false, MUST_EXIST); $context = context_module::instance($cm->id, MUST_EXIST); if (has_capability('mod/organizer:viewregistrations', $context)) { $a = organizer_get_counters($organizer); if ($organizer->isgrouporganizer) { $reg = get_string('mymoodle_registered_group_short', 'organizer', $a); $att = get_string('mymoodle_attended_group_short', 'organizer', $a); $str = '<p>' . $reg . '</p><p>' . $att . '</p>'; } else { $reg = get_string('mymoodle_registered_short', 'organizer', $a); $att = get_string('mymoodle_attended_short', 'organizer', $a); $str = '<p>' . $reg . '</p><p>' . $att . '</p>'; } $row[] = $str; $row[] = '-'; } else { $row[] = organizer_get_overview_student($organizer, true); $app = organizer_get_last_user_appointment($organizer, null, false); if ($app) { $row[] = organizer_display_grade($organizer, $app->grade); } else { $row[] = '-'; } } $table->data[] = $row; } echo $OUTPUT->heading(get_string('modulenameplural', 'organizer'), 2); echo html_writer::table($table); echo $OUTPUT->footer(); die;
function organizer_reg_organizer_app_details($organizer, $userid, &$popups) { $appointment = organizer_get_last_user_appointment($organizer, $userid, false); if ($appointment) { $list = ''; if (organizer_is_group_mode()) { $list .= organizer_get_attended_icon($appointment) . ' '; } if ($organizer->grade != 0) { $list .= organizer_display_grade($organizer, $appointment->grade); } $list .= ' ' . (isset($appointment->feedback) && $appointment->feedback != '' ? organizer_popup_icon(ORGANIZER_ICON_TEACHER_FEEDBACK, $appointment->feedback, $popups) : ''); } else { $list = '-'; } return $list; }