예제 #1
0
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;
}
예제 #2
0
    $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;
예제 #3
0
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;
}