From 5620acd80aff8ad676441e7257c8424108307efe Mon Sep 17 00:00:00 2001 From: dhawes Date: Fri, 24 Sep 2004 23:10:49 +0000 Subject: [PATCH] Some double quote strings converted to single quote literals and conversion of many tabs to spaces - inspired by error in associative array dereferencing found by ottenhoff and noted in comment to bug 1981 --- mod/lesson/view.php | 2678 +++++++++++++++++++++---------------------- 1 file changed, 1339 insertions(+), 1339 deletions(-) diff --git a/mod/lesson/view.php b/mod/lesson/view.php index 976eef4e1e..7980e42306 100644 --- a/mod/lesson/view.php +++ b/mod/lesson/view.php @@ -3,24 +3,24 @@ /// This page prints a particular instance of lesson /// (Replace lesson with the name of your module) - require_once("../../config.php"); - require_once("locallib.php"); - require_once("styles.php"); - require_once("lib.php"); + require_once('../../config.php'); + require_once('locallib.php'); + require_once('styles.php'); + require_once('lib.php'); require_variable($id); // Course Module ID optional_variable($pageid); // Lesson Page ID - if (! $cm = get_record("course_modules", "id", $id)) { - error("Course Module ID was incorrect"); + if (! $cm = get_record('course_modules', 'id', $id)) { + error('Course Module ID was incorrect'); } - if (! $course = get_record("course", "id", $cm->course)) { - error("Course is misconfigured"); + if (! $course = get_record('course', 'id', $cm->course)) { + error('Course is misconfigured'); } - if (! $lesson = get_record("lesson", "id", $cm->instance)) { - error("Course module is incorrect"); + if (! $lesson = get_record('lesson', 'id', $cm->instance)) { + error('Course module is incorrect'); } require_login($course->id); @@ -29,203 +29,203 @@ /// Print the page header if ($course->category) { - $navigation = "id\">$course->shortname ->"; + $navigation = ''. $course->shortname .' ->'; } - $strlessons = get_string("modulenameplural", "lesson"); - $strlesson = get_string("modulename", "lesson"); - - /// CDC-FLAG moved the action up because I needed to know what the action will be before the header is printed - if (empty($action)) { + $strlessons = get_string('modulenameplural', 'lesson'); + $strlesson = get_string('modulename', 'lesson'); + + /// CDC-FLAG moved the action up because I needed to know what the action will be before the header is printed + if (empty($action)) { if (isteacher($course->id)) { $action = 'teacherview'; - } elseif (time() < $lesson->available) { - print_header("$course->shortname: $lesson->name", "$course->fullname", - "$navigation id>$strlessons -> id\">$lesson->name", - "", "", true, "", navmenu($course, $cm)); - print_simple_box_start("center"); - echo "
"; - echo get_string("lessonopen", "lesson", userdate($lesson->available))."
"; - echo "id\">".get_string("returnmainmenu", "lesson").""; - echo "
"; - print_simple_box_end(); - print_footer($course); - exit(); - } elseif (time() > $lesson->deadline) { - print_header("$course->shortname: $lesson->name", "$course->fullname", - "$navigation id>$strlessons -> id\">$lesson->name", - "", "", true, "", navmenu($course, $cm)); - print_simple_box_start("center"); - echo "
"; - echo get_string("lessonclosed", "lesson", userdate($lesson->deadline))."
"; - echo "id\">".get_string("returnmainmenu", "lesson").""; - echo "
"; - print_simple_box_end(); - print_footer($course); - exit(); - } elseif ($lesson->highscores) { - $action = 'highscores'; + } elseif (time() < $lesson->available) { + print_header($course->shortname .': '. $lesson->name, $course->fullname, + $navigation .'id .'>'. $strlessons .' -> '. $lesson->name .'', + '', '', true, '', navmenu($course, $cm)); + print_simple_box_start('center'); + echo '
'; + echo get_string('lessonopen', 'lesson', userdate($lesson->available)).'
'; + echo ''. get_string('returnmainmenu', 'lesson') .''; + echo '
'; + print_simple_box_end(); + print_footer($course); + exit(); + } elseif (time() > $lesson->deadline) { + print_header($course->shortname .': '. $lesson->name, $course->fullname, + "$navigation id>$strlessons -> id\">$lesson->name", + '', '', true, '', navmenu($course, $cm)); + print_simple_box_start('center'); + echo '
'; + echo get_string('lessonclosed', 'lesson', userdate($lesson->deadline)) .'
'; + echo ''. get_string('returnmainmenu', 'lesson') .''; + echo '
'; + print_simple_box_end(); + print_footer($course); + exit(); + } elseif ($lesson->highscores) { + $action = 'highscores'; } else { $action = 'navigation'; } } - /// CDC-FLAG changed the update_module_button and added another button when a teacher is checking the navigation of the lesson + /// CDC-FLAG changed the update_module_button and added another button when a teacher is checking the navigation of the lesson if (isteacheredit($course->id)) { - $button = "
"; - $button .= "
framename\" method=\"get\" action=\"$CFG->wwwroot/course/mod.php\">". - "id\" />". - "". - "
"; - if ($action == "navigation" && $pageid != LESSON_EOL) { - $button .= "
". - "
framename\" method=\"get\" action=\"$CFG->wwwroot/mod/lesson/lesson.php\">". - "id\" />". - "". - "". - "
"; - } - $button .= "
"; - } else { - $button = ""; - } + $button = '
'; + $button .= '
'. + ''. + ''. + '
'; + if ($action == 'navigation' && $pageid != LESSON_EOL) { + $button .= '
'. + '
'. + ''. + ''. + ''. + '
'; + } + $button .= '
'; + } else { + $button = ''; + } - print_header("$course->shortname: $lesson->name", "$course->fullname", + print_header($course->shortname .': '. $lesson->name, $course->fullname, "$navigation id>$strlessons -> id\">$lesson->name", - "", "", true, $button, // took out update_module_button($cm->id, $course->id, $strlesson) and replaced it with $button + '', '', true, $button, // took out update_module_button($cm->id, $course->id, $strlesson) and replaced it with $button navmenu($course, $cm)); // set up some general variables $usehtmleditor = can_use_html_editor(); - $path = "$CFG->wwwroot/course"; + $path = $CFG->wwwroot .'/course'; if (empty($THEME->custompix)) { - $pixpath = "$path/../pix"; + $pixpath = $path .'/../pix'; } else { - $pixpath = "$path/../theme/$CFG->theme/pix"; + $pixpath = $path .'/../theme/'. $CFG->theme .'/pix'; } - + /************** navigation **************************************/ if ($action == 'navigation') { - //CDC Chris Berri added this echo call for left menu. must match that in lesson.php for styles - if ($lesson->displayleft) { - echo '
'; - if($page = get_record_select("lesson_pages", "lessonid = $lesson->id AND prevpageid = 0")) { - // print the pages - echo "
"; - echo "id\">"; - echo ""; - echo ""; - echo ""; //close lmlinks - echo"
"; - } - echo "
"; //close left menu - echo "
"; //CDC chris berri for styles - } elseif ($lesson->slideshow) { - echo ""; + } + } + + /// CDC-FLAG /// + echo '
"; - } + //CDC Chris Berri added this echo call for left menu. must match that in lesson.php for styles + if ($lesson->displayleft) { + echo '
'; + if($page = get_record_select('lesson_pages', 'lessonid = '. $lesson->id .' AND prevpageid = 0')) { + // print the pages + echo '
'; + echo ''; + echo ''; + echo ''; + echo "'; //close lmlinks + echo '
'; + } + echo '
'; //close left menu + echo "
"; //CDC chris berri for styles + } elseif ($lesson->slideshow) { + echo '
'; + } - /// CDC-FLAG /// password protected lesson code - if ($lesson->usepassword) { - $correctpass = false; - if (isset($_POST['userpassword'])) { - if ($lesson->password == md5(trim($_POST['userpassword']))) { - $USER->lessonloggedin[$lesson->id] = true; - $correctpass = true; - } - } elseif (isset($USER->lessonloggedin[$lesson->id])) { - $correctpass = true; - } + /// CDC-FLAG /// password protected lesson code + if ($lesson->usepassword) { + $correctpass = false; + if (isset($_POST['userpassword'])) { + if ($lesson->password == md5(trim($_POST['userpassword']))) { + $USER->lessonloggedin[$lesson->id] = true; + $correctpass = true; + } + } elseif (isset($USER->lessonloggedin[$lesson->id])) { + $correctpass = true; + } - if (!$correctpass) { - print_simple_box_start("center"); - echo "
\n"; - echo "id\">\n"; - echo "\n"; - echo ""; - if (isset($_POST['userpassword'])) { - echo ""; - } - echo ""; - echo ""; - - echo "
".get_string("loginfail", "lesson")."
".get_string("passwordprotectedlesson", "lesson", $lesson->name)."
".get_string("enterpassword", "lesson")."
"; - echo "id';\"> "; - echo ""; - echo "
"; - print_simple_box_end(); - exit(); - } - } - - /// CDC-FLAG /// Slideshow styles - if($lesson->slideshow) { - //echo "
\n";//CDC Chris Berri. add the left menu theme stuff here. must match on lesson.php - echo "
bgcolor; - height: ".$lesson->height."px; - width: ".$lesson->width."px; - overflow: auto; - border: 0px solid #ccc; - padding-right: 16px; /* for the benefit of macIE5 only */ - /* \ commented backslash hack - recover from macIE5 workarounds, it will ignore the following rule */ + if (!$correctpass) { + print_simple_box_start('center'); + echo '' . "\n"; + echo '' . "\n"; + echo '' . "\n"; + echo ''; + if (isset($_POST['userpassword'])) { + echo "'; + } + echo ''; + echo ''; + + echo '
".get_string('loginfail', 'lesson') .'
'. get_string('passwordprotectedlesson', 'lesson', $lesson->name) .'
'. get_string('enterpassword', 'lesson').'
'; + echo ' '; + echo ''; + echo '
'; + print_simple_box_end(); + exit(); + } + } + + /// CDC-FLAG /// Slideshow styles + if($lesson->slideshow) { + //echo "
\n";//CDC Chris Berri. add the left menu theme stuff here. must match on lesson.php + echo "
bgcolor; + height: ".$lesson->height."px; + width: ".$lesson->width."px; + overflow: auto; + border: 0px solid #ccc; + padding-right: 16px; /* for the benefit of macIE5 only */ + /* \ commented backslash hack - recover from macIE5 workarounds, it will ignore the following rule */ padding-right: 0; - padding: 15px; - \">\n"; - } - // this is called if a student leaves during a lesson - if($pageid == LESSON_UNSEENBRANCHPAGE) { - $pageid = lesson_unseen_question_jump($lesson->id, $USER->id, $pageid); - } - /// CDC-FLAG /// - - /// CDC-FLAG /// 6/21/04 This is the warning msg for teachers to inform them that cluster and unseen does not work while logged in as a teacher - if(isteacher($course->id)) { - if (execute_teacherwarning($lesson->id)) { - $warningvars->cluster = get_string("clusterjump", "lesson"); - $warningvars->unseen = get_string("unseenpageinbranch", "lesson"); - echo "
".get_string("teacherjumpwarning", "lesson", $warningvars)."
"; - } - } - /// CDC-FLAG /// - + padding: 15px; + \">\n"; + } + // this is called if a student leaves during a lesson + if($pageid == LESSON_UNSEENBRANCHPAGE) { + $pageid = lesson_unseen_question_jump($lesson->id, $USER->id, $pageid); + } + /// CDC-FLAG /// + + /// CDC-FLAG /// 6/21/04 This is the warning msg for teachers to inform them that cluster and unseen does not work while logged in as a teacher + if(isteacher($course->id)) { + if (execute_teacherwarning($lesson->id)) { + $warningvars->cluster = get_string('clusterjump', 'lesson'); + $warningvars->unseen = get_string('unseenpageinbranch', 'lesson'); + echo '
'. get_string('teacherjumpwarning', 'lesson', $warningvars) .'
'; + } + } + /// CDC-FLAG /// + // display individual pages and their sets of answers // if pageid is EOL then the end of the lesson has been reached - // for flow, changed to simple echo for flow styles, michaelp, moved lesson name and page title down - //print_heading($lesson->name); - if (empty($pageid)) { - add_to_log($course->id, "lesson", "start", "view.php?id=$cm->id", "$lesson->id", $cm->id); + // for flow, changed to simple echo for flow styles, michaelp, moved lesson name and page title down + //print_heading($lesson->name); + if (empty($pageid)) { + add_to_log($course->id, 'lesson', 'start', 'view.php?id='. $cm->id, $lesson->id, $cm->id); // if no pageid given see if the lesson has been started - if ($grades = get_records_select("lesson_grades", "lessonid = $lesson->id AND userid = $USER->id", - "grade DESC")) { + if ($grades = get_records_select('lesson_grades', 'lessonid = '. $lesson->id .' AND userid = '. $USER->id, + 'grade DESC')) { $retries = count($grades); } else { $retries = 0; } if ($retries) { - print_heading(get_string("attempt", "lesson", $retries + 1)); + print_heading(get_string('attempt', 'lesson', $retries + 1)); } // if there are any questions have been answered correctly in this attempt - if ($attempts = get_records_select("lesson_attempts", + if ($attempts = get_records_select('lesson_attempts', "lessonid = $lesson->id AND userid = $USER->id AND retry = $retries AND - correct = 1", "timeseen DESC")) { + correct = 1", 'timeseen DESC')) { // get the first page - if (!$firstpageid = get_field("lesson_pages", "id", "lessonid", $lesson->id, - "prevpageid", 0)) { - error("Navigation: first page not found"); + if (!$firstpageid = get_field('lesson_pages', 'id', 'lessonid', $lesson->id, + 'prevpageid', 0)) { + error('Navigation: first page not found'); } foreach ($attempts as $attempt) { - $jumpto = get_field("lesson_answers", "jumpto", "id", $attempt->answerid); + $jumpto = get_field('lesson_answers', 'jumpto', 'id', $attempt->answerid); // convert the jumpto to a proper page id if ($jumpto == 0) { // unlikely value! $lastpageseen = $attempt->pageid; } elseif ($jumpto == LESSON_NEXTPAGE) { - if (!$lastpageseen = get_field("lesson_pages", "nextpageid", "id", + if (!$lastpageseen = get_field('lesson_pages', 'nextpageid', 'id', $attempt->pageid)) { // no nextpage go to end of lesson $lastpageseen = LESSON_EOL; @@ -236,40 +236,40 @@ break; // only look at the latest correct attempt } //if ($lastpageseen != $firstpageid) { - if (count_records("lesson_attempts", "lessonid", $lesson->id, "userid", $USER->id, "retry", $retries) > 0) { - /// CDC-FLAG /// - if ($lesson->timed) { - if ($lesson->retake) { - echo "\n"; - echo "id\">\n"; - echo "\n"; - echo "\n"; - echo "\n"; /// CDC-FLAG added this line - print_simple_box("

