$newhighscore->userid = $USER->id;
            $newhighscore->gradeid = $newgrade->id;
            $newhighscore->nickname = $name;
            $DB->insert_record('lesson_high_scores', $newhighscore);
            // Log it
            add_to_log($course->id, 'lesson', 'update highscores', "highscores.php?id={$cm->id}", $name, $cm->id);
            lesson_set_message(get_string('postsuccess', 'lesson'), 'notifysuccess');
            redirect("{$CFG->wwwroot}/mod/lesson/highscores.php?id={$cm->id}&link=1");
        } else {
            print_error('invalidformdata');
        }
        break;
}
// Log it
add_to_log($course->id, 'lesson', 'view highscores', "highscores.php?id={$cm->id}", $lesson->name, $cm->id);
lesson_print_header($cm, $course, $lesson, 'highscores');
switch ($mode) {
    case 'add':
        print_simple_box_start('center');
        echo '<div class="mdl-align">
                 <form id="nickname" method ="post" action="' . $CFG->wwwroot . '/mod/lesson/highscores.php" autocomplete="off">
                 <input type="hidden" name="id" value="' . $cm->id . '" />
                 <input type="hidden" name="mode" value="save" />
                 <input type="hidden" name="sesskey" value="' . sesskey() . '" />';
        echo get_string("entername", "lesson") . ": <input type=\"text\" name=\"name\" size=\"7\" maxlength=\"5\" />\n<p>\n";
        lesson_print_submit_link(get_string("submitname", "lesson"), 'nickname');
        echo "</p>\n</form>\n</div>\n";
        print_simple_box_end();
        break;
    default:
        $params = array("lessonid" => $lesson->id);
Beispiel #2
0
                    $attempt->useranswer = addslashes(serialize($essayinfo));
                    update_record('lesson_attempts', $attempt);
                    // Log it
                    add_to_log($course->id, 'lesson', 'update email essay grade', "essay.php?id={$cm->id}", format_string($pages[$attempt->pageid]->title, true) . ': ' . fullname($users[$attempt->userid]), $cm->id);
                } else {
                    error('Emailing Failed');
                }
            }
        }
        lesson_set_message(get_string('emailsuccess', 'lesson'), 'notifysuccess');
        redirect("{$CFG->wwwroot}/mod/lesson/essay.php?id={$cm->id}");
        break;
}
// Log it
add_to_log($course->id, 'lesson', 'view grade', "essay.php?id={$cm->id}", get_string('manualgrading', 'lesson'), $cm->id);
lesson_print_header($cm, $course, $lesson, 'essay');
switch ($mode) {
    case 'display':
        // Expects $user, $essayattempts and $pages to be set already
        // Group all the essays by userid
        $studentessays = array();
        foreach ($essayattempts as $essay) {
            // Not very nice :) but basically
            //   this organizes the essays so we know how many
            //   times a student answered an essay per try and per page
            $studentessays[$essay->userid][$essay->pageid][$essay->retry][] = $essay;
        }
        // Setup table
        $table = new stdClass();
        $table->head = array($course->students, get_string('essays', 'lesson'), get_string('email', 'lesson'));
        $table->align = array('left', 'left', 'left');
Beispiel #3
0
}
list($cm, $course, $lesson) = lesson_get_basics($id);
if ($firstpage = get_record('lesson_pages', 'lessonid', $lesson->id, 'prevpageid', 0)) {
    if (!($pages = get_records('lesson_pages', 'lessonid', $lesson->id))) {
        error('Could not find lesson pages');
    }
}
if ($pageid) {
    if (!($singlepage = get_record('lesson_pages', 'id', $pageid))) {
        error('Could not find page ID: ' . $pageid);
    }
}
require_login($course->id, false, $cm);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
require_capability('mod/lesson:manage', $context);
lesson_print_header($cm, $course, $lesson, $mode);
if (empty($firstpage)) {
    // There are no pages; give teacher some options
    if (has_capability('mod/lesson:edit', $context)) {
        print_simple_box("<table cellpadding=\"5\" border=\"0\">\n<tr><th scope=\"col\">" . get_string("whatdofirst", "lesson") . "</th></tr><tr><td>" . "<a href=\"import.php?id={$cm->id}&amp;pageid=0\">" . get_string("importquestions", "lesson") . "</a></td></tr><tr><td>" . "<a href=\"importppt.php?id={$cm->id}&amp;pageid=0\">" . get_string("importppt", "lesson") . "</a></td></tr><tr><td>" . "<a href=\"lesson.php?id={$cm->id}&amp;action=addbranchtable&amp;pageid=0&amp;firstpage=1\">" . get_string("addabranchtable", "lesson") . "</a></td></tr><tr><td>" . "<a href=\"lesson.php?id={$cm->id}&amp;action=addpage&amp;pageid=0&amp;firstpage=1\">" . get_string("addaquestionpage", "lesson") . "</a></td></tr></table>\n", 'center', '20%');
    }
} else {
    // Set some standard variables
    $pageid = $firstpage->id;
    $prevpageid = 0;
    $npages = count($pages);
    switch ($mode) {
        case 'collapsed':
            $table = new stdClass();
            $table->head = array(get_string('pagetitle', 'lesson'), get_string('qtype', 'lesson'), get_string('jumps', 'lesson'), get_string('actions', 'lesson'));
            $table->align = array('left', 'left', 'left', 'center');
Beispiel #4
0
                $modifier++;
            }
        }
        lesson_set_message(get_string('attemptsdeleted', 'lesson'), 'notifysuccess');
    }
}
if (!($attempts = get_records('lesson_attempts', 'lessonid', $lesson->id, 'timeseen'))) {
    $nothingtodisplay = true;
}
if (!($grades = get_records('lesson_grades', 'lessonid', $lesson->id, 'completed'))) {
    $grades = array();
}
if (!($times = get_records('lesson_timer', 'lessonid', $lesson->id, 'starttime'))) {
    $times = array();
}
lesson_print_header($cm, $course, $lesson, $action);
if ($nothingtodisplay) {
    notify(get_string('nolessonattempts', 'lesson'));
    print_footer($course);
    exit;
}
/**************************************************************************
   this action is for default view and overview view
   **************************************************************************/
