// loop over assignments finding babelium ones
foreach ($assignments as $assignment) {
    // only interested in babelium assignments
    if ($assignment->assignmenttype != 'babelium') {
        continue;
    }
    // check we are allowed to view this
    $context = get_context_instance(CONTEXT_MODULE, $assignment->coursemodule);
    if (!has_capability('mod/assignment:view', $context)) {
        continue;
    }
    // create instance of assignment class to get
    // submitted assignments
    $babeliuminstance = new assignment_babelium($assignment->coursemodule);
    $submitted = $babeliuminstance->submittedlink(true);
    $submission = $babeliuminstance->get_submission();
    // submission (if there is one)
    if (empty($submission)) {
        $submissiontext = $str->emptysubmission;
        if (!empty($assignment->timedue)) {
            $submissiondate = "{$str->duedate} " . userdate($assignment->timedue);
        } else {
            $submissiondate = $str->duedateno;
        }
    } else {
        //TODO change this with the widget
        //$submissiontext = format_text( $submission->data1, $submission->data2 );
        $submissiondate = "{$str->submitted} " . userdate($submission->timemodified);
    }
    // edit link
    $editlink = "<a href=\"{$CFG->wwwroot}/mod/assignment/view.php?" . "id={$assignment->coursemodule}&amp;edit=1\">{$str->editmysubmission}</a>";
if (!($course = $DB->get_record("course", array("id" => $assignment->course)))) {
    print_error('coursemisconf', 'assignment');
}
if (!($user = $DB->get_record("user", array("id" => $userid)))) {
    print_error('usermisconf', 'assignment');
}
require_login($course->id, false, $cm);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
if ($USER->id != $user->id && !has_capability('mod/assignment:grade', $context)) {
    print_error('cannotviewassignment', 'assignment');
}
if ($assignment->assignmenttype != 'babelium') {
    print_error('invalidtype', 'assignment');
}
$assignmentinstance = new assignment_babelium($cm->id, $assignment, $cm, $course);
if ($submission = $assignmentinstance->get_submission($user->id)) {
    $PAGE->set_pagelayout('popup');
    $PAGE->set_title(fullname($user, true) . ': ' . $assignment->name);
    echo $OUTPUT->header();
    echo $OUTPUT->box_start('generalbox boxaligcenter', 'dates');
    echo '<table>';
    if ($assignment->timedue) {
        echo '<tr><td class="c0">' . get_string('duedate', 'assignment') . ':</td>';
        echo '    <td class="c1">' . userdate($assignment->timedue) . '</td></tr>';
    }
    echo '<tr><td class="c0">' . get_string('lastedited') . ':</td>';
    echo '    <td class="c1">' . userdate($submission->timemodified);
    echo '</td></tr></table>';
    echo $OUTPUT->box_end();
    $html_content = '';
    $response_data = babelium_get_response_data($submission->data1);