".get_string("leftduringtimed", "lesson")."

", "center"); - echo "

\n"; /// CDC-FLAG added document.queryform.startlastseen.value='yes' - echo "\n"; echo "
";///CDC Chris Berri added close div tag - } else { - print_simple_box_start("center"); - echo "
"; - echo get_string("leftduringtimednoretake", "lesson"); - echo "

id\">".get_string("returntocourse", "lesson").""; - echo "
"; - print_simple_box_end(); - } - } else { - echo "
\n"; - echo "id\">\n"; - echo "\n"; - echo "\n"; - echo "\n"; /// CDC-FLAG added this line - print_simple_box("

".get_string("youhaveseen","lesson")."

", - "center"); - echo "

   

\n"; /// CDC-FLAG added document.queryform.startlastseen.value='yes' - echo "
\n"; echo "
";///CDC Chris Berri added close div tag - } + if (count_records('lesson_attempts', 'lessonid', $lesson->id, 'userid', $USER->id, 'retry', $retries) > 0) { + /// CDC-FLAG /// + if ($lesson->timed) { + if ($lesson->retake) { + echo '
' . "\n"; + echo '' . "\n"; + echo '' . "\n"; + echo '' . "\n"; + echo '' . "\n"; /// CDC-FLAG added this line + print_simple_box('

'. get_string('leftduringtimed', 'lesson') .'

', 'center'); + echo '

\n"; /// CDC-FLAG added document.queryform.startlastseen.value='yes' + echo '
' . "\n"; echo '';///CDC Chris Berri added close div tag + } else { + print_simple_box_start('center'); + echo '
'; + echo get_string('leftduringtimednoretake', 'lesson'); + echo '

'. get_string('returntocourse', 'lesson') .''; + echo '
'; + print_simple_box_end(); + } + } else { + echo "
\n"; + echo "id\">\n"; + echo "\n"; + echo "\n"; + echo "\n"; /// CDC-FLAG added this line + print_simple_box("

".get_string('youhaveseen','lesson').'

', + "center"); + echo "

   

\n"; /// CDC-FLAG added document.queryform.startlastseen.value='yes' + echo "
\n"; echo "";///CDC Chris Berri added close div tag + } print_footer($course); exit(); } @@ -280,199 +280,199 @@ break; } if (!$lesson->retake) { - print_simple_box_start("center"); - echo "
"; - echo get_string("noretake", "lesson"); - echo "

id\">".get_string("returntocourse", "lesson").""; - echo "
"; - print_simple_box_end(); - print_footer($course); - exit(); - //redirect("../../course/view.php?id=$course->id", get_string("alreadytaken", "lesson")); + print_simple_box_start('center'); + echo "
"; + echo get_string("noretake", "lesson"); + echo "

id\">".get_string('returntocourse', 'lesson').''; + echo "
"; + print_simple_box_end(); + print_footer($course); + exit(); + //redirect("../../course/view.php?id=$course->id", get_string("alreadytaken", "lesson")); // allow student to retake course even if they have the maximum grade // } elseif ($bestgrade == 100) { - // redirect("../../course/view.php?id=$course->id", get_string("maximumgradeachieved", + // redirect("../../course/view.php?id=$course->id", get_string("maximumgradeachieved", // "lesson")); } } // start at the first page - if (!$pageid = get_field("lesson_pages", "id", "lessonid", $lesson->id, "prevpageid", 0)) { - error("Navigation: first page not found"); + if (!$pageid = get_field('lesson_pages', 'id', 'lessonid', $lesson->id, 'prevpageid', 0)) { + error('Navigation: first page not found'); + } + /// CDC-FLAG /// -- This is the code for starting a timed test + if($lesson->timed && !isset($USER->startlesson[$lesson->id])) { + unset($startlesson); + $USER->startlesson[$lesson->id] = true; + if($timeid = get_field('lesson_timer', 'id', 'lessonid', $lesson->id, 'userid', $USER->id)) { + $startlesson->id = $timeid; + } + + $startlesson->lessonid = $lesson->id; + $startlesson->userid = $USER->id; + $startlesson->starttime = time(); + $startlesson->lessontime = time(); + + if (!update_record('lesson_timer', $startlesson)) { + if (!insert_record('lesson_timer', $startlesson)) { + error('Error: could not insert row into lesson_timer table'); + } + } } - /// CDC-FLAG /// -- This is the code for starting a timed test - if($lesson->timed && !isset($USER->startlesson[$lesson->id])) { - unset($startlesson); - $USER->startlesson[$lesson->id] = true; - if($timeid = get_field("lesson_timer", "id", "lessonid", $lesson->id, "userid", $USER->id)) { - $startlesson->id = $timeid; - } - - $startlesson->lessonid = $lesson->id; - $startlesson->userid = $USER->id; - $startlesson->starttime = time(); - $startlesson->lessontime = time(); - - if (!update_record("lesson_timer", $startlesson)) { - if (!insert_record("lesson_timer", $startlesson)) { - error("Error: could not insert row into lesson_timer table"); - } - } - } - /// CDC-FLAG /// + /// CDC-FLAG /// } if ($pageid != LESSON_EOL) { - /// CDC-FLAG /// 6/15/04 -- This is the code updates the lessontime for a timed test - // NoticeFix - if (isset($_POST["startlastseen"])) { /// this deletes old records - if ($_POST["startlastseen"] == "no") { - if ($grades = get_records_select("lesson_grades", "lessonid = $lesson->id AND userid = $USER->id", - "grade DESC")) { - $retries = count($grades); - } else { - $retries = 0; - } - // NoticeFix big fix on the two delete_records - if (!delete_records("lesson_attempts", "userid", $USER->id, "lessonid", $lesson->id, "retry", $retries)) { - error("Error: could not delete old attempts"); - } - if (!delete_records("lesson_branch", "userid", $USER->id, "lessonid", $lesson->id, "retry", $retries)) { - error("Error: could not delete old seen branches"); - } - } - } + /// CDC-FLAG /// 6/15/04 -- This is the code updates the lessontime for a timed test + // NoticeFix + if (isset($_POST['startlastseen'])) { /// this deletes old records + if ($_POST['startlastseen'] == 'no') { + if ($grades = get_records_select('lesson_grades', "lessonid = $lesson->id AND userid = $USER->id", + 'grade DESC')) { + $retries = count($grades); + } else { + $retries = 0; + } + // NoticeFix big fix on the two delete_records + if (!delete_records('lesson_attempts', 'userid', $USER->id, 'lessonid', $lesson->id, 'retry', $retries)) { + error('Error: could not delete old attempts'); + } + if (!delete_records('lesson_branch', 'userid', $USER->id, 'lessonid', $lesson->id, 'retry', $retries)) { + error('Error: could not delete old seen branches'); + } + } + } - if($lesson->timed) { - if(isteacher($course->id)) { - echo "
".get_string("teachertimerwarning", "lesson")."
"; - } else { - if (isset($_POST["startlastseen"])) { - if ($_POST["startlastseen"] == "yes") { // continue a previous test, need to update the clock (think this option is disabled atm) - // get time information for this user - if (!$timer = get_record("lesson_timer", "lessonid", $lesson->id, "userid", $USER->id)) { - error("Error: could not find record"); - } - - unset($continuelesson); - $continuelesson->id = $timer->id; - $continuelesson->starttime = time() - ($timer->lessontime - $timer->starttime); - $continuelesson->lessontime = time(); - if (!update_record("lesson_timer", $continuelesson)) { - error("Error: could not update record in the lesson_timer table"); - } - } elseif ($_POST["startlastseen"] == "no") { // starting over - // get time information for this user - if (!$timer = get_record("lesson_timer", "lessonid", $lesson->id, "userid", $USER->id)) { - error("Error: could not find record"); - } - - // starting over, so reset the clock - unset($startlesson); - $startlesson->id = $timer->id; - $startlesson->starttime = time(); - $startlesson->lessontime = time(); - - if (!update_record("lesson_timer", $startlesson)) { - error("Error: could not update record in the lesson_timer table"); - } - } - } - // get time information for this user - if (!$timer = get_record("lesson_timer", "lessonid", $lesson->id, "userid", $USER->id)) { - error("Error: could not find record"); - } - if ((($timer->starttime + $lesson->maxtime * 60) - time()) > 0) { - // code for the clock - echo "
"; - echo "\n"; - echo "


"; - } else { - redirect("view.php?id=$cm->id&action=navigation&pageid=".LESSON_EOL."&outoftime=normal", get_string("outoftime", "lesson")); - } - // update clock when viewing a new page... no special treatment - if ((($timer->starttime + $lesson->maxtime * 60) - time()) < 60) { - echo "
".get_string("studentoneminwarning", "lesson"). - "
"; - } - - unset($newtime); - $newtime->id = $timer->id; - $newtime->lessontime = time(); - - if (!update_record("lesson_timer", $newtime)) { - error("Error: could not update lesson_timer table"); - } - - // I dont like this... seems like there should be a better way... - if (!$firstpageid = get_field("lesson_pages", "id", "lessonid", $lesson->id, - "prevpageid", 0)) { - error("Navigation: first page not found"); - } - if ($pageid == $firstpageid) { - print_simple_box(get_string("maxtimewarning", "lesson", $lesson->maxtime), "center"); - } + if($lesson->timed) { + if(isteacher($course->id)) { + echo '
'. get_string('teachertimerwarning', 'lesson') .'
'; + } else { + if (isset($_POST['startlastseen'])) { + if ($_POST['startlastseen'] == 'yes') { // continue a previous test, need to update the clock (think this option is disabled atm) + // get time information for this user + if (!$timer = get_record('lesson_timer', 'lessonid', $lesson->id, 'userid', $USER->id)) { + error('Error: could not find record'); + } + + unset($continuelesson); + $continuelesson->id = $timer->id; + $continuelesson->starttime = time() - ($timer->lessontime - $timer->starttime); + $continuelesson->lessontime = time(); + if (!update_record('lesson_timer', $continuelesson)) { + error("Error: could not update record in the lesson_timer table"); + } + } elseif ($_POST['startlastseen'] == 'no') { // starting over + // get time information for this user + if (!$timer = get_record('lesson_timer', 'lessonid', $lesson->id, 'userid', $USER->id)) { + error('Error: could not find record'); + } + + // starting over, so reset the clock + unset($startlesson); + $startlesson->id = $timer->id; + $startlesson->starttime = time(); + $startlesson->lessontime = time(); + + if (!update_record('lesson_timer', $startlesson)) { + error('Error: could not update record in the lesson_timer table'); + } + } + } + // get time information for this user + if (!$timer = get_record('lesson_timer', 'lessonid', $lesson->id, 'userid', $USER->id)) { + error('Error: could not find record'); + } + if ((($timer->starttime + $lesson->maxtime * 60) - time()) > 0) { + // code for the clock + echo "
"; + echo "\n"; + echo "


