$student_b = $b->get_student();
            $lastname = strcmp($student_a->lastname, $student_b->lastname);
            if ($lastname) {
                return $lastname;
            } else {
                return strcmp($student_a->firstname, $student_b->firstname);
            }
        });
        $content .= $output->tutorgroup_list($tutorgroup);
    }
}
add_to_log($course->id, 'local_progressreview', 'view', $PAGE->url->out(), $studentid);
if (isset($form)) {
    if (!empty($session->deadline_tutor)) {
        $deadline = userdate($session->deadline_tutor);
        $strdeadline = get_string('completetutorreviewsby', 'local_progressreview', $deadline);
        $content .= $OUTPUT->container($strdeadline, 'reviewnotes');
    }
    if (!empty($session->previoussession)) {
        $previoussession = progressreview_controller::validate_session($session->previoussession);
        $strprevious = get_string('previousfigures', 'local_progressreview', $previoussession->name);
        $content .= $OUTPUT->container($strprevious, 'reviewnotes');
    }
    ob_start();
    $form->display();
    $content .= str_replace('&', '&', ob_get_contents());
    ob_end_clean();
}
echo $OUTPUT->header();
echo $content;
echo $OUTPUT->footer();
Ejemplo n.º 2
0
// Uncommenting the following line will force autosave to fail, which is useful for testing
// the manual fallback.
// header('HTTP/1.1 400 Bad Request');die('{"errortype":"progressreview_autosave_exception","message":"epic fail"}');
define('AJAX_SCRIPT', true);
require_once '../../config.php';
require_once $CFG->dirroot . '/local/progressreview/lib.php';
try {
    $sessionid = required_param('sessionid', PARAM_INT);
    $studentid = required_param('studentid', PARAM_INT);
    $courseid = required_param('courseid', PARAM_INT);
    $teacherid = required_param('teacherid', PARAM_INT);
    $type = required_param('reviewtype', PARAM_INT);
    $plugin = required_param('plugin', PARAM_TEXT);
    $field = urldecode(required_param('field', PARAM_TEXT));
    $value = urldecode(required_param('value', PARAM_TEXT));
    progressreview_controller::validate_session($sessionid);
    progressreview_controller::validate_student($studentid);
    progressreview_controller::validate_course($courseid);
    progressreview_controller::validate_teacher($teacherid);
    require_login($courseid);
    $coursecontext = get_context_instance(CONTEXT_COURSE, $courseid);
    require_capability('moodle/local_progressreview:write', $coursecontext);
    $progressreview = current(progressreview_controller::get_reviews($sessionid, $studentid, $courseid, $teacherid, $type));
    $plugin = $progressreview->get_plugin($plugin);
    $plugin->validate(array($field => $value));
    $plugin->autosave($field, $value);
} catch (moodle_exception $e) {
    add_to_log($courseid, 'local_progressreview', 'update failed', '', get_class($e));
    header('HTTP/1.1 400 Bad Request');
    progressreview_controller::xhr_response($e);
} catch (progressreview_invalidfield_exception $e) {