if ($action == 'reportoverview') {
    $studentdata = array();
    // build an array for output
    foreach ($attempts as $attempt) {
        // if the user is not in the array or if the retry number is not in the sub array, add the data for that try.
        if (!array_key_exists($attempt->userid, $studentdata) || !array_key_exists($attempt->retry, $studentdata[$attempt->userid])) {
            // restore/setup defaults
Beispiel #5
0
 // Update the clock / get time information for this user
 if (!has_capability('mod/lesson:manage', $context)) {
     unset($USER->startlesson[$lesson->id]);
     if (!($timer = get_records_select('lesson_timer', "lessonid = {$lesson->id} AND userid = {$USER->id}", 'starttime'))) {
         error('Error: could not find records');
     } else {
         $timer = array_pop($timer);
         // this will get the latest start time record
     }
     $timer->lessontime = time();
     if (!update_record("lesson_timer", $timer)) {
         error("Error: could not update lesson_timer table");
     }
 }
 add_to_log($course->id, "lesson", "end", "view.php?id={$cm->id}", "{$lesson->id}", $cm->id);
 lesson_print_header($cm, $course, $lesson, 'view');
 print_heading(get_string("congratulations", "lesson"));
 print_simple_box_start("center");
 $ntries = count_records("lesson_grades", "lessonid", $lesson->id, "userid", $USER->id);
 if (isset($USER->modattempts[$lesson->id])) {
     $ntries--;
     // need to look at the old attempts :)
 }
 if (!has_capability('mod/lesson:manage', $context)) {
     $gradeinfo = lesson_grade($lesson, $ntries);
     if ($gradeinfo->attempts) {
         if (!$lesson->custom) {
             echo "<p style=\"text-align:center;\">" . get_string("numberofpagesviewed", "lesson", $gradeinfo->nquestions) . "</p>\n";
             if ($lesson->minquestions) {
                 if ($gradeinfo->nquestions < $lesson->minquestions) {
                     // print a warning and set nviewed to minquestions
Beispiel #6
0
    }
}
if ($nodefaultresponse) {
    // Don't display feedback
    redirect("{$CFG->wwwroot}/mod/lesson/view.php?id={$cm->id}&amp;pageid={$newpageid}");
}
/// Set Messages
// This is the warning msg for teachers to inform them that cluster and unseen does not work while logged in as a teacher
if (has_capability('mod/lesson:manage', $context) and lesson_display_teacher_warning($lesson->id)) {
    $warningvars->cluster = get_string("clusterjump", "lesson");
    $warningvars->unseen = get_string("unseenpageinbranch", "lesson");
    lesson_set_message(get_string("teacherjumpwarning", "lesson", $warningvars));
}
// Inform teacher that s/he will not see the timer
if ($lesson->timed and has_capability('mod/lesson:manage', $context)) {
    lesson_set_message(get_string("teachertimerwarning", "lesson"));
}
// Report attempts remaining
if ($attemptsremaining != 0) {
    lesson_set_message(get_string('attemptsremaining', 'lesson', $attemptsremaining));
}
// Report if max attempts reached
if ($maxattemptsreached != 0) {
    lesson_set_message('(' . get_string("maximumnumberofattemptsreached", "lesson") . ')');
}
$PAGE->set_url('mod/lesson/view.php', array('id' => $cm->id, 'pageid' => $page->id));
$PAGE->set_subpage($page->id);
/// Print the header, heading and tabs
lesson_add_pretend_blocks($PAGE, $cm, $lesson, $timer);
lesson_print_header($cm, $course, $lesson, 'view', true, $page->id);
include dirname(__FILE__) . '/continue.html';