"; + } else { + redirect("view.php?id=$cm->id&action=navigation&pageid=".LESSON_EOL."&outoftime=normal", get_string("outoftime", "lesson")); + } + // update clock when viewing a new page... no special treatment + if ((($timer->starttime + $lesson->maxtime * 60) - time()) < 60) { + echo "
".get_string('studentoneminwarning', 'lesson'). + '
'; + } + + unset($newtime); + $newtime->id = $timer->id; + $newtime->lessontime = time(); + + if (!update_record('lesson_timer', $newtime)) { + error('Error: could not update lesson_timer table'); + } + + // I dont like this... seems like there should be a better way... + if (!$firstpageid = get_field('lesson_pages', 'id', 'lessonid', $lesson->id, + 'prevpageid', 0)) { + error('Navigation: first page not found'); + } + if ($pageid == $firstpageid) { + print_simple_box(get_string('maxtimewarning', 'lesson', $lesson->maxtime), 'center'); + } - } - } - /// CDC-FLAG /// - - add_to_log($course->id, "lesson", "view", "view.php?id=$cm->id", "$pageid", $cm->id); - if (!$page = get_record("lesson_pages", "id", $pageid)) { - error("Navigation: the page record not found"); + } + } + /// CDC-FLAG /// + + add_to_log($course->id, 'lesson', 'view', 'view.php?id='. $cm->id, $pageid, $cm->id); + if (!$page = get_record('lesson_pages', 'id', $pageid)) { + error('Navigation: the page record not found'); + } + /// CDC-FLAG 6/21/04 /// - this only gets called when a user starts up a new lesson and the first page is a cluster page + if ($page->qtype == LESSON_CLUSTER) { + if (!isteacher($course->id)) { + // get new id + $pageid = lesson_cluster_jump($lesson->id, $USER->id, $pageid); + // get new page info + if (!$page = get_record('lesson_pages', 'id', $pageid)) { + error('Navigation: the page record not found'); + } + } else { + // get the next page + $pageid = $page->nextpageid; + if (!$page = get_record('lesson_pages', 'id', $pageid)) { + error('Navigation: the page record not found'); + } + } + } elseif ($page->qtype == LESSON_ENDOFCLUSTER) { + if ($page->nextpageid == 0) { + $nextpageid = LESSON_EOL; + } else { + $nextpageid = $page->nextpageid; + } + redirect("view.php?id=$cm->id&action=navigation&pageid=$nextpageid", get_string('endofclustertitle', 'lesson')); } - /// CDC-FLAG 6/21/04 /// - this only gets called when a user starts up a new lesson and the first page is a cluster page - if ($page->qtype == LESSON_CLUSTER) { - if (!isteacher($course->id)) { - // get new id - $pageid = lesson_cluster_jump($lesson->id, $USER->id, $pageid); - // get new page info - if (!$page = get_record("lesson_pages", "id", $pageid)) { - error("Navigation: the page record not found"); - } - } else { - // get the next page - $pageid = $page->nextpageid; - if (!$page = get_record("lesson_pages", "id", $pageid)) { - error("Navigation: the page record not found"); - } - } - } elseif ($page->qtype == LESSON_ENDOFCLUSTER) { - if ($page->nextpageid == 0) { - $nextpageid = LESSON_EOL; - } else { - $nextpageid = $page->nextpageid; - } - redirect("view.php?id=$cm->id&action=navigation&pageid=$nextpageid", get_string("endofclustertitle", "lesson")); - } - /// CDC-FLAG /// + /// CDC-FLAG /// // before we output everything check to see if the page is a EOB, if so jump directly // to it's associated branch table if ($page->qtype == LESSON_ENDOFBRANCH) { - if ($answers = get_records("lesson_answers", "pageid", $page->id, "id")) { - // print_heading(get_string("endofbranch", "lesson")); + if ($answers = get_records('lesson_answers', 'pageid', $page->id, 'id')) { + // print_heading(get_string('endofbranch', 'lesson')); foreach ($answers as $answer) { // just need the first answer - /// CDC-FLAG 6/21/04 /// - if ($answer->jumpto == LESSON_RANDOMBRANCH) { - $answer->jumpto = lesson_unseen_branch_jump($lesson->id, $USER->id); - } elseif ($answer->jumpto == LESSON_CLUSTERJUMP) { - if (!isteacher($course->id)) { - $answer->jumpto = lesson_cluster_jump($lesson->id, $USER->id, $pageid); - } else { - if ($page->nextpageid == 0) { - $answer->jumpto = LESSON_EOL; - } else { - $answer->jumpto = $page->nextpageid; - } - } - } - /// CDC-FLAG /// + /// CDC-FLAG 6/21/04 /// + if ($answer->jumpto == LESSON_RANDOMBRANCH) { + $answer->jumpto = lesson_unseen_branch_jump($lesson->id, $USER->id); + } elseif ($answer->jumpto == LESSON_CLUSTERJUMP) { + if (!isteacher($course->id)) { + $answer->jumpto = lesson_cluster_jump($lesson->id, $USER->id, $pageid); + } else { + if ($page->nextpageid == 0) { + $answer->jumpto = LESSON_EOL; + } else { + $answer->jumpto = $page->nextpageid; + } + } + } + /// CDC-FLAG /// redirect("view.php?id=$cm->id&action=navigation&pageid=$answer->jumpto", get_string("endofbranch", "lesson")); break; @@ -480,27 +480,27 @@ print_footer($course); exit(); } else { - error("Navigation: No answers on EOB"); + error('Navigation: No answers on EOB'); } } - /// CDC-FLAG 6/21/04 /// this calculates the ongoing score - if ($lesson->ongoing && !empty($pageid)) { - if (isteacher($course->id)) { - echo "
".get_string("teacherongoingwarning", "lesson")."
"; - } else { - lesson_calculate_ongoing_score($lesson, $USER); - } - } - /// CDC-FLAG /// + /// CDC-FLAG 6/21/04 /// this calculates the ongoing score + if ($lesson->ongoing && !empty($pageid)) { + if (isteacher($course->id)) { + echo "
".get_string('teacherongoingwarning', 'lesson').'
'; + } else { + lesson_calculate_ongoing_score($lesson, $USER); + } + } + /// CDC-FLAG /// // it's not a EOB process it... - /// CDC-FLAG /// - if ($lesson->slideshow) { - echo "
\n"; - } else { - echo ""; - if ($answer != end($answers)) { - echo ""; - } - } - } + if ($answer->response != NULL) { + echo ""; + if ($answer != end($answers)) { + echo ""; + } + } + } echo '
\n"; - } - /// CDC-FLAG /// + /// CDC-FLAG /// + if ($lesson->slideshow) { + echo ""; - if ($answer != end($answers)) { - echo ""; - } + if ($answer != end($answers)) { + echo ""; + } $i++; } echo '
\n"; + } else { + echo ""; - if ($answer != end($answers)) { - echo ""; - } + if ($answer != end($answers)) { + echo ""; + } } echo '
\n"; + } + /// CDC-FLAG /// if ($page->qtype == LESSON_BRANCHTABLE) { if ($lesson->minquestions and isstudent($course->id)) { // tell student how many questions they have seen, how many are required and their grade @@ -531,26 +531,26 @@ } } } - - /// CDC-FLAG /// moved name and title down here for Flow style, michaelp - echo "
"; - echo ""; - echo ($lesson->name) . ""; - if ($page->qtype == LESSON_BRANCHTABLE) { - echo ":
"; - print_heading($page->title); - } - echo "

"; - - /// CDC-FLAG /// - if ($lesson->slideshow) { - echo "
"; - echo format_text($page->contents); - echo "
"; - } else { - print_simple_box(format_text($page->contents), 'center'); - } - /// CDC-FLAG /// + + /// CDC-FLAG /// moved name and title down here for Flow style, michaelp + echo "
"; + echo ""; + echo ($lesson->name) . ""; + if ($page->qtype == LESSON_BRANCHTABLE) { + echo ":
"; + print_heading($page->title); + } + echo "

"; + + /// CDC-FLAG /// + if ($lesson->slideshow) { + echo "
"; + echo format_text($page->contents); + echo "
"; + } else { + print_simple_box(format_text($page->contents), 'center'); + } + /// CDC-FLAG /// echo "
\n"; // get the answers in a set order, the id order if ($answers = get_records("lesson_answers", "pageid", $page->id, "id")) { @@ -559,10 +559,10 @@ echo ""; echo ""; /// CDC-FLAG /// - if (!$lesson->slideshow || $page->qtype != 20) { - print_simple_box_start("center"); - } - /// CDC-FLAG /// + if (!$lesson->slideshow || $page->qtype != 20) { + print_simple_box_start("center"); + } + /// CDC-FLAG /// echo ''; switch ($page->qtype) { case LESSON_SHORTANSWER : @@ -571,30 +571,30 @@ ": \n"; //CDC hidden label added. echo '
'; print_simple_box_end(); - if (!$lesson->slideshow) { - echo "

\n"; - } + if (!$lesson->slideshow) { + echo "

\n"; + } break; case LESSON_TRUEFALSE : shuffle($answers); foreach ($answers as $answer) { echo "
"; echo "id}\">"; //CDC hidden label added. - echo ""; + echo ""; $options->para = false; // no

echo format_text(trim($answer->answer), FORMAT_MOODLE, $options); echo "


'; print_simple_box_end(); - if (!$lesson->slideshow) { - echo "

\n"; - } + if (!$lesson->slideshow) { + echo "

\n"; + } break; case LESSON_MULTICHOICE : $i = 0; @@ -612,24 +612,24 @@ $options->para = false; // no

echo format_text(trim($answer->answer), FORMAT_MOODLE, $options); echo "


'; print_simple_box_end(); - /// CDC-FLAG /// - if (!$lesson->slideshow) { - if ($page->qoption) { - echo "

\n"; - } else { - echo "

\n"; - } - } - /// CDC-FLAG /// + /// CDC-FLAG /// + if (!$lesson->slideshow) { + if ($page->qoption) { + echo "

\n"; + } else { + echo "

\n"; + } + } + /// CDC-FLAG /// break; /// CDC-FLAG /// 6/14/04 --- changed how matching works @@ -638,71 +638,71 @@ // don't suffle answers (could be an option??) foreach ($answers as $answer) { // get all the response - if ($answer->response != NULL) { - $responses[] = trim($answer->response); - } + if ($answer->response != NULL) { + $responses[] = trim($answer->response); + } } shuffle($responses); foreach ($answers as $answer) { - if ($answer->response != NULL) { - echo "
"; - echo "$answer->answer: "; - echo ""; - echo "

"; + echo "$answer->answer: "; + echo ""; + echo "

'; print_simple_box_end(); - if (!$lesson->slideshow) { - echo "

\n"; - } + if (!$lesson->slideshow) { + echo "

\n"; + } break; - /// CDC-FLAG /// + /// CDC-FLAG /// case LESSON_BRANCHTABLE : echo "
"; echo ""; // don't suffle answers - /// CDC-FLAG /// - if(!$lesson->slideshow) { - foreach ($answers as $answer) { - echo ""; - } - } - - /// CDC-FLAG /// - echo '
"; - echo "answer\""; - echo "onclick=\"document.answerform.jumpto.value=$answer->jumpto;document.answerform.submit();\">"; - echo "
'; + /// CDC-FLAG /// + if(!$lesson->slideshow) { + foreach ($answers as $answer) { + echo "
"; + echo "answer\""; + echo "onclick=\"document.answerform.jumpto.value=$answer->jumpto;document.answerform.submit();\">"; + echo "
'; + print_simple_box_end(); + break; + case LESSON_ESSAY : + echo "".get_string("youranswer", "lesson").":". + "\n"; //CDC hidden label added. + echo ""; print_simple_box_end(); + if (!$lesson->slideshow) { + echo "

\n"; + } break; - case LESSON_ESSAY : - echo "".get_string("youranswer", "lesson").":". - "\n"; //CDC hidden label added. - echo ""; - print_simple_box_end(); - if (!$lesson->slideshow) { - echo "

\n"; - } - break; } - /// CDC-FLAG /// - if (!$lesson->slideshow) { - echo "\n"; - } - /// CDC-FLAG /// + /// CDC-FLAG /// + if (!$lesson->slideshow) { + echo "\n"; + } + /// CDC-FLAG /// } else { // a page without answers - find the next (logical) page echo "
\n"; @@ -753,25 +753,25 @@ } } echo "\n"; - echo "

\n"; echo "
\n"; } echo "\n"; } else { // end of lesson reached work out grade - /// CDC-FLAG /// - if ($lesson->timed) { - unset($USER->startlesson[$lesson->id]); // take this variable out that I put in for timed tests - if (isset($_GET["outoftime"])) { - if ($_GET["outoftime"] == "normal") { - print_simple_box(get_string("eolstudentoutoftime", "lesson"), "center"); - } - } - } - if (isset($USER->lessonloggedin[$lesson->id])) { - unset($USER->lessonloggedin[$lesson->id]); - } + /// CDC-FLAG /// + if ($lesson->timed) { + unset($USER->startlesson[$lesson->id]); // take this variable out that I put in for timed tests + if (isset($_GET["outoftime"])) { + if ($_GET["outoftime"] == "normal") { + print_simple_box(get_string("eolstudentoutoftime", "lesson"), "center"); + } + } + } + if (isset($USER->lessonloggedin[$lesson->id])) { + unset($USER->lessonloggedin[$lesson->id]); + } add_to_log($course->id, "lesson", "end", "view.php?id=$cm->id", "$lesson->id", $cm->id); print_heading(get_string("congratulations", "lesson")); print_simple_box_start("center"); @@ -779,147 +779,147 @@ if (isstudent($course->id)) { if ($nviewed = count_records("lesson_attempts", "lessonid", $lesson->id, "userid", $USER->id, "retry", $ntries)) { - /// CDC-FLAG /// 6/11/04 - if (!$lesson->custom) { - $ncorrect = 0; - if ($pagesanswered = get_records_select("lesson_attempts", "lessonid = $lesson->id AND - userid = $USER->id AND retry = $ntries order by timeseen")) { + /// CDC-FLAG /// 6/11/04 + if (!$lesson->custom) { + $ncorrect = 0; + if ($pagesanswered = get_records_select("lesson_attempts", "lessonid = $lesson->id AND + userid = $USER->id AND retry = $ntries order by timeseen")) { - foreach ($pagesanswered as $pageanswered) { - if (@!array_key_exists($pageanswered->pageid, $temp)) { - $temp[$pageanswered->pageid] = array($pageanswered->correct, 1); - } else { - if ($temp[$pageanswered->pageid][1] < $lesson->maxattempts) { - $n = $temp[$pageanswered->pageid][1] + 1; - $temp[$pageanswered->pageid] = array($pageanswered->correct, $n); - } - } - } - foreach ($temp as $value => $key) { - if ($key[0] == 1) { - $ncorrect += 1; - } - } - } - $nviewed = count($temp); // this counts number of Questions the user viewed + foreach ($pagesanswered as $pageanswered) { + if (@!array_key_exists($pageanswered->pageid, $temp)) { + $temp[$pageanswered->pageid] = array($pageanswered->correct, 1); + } else { + if ($temp[$pageanswered->pageid][1] < $lesson->maxattempts) { + $n = $temp[$pageanswered->pageid][1] + 1; + $temp[$pageanswered->pageid] = array($pageanswered->correct, $n); + } + } + } + foreach ($temp as $value => $key) { + if ($key[0] == 1) { + $ncorrect += 1; + } + } + } + $nviewed = count($temp); // this counts number of Questions the user viewed - echo "

".get_string("numberofpagesviewed", "lesson", $nviewed). - "

\n"; - if ($lesson->minquestions) { - if ($nviewed < $lesson->minquestions) { - // print a warning and set nviewed to minquestions - echo "

".get_string("youshouldview", "lesson", - $lesson->minquestions)." ".get_string("pages", "lesson")."

\n"; - $nviewed = $lesson->minquestions; - } - } - echo "

".get_string("numberofcorrectanswers", "lesson", $ncorrect). - "

\n"; - $thegrade = intval(100 * $ncorrect / $nviewed); - echo "

".get_string("gradeis", "lesson", - number_format($thegrade * $lesson->grade / 100, 1)). - " (".get_string("outof", "lesson", $lesson->grade).")

\n"; - - } else { - $score = 0; - if ($useranswers = get_records_select("lesson_attempts", "lessonid = $lesson->id AND - userid = $USER->id AND retry = $ntries", "timeseen")) { + echo "

".get_string("numberofpagesviewed", "lesson", $nviewed). + "

\n"; + if ($lesson->minquestions) { + if ($nviewed < $lesson->minquestions) { + // print a warning and set nviewed to minquestions + echo "

".get_string("youshouldview", "lesson", + $lesson->minquestions)." ".get_string("pages", "lesson")."

\n"; + $nviewed = $lesson->minquestions; + } + } + echo "

".get_string("numberofcorrectanswers", "lesson", $ncorrect). + "

\n"; + $thegrade = intval(100 * $ncorrect / $nviewed); + echo "

".get_string("gradeis", "lesson", + number_format($thegrade * $lesson->grade / 100, 1)). + " (".get_string("outof", "lesson", $lesson->grade).")

\n"; + + } else { + $score = 0; + if ($useranswers = get_records_select("lesson_attempts", "lessonid = $lesson->id AND + userid = $USER->id AND retry = $ntries", "timeseen")) { - foreach ($useranswers as $useranswer) { - if (@!array_key_exists($useranswer->pageid, $temp)) { - $temp[$useranswer->pageid] = array($useranswer->answerid, 1); - } else { - if ($temp[$useranswer->pageid][1] < $lesson->maxattempts) { - $n = $temp[$useranswer->pageid][1] + 1; - $temp[$useranswer->pageid] = array($useranswer->answerid, $n); - } - } - } - if ($answervalues = get_records_select("lesson_answers", "lessonid = $lesson->id")) { - if ($pages = get_records_select("lesson_pages", "lessonid = $lesson->id")) { - foreach ($pages as $page) { - $questions[$page->id] = $page->qtype; - } - } else { - $questions = array(); - } - $tempmaxgrade = $lesson->grade; - $essayquestions = 0; - foreach ($answervalues as $answervalue) { - if (array_key_exists($answervalue->pageid, $temp)) { - if ($temp[$answervalue->pageid][0] == $answervalue->id) { - if ($questions[$answervalue->pageid] == LESSON_ESSAY) { - $tempmaxgrade = $tempmaxgrade - $answervalue->score; - $essayquestions++; - } else { - $score = $score + $answervalue->score; - } - } - } - } - } else { - error("Error: Could not find answers!"); - } - } - if ($score > $lesson->grade) { - $thegrade = 100; - $score = $lesson->grade; - } elseif ($score < 0) { - $thegrade = 0; - $score = 0; - } else { - $thegrade = intval(100 * $score / $lesson->grade); - } + foreach ($useranswers as $useranswer) { + if (@!array_key_exists($useranswer->pageid, $temp)) { + $temp[$useranswer->pageid] = array($useranswer->answerid, 1); + } else { + if ($temp[$useranswer->pageid][1] < $lesson->maxattempts) { + $n = $temp[$useranswer->pageid][1] + 1; + $temp[$useranswer->pageid] = array($useranswer->answerid, $n); + } + } + } + if ($answervalues = get_records_select("lesson_answers", "lessonid = $lesson->id")) { + if ($pages = get_records_select("lesson_pages", "lessonid = $lesson->id")) { + foreach ($pages as $page) { + $questions[$page->id] = $page->qtype; + } + } else { + $questions = array(); + } + $tempmaxgrade = $lesson->grade; + $essayquestions = 0; + foreach ($answervalues as $answervalue) { + if (array_key_exists($answervalue->pageid, $temp)) { + if ($temp[$answervalue->pageid][0] == $answervalue->id) { + if ($questions[$answervalue->pageid] == LESSON_ESSAY) { + $tempmaxgrade = $tempmaxgrade - $answervalue->score; + $essayquestions++; + } else { + $score = $score + $answervalue->score; + } + } + } + } + } else { + error("Error: Could not find answers!"); + } + } + if ($score > $lesson->grade) { + $thegrade = 100; + $score = $lesson->grade; + } elseif ($score < 0) { + $thegrade = 0; + $score = 0; + } else { + $thegrade = intval(100 * $score / $lesson->grade); + } - unset($a); - if ($essayquestions > 0) { - $a->score = $score; - $a->tempmaxgrade = $tempmaxgrade; - $a->essayquestions = $essayquestions; - $a->grade = $lesson->grade; - echo "
"; - echo get_string("displayscorewithessays", "lesson", $a); - echo "
"; - } else { - $a->score = $score; - $a->grade = $lesson->grade; - echo "
".get_string("displayscorewithoutessays", "lesson", $a)."
"; - } - } - /// CDC-FLAG /// - $grade->lessonid = $lesson->id; - $grade->userid = $USER->id; - $grade->grade = $thegrade; - $grade->completed = time(); - if (!$lesson->practice) { - if (!$newgradeid = insert_record("lesson_grades", $grade)) { - error("Navigation: grade not inserted"); - } - } else { - if (!delete_records("lesson_attempts", "lessonid", $lesson->id, "userid", $USER->id, "retry", $ntries)) { - error("Could not delete lesson attempts"); - } - } + unset($a); + if ($essayquestions > 0) { + $a->score = $score; + $a->tempmaxgrade = $tempmaxgrade; + $a->essayquestions = $essayquestions; + $a->grade = $lesson->grade; + echo "
"; + echo get_string("displayscorewithessays", "lesson", $a); + echo "
"; + } else { + $a->score = $score; + $a->grade = $lesson->grade; + echo "
".get_string("displayscorewithoutessays", "lesson", $a)."
"; + } + } + /// CDC-FLAG /// + $grade->lessonid = $lesson->id; + $grade->userid = $USER->id; + $grade->grade = $thegrade; + $grade->completed = time(); + if (!$lesson->practice) { + if (!$newgradeid = insert_record("lesson_grades", $grade)) { + error("Navigation: grade not inserted"); + } + } else { + if (!delete_records("lesson_attempts", "lessonid", $lesson->id, "userid", $USER->id, "retry", $ntries)) { + error("Could not delete lesson attempts"); + } + } } else { //print_string("noattemptrecordsfound", "lesson"); - if ($lesson->timed) { - if (isset($_GET["outoftime"])) { - if ($_GET["outoftime"] == "normal") { - $grade->lessonid = $lesson->id; - $grade->userid = $USER->id; - $grade->grade = 0; - $grade->completed = time(); - if (!$lesson->practice) { - if (!$newgradeid = insert_record("lesson_grades", $grade)) { - error("Navigation: grade not inserted"); - } - } - echo get_string("eolstudentoutoftimenoanswers", "lesson"); - } - } - } else { - echo get_string("welldone", "lesson"); - } + if ($lesson->timed) { + if (isset($_GET["outoftime"])) { + if ($_GET["outoftime"] == "normal") { + $grade->lessonid = $lesson->id; + $grade->userid = $USER->id; + $grade->grade = 0; + $grade->completed = time(); + if (!$lesson->practice) { + if (!$newgradeid = insert_record("lesson_grades", $grade)) { + error("Navigation: grade not inserted"); + } + } + echo get_string("eolstudentoutoftimenoanswers", "lesson"); + } + } + } else { + echo get_string("welldone", "lesson"); + } } @@ -928,148 +928,148 @@ echo "

".get_string("displayofgrade", "lesson")."

\n"; } print_simple_box_end(); //End of Lesson button to Continue. - ///CDC-FLAG /// high scores code - if ($lesson->highscores && !isteacher($course->id)) { - echo "

"; - if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id", "completed")) { - echo get_string("youmadehighscore", "lesson", $lesson->maxhighscores)."
"; - echo "id&action=nameforhighscores\">".get_string("clicktopost", "lesson")."
"; - } else { - if (!$highscores = get_records_select("lesson_high_scores", "lessonid = $lesson->id")) { - echo get_string("youmadehighscore", "lesson", $lesson->maxhighsores)."
"; - echo "id&action=nameforhighscores\">".get_string("clicktopost", "lesson")."
"; - } else { - // get all the high scores into an array - foreach ($highscores as $highscore) { - $grade = $grades[$highscore->gradeid]->grade; - $topscores[] = $grade; - } - // sort to find the lowest score - sort($topscores); - $lowscore = $topscores[0]; - - if ($thegrade >= $lowscore || count($topscores) <= $lesson->maxhighscores) { - echo get_string("youmadehighscore", "lesson", $lesson->maxhighscores)."
"; - echo "id&action=nameforhighscores\">".get_string("clicktopost", "lesson")."
"; - } else { - echo get_string("nothighscore", "lesson", $lesson->maxhighscores)."
"; - } - } - } - echo "
id&action=highscores&link=1\">".get_string("viewhighscores", "lesson").""; - echo "
"; - } - /// CDC-FLAG /// - echo "

id\">".get_string("mainmenu", "lesson")."

\n"; //CDC Back to the menu (course view). - echo "

id\">".get_string("viewgrades", "lesson")."

\n"; //CDC Back to the menu (course view). + ///CDC-FLAG /// high scores code + if ($lesson->highscores && !isteacher($course->id)) { + echo "

"; + if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id", "completed")) { + echo get_string("youmadehighscore", "lesson", $lesson->maxhighscores)."
"; + echo "id&action=nameforhighscores\">".get_string("clicktopost", "lesson")."
"; + } else { + if (!$highscores = get_records_select("lesson_high_scores", "lessonid = $lesson->id")) { + echo get_string("youmadehighscore", "lesson", $lesson->maxhighsores)."
"; + echo "id&action=nameforhighscores\">".get_string("clicktopost", "lesson")."
"; + } else { + // get all the high scores into an array + foreach ($highscores as $highscore) { + $grade = $grades[$highscore->gradeid]->grade; + $topscores[] = $grade; + } + // sort to find the lowest score + sort($topscores); + $lowscore = $topscores[0]; + + if ($thegrade >= $lowscore || count($topscores) <= $lesson->maxhighscores) { + echo get_string("youmadehighscore", "lesson", $lesson->maxhighscores)."
"; + echo "id&action=nameforhighscores\">".get_string("clicktopost", "lesson")."
"; + } else { + echo get_string("nothighscore", "lesson", $lesson->maxhighscores)."
"; + } + } + } + echo "
id&action=highscores&link=1\">".get_string("viewhighscores", "lesson").""; + echo "
"; + } + /// CDC-FLAG /// + echo "

id\">".get_string("mainmenu", "lesson")."

\n"; //CDC Back to the menu (course view). + echo "

id\">".get_string("viewgrades", "lesson")."

\n"; //CDC Back to the menu (course view). + } + /// CDC-FLAG /// + if($lesson->slideshow) { + echo "
\n"; //Closes Mark's big div tag? + } + + if($lesson->slideshow && $pageid != LESSON_EOL) { + if (!$lesson->displayleft) { + echo "width\" cellpadding=\"5\" cellspacing=\"5\" align=\"center\">\n"; + } else { + echo "
width\" cellpadding=\"5\" cellspacing=\"5\">\n"; + } + switch ($page->qtype) { + case LESSON_SHORTANSWER : + case LESSON_NUMERICAL : + echo "\n"; + break; + case LESSON_TRUEFALSE : + echo "\n"; + break; + case LESSON_MULTICHOICE : + if ($page->qoption) { + echo "\n"; + } else { + echo "\n"; + } + break; + case LESSON_MATCHING : + echo "\n"; + break; + case LESSON_ESSAY : + echo "\n"; + break; + case LESSON_BRANCHTABLE : + $nextprevious = array(); + $otherjumps = array(); + // seperate out next and previous jumps from the other jumps + foreach ($answers as $answer) { + if($answer->jumpto == LESSON_NEXTPAGE || $answer->jumpto == LESSON_PREVIOUSPAGE) { + $nextprevious[] = $answer; + } else { + $otherjumps[] = $answer; + } + } + if ($page->layout) { + echo ""; + // next 3 foreach loops print out the links in correct order + foreach ($nextprevious as $jump) { + if ($jump->jumpto == LESSON_PREVIOUSPAGE) { + echo ""; + } + } + echo ""; + foreach ($nextprevious as $jump) { + if ($jump->jumpto == LESSON_NEXTPAGE) { + echo ""; + } + } + echo ""; + } else { + // next 3 foreach loops print out the links in correct order + foreach ($nextprevious as $jump) { + if ($jump->jumpto == LESSON_NEXTPAGE) { + echo ""; + } + } + foreach ($otherjumps as $otherjump) { + echo ""; + } + foreach ($nextprevious as $jump) { + if ($jump->jumpto == LESSON_PREVIOUSPAGE) { + echo ""; + } + } + } + break; + } + echo "

jumpto;document.answerform.submit();\"". + "value = \"$jump->answer\">"; + foreach ($otherjumps as $otherjump) { + echo ""; + } + echo "
jumpto;document.answerform.submit();\"". + "value = \"$otherjump->answer\">
jumpto;document.answerform.submit();\"". + "value = \"$jump->answer\">
jumpto;document.answerform.submit();\"". + "value = \"$jump->answer\">
jumpto;document.answerform.submit();\"". + "value = \"$otherjump->answer\">
jumpto;document.answerform.submit();\"". + "value = \"$jump->answer\">
\n"; } - /// CDC-FLAG /// - if($lesson->slideshow) { - echo "\n"; //Closes Mark's big div tag? - } - - if($lesson->slideshow && $pageid != LESSON_EOL) { - if (!$lesson->displayleft) { - echo "width\" cellpadding=\"5\" cellspacing=\"5\" align=\"center\">\n"; - } else { - echo "
width\" cellpadding=\"5\" cellspacing=\"5\">\n"; - } - switch ($page->qtype) { - case LESSON_SHORTANSWER : - case LESSON_NUMERICAL : - echo "\n"; - break; - case LESSON_TRUEFALSE : - echo "\n"; - break; - case LESSON_MULTICHOICE : - if ($page->qoption) { - echo "\n"; - } else { - echo "\n"; - } - break; - case LESSON_MATCHING : - echo "\n"; - break; - case LESSON_ESSAY : - echo "\n"; - break; - case LESSON_BRANCHTABLE : - $nextprevious = array(); - $otherjumps = array(); - // seperate out next and previous jumps from the other jumps - foreach ($answers as $answer) { - if($answer->jumpto == LESSON_NEXTPAGE || $answer->jumpto == LESSON_PREVIOUSPAGE) { - $nextprevious[] = $answer; - } else { - $otherjumps[] = $answer; - } - } - if ($page->layout) { - echo ""; - // next 3 foreach loops print out the links in correct order - foreach ($nextprevious as $jump) { - if ($jump->jumpto == LESSON_PREVIOUSPAGE) { - echo ""; - } - } - echo ""; - foreach ($nextprevious as $jump) { - if ($jump->jumpto == LESSON_NEXTPAGE) { - echo ""; - } - } - echo ""; - } else { - // next 3 foreach loops print out the links in correct order - foreach ($nextprevious as $jump) { - if ($jump->jumpto == LESSON_NEXTPAGE) { - echo ""; - } - } - foreach ($otherjumps as $otherjump) { - echo ""; - } - foreach ($nextprevious as $jump) { - if ($jump->jumpto == LESSON_PREVIOUSPAGE) { - echo ""; - } - } - } - break; - } - echo "

jumpto;document.answerform.submit();\"". - "value = \"$jump->answer\">"; - foreach ($otherjumps as $otherjump) { - echo ""; - } - echo "
jumpto;document.answerform.submit();\"". - "value = \"$otherjump->answer\">
jumpto;document.answerform.submit();\"". - "value = \"$jump->answer\">
jumpto;document.answerform.submit();\"". - "value = \"$jump->answer\">
jumpto;document.answerform.submit();\"". - "value = \"$otherjump->answer\">
jumpto;document.answerform.submit();\"". - "value = \"$jump->answer\">
\n"; - } - if ($lesson->displayleft) { - echo ""; //CDC Chris Berri for styles, closes slidepos. - } elseif ($lesson->slideshow) { - echo ""; - } - /// CDC-FLAG /// + if ($lesson->displayleft) { + echo ""; //CDC Chris Berri for styles, closes slidepos. + } elseif ($lesson->slideshow) { + echo ""; + } + /// CDC-FLAG /// } /*******************teacher view **************************************/ elseif ($action == 'teacherview') { - print_heading_with_help($lesson->name, "overview", "lesson"); + print_heading_with_help($lesson->name, "overview", "lesson"); // get number of pages if ($page = get_record_select("lesson_pages", "lessonid = $lesson->id AND prevpageid = 0")) { $npages = 1; @@ -1087,104 +1087,104 @@ } if (!$page = get_record_select("lesson_pages", "lessonid = $lesson->id AND prevpageid = 0")) { - /// CDC-FLAG /// + /// CDC-FLAG /// // if there are no pages give teacher the option to create a new page or a new branch table - echo "
"; - if (isteacheredit($course->id)) { - print_simple_box( "\n"; //CDC Chris Berri added. - /// CDC-FLAG /// + echo "
"; + if (isteacheredit($course->id)) { + print_simple_box( "
".get_string("whatdofirst", "lesson")."
". - "id&pageid=0\">". - get_string("importquestions", "lesson")."
". - "id&action=addbranchtable&pageid=0&firstpage=1\">". - get_string("addabranchtable", "lesson")."
". - "id&action=addpage&pageid=0&firstpage=1\">". - get_string("addaquestionpage", "lesson")." ".get_string("here","lesson"). - "
\n"; //CDC Chris Berri added. + /// CDC-FLAG /// } else { // print the pages echo "\n"; echo "id\" />\n"; echo "\n"; echo "\n"; - /// CDC-FLAG /// link to grade essay questions - if (count_records("lesson_essay", "lessonid", $lesson->id) > 0) { - echo "
id&action=essayview\">".get_string("gradeessay", "lesson")."

"; - } - /// CDC-FLAG /// tree code - in final release, will use lang file for all text output. - // NoticeFix next two lines and bowth viewAlls - $branch = false; - $singlePage = false; - if($lesson->tree && !isset($_GET['display']) && !isset($_GET['viewAll'])) { - echo "
"; - echo get_string("treeview", "lesson")."

"; - echo "".get_string("viewallpages", "lesson")."

\n"; - echo "
".get_string("whatdofirst", "lesson")."
". + "id&pageid=0\">". + get_string("importquestions", "lesson")."
". + "id&action=addbranchtable&pageid=0&firstpage=1\">". + get_string("addabranchtable", "lesson")."
". + "id&action=addpage&pageid=0&firstpage=1\">". + get_string("addaquestionpage", "lesson")." ".get_string("here","lesson"). + "
"; - lesson_print_tree($page->id, $lesson->id, $cm->id, $pixpath); - echo "
"; - echo "
".get_string("viewallpages", "lesson")."\n"; - echo "
"; - } else { - if(isset($_GET['display']) && !isset($_GET['viewAll'])) { - while(true) - { - if($page->id == $_GET['display'] && $page->qtype == LESSON_BRANCHTABLE) { - $branch = true; - $singlePage = false; - break; - } elseif($page->id == $_GET['display']) { - $branch = false; - $singlePage = true; - break; - } elseif ($page->nextpageid) { - if (!$page = get_record("lesson_pages", "id", $page->nextpageid)) { - error("Teacher view: Next page not found!"); - } - } else { - // last page reached - break; - } - } - echo "
".get_string("viewallpages", "lesson")."
\n"; - echo "".get_string("backtreeview", "lesson")."
\n"; - echo "\n"; - if (isteacheredit($course->id)) { - /// CDC-FLAG 6/16/04 /// - echo "\n"; - /// CDC-FLAG /// - } - } else { - if($lesson->tree) { - echo "
".get_string("backtreeview", "lesson")."
\n"; - } - echo "
id&pageid=$page->prevpageid\">". - get_string("importquestions", "lesson")." | ". - "id&action=addcluster&pageid=$page->prevpageid\">". - get_string("addcluster", "lesson")." | ". - "id&action=addendofcluster&pageid=$page->prevpageid\">". - get_string("addendofcluster", "lesson")." | ". - "id&action=addbranchtable&pageid=$page->prevpageid\">". - get_string("addabranchtable", "lesson")." | ". - "id&action=addpage&pageid=$page->prevpageid\">". - get_string("addaquestionpage", "lesson")." ".get_string("here","lesson"). - "
\n"; - if (isteacheredit($course->id)) { - /// CDC-FLAG 6/16/04 /// - echo ""; + echo ""; + echo ""; + + echo ""; + echo "
id&pageid=0\">". - get_string("importquestions", "lesson")." | ". - "id&action=addcluster&pageid=0\">". - get_string("addendofcluster", "lesson")." | ". - "id&action=addbranchtable&pageid=0\">". - get_string("addabranchtable", "lesson")." | ". + /// CDC-FLAG /// link to grade essay questions + if (count_records("lesson_essay", "lessonid", $lesson->id) > 0) { + echo "
"; + } + /// CDC-FLAG /// tree code - in final release, will use lang file for all text output. + // NoticeFix next two lines and bowth viewAlls + $branch = false; + $singlePage = false; + if($lesson->tree && !isset($_GET['display']) && !isset($_GET['viewAll'])) { + echo "
"; + echo get_string("treeview", "lesson")."

"; + echo "".get_string("viewallpages", "lesson")."

\n"; + echo "
"; + lesson_print_tree($page->id, $lesson->id, $cm->id, $pixpath); + echo "
"; + echo "
".get_string("viewallpages", "lesson")."\n"; + echo "
"; + } else { + if(isset($_GET['display']) && !isset($_GET['viewAll'])) { + while(true) + { + if($page->id == $_GET['display'] && $page->qtype == LESSON_BRANCHTABLE) { + $branch = true; + $singlePage = false; + break; + } elseif($page->id == $_GET['display']) { + $branch = false; + $singlePage = true; + break; + } elseif ($page->nextpageid) { + if (!$page = get_record("lesson_pages", "id", $page->nextpageid)) { + error("Teacher view: Next page not found!"); + } + } else { + // last page reached + break; + } + } + echo "
".get_string("viewallpages", "lesson")."
\n"; + echo "".get_string("backtreeview", "lesson")."
\n"; + echo "\n"; + if (isteacheredit($course->id)) { + /// CDC-FLAG 6/16/04 /// + echo "\n"; + /// CDC-FLAG /// + } + } else { + if($lesson->tree) { + echo "
".get_string("backtreeview", "lesson")."
\n"; + } + echo "
id&pageid=$page->prevpageid\">". + get_string("importquestions", "lesson")." | ". + "id&action=addcluster&pageid=$page->prevpageid\">". + get_string("addcluster", "lesson")." | ". + "id&action=addendofcluster&pageid=$page->prevpageid\">". + get_string("addendofcluster", "lesson")." | ". + "id&action=addbranchtable&pageid=$page->prevpageid\">". + get_string("addabranchtable", "lesson")." | ". + "id&action=addpage&pageid=$page->prevpageid\">". + get_string("addaquestionpage", "lesson")." ".get_string("here","lesson"). + "
\n"; + if (isteacheredit($course->id)) { + /// CDC-FLAG 6/16/04 /// + echo "\n"; - /// CDC-FLAG /// - } - } - /// CDC-FLAG /// end tree code (note, there is an "}" below for an else above) + get_string("addaquestionpage", "lesson")." ".get_string("here","lesson"). + "\n"; + /// CDC-FLAG /// + } + } + /// CDC-FLAG /// end tree code (note, there is an "}" below for an else above) echo "\n"; if (isteacheredit($course->id)) { - /// CDC-FLAG /// 6/16/04 + /// CDC-FLAG /// 6/16/04 echo "
id&pageid=0\">". + get_string("importquestions", "lesson")." | ". + "id&action=addcluster&pageid=0\">". + get_string("addendofcluster", "lesson")." | ". + "id&action=addbranchtable&pageid=0\">". + get_string("addabranchtable", "lesson")." | ". "id&action=addpage&pageid=0\">". - get_string("addaquestionpage", "lesson")." ".get_string("here","lesson"). - "
\n"; while (true) { echo "\n"; $i = 1; - $n = 0; + $n = 0; foreach ($answers as $answer) { switch ($page->qtype) { case LESSON_MULTICHOICE: @@ -1249,22 +1249,22 @@ case LESSON_NUMERICAL: echo "\n"; @@ -1273,49 +1273,49 @@ echo format_text($answer->response); echo "\n"; break; - case LESSON_MATCHING: - if ($n < 2) { - if ($answer->answer != NULL) { - if ($n == 0) { - echo "\n"; - } else { - echo "\n"; - } - } - $n++; - $i--; - } else { - echo "\n"; - echo "\n"; - } - break; + case LESSON_MATCHING: + if ($n < 2) { + if ($answer->answer != NULL) { + if ($n == 0) { + echo "\n"; + } else { + echo "\n"; + } + } + $n++; + $i--; + } else { + echo "\n"; + echo "\n"; + } + break; case LESSON_BRANCHTABLE: echo "\n"; - echo "\n"; - } elseif ($i == 2) { - echo "\n"; - echo "\n"; - } - } else { - if ($lesson->custom && $page->qtype != LESSON_BRANCHTABLE && $page->qtype != LESSON_ENDOFBRANCH) { - echo "\n"; - } - echo "\n"; - } + /// CDC-FLAG /// + if ($page->qtype == LESSON_MATCHING) { + if ($i == 1) { + echo "\n"; + echo "\n"; + } elseif ($i == 2) { + echo "\n"; + echo "\n"; + } + } else { + if ($lesson->custom && $page->qtype != LESSON_BRANCHTABLE && $page->qtype != LESSON_ENDOFBRANCH) { + echo "\n"; + } + echo "\n"; + } $i++; } // print_simple_box_end(); /// CDC-FLAG /// not sure if i commented this out... hehe @@ -1390,18 +1390,18 @@ } echo "
cellheading2\" colspan=\"2\">$page->title  \n"; @@ -1206,9 +1206,9 @@ if ($answers = get_records("lesson_answers", "pageid", $page->id, "id")) { echo "
cellheading2\" colspan=\"2\" align=\"center\">\n"; switch ($page->qtype) { - case LESSON_ESSAY : /// CDC-FLAG /// 6/16/04 this line and the next - echo $LESSON_QUESTION_TYPE[$page->qtype]; - break; + case LESSON_ESSAY : /// CDC-FLAG /// 6/16/04 this line and the next + echo $LESSON_QUESTION_TYPE[$page->qtype]; + break; case LESSON_SHORTANSWER : echo $LESSON_QUESTION_TYPE[$page->qtype]; if ($page->qoption) { @@ -1240,7 +1240,7 @@ } echo "
cellheading2\" align=\"right\" valign=\"top\" width=\"20%\">\n"; /// CDC-FLAG /// 6/11/04 - if ($lesson->custom) { - // if the score is > 0, then it is correct - if ($answer->score > 0) { - echo "".get_string("answer", "lesson")." $i: \n"; - } else { - echo "".get_string("answer", "lesson")." $i: \n"; - } - } else { - if (lesson_iscorrect($page->id, $answer->jumpto)) { - // underline correct answers - echo "".get_string("answer", "lesson")." $i: \n"; - } else { - echo "".get_string("answer", "lesson")." $i: \n"; - } - } - /// CDC-FLAG /// + if ($lesson->custom) { + // if the score is > 0, then it is correct + if ($answer->score > 0) { + echo "".get_string("answer", "lesson")." $i: \n"; + } else { + echo "".get_string("answer", "lesson")." $i: \n"; + } + } else { + if (lesson_iscorrect($page->id, $answer->jumpto)) { + // underline correct answers + echo "".get_string("answer", "lesson")." $i: \n"; + } else { + echo "".get_string("answer", "lesson")." $i: \n"; + } + } + /// CDC-FLAG /// echo "\n"; echo format_text($answer->answer); echo "
".get_string("correctresponse", "lesson").": \n"; - echo "\n"; - echo format_text($answer->answer); - echo "
".get_string("wrongresponse", "lesson").": \n"; - echo "\n"; - echo format_text($answer->answer); - echo "
cellheading2\" align=\"right\" valign=\"top\" width=\"20%\">\n"; - if ($lesson->custom) { - // if the score is > 0, then it is correct - if ($answer->score > 0) { - echo "".get_string("answer", "lesson")." $i: \n"; - } else { - echo "".get_string("answer", "lesson")." $i: \n"; - } - } else { - if (lesson_iscorrect($page->id, $answer->jumpto)) { - // underline correct answers - echo "".get_string("answer", "lesson")." $i: \n"; - } else { - echo "".get_string("answer", "lesson")." $i: \n"; - } - } - echo "\n"; - echo format_text($answer->answer); - echo "
".get_string("matchesanswer", "lesson")." $i: \n"; - echo "\n"; - echo format_text($answer->response); - echo "
".get_string("correctresponse", "lesson").": \n"; + echo "\n"; + echo format_text($answer->answer); + echo "
".get_string("wrongresponse", "lesson").": \n"; + echo "\n"; + echo format_text($answer->answer); + echo "
cellheading2\" align=\"right\" valign=\"top\" width=\"20%\">\n"; + if ($lesson->custom) { + // if the score is > 0, then it is correct + if ($answer->score > 0) { + echo "".get_string("answer", "lesson")." $i: \n"; + } else { + echo "".get_string("answer", "lesson")." $i: \n"; + } + } else { + if (lesson_iscorrect($page->id, $answer->jumpto)) { + // underline correct answers + echo "".get_string("answer", "lesson")." $i: \n"; + } else { + echo "".get_string("answer", "lesson")." $i: \n"; + } + } + echo "\n"; + echo format_text($answer->answer); + echo "
".get_string("matchesanswer", "lesson")." $i: \n"; + echo "\n"; + echo format_text($answer->response); + echo "
\n"; echo "".get_string("description", "lesson")." $i: \n"; @@ -1332,46 +1332,46 @@ $jumptitle = get_string("endoflesson", "lesson"); /* CDC-FLAG 6/17/04 */ } elseif ($answer->jumpto == LESSON_UNSEENBRANCHPAGE) { $jumptitle = get_string("unseenpageinbranch", "lesson"); // a better way is get_string("unseenbranchpage", "lesson"); and define in lang file - } elseif ($answer->jumpto == LESSON_PREVIOUSPAGE) { + } elseif ($answer->jumpto == LESSON_PREVIOUSPAGE) { $jumptitle = get_string("previouspage", "lesson"); - } elseif ($answer->jumpto == LESSON_RANDOMPAGE) { - $jumptitle = get_string("randompageinbranch", "lesson"); - } elseif ($answer->jumpto == LESSON_RANDOMBRANCH) { - $jumptitle = get_string("randombranch", "lesson"); - } elseif ($answer->jumpto == LESSON_CLUSTERJUMP) { - $jumptitle = get_string("clusterjump", "lesson"); /// CDC-FLAG /// + } elseif ($answer->jumpto == LESSON_RANDOMPAGE) { + $jumptitle = get_string("randompageinbranch", "lesson"); + } elseif ($answer->jumpto == LESSON_RANDOMBRANCH) { + $jumptitle = get_string("randombranch", "lesson"); + } elseif ($answer->jumpto == LESSON_CLUSTERJUMP) { + $jumptitle = get_string("clusterjump", "lesson"); /// CDC-FLAG /// } else { if (!$jumptitle = get_field("lesson_pages", "title", "id", $answer->jumpto)) { $jumptitle = "".get_string("notdefined", "lesson").""; } } - /// CDC-FLAG /// - if ($page->qtype == LESSON_MATCHING) { - if ($i == 1) { - echo "
".get_string("correctanswerscore", "lesson").":"; - echo "\n"; - echo "$answer->score
".get_string("correctanswerjump", "lesson").":"; - echo "\n"; - echo "$jumptitle
".get_string("wronganswerscore", "lesson").":"; - echo "\n"; - echo "$answer->score
".get_string("wronganswerjump", "lesson").":"; - echo "\n"; - echo "$jumptitle
".get_string("score", "lesson")." $i:"; - echo "\n"; - echo "$answer->score
".get_string("jump", "lesson")." $i:"; - echo "\n"; - echo "$jumptitle
".get_string("correctanswerscore", "lesson").":"; + echo "\n"; + echo "$answer->score
".get_string("correctanswerjump", "lesson").":"; + echo "\n"; + echo "$jumptitle
".get_string("wronganswerscore", "lesson").":"; + echo "\n"; + echo "$answer->score
".get_string("wronganswerjump", "lesson").":"; + echo "\n"; + echo "$jumptitle
".get_string("score", "lesson")." $i:"; + echo "\n"; + echo "$answer->score
".get_string("jump", "lesson")." $i:"; + echo "\n"; + echo "$jumptitle
id&pageid=$page->id\">". get_string("importquestions", "lesson")." | ". - "id&action=addcluster&pageid=$page->id\">". + "id&action=addcluster&pageid=$page->id\">". get_string("addcluster", "lesson")." | ". - "id&action=addendofcluster&pageid=$page->id\">". + "id&action=addendofcluster&pageid=$page->id\">". get_string("addendofcluster", "lesson")." | ". - "id&action=addbranchtable&pageid=$page->id\">". + "id&action=addbranchtable&pageid=$page->id\">". get_string("addabranchtable", "lesson")."
"; - /// CDC-FLAG /// + /// CDC-FLAG /// // the current page or the next page is an end of branch don't show EOB link - $nextqtype = 0; // set to anything else EOB + $nextqtype = 0; // set to anything else EOB if ($page->nextpageid) { $nextqtype = get_field("lesson_pages", "qtype", "id", $page->nextpageid); } @@ -1428,11 +1428,11 @@ } $prevpageid = $page->id; // move to next page - /// CDC-FLAG /// - if($singlePage) { // this will make sure only one page is displayed if needed - break; - } elseif($branch && $page->qtype == LESSON_ENDOFBRANCH) { // this will display a branch table and its contents - break; + /// CDC-FLAG /// + if($singlePage) { // this will make sure only one page is displayed if needed + break; + } elseif($branch && $page->qtype == LESSON_ENDOFBRANCH) { // this will display a branch table and its contents + break; } elseif ($page->nextpageid) { /// CDC-FLAG /// if (!$page = get_record("lesson_pages", "id", $page->nextpageid)) { error("Teacher view: Next page not found!"); @@ -1442,18 +1442,18 @@ break; } } - } /// CDC-FLAG /// end of else from above tree code!!! - + } /// CDC-FLAG /// end of else from above tree code!!! + echo "
\n"; - /// CDC-FLAG /// - // NoticeFix both viewAll's - if(isset($_GET['display']) && !isset($_GET['viewAll'])) { - echo "
".get_string("viewallpages", "lesson")."
\n"; - } - if($lesson->tree && (isset($_GET['display']) || isset($_GET['viewAll']))) { - echo "
".get_string("backtreeview", "lesson")."
\n"; - } - /// CDC-FLAG /// + /// CDC-FLAG /// + // NoticeFix both viewAll's + if(isset($_GET['display']) && !isset($_GET['viewAll'])) { + echo "
".get_string("viewallpages", "lesson")."
\n"; + } + if($lesson->tree && (isset($_GET['display']) || isset($_GET['viewAll']))) { + echo "
".get_string("backtreeview", "lesson")."
\n"; + } + /// CDC-FLAG /// print_heading("id&action=navigation\">".get_string("checknavigation", "lesson")."\n"); } @@ -1461,385 +1461,385 @@ /*******************essay view **************************************/ // 6/29/04 elseif ($action == 'essayview') { - print_heading_with_help($lesson->name, "overview", "lesson"); - if (!$essays = get_records_select("lesson_essay", "lessonid = $lesson->id", "timesubmitted")) { - error("No one has answered essay questions yet..."); - } - if (!$pages = get_records_select("lesson_pages", "lessonid = $lesson->id")) { - error("Error: could not find lesson pages"); - } - if (!$users = lesson_get_participants($lesson->id)) { - error("Error: could not find users"); - } - - echo "
"; + print_heading_with_help($lesson->name, "overview", "lesson"); + if (!$essays = get_records_select("lesson_essay", "lessonid = $lesson->id", "timesubmitted")) { + error("No one has answered essay questions yet..."); + } + if (!$pages = get_records_select("lesson_pages", "lessonid = $lesson->id")) { + error("Error: could not find lesson pages"); + } + if (!$users = lesson_get_participants($lesson->id)) { + error("Error: could not find users"); + } + + echo "
"; - foreach ($essays as $essay) { - $studentname = $users[$essay->userid]->lastname.", ".$users[$essay->userid]->firstname; - $essay->studentname = $studentname; - $temp[$studentname][] = $essay; - } - ksort($temp); + foreach ($essays as $essay) { + $studentname = $users[$essay->userid]->lastname.", ".$users[$essay->userid]->firstname; + $essay->studentname = $studentname; + $temp[$studentname][] = $essay; + } + ksort($temp); - echo ""; - echo "cellheading2\">"; - foreach ($temp as $student) { - echo ""; - } - echo ""; - echo "
$course->students".get_string("essays", "lesson")."".get_string("email", "lesson")."
".$student[0]->studentname.""; - $end = end($student); - foreach ($student as $essay) { - if (!$essay->graded) { - $style = "style='color:#DF041E;text-decoration:underline;'"; - } elseif (!$essay->sent) { - $style = "style='color:#006600;text-decoration:underline;'"; - } else { - $style = "style='color:#999999;'"; - } - $output = "id&action=essaygrade&essayid=$essay->id\">".$pages[$essay->pageid]->title.""; - if ($essay->id != $end->id) { - $output .= ", "; - } - echo $output; - } - echo "id&action=emailessay&userid=".$essay->userid."\">".get_string("emailgradedessays", "lesson")."
id&action=emailessay\">".get_string("emailallgradedessays", "lesson")."
"; + echo ""; + echo "cellheading2\">"; + foreach ($temp as $student) { + echo ""; + } + echo ""; + echo "
$course->students".get_string("essays", "lesson")."".get_string("email", "lesson")."
".$student[0]->studentname.""; + $end = end($student); + foreach ($student as $essay) { + if (!$essay->graded) { + $style = "style='color:#DF041E;text-decoration:underline;'"; + } elseif (!$essay->sent) { + $style = "style='color:#006600;text-decoration:underline;'"; + } else { + $style = "style='color:#999999;'"; + } + $output = "id&action=essaygrade&essayid=$essay->id\">".$pages[$essay->pageid]->title.""; + if ($essay->id != $end->id) { + $output .= ", "; + } + echo $output; + } + echo "id&action=emailessay&userid=".$essay->userid."\">".get_string("emailgradedessays", "lesson")."
id&action=emailessay\">".get_string("emailallgradedessays", "lesson")."
"; - } - - /*******************grade essays **************************************/ // 6/29/04 + } + + /*******************grade essays **************************************/ // 6/29/04 elseif ($action == 'essaygrade') { - print_heading_with_help($lesson->name, "overview", "lesson"); - if (!$essays = get_records_select("lesson_essay", "lessonid = $lesson->id", "timesubmitted")) { - error("Error: could not find essays"); - } - if (!$pages = get_records_select("lesson_pages", "lessonid = $lesson->id")) { - error("Error: could not find lesson pages"); - } - if (!$users = lesson_get_participants($lesson->id)) { - error("Error: could not find users"); - } - if (!$answers = get_records_select("lesson_answers", "lessonid = $lesson->id")) { - error("Error: could not find essays"); - } + print_heading_with_help($lesson->name, "overview", "lesson"); + if (!$essays = get_records_select("lesson_essay", "lessonid = $lesson->id", "timesubmitted")) { + error("Error: could not find essays"); + } + if (!$pages = get_records_select("lesson_pages", "lessonid = $lesson->id")) { + error("Error: could not find lesson pages"); + } + if (!$users = lesson_get_participants($lesson->id)) { + error("Error: could not find users"); + } + if (!$answers = get_records_select("lesson_answers", "lessonid = $lesson->id")) { + error("Error: could not find essays"); + } - $essayid = $_GET['essayid']; + $essayid = $_GET['essayid']; - echo "
\n"; - echo "id\">\n"; - echo "\n"; - echo "\n"; - echo "userid."\">\n"; - - $style = "style=\"padding-left:40px;\""; - - - echo ""; - echo ""; + echo "\n"; + echo "id\">\n"; + echo "\n"; + echo "\n"; + echo "userid."\">\n"; + + $style = "style=\"padding-left:40px;\""; + + + echo "
".get_string("question", "lesson").":
"; - print_simple_box_start("left"); - echo $pages[$essays[$essayid]->pageid]->contents; - print_simple_box_end(); - echo "
"; + echo ""; - $studentname = $users[$essays[$essayid]->userid]->firstname." ".$users[$essays[$essayid]->userid]->lastname; - echo ""; - echo ""; - echo ""; - - echo ""; - echo "
".get_string("question", "lesson").":
"; + print_simple_box_start("left"); + echo $pages[$essays[$essayid]->pageid]->contents; + print_simple_box_end(); + echo "
".get_string("studentresponse", "lesson", $studentname).":
"; - print_simple_box_start("left"); - echo $essays[$essayid]->answer; - print_simple_box_end(); - echo "
".get_string("comments", "lesson").":
"; - echo "\n"; - echo "
".get_string("essayscore", "lesson").":
"; - if ($lesson->custom) { - for ($i=$answers[$essays[$essayid]->answerid]->score; $i>=0; $i--) { - $grades[$i] = $i; - } - lesson_choose_from_menu($grades, "score", $essays[$essayid]->score, ""); - } else { - $options[0] = "incorrect"; $options[1] = "correct"; - lesson_choose_from_menu($options, "score", $essays[$essayid]->score, ""); - } - echo "
"; - - echo "
"; - echo ""; - echo ""; - echo ""; - echo "
"; - echo "
"; - } + $studentname = $users[$essays[$essayid]->userid]->firstname." ".$users[$essays[$essayid]->userid]->lastname; + echo "
".get_string("studentresponse", "lesson", $studentname).":
"; + print_simple_box_start("left"); + echo $essays[$essayid]->answer; + print_simple_box_end(); + echo "
".get_string("comments", "lesson").":
"; + echo "\n"; + echo "
".get_string("essayscore", "lesson").":
"; + if ($lesson->custom) { + for ($i=$answers[$essays[$essayid]->answerid]->score; $i>=0; $i--) { + $grades[$i] = $i; + } + lesson_choose_from_menu($grades, "score", $essays[$essayid]->score, ""); + } else { + $options[0] = "incorrect"; $options[1] = "correct"; + lesson_choose_from_menu($options, "score", $essays[$essayid]->score, ""); + } + echo "
"; + + echo "
"; + echo ""; + echo ""; + echo ""; + echo "
"; + echo ""; + } - /*******************update grade**************************************/ // 6/29/04 + /*******************update grade**************************************/ // 6/29/04 elseif ($action == 'updategrade') { - print_heading_with_help($lesson->name, "overview", "lesson"); - - $userid = $_POST['userid']; - - if (!$essays = get_records_select("lesson_essay", "lessonid = $lesson->id", "timesubmitted")) { - error("Error: could not find essays"); - } - if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id and userid= $userid", "completed")) { - error("Error: could not find grades"); - } + print_heading_with_help($lesson->name, "overview", "lesson"); + + $userid = $_POST['userid']; + + if (!$essays = get_records_select("lesson_essay", "lessonid = $lesson->id", "timesubmitted")) { + error("Error: could not find essays"); + } + if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id and userid= $userid", "completed")) { + error("Error: could not find grades"); + } - echo "
"; - echo "Please wait while updating...
"; + echo "
"; + echo "Please wait while updating...
"; - $form = data_submitted(); - - $update->id = $form->essayid; - $update->graded = true; - $update->score = $form->score; - $update->response = $form->response; - $update->sent = false; - - for ($i = 0; $i < $essays[$form->essayid]->try; $i++) { - next($grades); - } - $grade = current($grades); - // if teacher goes back and changes score, then need to take the old score off - $resetgrade = $grade->grade - ($essays[$form->essayid]->score / $lesson->grade * 100); - // now add the new score - $newgrade = ($form->score / $lesson->grade * 100) + $resetgrade; - if ($newgrade > 100) { - $newgrade = 100; - } elseif ($newgrade < 0) { - $newgrade = 0; - } - $updategrade->id = $grade->id; - $updategrade->grade = $newgrade; + $form = data_submitted(); + + $update->id = $form->essayid; + $update->graded = true; + $update->score = $form->score; + $update->response = $form->response; + $update->sent = false; + + for ($i = 0; $i < $essays[$form->essayid]->try; $i++) { + next($grades); + } + $grade = current($grades); + // if teacher goes back and changes score, then need to take the old score off + $resetgrade = $grade->grade - ($essays[$form->essayid]->score / $lesson->grade * 100); + // now add the new score + $newgrade = ($form->score / $lesson->grade * 100) + $resetgrade; + if ($newgrade > 100) { + $newgrade = 100; + } elseif ($newgrade < 0) { + $newgrade = 0; + } + $updategrade->id = $grade->id; + $updategrade->grade = $newgrade; - if(update_record("lesson_essay", $update) && update_record("lesson_grades", $updategrade)) { - redirect("view.php?id=$cm->id&action=essayview", get_string("updatesuccess", "lesson")); - } else { - echo get_string("updatefailed", "lesson")."!
"; - echo "id&action=essayview\">".get_string("continue", "lesson").""; - exit(); - } - echo "
"; - } + if(update_record("lesson_essay", $update) && update_record("lesson_grades", $updategrade)) { + redirect("view.php?id=$cm->id&action=essayview", get_string("updatesuccess", "lesson")); + } else { + echo get_string("updatefailed", "lesson")."!
"; + echo "id&action=essayview\">".get_string("continue", "lesson").""; + exit(); + } + echo "
"; + } - /*******************email essay **************************************/ // 6/29/04 + /*******************email essay **************************************/ // 6/29/04 elseif ($action == 'emailessay') { - print_heading_with_help($lesson->name, "overview", "lesson"); - - echo "
"; - echo "Please wait while emailing...
"; + print_heading_with_help($lesson->name, "overview", "lesson"); + + echo "
"; + echo "Please wait while emailing...
"; - if (isset($_GET['userid'])) { - $queryadd = "and userid = ".$_GET['userid']; - } else { - $queryadd = ""; - } + if (isset($_GET['userid'])) { + $queryadd = "and userid = ".$_GET['userid']; + } else { + $queryadd = ""; + } - if (!$essays = get_records_select("lesson_essay", "lessonid = $lesson->id $queryadd", "timesubmitted")) { - error("Error: could not find essays"); - } - if (!$pages = get_records_select("lesson_pages", "lessonid = $lesson->id")) { - error("Error: could not find lesson pages"); - } - if (!$users = lesson_get_participants($lesson->id)) { - error("Error: could not find users"); - } - if (!$answers = get_records_select("lesson_answers", "lessonid = $lesson->id")) { - error("Error: could not find essays"); - } - // NoticeFix big fix, change $essay[]'s that use $USER to just $USER - foreach ($essays as $essay) { - if ($essay->graded && !$essay->sent) { - $subject = "Your grade for ".$pages[$essay->pageid]->title." question"; - $message = "Question:
\r\n"; - $message .= $pages[$essay->pageid]->contents; - $message .= "

\r\n\r\n"; - $message .= "Your response:
\r\n"; - $message .= $essay->answer; - $message .= "

\r\n\r\n"; - $message .= $USER->firstname." ".$USER->lastname."'s comments:
\r\n"; - $message .= $essay->response; - $message .= "

\r\n\r\n"; - $grades = get_records_select("lesson_grades", "lessonid = $lesson->id and userid = $essay->userid", "completed"); - for ($i = 0; $i < $essay->try; $i++) { - next($grades); - } - $grade = current($grades); - reset($grades); - if ($lesson->custom) { - $message .= "You have received $essay->score points out of $lesson->grade".".
\r\n"; - $message .= "Your grade for the lesson has been changed to $grade->grade"."%.\r\n"; - } else { - // cannot think of a way to update if not custom... - } - if(email_to_user($users[$essay->userid], $USER, $subject, $message, $message)) { - $updateessay->id = $essay->id; - $updateessay->sent = true; - update_record("lesson_essay", $updateessay); - } else { - echo "Email Failed!
"; - echo "id&action=essayview\">".get_string("continue", "lesson").""; - echo "
"; - exit(); - } - } - } - redirect("view.php?id=$cm->id&action=essayview", get_string("emailsuccess", "lesson")); - } + if (!$essays = get_records_select("lesson_essay", "lessonid = $lesson->id $queryadd", "timesubmitted")) { + error("Error: could not find essays"); + } + if (!$pages = get_records_select("lesson_pages", "lessonid = $lesson->id")) { + error("Error: could not find lesson pages"); + } + if (!$users = lesson_get_participants($lesson->id)) { + error("Error: could not find users"); + } + if (!$answers = get_records_select("lesson_answers", "lessonid = $lesson->id")) { + error("Error: could not find essays"); + } + // NoticeFix big fix, change $essay[]'s that use $USER to just $USER + foreach ($essays as $essay) { + if ($essay->graded && !$essay->sent) { + $subject = "Your grade for ".$pages[$essay->pageid]->title." question"; + $message = "Question:
\r\n"; + $message .= $pages[$essay->pageid]->contents; + $message .= "

\r\n\r\n"; + $message .= "Your response:
\r\n"; + $message .= $essay->answer; + $message .= "

\r\n\r\n"; + $message .= $USER->firstname." ".$USER->lastname."'s comments:
\r\n"; + $message .= $essay->response; + $message .= "

\r\n\r\n"; + $grades = get_records_select("lesson_grades", "lessonid = $lesson->id and userid = $essay->userid", "completed"); + for ($i = 0; $i < $essay->try; $i++) { + next($grades); + } + $grade = current($grades); + reset($grades); + if ($lesson->custom) { + $message .= "You have received $essay->score points out of $lesson->grade".".
\r\n"; + $message .= "Your grade for the lesson has been changed to $grade->grade"."%.\r\n"; + } else { + // cannot think of a way to update if not custom... + } + if(email_to_user($users[$essay->userid], $USER, $subject, $message, $message)) { + $updateessay->id = $essay->id; + $updateessay->sent = true; + update_record("lesson_essay", $updateessay); + } else { + echo "Email Failed!
"; + echo "id&action=essayview\">".get_string("continue", "lesson").""; + echo "
"; + exit(); + } + } + } + redirect("view.php?id=$cm->id&action=essayview", get_string("emailsuccess", "lesson")); + } - /*******************high scores **************************************/ + /*******************high scores **************************************/ elseif ($action == 'highscores') { - print_heading_with_help($lesson->name, "overview", "lesson"); + print_heading_with_help($lesson->name, "overview", "lesson"); - if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id", "completed")) { - $grades = array(); - } - - echo "
"; - $titleinfo->maxhighscores = $lesson->maxhighscores; - $titleinfo->name = $lesson->name; - echo get_string("topscorestitle", "lesson", $titleinfo)."

"; + if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id", "completed")) { + $grades = array(); + } + + echo "
"; + $titleinfo->maxhighscores = $lesson->maxhighscores; + $titleinfo->name = $lesson->name; + echo get_string("topscorestitle", "lesson", $titleinfo)."

"; - if (!$highscores = get_records_select("lesson_high_scores", "lessonid = $lesson->id")) { - echo get_string("nohighscores", "lesson")."
"; - } else { - foreach ($highscores as $highscore) { - $grade = $grades[$highscore->gradeid]->grade; - $topscores[$grade][] = $highscore->nickname; - } - krsort($topscores); - - echo ""; - echo "cellheading2\">"; - $printed = 0; - while (true) { - $temp = current($topscores); - $score = key($topscores); - $rank = $printed + 1; - sort($temp); - foreach ($temp as $student) { - echo ""; - - } - $printed++; - if (!next($topscores) || !($printed < $lesson->maxhighscores)) { - break; - } - } - echo "
".get_string("rank", "lesson")."$course->students".get_string("scores", "lesson")."
$rank$student$score
"; - } - if (isset($_GET['link'])) { - echo "
id\">".get_string("returntocourse", "lesson").""; - } else { - echo "
id\">".get_string("cancel", "lesson")." | id&action=navigation\">".get_string("startlesson", "lesson").""; - } - echo "
"; - - } - /*******************update high scores **************************************/ + if (!$highscores = get_records_select("lesson_high_scores", "lessonid = $lesson->id")) { + echo get_string("nohighscores", "lesson")."
"; + } else { + foreach ($highscores as $highscore) { + $grade = $grades[$highscore->gradeid]->grade; + $topscores[$grade][] = $highscore->nickname; + } + krsort($topscores); + + echo ""; + echo "cellheading2\">"; + $printed = 0; + while (true) { + $temp = current($topscores); + $score = key($topscores); + $rank = $printed + 1; + sort($temp); + foreach ($temp as $student) { + echo ""; + + } + $printed++; + if (!next($topscores) || !($printed < $lesson->maxhighscores)) { + break; + } + } + echo "
".get_string("rank", "lesson")."$course->students".get_string("scores", "lesson")."
$rank$student$score
"; + } + if (isset($_GET['link'])) { + echo "
id\">".get_string("returntocourse", "lesson").""; + } else { + echo "
id\">".get_string("cancel", "lesson")." | id&action=navigation\">".get_string("startlesson", "lesson").""; + } + echo "
"; + + } + /*******************update high scores **************************************/ elseif ($action == 'updatehighscores') { - print_heading_with_help($lesson->name, "overview", "lesson"); + print_heading_with_help($lesson->name, "overview", "lesson"); - if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id", "completed")) { - error("Error: could not find grades"); - } - if (!$usergrades = get_records_select("lesson_grades", "lessonid = $lesson->id and userid = $USER->id", "completed DESC")) { - error("Error: could not find grades"); - } - echo "
"; - echo get_string("waitpostscore", "lesson")."
"; - - foreach ($usergrades as $usergrade) { - // get their latest grade - $newgrade = $usergrade; - break; - } - - if ($pasthighscore = get_record_select("lesson_high_scores", "lessonid = $lesson->id and userid = $USER->id")) { - $pastgrade = $grades[$pasthighscore->gradeid]->grade; - if ($pastgrade >= $newgrade->grade) { - redirect("view.php?id=$cm->id&action=highscores&link=1", "Update Successful"); - } else { - // delete old and find out where new one goes - if (!delete_records("lesson_high_scores", "id", $pasthighscore->id)) { - error("Error: could not delete old high score"); - } - } - } - // find out if we need to delete any records - if ($highscores = get_records_select("lesson_high_scores", "lessonid = $lesson->id")) { // if no high scores... then just insert our new one - foreach ($highscores as $highscore) { - $grade = $grades[$highscore->gradeid]->grade; - $topscores[$grade][] = $highscore->userid; - } - if (!(count($topscores) < $lesson->maxhighscores)) { // if the top scores list is not full then dont need to worry about removing old scores - $scores = array_keys($topscores); - $flag = true; - // see if the new score is already listed in the top scores list - // if it is listed, then dont need to delete any records - foreach ($scores as $score) { - if ($score = $newgrade->grade) { - $flag = false; - } - } - if ($flag) { // if the score does not exist in the top scores list, then the lowest scores get thrown out. - ksort($topscores); // sort so the lowest score is first element - $lowscore = current($topscores); - // making a delete statement to delete all users with the lowest score - $deletestmt = "lessonid = $lesson-> id and userid = "; - $deletestmt .= current($lowscore); - while (next($lowscore)) { - $deletestmt .= " or userid = ".current($lowscore); - } - if (!delete_records_select("lesson_high_scores", $deletestmt)) { - /// not a big deal... - error("Did not delete extra high score(s)"); - } - } - } - } - - $newhighscore->lessonid = $lesson->id; - $newhighscore->userid = $USER->id; - $newhighscore->gradeid = $newgrade->id; - if (isset($_GET['name'])) { - $newhighscore->nickname = $_GET['name']; - } - if (!insert_record("lesson_high_scores", $newhighscore)) { - error("Insert of new high score Failed!"); - } - - redirect("view.php?id=$cm->id&action=highscores&link=1", get_string("postsuccess", "lesson")); - echo "
"; - } - /*******************name for highscores **************************************/ + if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id", "completed")) { + error("Error: could not find grades"); + } + if (!$usergrades = get_records_select("lesson_grades", "lessonid = $lesson->id and userid = $USER->id", "completed DESC")) { + error("Error: could not find grades"); + } + echo "
"; + echo get_string("waitpostscore", "lesson")."
"; + + foreach ($usergrades as $usergrade) { + // get their latest grade + $newgrade = $usergrade; + break; + } + + if ($pasthighscore = get_record_select("lesson_high_scores", "lessonid = $lesson->id and userid = $USER->id")) { + $pastgrade = $grades[$pasthighscore->gradeid]->grade; + if ($pastgrade >= $newgrade->grade) { + redirect("view.php?id=$cm->id&action=highscores&link=1", "Update Successful"); + } else { + // delete old and find out where new one goes + if (!delete_records("lesson_high_scores", "id", $pasthighscore->id)) { + error("Error: could not delete old high score"); + } + } + } + // find out if we need to delete any records + if ($highscores = get_records_select("lesson_high_scores", "lessonid = $lesson->id")) { // if no high scores... then just insert our new one + foreach ($highscores as $highscore) { + $grade = $grades[$highscore->gradeid]->grade; + $topscores[$grade][] = $highscore->userid; + } + if (!(count($topscores) < $lesson->maxhighscores)) { // if the top scores list is not full then dont need to worry about removing old scores + $scores = array_keys($topscores); + $flag = true; + // see if the new score is already listed in the top scores list + // if it is listed, then dont need to delete any records + foreach ($scores as $score) { + if ($score = $newgrade->grade) { + $flag = false; + } + } + if ($flag) { // if the score does not exist in the top scores list, then the lowest scores get thrown out. + ksort($topscores); // sort so the lowest score is first element + $lowscore = current($topscores); + // making a delete statement to delete all users with the lowest score + $deletestmt = 'lessonid = '. $lesson->id .' and userid = '; + $deletestmt .= current($lowscore); + while (next($lowscore)) { + $deletestmt .= " or userid = ".current($lowscore); + } + if (!delete_records_select('lesson_high_scores', $deletestmt)) { + /// not a big deal... + error('Did not delete extra high score(s)'); + } + } + } + } + + $newhighscore->lessonid = $lesson->id; + $newhighscore->userid = $USER->id; + $newhighscore->gradeid = $newgrade->id; + if (isset($_GET['name'])) { + $newhighscore->nickname = $_GET['name']; + } + if (!insert_record("lesson_high_scores", $newhighscore)) { + error("Insert of new high score Failed!"); + } + + redirect("view.php?id=$cm->id&action=highscores&link=1", get_string("postsuccess", "lesson")); + echo "
"; + } + /*******************name for highscores **************************************/ elseif ($action == 'nameforhighscores') { - print_heading_with_help($lesson->name, "overview", "lesson"); - echo "
"; - if (isset($_POST['name'])) { - if (lesson_check_nickname(trim($_POST['name']))) { - redirect("view.php?id=$cm->id&action=updatehighscores&name=".trim($_POST['name']), get_string("nameapproved", "lesson")); - } else { - echo get_string("namereject", "lesson")."

"; - } - } - - echo "
"; - echo "id\">"; - echo ""; - - echo get_string("entername", "lesson").":
"; - echo ""; - echo "
"; - echo "
"; - } + print_heading_with_help($lesson->name, "overview", "lesson"); + echo "
"; + if (isset($_POST['name'])) { + if (lesson_check_nickname(trim($_POST['name']))) { + redirect("view.php?id=$cm->id&action=updatehighscores&name=".trim($_POST['name']), get_string("nameapproved", "lesson")); + } else { + echo get_string("namereject", "lesson")."

"; + } + } + + echo "
"; + echo "id\">"; + echo ""; + + echo get_string("entername", "lesson").":
"; + echo ""; + echo "
"; + echo "
"; + } /*************** no man's land **************************************/ - else { - error("Fatal Error: Unknown Action: ".$action."\n"); - } + else { + error("Fatal Error: Unknown Action: ".$action."\n"); + } /// Finish the page print_footer($course); -- 2.39.5