$jump[LESSON_PREVIOUSPAGE] = get_string("previouspage", "lesson");
$jump[LESSON_EOL] = get_string("endoflesson", "lesson");
if (!optional_param('firstpage', 0, PARAM_INT)) {
- if (!$apageid = get_field("lesson_pages", "id", "lessonid", $lesson->id, "prevpageid", 0)) {
+ if (!$apageid = $DB->get_field("lesson_pages", "id", array("lessonid" => $lesson->id, "prevpageid" => 0))) {
print_error("Add page: first page not found");
}
while (true) {
if ($apageid) {
- $title = get_field("lesson_pages", "title", "id", $apageid);
+ $title = $DB->get_field("lesson_pages", "title", array("id" => $apageid));
$jump[$apageid] = $title;
- $apageid = get_field("lesson_pages", "nextpageid", "id", $apageid);
+ $apageid = $DB->get_field("lesson_pages", "nextpageid", array("id" => $apageid));
} else {
// last page reached
break;
$timenow = time();
if ($pageid == 0) {
- if (!$page = get_record("lesson_pages", "prevpageid", 0, "lessonid", $lesson->id)) {
+ if (!$page = $DB->get_record("lesson_pages", array("prevpageid" => 0, "lessonid" => $lesson->id))) {
print_error("Error: Add cluster: page record not found");
}
} else {
- if (!$page = get_record("lesson_pages", "id", $pageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $pageid))) {
print_error("Error: Add cluster: page record not found");
}
}
$newpage->timecreated = $timenow;
$newpage->title = get_string("clustertitle", "lesson");
$newpage->contents = get_string("clustertitle", "lesson");
- if (!$newpageid = insert_record("lesson_pages", $newpage)) {
+ if (!$newpageid = $DB->insert_record("lesson_pages", $newpage)) {
print_error("Insert page: new page not inserted");
}
// update the linked list...
if ($pageid != 0) {
- if (!set_field("lesson_pages", "nextpageid", $newpageid, "id", $pageid)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $newpageid, array("id" => $pageid))) {
print_error("Add cluster: unable to update link");
}
}
}
if ($page->nextpageid) {
// the new page is not the last page
- if (!set_field("lesson_pages", "prevpageid", $newpageid, "id", $page->nextpageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $newpageid, array("id" => $page->nextpageid))) {
print_error("Insert page: unable to update previous link");
}
}
$newanswer->pageid = $newpageid;
$newanswer->timecreated = $timenow;
$newanswer->jumpto = LESSON_CLUSTERJUMP;
- if(!$newanswerid = insert_record("lesson_answers", $newanswer)) {
+ if(!$newanswerid = $DB->insert_record("lesson_answers", $newanswer)) {
print_error("Add cluster: answer record not inserted");
}
lesson_set_message(get_string('addedcluster', 'lesson'), 'notifysuccess');
$timenow = time();
// the new page is not the first page (end of branch always comes after an existing page)
- if (!$page = get_record("lesson_pages", "id", $pageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $pageid))) {
print_error("Add end of branch: page record not found");
}
// chain back up to find the (nearest branch table)
$btpageid = $pageid;
- if (!$btpage = get_record("lesson_pages", "id", $btpageid)) {
+ if (!$btpage = $DB->get_record("lesson_pages", array("id" => $btpageid))) {
print_error("Add end of branch: btpage record not found");
}
while (($btpage->qtype != LESSON_BRANCHTABLE) AND ($btpage->prevpageid > 0)) {
$btpageid = $btpage->prevpageid;
- if (!$btpage = get_record("lesson_pages", "id", $btpageid)) {
+ if (!$btpage = $DB->get_record("lesson_pages", array("id" => $btpageid))) {
print_error("Add end of branch: btpage record not found");
}
}
$newpage->timecreated = $timenow;
$newpage->title = get_string("endofbranch", "lesson");
$newpage->contents = get_string("endofbranch", "lesson");
- if (!$newpageid = insert_record("lesson_pages", $newpage)) {
+ if (!$newpageid = $DB->insert_record("lesson_pages", $newpage)) {
print_error("Insert page: new page not inserted");
}
// update the linked list...
- if (!set_field("lesson_pages", "nextpageid", $newpageid, "id", $pageid)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $newpageid, array("id" => $pageid))) {
print_error("Add end of branch: unable to update link");
}
if ($page->nextpageid) {
// the new page is not the last page
- if (!set_field("lesson_pages", "prevpageid", $newpageid, "id", $page->nextpageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $newpageid, array("id" => $page->nextpageid))) {
print_error("Insert page: unable to update previous link");
}
}
$newanswer->pageid = $newpageid;
$newanswer->timecreated = $timenow;
$newanswer->jumpto = $btpageid;
- if(!$newanswerid = insert_record("lesson_answers", $newanswer)) {
+ if(!$newanswerid = $DB->insert_record("lesson_answers", $newanswer)) {
print_error("Add end of branch: answer record not inserted");
}
$timenow = time();
// the new page is not the first page (end of cluster always comes after an existing page)
- if (!$page = get_record("lesson_pages", "id", $pageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $pageid))) {
print_error("Error: Could not find page");
}
$newpage->timecreated = $timenow;
$newpage->title = get_string("endofclustertitle", "lesson");
$newpage->contents = get_string("endofclustertitle", "lesson");
- if (!$newpageid = insert_record("lesson_pages", $newpage)) {
+ if (!$newpageid = $DB->insert_record("lesson_pages", $newpage)) {
print_error("Insert page: end of cluster page not inserted");
}
// update the linked list...
- if (!set_field("lesson_pages", "nextpageid", $newpageid, "id", $pageid)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $newpageid, array("id" => $pageid))) {
print_error("Add end of cluster: unable to update link");
}
if ($page->nextpageid) {
// the new page is not the last page
- if (!set_field("lesson_pages", "prevpageid", $newpageid, "id", $page->nextpageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $newpageid, array("id" => $page->nextpageid))) {
print_error("Insert end of cluster: unable to update previous link");
}
}
$newanswer->pageid = $newpageid;
$newanswer->timecreated = $timenow;
$newanswer->jumpto = LESSON_NEXTPAGE;
- if(!$newanswerid = insert_record("lesson_answers", $newanswer)) {
+ if(!$newanswerid = $DB->insert_record("lesson_answers", $newanswer)) {
print_error("Add end of cluster: answer record not inserted");
}
lesson_set_message(get_string('addedendofcluster', 'lesson'), 'notifysuccess');
}
if (!optional_param('firstpage', 0, PARAM_INT)) {
$linkadd = "";
- $apageid = get_field("lesson_pages", "id", "lessonid", $lesson->id, "prevpageid", 0);
+ $apageid = $DB->get_field("lesson_pages", "id", array("lessonid" => $lesson->id, "prevpageid" => 0));
while (true) {
if ($apageid) {
- $title = get_field("lesson_pages", "title", "id", $apageid);
+ $title = $DB->get_field("lesson_pages", "title", array("id" => $apageid));
$jump[$apageid] = strip_tags(format_string($title,true));
- $apageid = get_field("lesson_pages", "nextpageid", "id", $apageid);
+ $apageid = $DB->get_field("lesson_pages", "nextpageid", array("id" => $apageid));
} else {
// last page reached
break;
confirm_sesskey();
$pageid = required_param('pageid', PARAM_INT);
- if (!$thispage = get_record("lesson_pages", "id", $pageid)) {
+ if (!$thispage = $DB->get_record("lesson_pages", array ("id" => $pageid))) {
print_error("Confirm delete: the page record not found");
}
print_heading(get_string("deletingpage", "lesson", format_string($thispage->title)));
// print the jumps to this page
- if ($answers = get_records_select("lesson_answers", "lessonid = $lesson->id AND jumpto = $pageid + 1")) {
+ $params = array("lessonid" => $lesson->id, "pageid" => $pageid);
+ if ($answers = $DB->get_records_select("lesson_answers", "lessonid = :lessonid AND jumpto = :pageid + 1", $params)) {
print_heading(get_string("thefollowingpagesjumptothispage", "lesson"));
echo "<p align=\"center\">\n";
foreach ($answers as $answer) {
- if (!$title = get_field("lesson_pages", "title", "id", $answer->pageid)) {
+ if (!$title = $DB->get_field("lesson_pages", "title", array("id" => $answer->pageid))) {
print_error("Confirm delete: page title not found");
}
echo $title."<br />\n";
// get time information for this user
$timer = new stdClass;
if (!has_capability('mod/lesson:manage', $context)) {
- if (!$timer = get_records_select('lesson_timer', "lessonid = $lesson->id AND userid = $USER->id", 'starttime')) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id);
+ if (!$timer = $DB->get_records_select('lesson_timer', "lessonid = :lessonid AND userid = :userid", $params, 'starttime')) {
print_error('Error: could not find records');
} else {
$timer = array_pop($timer); // this will get the latest start time record
}
$timer->lessontime = time();
- if (!update_record("lesson_timer", $timer)) {
+ if (!$DB->update_record("lesson_timer", $timer)) {
print_error("Error: could not update lesson_timer table");
}
}
// record answer (if necessary) and show response (if none say if answer is correct or not)
$pageid = required_param('pageid', PARAM_INT);
- if (!$page = get_record("lesson_pages", "id", $pageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $pageid))) {
print_error("Continue: Page record not found");
}
// set up some defaults
}
$useranswer = clean_param($useranswer, PARAM_RAW);
- if (!$answers = get_records("lesson_answers", "pageid", $pageid, "id")) {
+ if (!$answers = $DB->get_records("lesson_answers", array("pageid" => $pageid), "id")) {
print_error("Continue: No answers found");
}
$correctanswer = false;
}
$useranswer = s(stripslashes(clean_param($useranswer, PARAM_RAW)));
$userresponse = addslashes($useranswer);
- if (!$answers = get_records("lesson_answers", "pageid", $pageid, "id")) {
+ if (!$answers = $DB->get_records("lesson_answers", array("pageid" => $pageid), "id")) {
print_error("Continue: No answers found");
}
$i=0;
break;
}
$answerid = required_param('answerid', PARAM_INT);
- if (!$answer = get_record("lesson_answers", "id", $answerid)) {
+ if (!$answer = $DB->get_record("lesson_answers", array("id" => $answerid))) {
print_error("Continue: answer record not found");
}
if (lesson_iscorrect($pageid, $answer->jumpto)) {
// get what the user answered
$userresponse = implode(",", $useranswers);
// get the answers in a set order, the id order
- if (!$answers = get_records("lesson_answers", "pageid", $pageid, "id")) {
+ if (!$answers = $DB->get_records("lesson_answers", array("pageid" => $pageid), "id")) {
print_error("Continue: No answers found");
}
$ncorrect = 0;
break;
}
$answerid = required_param('answerid', PARAM_INT);
- if (!$answer = get_record("lesson_answers", "id", $answerid)) {
+ if (!$answer = $DB->get_record("lesson_answers", array("id" => $answerid))) {
print_error("Continue: answer record not found");
}
if (lesson_iscorrect($pageid, $answer->jumpto)) {
break;
}
- if (!$answers = get_records("lesson_answers", "pageid", $pageid, "id")) {
+ if (!$answers = $DB->get_records("lesson_answers", array("pageid" => $pageid), "id")) {
print_error("Continue: No answers found");
}
break;
}
$studentanswer = $userresponse = $useranswer;
- if (!$answers = get_records("lesson_answers", "pageid", $pageid, "id")) {
+ if (!$answers = $DB->get_records("lesson_answers", array("pageid" => $pageid), "id")) {
print_error("Continue: No answers found");
}
foreach ($answers as $answer) {
} else {
$branchflag = 0;
}
- if ($grades = get_records_select("lesson_grades", "lessonid = $lesson->id AND userid = $USER->id",
- "grade DESC")) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id);
+ if ($grades = $DB->get_records_select("lesson_grades", "lessonid = :lessonid AND userid = :userid",
+ $params, "grade DESC")) {
$retries = count($grades);
} else {
$retries = 0;
$branch->flag = $branchflag;
$branch->timeseen = time();
- if (!insert_record("lesson_branch", $branch)) {
+ if (!$DB->insert_record("lesson_branch", $branch)) {
print_error("Error: could not insert row into lesson_branch table");
}
if (isset($USER->modattempts[$lesson->id])) {
$attempt->retry = $nretakes - 1; // they are going through on review, $nretakes will be too high
}
- if (!$newattemptid = insert_record("lesson_attempts", $attempt)) {
+ if (!$newattemptid = $DB->insert_record("lesson_attempts", $attempt)) {
print_error("Continue: attempt not inserted");
}
// "number of attempts remaining" message if $lesson->maxattempts > 1
if ($lesson->nextpagedefault) {
// in Flash Card mode...
// ... first get the page ids (lessonid the 5th param is needed to make get_records play)
- $allpages = get_records("lesson_pages", "lessonid", $lesson->id, "id", "id,lessonid,qtype");
+ $allpages = $DB->get_records("lesson_pages", array("lessonid" => $lesson->id), "id", "id,lessonid,qtype");
shuffle ($allpages);
$found = false;
if ($lesson->nextpagedefault == LESSON_UNSEENPAGE) {
if ($response) {
//optionally display question page title
- //if ($title = get_field("lesson_pages", "title", "id", $pageid)) {
+ //if ($title = $DB->get_field("lesson_pages", "title", array("id" => $pageid))) {
// print_heading($title);
//}
if ($lesson->review and !$correctanswer and !$isessayquestion) {
$newpageid = LESSON_EOL;
} else {
$nretakes--; // make sure we are looking at the right try.
- $attempts = get_records_select("lesson_attempts", "lessonid = $lesson->id AND userid = $USER->id AND retry = $nretakes", "timeseen", "id, pageid");
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id, "retry" => $nretakes);
+ $attempts = $DB->get_records_select("lesson_attempts", "lessonid = :lessonid AND userid = :userid AND retry = :retry", $params, "timeseen", "id, pageid");
$found = false;
$temppageid = 0;
foreach($attempts as $attempt) {
}
}
} elseif ($newpageid != LESSON_CLUSTERJUMP && $pageid != 0 && $newpageid > 0) { // going to check to see if the page that the user is going to view next, is a cluster page. If so, dont display, go into the cluster. The $newpageid > 0 is used to filter out all of the negative code jumps.
- if (!$page = get_record("lesson_pages", "id", $newpageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $newpageid))) {
print_error("Error: could not find page");
}
if ($page->qtype == LESSON_CLUSTER) {
$newpageid = lesson_cluster_jump($lesson->id, $USER->id, $page->id);
} elseif ($page->qtype == LESSON_ENDOFCLUSTER) {
- $jump = get_field("lesson_answers", "jumpto", "pageid", $page->id, "lessonid", $lesson->id);
+ $jump = $DB->get_field("lesson_answers", "jumpto", array("pageid" => $page->id, "lessonid" => $lesson->id));
if ($jump == LESSON_NEXTPAGE) {
if ($page->nextpageid == 0) {
$newpageid = LESSON_EOL;
confirm_sesskey();
$pageid = required_param('pageid', PARAM_INT);
- if (!$thispage = get_record("lesson_pages", "id", $pageid)) {
+ if (!$thispage = $DB->get_record("lesson_pages", array("id" => $pageid))) {
print_error("Delete: page record not found");
}
// first delete all the associated records...
- delete_records("lesson_attempts", "pageid", $pageid);
+ $DB->delete_records("lesson_attempts", array("pageid" => $pageid));
// ...now delete the answers...
- delete_records("lesson_answers", "pageid", $pageid);
+ $DB->delete_records("lesson_answers", array("pageid" => $pageid));
// ..and the page itself
- delete_records("lesson_pages", "id", $pageid);
+ $DB->delete_records("lesson_pages", array("id" => $pageid));
// repair the hole in the linkage
if (!$thispage->prevpageid) {
// this is the first page...
- if (!$page = get_record("lesson_pages", "id", $thispage->nextpageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $thispage->nextpageid))) {
print_error("Delete: next page not found");
}
- if (!set_field("lesson_pages", "prevpageid", 0, "id", $page->id)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", 0, array("id" => $page->id))) {
print_error("Delete: unable to set prevpage link");
}
} elseif (!$thispage->nextpageid) {
// this is the last page...
- if (!$page = get_record("lesson_pages", "id", $thispage->prevpageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $thispage->prevpageid))) {
print_error("Delete: prev page not found");
}
- if (!set_field("lesson_pages", "nextpageid", 0, "id", $page->id)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", 0, array("id" => $page->id))) {
print_error("Delete: unable to set nextpage link");
}
} else {
// page is in the middle...
- if (!$prevpage = get_record("lesson_pages", "id", $thispage->prevpageid)) {
+ if (!$prevpage = $DB->get_record("lesson_pages", array("id" => $thispage->prevpageid))) {
print_error("Delete: prev page not found");
}
- if (!$nextpage = get_record("lesson_pages", "id", $thispage->nextpageid)) {
+ if (!$nextpage = $DB->get_record("lesson_pages", array("id" => $thispage->nextpageid))) {
print_error("Delete: next page not found");
}
- if (!set_field("lesson_pages", "nextpageid", $nextpage->id, "id", $prevpage->id)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $nextpage->id, array("id" => $prevpage->id))) {
print_error("Delete: unable to set next link");
}
- if (!set_field("lesson_pages", "prevpageid", $prevpage->id, "id", $nextpage->id)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $prevpage->id, array("id" => $nextpage->id))) {
print_error("Delete: unable to set prev link");
}
}
$pageid = required_param('pageid', PARAM_INT);
$redirect = optional_param('redirect', '', PARAM_ALPHA);
- if (!$page = get_record("lesson_pages", "id", $pageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $pageid))) {
print_error("Edit page: page record not found");
}
$jump[LESSON_CLUSTERJUMP] = get_string("clusterjump", "lesson");
}
$jump[LESSON_EOL] = get_string("endoflesson", "lesson");
- if (!$apageid = get_field("lesson_pages", "id", "lessonid", $lesson->id, "prevpageid", 0)) {
+ if (!$apageid = $DB->get_field("lesson_pages", "id", array("lessonid" => $lesson->id, "prevpageid" => 0))) {
print_error("Edit page: first page not found");
}
while (true) {
if ($apageid) {
- if (!$apage = get_record("lesson_pages", "id", $apageid)) {
+ if (!$apage = $DB->get_record("lesson_pages", array("id" => $apageid))) {
print_error("Edit page: apage record not found");
}
// removed != LESSON_ENDOFBRANCH...
echo "</td></tr>\n";
// get the answers in a set order, the id order
- if ($answers = get_records("lesson_answers", "pageid", $page->id, "id")) {
+ if ($answers = $DB->get_records("lesson_answers", array("pageid" => $page->id), "id")) {
foreach ($answers as $answer) {
$flags = intval($answer->flags); // force into an integer
$nplus1 = $n + 1;
$newanswer = new stdClass;
if ($form->pageid) {
// the new page is not the first page
- if (!$page = get_record("lesson_pages", "id", $form->pageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $form->pageid))) {
print_error("Insert page: page record not found");
}
$newpage->lessonid = clean_param($lesson->id, PARAM_INT);
$newpage->title = clean_param($form->title, PARAM_CLEANHTML);
$newpage->contents = trim($form->contents);
$newpage->title = addslashes($newpage->title);
- $newpageid = insert_record("lesson_pages", $newpage);
+ $newpageid = $DB->insert_record("lesson_pages", $newpage);
if (!$newpageid) {
print_error("Insert page: new page not inserted");
}
// update the linked list (point the previous page to this new one)
- if (!set_field("lesson_pages", "nextpageid", $newpageid, "id", $newpage->prevpageid)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $newpageid, array("id" => $newpage->prevpageid))) {
print_error("Insert page: unable to update next link");
}
if ($page->nextpageid) {
// new page is not the last page
- if (!set_field("lesson_pages", "prevpageid", $newpageid, "id", $page->nextpageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $newpageid, array("id" => $page->nextpageid))) {
print_error("Insert page: unable to update previous link");
}
}
} else {
// new page is the first page
// get the existing (first) page (if any)
- if (!$page = get_record_select("lesson_pages", "lessonid = $lesson->id AND prevpageid = 0")) {
+ $params = array ("lessonid" => $lesson->id, "prevpageid" => 0);
+ if (!$page = $DB->get_record_select("lesson_pages", "lessonid = :lessonid AND prevpageid = :prevpageid", $params)) {
// there are no existing pages
$newpage->lessonid = $lesson->id;
$newpage->prevpageid = 0; // this is a first page
$newpage->title = clean_param($form->title, PARAM_CLEANHTML);
$newpage->contents = trim($form->contents);
$newpage->title = addslashes($newpage->title);
- $newpageid = insert_record("lesson_pages", $newpage);
+ $newpageid = $DB->insert_record("lesson_pages", $newpage);
if (!$newpageid) {
print_error("Insert page: new first page not inserted");
}
$newpage->title = clean_param($form->title, PARAM_CLEANHTML);
$newpage->contents = trim($form->contents);
$newpage->title = addslashes($newpage->title);
- $newpageid = insert_record("lesson_pages", $newpage);
+ $newpageid = $DB->insert_record("lesson_pages", $newpage);
if (!$newpageid) {
print_error("Insert page: first page not inserted");
}
// update the linked list
- if (!set_field("lesson_pages", "prevpageid", $newpageid, "id", $newpage->nextpageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $newpageid, array("id" => $newpage->nextpageid))) {
print_error("Insert page: unable to update link");
}
}
if (isset($form->score[0])) {
$newanswer->score = clean_param($form->score[0], PARAM_INT);
}
- $newanswerid = insert_record("lesson_answers", $newanswer);
+ $newanswerid = $DB->insert_record("lesson_answers", $newanswer);
if (!$newanswerid) {
print_error("Insert Page: answer record not inserted");
}
$newanswer->score = clean_param($form->score[$i], PARAM_INT);
}
}
- $newanswerid = insert_record("lesson_answers", $newanswer);
+ $newanswerid = $DB->insert_record("lesson_answers", $newanswer);
if (!$newanswerid) {
print_error("Insert Page: answer record $i not inserted");
}
$newanswer->lessonid = $lesson->id;
$newanswer->pageid = $newpageid;
$newanswer->timecreated = $timenow;
- $newanswerid = insert_record("lesson_answers", $newanswer);
+ $newanswerid = $DB->insert_record("lesson_answers", $newanswer);
if (!$newanswerid) {
print_error("Insert Page: answer record $i not inserted");
}
**/
$pageid = required_param('pageid', PARAM_INT);
- $title = get_field("lesson_pages", "title", "id", $pageid);
+ $title = $DB->get_field("lesson_pages", "title", array("id" => $pageid));
print_heading(get_string("moving", "lesson", format_string($title)));
- if (!$page = get_record_select("lesson_pages", "lessonid = $lesson->id AND prevpageid = 0")) {
+ $params = array ("lessonid" => $lesson->id, "prevpageid" => 0);
+ if (!$page = $DB->get_record_select("lesson_pages", "lessonid = :lessonid AND prevpageid = :prevpageid", $params)) {
print_error("Move: first page not found");
}
get_string("movepagehere", "lesson")."</small></a></td></tr>\n";
}
if ($page->nextpageid) {
- if (!$page = get_record("lesson_pages", "id", $page->nextpageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $page->nextpageid))) {
print_error("Teacher view: Next page not found!");
}
} else {
confirm_sesskey();
$pageid = required_param('pageid', PARAM_INT); // page to move
- if (!$page = get_record("lesson_pages", "id", $pageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $pageid))) {
print_error("Moveit: page not found");
}
$after = required_param('after', PARAM_INT); // target page
// reset $after so that is points to the last page
// (when the pages are in a ring this will in effect be the first page)
if ($page->nextpageid) {
- if (!$after = get_field("lesson_pages", "id", "lessonid", $lesson->id, "nextpageid", 0)) {
+ if (!$after = $DB->get_field("lesson_pages", "id", array("lessonid" => $lesson->id, "nextpageid" => 0))) {
print_error("Moveit: last page id not found");
}
} else {
$newfirstpageid = $page->nextpageid;
} else {
// the current first page remains the first page
- if (!$newfirstpageid = get_field("lesson_pages", "id", "lessonid", $lesson->id, "prevpageid", 0)) {
+ if (!$newfirstpageid = $DB->get_field("lesson_pages", "id", array("lessonid" => $lesson->id, "prevpageid" => 0))) {
print_error("Moveit: current first page id not found");
}
}
// the rest is all unconditional...
// second step. join pages into a ring
- if (!$firstpageid = get_field("lesson_pages", "id", "lessonid", $lesson->id, "prevpageid", 0)) {
+ if (!$firstpageid = $DB->get_field("lesson_pages", "id", array("lessonid" => $lesson->id, "prevpageid" => 0))) {
print_error("Moveit: firstpageid not found");
}
- if (!$lastpageid = get_field("lesson_pages", "id", "lessonid", $lesson->id, "nextpageid", 0)) {
+ if (!$lastpageid = $DB->get_field("lesson_pages", "id", array("lessonid" => $lesson->id, "nextpageid" => 0))) {
print_error("Moveit: lastpage not found");
}
- if (!set_field("lesson_pages", "prevpageid", $lastpageid, "id", $firstpageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $lastpageid, array("id" => $firstpageid))) {
print_error("Moveit: unable to update link");
}
- if (!set_field("lesson_pages", "nextpageid", $firstpageid, "id", $lastpageid)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $firstpageid, array("id" => $lastpageid))) {
print_error("Moveit: unable to update link");
}
// third step. remove the page to be moved
- if (!$prevpageid = get_field("lesson_pages", "prevpageid", "id", $pageid)) {
+ if (!$prevpageid = $DB->get_field("lesson_pages", "prevpageid", array("id" => $pageid))) {
print_error("Moveit: prevpageid not found");
}
- if (!$nextpageid = get_field("lesson_pages", "nextpageid", "id", $pageid)) {
+ if (!$nextpageid = $DB->get_field("lesson_pages", "nextpageid", array("id" => $pageid))) {
print_error("Moveit: nextpageid not found");
}
- if (!set_field("lesson_pages", "nextpageid", $nextpageid, "id", $prevpageid)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $nextpageid, array("id" => $prevpageid))) {
print_error("Moveit: unable to update link");
}
- if (!set_field("lesson_pages", "prevpageid", $prevpageid, "id", $nextpageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $prevpageid, array("id" => $nextpageid))) {
print_error("Moveit: unable to update link");
}
// fourth step. insert page to be moved in new place...
- if (!$nextpageid = get_field("lesson_pages", "nextpageid", "id", $after)) {
+ if (!$nextpageid = $DB->get_field("lesson_pages", "nextpageid", array("id" => $after))) {
print_error("Movit: nextpageid not found");
}
- if (!set_field("lesson_pages", "nextpageid", $pageid, "id", $after)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $pageid, array("id" => $after))) {
print_error("Moveit: unable to update link");
}
- if (!set_field("lesson_pages", "prevpageid", $pageid, "id", $nextpageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $pageid, array("id" => $nextpageid))) {
print_error("Moveit: unable to update link");
}
// ...and set the links in the moved page
- if (!set_field("lesson_pages", "prevpageid", $after, "id", $pageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $after, array("id" => $pageid))) {
print_error("Moveit: unable to update link");
}
- if (!set_field("lesson_pages", "nextpageid", $nextpageid, "id", $pageid)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $nextpageid, array("id" => $pageid))) {
print_error("Moveit: unable to update link");
}
// fifth step. break the ring
- if (!$newlastpageid = get_field("lesson_pages", "prevpageid", "id", $newfirstpageid)) {
+ if (!$newlastpageid = $DB->get_field("lesson_pages", "prevpageid", array("id" => $newfirstpageid))) {
print_error("Moveit: newlastpageid not found");
}
- if (!set_field("lesson_pages", "prevpageid", 0, "id", $newfirstpageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", 0, array("id" => $newfirstpageid))) {
print_error("Moveit: unable to update link");
}
- if (!set_field("lesson_pages", "nextpageid", 0, "id", $newlastpageid)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", 0, array("id" => $newlastpageid))) {
print_error("Moveit: unable to update link");
}
lesson_set_message(get_string('movedpage', 'lesson'), 'notifysuccess');
$page->contents = trim($form->contents);
$page->title = addslashes($page->title);
- if (!update_record("lesson_pages", $page)) {
+ if (!$DB->update_record("lesson_pages", $page)) {
print_error("Update page: page not updated");
}
if ($page->qtype == LESSON_ENDOFBRANCH || $page->qtype == LESSON_ESSAY || $page->qtype == LESSON_CLUSTER || $page->qtype == LESSON_ENDOFCLUSTER) {
// delete other answers this if mainly for essay questions. If one switches from using a qtype like Multichoice,
// then switches to essay, the old answers need to be removed because essay is
// supposed to only have one answer record
- if ($answers = get_records_select("lesson_answers", "pageid = ".$page->id)) {
+ $params = array ("pageid" => $page->id);
+ if ($answers = $DB->get_records_select("lesson_answers", "pageid = :pageid", $params)) {
foreach ($answers as $answer) {
if ($answer->id != clean_param($form->answerid[0], PARAM_INT)) {
- if (!delete_records("lesson_answers", "id", $answer->id)) {
+ if (!$DB->delete_records("lesson_answers", array("id" => $answer->id))) {
print_error("Update page: unable to delete answer record");
}
}
}
}
- if (!update_record("lesson_answers", $oldanswer)) {
+ if (!$DB->update_record("lesson_answers", $oldanswer)) {
print_error("Update page: EOB not updated");
}
} else {
if (isset($form->score[$i])) {
$oldanswer->score = clean_param($form->score[$i], PARAM_INT);
}
- if (!update_record("lesson_answers", $oldanswer)) {
+ if (!$DB->update_record("lesson_answers", $oldanswer)) {
print_error("Update page: answer $i not updated");
}
} else {
if (isset($form->score[$i])) {
$newanswer->score = clean_param($form->score[$i], PARAM_INT);
}
- $newanswerid = insert_record("lesson_answers", $newanswer);
+ $newanswerid = $DB->insert_record("lesson_answers", $newanswer);
if (!$newanswerid) {
print_error("Update page: answer record not inserted");
}
if ($i >= 2) {
if ($form->answerid[$i]) {
// need to delete blanked out answer
- if (!delete_records("lesson_answers", "id", clean_param($form->answerid[$i], PARAM_INT))) {
+ if (!$DB->delete_records("lesson_answers", array("id" => clean_param($form->answerid[$i], PARAM_INT)))) {
print_error("Update page: unable to delete answer record");
}
}
$form->responseeditor[$i] * LESSON_RESPONSE_EDITOR;
$oldanswer->timemodified = $timenow;
$oldanswer->answer = NULL;
- if (!update_record("lesson_answers", $oldanswer)) {
+ if (!$DB->update_record("lesson_answers", $oldanswer)) {
print_error("Update page: answer $i not updated");
}
}
} elseif (!empty($form->answerid[$i])) {
// need to delete blanked out answer
- if (!delete_records("lesson_answers", "id", clean_param($form->answerid[$i], PARAM_INT))) {
+ if (!$DB->delete_records("lesson_answers", array("id" => clean_param($form->answerid[$i], PARAM_INT)))) {
print_error("Update page: unable to delete answer record");
}
}
//This function executes all the backup procedure about this mod
function lesson_backup_mods($bf, $preferences) {
- global $CFG;
+ global $CFG, $DB;
$status = true;
//Iterate over lesson table
- $lessons = get_records("lesson", "course", $preferences->backup_course, "id");
+ $lessons = $DB->get_records("lesson", array ("course" => $preferences->backup_course), "id");
if ($lessons) {
foreach ($lessons as $lesson) {
if (backup_mod_selected($preferences,'lesson',$lesson->id)) {
function lesson_backup_one_mod($bf,$preferences,$lesson) {
- global $CFG;
+ global $CFG, $DB;
if (is_numeric($lesson)) {
- $lesson = get_record('lesson','id',$lesson);
+ $lesson = $DB->get_record('lesson',array ('id' => $lesson));
}
$status = true;
//Backup lesson_pages contents (executed from lesson_backup_mods)
function backup_lesson_pages ($bf, $preferences, $lessonid) {
- global $CFG;
+ global $CFG, $DB;
$status = true;
// run through the pages in their logical order, get the first page
- if ($page = get_record_select("lesson_pages", "lessonid = $lessonid AND prevpageid = 0")) {
+ $params = array ("lessonid" => $lessonid, "prevpageid" => 0);
+ if ($page = $DB->get_record_select("lesson_pages", "lessonid = :lessonid AND prevpageid = :prevpageid", $params)) {
//Write start tag
$status =fwrite ($bf,start_tag("PAGES",4,true));
//Iterate over each page
$status =fwrite ($bf,end_tag("PAGE",5,true));
// move to the next (logical) page
if ($page->nextpageid) {
- if (!$page = get_record("lesson_pages", "id", $page->nextpageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array ("id" => $page->nextpageid))) {
print_error("Lesson Backup: Next page not found!");
}
} else {
//Backup lesson_answers contents (executed from backup_lesson_pages)
function backup_lesson_answers($bf,$preferences,$pageno) {
- global $CFG;
+ global $CFG, $DB;
$status = true;
// get the answers in a set order, the id order
- $lesson_answers = get_records("lesson_answers", "pageid", $pageno, "id");
+ $lesson_answers = $DB->get_records("lesson_answers", array("pageid" => $pageno), "id");
//If there is lesson_answers
if ($lesson_answers) {
//Backup lesson_attempts contents (executed from lesson_backup_answers)
function backup_lesson_attempts ($bf,$preferences,$answerid) {
- global $CFG;
+ global $CFG, $DB;
$status = true;
- $lesson_attempts = get_records("lesson_attempts","answerid", $answerid);
+ $lesson_attempts = $DB->get_records("lesson_attempts", array("answerid" => $answerid));
//If there are attempts
if ($lesson_attempts) {
//Write start tag
//Backup lesson_grades contents (executed from backup_lesson_mods)
function backup_lesson_grades ($bf,$preferences,$lessonid) {
- global $CFG;
+ global $CFG, $DB;
$status = true;
- $grades = get_records("lesson_grades", "lessonid", $lessonid);
+ $grades = $DB->get_records("lesson_grades", array("lessonid" => $lessonid));
//If there is grades
if ($grades) {
//Backup lesson_branch contents (executed from backup_lesson_pages)
function backup_lesson_branch($bf,$preferences,$pageno) {
- global $CFG;
+ global $CFG, $DB;
$status = true;
// get the branches in a set order, the id order
- $lesson_branch = get_records("lesson_branch", "pageid", $pageno, "id");
+ $lesson_branch = $DB->get_records("lesson_branch", array("pageid" => $pageno), "id");
//If there is lesson_branch
if ($lesson_branch) {
//Backup lesson_timer contents (executed from backup_lesson_mods)
function backup_lesson_timer ($bf,$preferences,$lessonid) {
- global $CFG;
+ global $CFG, $DB;
$status = true;
- $times = get_records("lesson_timer", "lessonid", $lessonid);
+ $times = $DB->get_records("lesson_timer", array("lessonid" => $lessonid));
//If there is times
if ($times) {
// backup lesson_high_score contents (executed from backup_lesson_mods)
function backup_lesson_high_scores($bf, $preferences, $lessonid) {
- global $CFG;
+ global $CFG, $DB;
$status = true;
- $highscores = get_records("lesson_high_scores", "lessonid", $lessonid);
+ $highscores = $DB->get_records("lesson_high_scores", array("lessonid" => $lessonid));
//If there is highscores
if ($highscores) {
// backup lesson_default contents (executed from backup_lesson_mods)
function backup_lesson_default ($bf,$preferences) {
- global $CFG;
+ global $CFG, $DB;
$status = true;
//only one default record per course
- $default = get_record("lesson_default", "course", $preferences->backup_course);
+ $default = $DB->get_record("lesson_default", array("course" => $preferences->backup_course));
if ($default) {
//Start mod
$status =fwrite ($bf,start_tag("DEFAULTS",4,true));
//Returns an array of lesson id
function lesson_ids ($course) {
- global $CFG;
+ global $CFG, $DB;
- return get_records_sql ("SELECT l.id, l.course
- FROM {$CFG->prefix}lesson l
- WHERE l.course = '$course'");
+ $params = array ("course" => $course);
+ return $DB->get_records_sql ("SELECT l.id, l.course
+ FROM {lesson} l
+ WHERE l.course = :course", $params);
}
//Returns an array of lesson_submissions id
function lesson_attempts_ids_by_course ($course) {
- global $CFG;
+ global $CFG, $DB;
- return get_records_sql ("SELECT a.id , a.lessonid
- FROM {$CFG->prefix}lesson_attempts a,
- {$CFG->prefix}lesson l
- WHERE l.course = '$course' AND
- a.lessonid = l.id");
+ $params = array ("course" => $course);
+ return $DB->get_records_sql ("SELECT a.id , a.lessonid
+ FROM {lesson_attempts} a,
+ {lesson} l
+ WHERE l.course = :course AND
+ a.lessonid = l.id", $params);
}
//Returns an array of lesson_submissions id
function lesson_attempts_ids_by_instance ($instanceid) {
- global $CFG;
+ global $CFG, $DB;
- return get_records_sql ("SELECT a.id , a.lessonid
- FROM {$CFG->prefix}lesson_attempts a
- WHERE a.lessonid = $instanceid");
+ $params = array ("lessonid" => $instanceid);
+ return $DB->get_records_sql ("SELECT a.id , a.lessonid
+ FROM {lesson_attempts} a
+ WHERE a.lessonid = :lessonid", $params);
}
?>
list($cm, $course, $lesson) = lesson_get_basics($id);
- if ($firstpage = get_record('lesson_pages', 'lessonid', $lesson->id, 'prevpageid', 0)) {
- if (!$pages = get_records('lesson_pages', 'lessonid', $lesson->id)) {
+ if ($firstpage = $DB->get_record('lesson_pages', array('lessonid' => $lesson->id, 'prevpageid' => 0))) {
+ if (!$pages = $DB->get_records('lesson_pages', array('lessonid' => $lesson->id))) {
print_error('Could not find lesson pages');
}
}
if ($pageid) {
- if (!$singlepage = get_record('lesson_pages', 'id', $pageid)) {
+ if (!$singlepage = $DB->get_record('lesson_pages', array('id' => $pageid))) {
print_error('Could not find page ID: '.$pageid);
}
}
}
$jumps = array();
- if($answers = get_records_select("lesson_answers", "lessonid = $lesson->id and pageid = $pageid", 'id', '*', $limitfrom, $limitnum)) {
+ $params = array ("lessonid" => $lesson->id, "pageid" => $pageid);
+ if($answers = $DB->get_records_select("lesson_answers", "lessonid = :lessonid and pageid = :pageid", $params, 'id', '*', $limitfrom, $limitnum)) {
foreach ($answers as $answer) {
$jumps[] = lesson_get_jump_name($answer->jumpto);
}
echo format_text($page->contents, FORMAT_MOODLE, $options);
echo "</td></tr>\n";
// get the answers in a set order, the id order
- if ($answers = get_records("lesson_answers", "pageid", $page->id, "id")) {
+ if ($answers = $DB->get_records("lesson_answers", array("pageid" => $page->id), "id")) {
echo "<tr><td colspan=\"2\" align=\"center\"><strong>\n";
echo lesson_get_qtype_name($page->qtype);
switch ($page->qtype) {
// links were not used in those versions
if ($page->prevpageid != $prevpageid) {
// fix it
- set_field("lesson_pages", "prevpageid", $prevpageid, "id", $page->id);
+ $DB->set_field("lesson_pages", "prevpageid", $prevpageid, array("id" => $page->id));
debugging("<p>***prevpageid of page $page->id set to $prevpageid***");
}
switch ($mode) {
case 'display': // Default view - get the necessary data
// Get lesson pages that are essay
- if ($pages = get_records_select('lesson_pages', "lessonid = $lesson->id AND qtype = ".LESSON_ESSAY)) {
+ $params = array ("lessonid" => $lesson->id, "qtype" => LESSON_ESSAY);
+ if ($pages = $DB->get_records_select('lesson_pages', "lessonid = :lessonid AND qtype = :qtype", $params)) {
// Get only the attempts that are in response to essay questions
- if ($essayattempts = get_records_select('lesson_attempts', 'pageid IN('.implode(',', array_keys($pages)).')')) {
+ list($usql, $parameters) = $DB->get_in_or_equal(array_keys($pages));
+ if ($essayattempts = $DB->get_records_select('lesson_attempts', 'pageid $usql', $parameters)) {
// Get all the users who have taken this lesson, order by their last name
+ $paras = array();
+ $paras["lessonid"] = $lesson->id;
if (!empty($CFG->enablegroupings) && !empty($cm->groupingid)) {
+ $paras["groupinid"] = $cm->groupingid;
$sql = "SELECT DISTINCT u.*
- FROM {$CFG->prefix}lesson_attempts a
- INNER JOIN {$CFG->prefix}user u ON u.id = a.userid
- INNER JOIN {$CFG->prefix}groups_members gm ON gm.userid = u.id
- INNER JOIN {$CFG->prefix}groupings_groups gg ON gm.groupid = {$cm->groupingid}
- WHERE a.lessonid = '$lesson->id'
+ FROM {lesson_attempts} a
+ INNER JOIN {user} u ON u.id = a.userid
+ INNER JOIN {groups_members} gm ON gm.userid = u.id
+ INNER JOIN {groupings_groups} gg ON gm.groupid = :groupinid
+ WHERE a.lessonid = :lessonid
ORDER BY u.lastname";
} else {
$sql = "SELECT u.*
- FROM {$CFG->prefix}user u,
- {$CFG->prefix}lesson_attempts a
- WHERE a.lessonid = '$lesson->id' and
+ FROM {user} u,
+ {lesson_attempts} a
+ WHERE a.lessonid = :lessonid and
u.id = a.userid
ORDER BY u.lastname";
}
- if (!$users = get_records_sql($sql)) {
+ if (!$users = $DB->get_records_sql($sql, $paras)) {
$mode = 'none'; // not displaying anything
lesson_set_message(get_string('noonehasanswered', 'lesson'));
}
$attemptid = required_param('attemptid', PARAM_INT);
- if (!$attempt = get_record('lesson_attempts', 'id', $attemptid)) {
+ if (!$attempt = $DB->get_record('lesson_attempts', array('id' => $attemptid))) {
print_error('Error: could not find attempt');
}
- if (!$page = get_record('lesson_pages', 'id', $attempt->pageid)) {
+ if (!$page = $DB->get_record('lesson_pages', array('id' => $attempt->pageid))) {
print_error('Error: could not find lesson page');
}
- if (!$user = get_record('user', 'id', $attempt->userid)) {
+ if (!$user = $DB->get_record('user', array('id' => $attempt->userid))) {
print_error('Error: could not find users');
}
- if (!$answer = get_record('lesson_answers', 'lessonid', $lesson->id, 'pageid', $page->id)) {
+ if (!$answer = $DB->get_record('lesson_answers', array('lessonid' => $lesson->id, 'pageid' => $page->id))) {
print_error('Error: could not find answer');
}
break;
$attemptid = required_param('attemptid', PARAM_INT);
- if (!$attempt = get_record('lesson_attempts', 'id', $attemptid)) {
+ if (!$attempt = $DB->get_record('lesson_attempts', array('id' => $attemptid))) {
print_error('Error: could not find essay');
}
- if (!$grades = get_records_select('lesson_grades', "lessonid = $lesson->id and userid = $attempt->userid", 'completed', '*', $attempt->retry, 1)) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $attempt->userid);
+ if (!$grades = $DB->get_records_select('lesson_grades', "lessonid = :lessonid and userid = :userid", $params, 'completed', '*', $attempt->retry, 1)) {
print_error('Error: could not find grades');
}
$attempt->useranswer = addslashes(serialize($essayinfo));
- if (!update_record('lesson_attempts', $attempt)) {
+ if (!$DB->update_record('lesson_attempts', $attempt)) {
print_error('Could not update essay score');
}
// Set and update
$updategrade->id = $grade->id;
$updategrade->grade = $gradeinfo->grade;
- if(update_record('lesson_grades', $updategrade)) {
+ if($DB->update_record('lesson_grades', $updategrade)) {
// Log it
add_to_log($course->id, 'lesson', 'update grade', "essay.php?id=$cm->id", $lesson->name, $cm->id);
// Get our users (could be singular)
if ($userid = optional_param('userid', 0, PARAM_INT)) {
- $queryadd = " AND userid = $userid";
- if (! $users = get_records('user', 'id', $userid)) {
+ $queryadd = " AND userid = :userid";
+ if (! $users = $DB->get_records('user', array('id' => $userid))) {
print_error('Error: could not find users');
}
} else {
$queryadd = '';
- if (!$users = get_records_sql("SELECT u.*
- FROM {$CFG->prefix}user u,
- {$CFG->prefix}lesson_attempts a
- WHERE a.lessonid = '$lesson->id' and
+ $params = array ("lessonid" => $lesson->id);
+ if (!$users = $DB->get_records_sql("SELECT u.*
+ FROM {user} u,
+ {lesson_attempts} a
+ WHERE a.lessonid = :lessonid and
u.id = a.userid
- ORDER BY u.lastname")) {
+ ORDER BY u.lastname", $params)) {
print_error('Error: could not find users');
}
}
// Get lesson pages that are essay
- if (!$pages = get_records_select('lesson_pages', "lessonid = $lesson->id AND qtype = ".LESSON_ESSAY)) {
+ $params = array ("lessonid" => $lesson->id, "qtype" => LESSON_ESSAY);
+ if (!$pages = $DB->get_records_select('lesson_pages', "lessonid = :lessonid AND qtype = :qtype", $params)) {
print_error('Error: could not find lesson pages');
}
// Get only the attempts that are in response to essay questions
- $pageids = implode(',', array_keys($pages)); // all the pageids in comma seperated list
- if (!$attempts = get_records_select('lesson_attempts', "pageid IN($pageids)".$queryadd)) {
+ list($usql, $params) = $DB->get_in_or_equal(array_keys($pages));
+ if (isset($queryadd) && $queryadd!='') {
+ $params["userid"] = $userid;
+ }
+ if (!$attempts = $DB->get_records_select('lesson_attempts', "pageid $usql".$queryadd, $params)) {
error ('No one has answered essay questions yet...');
}
// Get the answers
- if (!$answers = get_records_select('lesson_answers', "lessonid = $lesson->id AND pageid IN($pageids)", '', 'pageid, score')) {
+ list($answerUsql, $parameters) = $DB->get_in_or_equal(array_keys($pages));
+ $parameters["lessonid"] = $lesson->id;
+ if (!$answers = $DB->get_records_select('lesson_answers', "lessonid = :lessonid AND pageid $answerUsql", $parameters, '', 'pageid, score')) {
error ('Could not find answer records.');
}
$options = new stdClass;
$a = new stdClass;
// Set the grade
- $grades = get_records_select('lesson_grades', "lessonid = $lesson->id and userid = $attempt->userid", 'completed', '*', $attempt->retry, 1);
+ $params = array ("lessonid" => $lesson->id, "userid" => $attempt->userid);
+ $grades = $DB->get_records_select('lesson_grades', "lessonid = :lessonid and userid = :userid", $params, 'completed', '*', $attempt->retry, 1);
$grade = current($grades);
$a->newgrade = $grade->grade;
if(email_to_user($users[$attempt->userid], $USER, $subject, $plaintxt, $message)) {
$essayinfo->sent = 1;
$attempt->useranswer = addslashes(serialize($essayinfo));
- update_record('lesson_attempts', $attempt);
+ $DB->update_record('lesson_attempts', $attempt);
// Log it
add_to_log($course->id, 'lesson', 'update email essay grade', "essay.php?id=$cm->id", format_string($pages[$attempt->pageid]->title,true).': '.fullname($users[$attempt->userid]), $cm->id);
} else {
}
function importprocess($filename, $lesson, $pageid) {
+ global $DB;
+
/// Processes a given file. There's probably little need to change this
$timenow = time();
// set up page links
if ($pageid) {
// the new page follows on from this page
- if (!$page = get_record("lesson_pages", "id", $pageid)) {
+ if (!$page = $DB->get_record("lesson_pages", array("id" => $pageid))) {
error ("Format: Page $pageid not found");
}
$newpage->prevpageid = $pageid;
$newpage->nextpageid = $page->nextpageid;
// insert the page and reset $pageid
- if (!$newpageid = insert_record("lesson_pages", $newpage)) {
+ if (!$newpageid = $DB->insert_record("lesson_pages", $newpage)) {
print_error("Format: Could not insert new page!");
}
// update the linked list
- if (!set_field("lesson_pages", "nextpageid", $newpageid, "id", $pageid)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $newpageid, array("id" => $pageid))) {
print_error("Format: unable to update link");
}
} else {
// new page is the first page
// get the existing (first) page (if any)
- if (!$page = get_record_select("lesson_pages", "lessonid = $lesson->id AND prevpageid = 0")) {
+ $params = array ("lessonid" => $lesson->id, "prevpageid" => 0);
+ if (!$page = $DB->get_record_select("lesson_pages", "lessonid = :lessonid AND prevpageid = :prevpageid", $params)) {
// there are no existing pages
$newpage->prevpageid = 0; // this is a first page
$newpage->nextpageid = 0; // this is the only page
- $newpageid = insert_record("lesson_pages", $newpage);
+ $newpageid = $DB->insert_record("lesson_pages", $newpage);
if (!$newpageid) {
print_error("Insert page: new first page not inserted");
}
// there are existing pages put this at the start
$newpage->prevpageid = 0; // this is a first page
$newpage->nextpageid = $page->id;
- $newpageid = insert_record("lesson_pages", $newpage);
+ $newpageid = $DB->insert_record("lesson_pages", $newpage);
if (!$newpageid) {
print_error("Insert page: first page not inserted");
}
// update the linked list
- if (!set_field("lesson_pages", "prevpageid", $newpageid, "id", $page->id)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $newpageid, array("id" => $page->id))) {
print_error("Insert page: unable to update link");
}
}
print_error("Course Module ID was incorrect");
}
- if (! $lesson = get_record("lesson", "id", $cm->instance)) {
+ if (! $lesson = $DB->get_record("lesson", array("id" => $cm->instance))) {
print_error("lesson ID was incorrect");
}
- if (! $course = get_record("course", "id", $lesson->course)) {
+ if (! $course = $DB->get_record("course", array("id" => $lesson->course))) {
print_error("Course is misconfigured");
}
if ($mode == 'add') {
break;
}
-
- if (!$grades = get_records_select('lesson_grades', "lessonid = $lesson->id", 'completed')) {
+ $params = array ("lessonid" => $lesson->id);
+ if (!$grades = $DB->get_records_select('lesson_grades', "lessonid = :lessonid", $params, 'completed')) {
print_error('Error: could not find grades');
}
- if (!$newgrade = get_record_sql("SELECT *
- FROM {$CFG->prefix}lesson_grades
- WHERE lessonid = $lesson->id
- AND userid = $USER->id
- ORDER BY completed DESC", true)) {
+ $paremeters = array ("lessonid" => $lesson->id, "userid" => $USER->id);
+ if (!$newgrade = $DB->get_record_sql("SELECT *
+ FROM {lesson_grades}
+ WHERE lessonid = :lessonid
+ AND userid = :userid
+ ORDER BY completed DESC", $paremeters, true)) {
print_error('Error: could not find newest grade');
}
// Check for multiple submissions
- if (record_exists('lesson_high_scores', 'gradeid', $newgrade->id)) {
+ if ($DB->record_exists('lesson_high_scores', array('gradeid' => $newgrade->id))) {
print_error('Only one posting per grade');
}
// Find out if we need to delete any records
- if ($highscores = get_records_sql("SELECT h.*, g.grade
- FROM {$CFG->prefix}lesson_grades g, {$CFG->prefix}lesson_high_scores h
+ $params = array ("lessonid" => $lesson->id);
+ if ($highscores = $DB->get_records_sql("SELECT h.*, g.grade
+ FROM {lesson_grades} g, {lesson_high_scores} h
WHERE h.gradeid = g.id
- AND h.lessonid = $lesson->id
- ORDER BY g.grade DESC")) {
+ AND h.lessonid = :lessonid
+ ORDER BY g.grade DESC", $params)) {
// Only count unique scores in our total for max high scores
$uniquescores = array();
foreach ($highscores as $highscore) {
// Now, delete all high scores with the low score
foreach ($highscores as $highscore) {
if ($highscore->grade == $lowscore) {
- delete_records('lesson_high_scores', 'id', $highscore->id);
+ $DB->delete_records('lesson_high_scores', array('id' => $highscore->id));
}
}
}
$newhighscore->gradeid = $newgrade->id;
$newhighscore->nickname = $name;
- if (!insert_record('lesson_high_scores', $newhighscore)) {
+ if (!$DB->insert_record('lesson_high_scores', $newhighscore)) {
print_error("Insert of new high score Failed!");
}
print_simple_box_end();
break;
default:
- if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id", "completed")) {
+ $params = array ("lessonid" => $lesson->id);
+ if (!$grades = $DB->get_records_select("lesson_grades", "lessonid = :lessonid", $params, "completed")) {
$grades = array();
}
print_heading(get_string("topscorestitle", "lesson", $lesson->maxhighscores), 'center', 4);
- if (!$highscores = get_records_select("lesson_high_scores", "lessonid = $lesson->id")) {
+ if (!$highscores = $DB->get_records_select("lesson_high_scores", "lessonid = :lessonid", $params)) {
print_heading(get_string("nohighscores", "lesson"), 'center', 3);
} else {
foreach ($highscores as $highscore) {
print_error("Course Module ID was incorrect");
}
- if (! $course = get_record("course", "id", $cm->course)) {
+ if (! $course = $DB->get_record("course", array("id" => $cm->course))) {
print_error("Course is misconfigured");
}
- if (! $lesson = get_record("lesson", "id", $cm->instance)) {
+ if (! $lesson = $DB->get_record("lesson", array("id" => $cm->instance))) {
print_error("Course module is incorrect");
}
print_error("Course Module ID was incorrect");
}
- if (! $course = get_record("course", "id", $cm->course)) {
+ if (! $course = $DB->get_record("course", array("id" => $cm->course))) {
print_error("Course is misconfigured");
}
// allows for adaption for multiple modules
- if(! $modname = get_field('modules', 'name', 'id', $cm->module)) {
+ if(! $modname = $DB->get_field('modules', 'name', array('id' => $cm->module))) {
print_error("Could not find module name");
}
- if (! $mod = get_record($modname, "id", $cm->instance)) {
+ if (! $mod = $DB->get_record($modname, array("id" => $cm->instance))) {
print_error("Course module is incorrect");
}
Saves the branchtable objects to the DB
*/
function lesson_save_objects($branchtables, $lessonid, $after) {
+ global $DB;
+
// first set up the prevpageid and nextpageid
if ($after == 0) { // adding it to the top of the lesson
$prevpageid = 0;
// get the id of the first page. If not found, then no pages in the lesson
- if (!$nextpageid = get_field('lesson_pages', 'id', 'prevpageid', 0, 'lessonid', $lessonid)) {
+ if (!$nextpageid = $DB->get_field('lesson_pages', 'id', array('prevpageid' => 0, 'lessonid' => $lessonid))) {
$nextpageid = 0;
}
} else {
// going after an actual page
$prevpageid = $after;
- $nextpageid = get_field('lesson_pages', 'nextpageid', 'id', $after);
+ $nextpageid = $DB->get_field('lesson_pages', 'nextpageid', array('id' => $after));
}
foreach ($branchtables as $branchtable) {
$branchtable->page->prevpageid = $prevpageid;
// insert the page
- if(!$id = insert_record('lesson_pages', $branchtable->page)) {
+ if(!$id = $DB->insert_record('lesson_pages', $branchtable->page)) {
print_error("insert page");
}
// update the link of the page previous to the one we just updated
if ($prevpageid != 0) { // if not the first page
- if (!set_field("lesson_pages", "nextpageid", $id, "id", $prevpageid)) {
+ if (!$DB->set_field("lesson_pages", "nextpageid", $id, array("id" => $prevpageid))) {
print_error("Insert page: unable to update next link $prevpageid");
}
}
// insert the answers
foreach ($branchtable->answers as $answer) {
$answer->pageid = $id;
- if(!insert_record('lesson_answers', $answer)) {
+ if(!$DB->insert_record('lesson_answers', $answer)) {
print_error("insert answer $id");
}
}
// all done with inserts. Now check to update our last page (this is when we import between two lesson pages)
if ($nextpageid != 0) { // if the next page is not the end of lesson
- if (!set_field("lesson_pages", "prevpageid", $id, "id", $nextpageid)) {
+ if (!$DB->set_field("lesson_pages", "prevpageid", $id, array("id" => $nextpageid))) {
print_error("Insert page: unable to update next link $prevpageid");
}
}
Save the chapter objects to the database
*/
function book_save_objects($chapters, $bookid, $pageid='0') {
+ global $DB;
+
// nothing fancy, just save them all in order
foreach ($chapters as $chapter) {
- if (!$chapter->id = insert_record('book_chapters', $chapter)) {
+ if (!$chapter->id = $DB->insert_record('book_chapters', $chapter)) {
print_error('Could not update your book');
}
}
$id = required_param('id', PARAM_INT); // course
- if (!$course = get_record("course", "id", $id)) {
+ if (!$course = $DB->get_record("course", array("id" => $id))) {
print_error("Course ID is incorrect");
}
* @return boolean
*/
function lesson_delete_course($course, $feedback=true) {
+ global $DB;
$count = count_records('lesson_default', 'course', $course->id);
- delete_records('lesson_default', 'course', $course->id);
+ $DB->delete_records('lesson_default', array('course' => $course->id));
//Inform about changes performed if feedback is enabled
if ($feedback) {
/// Used for user activity reports.
/// $return->time = the time they did it
/// $return->info = a short text description
-
- if ($grades = get_records_select("lesson_grades", "lessonid = $lesson->id AND userid = $user->id",
+ global $DB;
+
+ $params = array ("lessonid" => $lesson->id, "userid" => $user->id);
+ if ($grades = $DB->get_records_select("lesson_grades", "lessonid = :lessonid AND userid = :userid", $params,
"grade DESC")) {
foreach ($grades as $grade) {
$max_grade = number_format($grade->grade * $lesson->grade / 100.0, 1);
function lesson_user_complete($course, $user, $mod, $lesson) {
/// Print a detailed representation of what a user has done with
/// a given particular instance of this module, for user activity reports.
-
- if ($attempts = get_records_select("lesson_attempts", "lessonid = $lesson->id AND userid = $user->id",
+ global $DB;
+
+ $params = array ("lessonid" => $lesson->id, "userid" => $user->id);
+ if ($attempts = $DB->get_records_select("lesson_attempts", "lessonid = :lessonid AND userid = :userid", $params,
"retry, timeseen")) {
print_simple_box_start();
$table->head = array (get_string("attempt", "lesson"), get_string("numberofpagesviewed", "lesson"),
print_table($table);
print_simple_box_end();
// also print grade summary
- if ($grades = get_records_select("lesson_grades", "lessonid = $lesson->id AND userid = $user->id",
+ $params = array ("lessonid" => $lesson->id, "userid" => $user->id);
+ if ($grades = $DB->get_records_select("lesson_grades", "lessonid = :lessonid AND userid = :userid", $params,
"grade DESC")) {
foreach ($grades as $grade) {
$max_grade = number_format($grade->grade * $lesson->grade / 100.0, 1);
* @return array array of grades, false if none
*/
function lesson_get_user_grades($lesson, $userid=0) {
- global $CFG;
+ global $CFG, $DB;
- $user = $userid ? "AND u.id = $userid" : "";
- $fuser = $userid ? "AND uu.id = $userid" : "";
+ $params = array();
+
+ if (isset($userid)) {
+ $params["userid"] = $userid;
+ $user = "AND u.id = :userid";
+ }
+ else {
+ $user="";
+ }
+
+ if (isset($fuser)) {
+ $params["userid"] = $userid;
+ $fuser = "AND uu.id = :userid";
+ }
+ else {
+ $fuser="";
+ }
+ $params["lessonid"] = $lesson->id;
+
if ($lesson->retake) {
if ($lesson->usemaxgrade) {
$sql = "SELECT u.id, u.id AS userid, MAX(g.grade) AS rawgrade
- FROM {$CFG->prefix}user u, {$CFG->prefix}lesson_grades g
- WHERE u.id = g.userid AND g.lessonid = $lesson->id
+ FROM {user} u, {lesson_grades} g
+ WHERE u.id = g.userid AND g.lessonid = :lessonid
$user
GROUP BY u.id";
} else {
$sql = "SELECT u.id, u.id AS userid, AVG(g.grade) AS rawgrade
- FROM {$CFG->prefix}user u, {$CFG->prefix}lesson_grades g
- WHERE u.id = g.userid AND g.lessonid = $lesson->id
+ FROM {user} u, {lesson_grades} g
+ WHERE u.id = g.userid AND g.lessonid = :lessonid
$user
GROUP BY u.id";
}
} else {
// use only first attempts (with lowest id in lesson_grades table)
$firstonly = "SELECT uu.id AS userid, MIN(gg.id) AS firstcompleted
- FROM {$CFG->prefix}user uu, {$CFG->prefix}lesson_grades gg
- WHERE uu.id = gg.userid AND gg.lessonid = $lesson->id
+ FROM {user} uu, {lesson_grades} gg
+ WHERE uu.id = gg.userid AND gg.lessonid = :lessonid
$fuser
GROUP BY uu.id";
$sql = "SELECT u.id, u.id AS userid, g.grade AS rawgrade
- FROM {$CFG->prefix}user u, {$CFG->prefix}lesson_grades g, ($firstonly) f
- WHERE u.id = g.userid AND g.lessonid = $lesson->id
+ FROM {user} u, {lesson_grades} g, ($firstonly) f
+ WHERE u.id = g.userid AND g.lessonid = :lessonid
AND g.id = f.firstcompleted AND g.userid=f.userid
$user";
}
- return get_records_sql($sql);
+ return $DB->get_records_sql($sql, $params);
}
/**
* @param int $userid specific user only, 0 mean all
*/
function lesson_update_grades($lesson=null, $userid=0, $nullifnone=true) {
- global $CFG;
+ global $CFG, $DB;
if (!function_exists('grade_update')) { //workaround for buggy PHP versions
require_once($CFG->libdir.'/gradelib.php');
}
} else {
$sql = "SELECT l.*, cm.idnumber as cmidnumber, l.course as courseid
- FROM {$CFG->prefix}lesson l, {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m
+ FROM {lesson} l, {course_modules} cm, {modules} m
WHERE m.name='lesson' AND m.id=cm.module AND cm.instance=l.id";
- if ($rs = get_recordset_sql($sql)) {
- while ($lesson = rs_fetch_next_record($rs)) {
+ if ($rs = $DB->get_recordset_sql($sql)) {
+ foreach ($rs as $lesson) {
if ($lesson->grade != 0) {
lesson_update_grades($lesson, 0, false);
} else {
lesson_grade_item_update($lesson);
}
}
- rs_close($rs);
+ $rs->close();
}
}
}
//for a given instance of lesson. Must include every user involved
//in the instance, independient of his role (student, teacher, admin...)
- global $CFG;
+ global $CFG, $DB;
//Get students
- $students = get_records_sql("SELECT DISTINCT u.id, u.id
- FROM {$CFG->prefix}user u,
- {$CFG->prefix}lesson_attempts a
- WHERE a.lessonid = '$lessonid' and
- u.id = a.userid");
+ $params = array ("lessonid" => $lessonid);
+ $students = $DB->get_records_sql("SELECT DISTINCT u.id, u.id
+ FROM {user} u,
+ {lesson_attempts} a
+ WHERE a.lessonid = :lessonid and
+ u.id = a.userid", $params);
//Return students array (it contains an array of unique users)
return ($students);
* @return void
**/
function lesson_process_pre_save(&$lesson) {
+ global $DB;
+
$lesson->timemodified = time();
if (empty($lesson->timed)) {
$conditions->timespent = $lesson->timespent;
$conditions->completed = $lesson->completed;
$conditions->gradebetterthan = $lesson->gradebetterthan;
- $lesson->conditions = addslashes(serialize($conditions));
+ $lesson->conditions = serialize($conditions);
unset($lesson->timespent);
unset($lesson->completed);
unset($lesson->gradebetterthan);
unset($default->timemodified);
unset($default->available);
unset($default->deadline);
- if ($default->id = get_field('lesson_default', 'id', 'course', $default->course)) {
- update_record('lesson_default', $default);
+ if ($default->id = $DB->get_field('lesson_default', 'id', array('course' => $default->course))) {
+ $DB->update_record('lesson_default', $default);
} else {
- insert_record('lesson_default', $default);
+ $DB->insert_record('lesson_default', $default);
}
}
unset($lesson->lessondefault);
$event->instance = $lesson->id;
$event->eventtype = 'open';
$event->timestart = $lesson->available;
+
$event->visible = instance_is_visible('lesson', $lesson);
+
$event->timeduration = ($lesson->deadline - $lesson->available);
if ($lesson->deadline and $lesson->available and $event->timeduration <= LESSON_MAX_EVENT_LENGTH) {
* @param string optional type
*/
function lesson_reset_gradebook($courseid, $type='') {
- global $CFG;
+ global $CFG, $DB;
$sql = "SELECT l.*, cm.idnumber as cmidnumber, l.course as courseid
- FROM {$CFG->prefix}lesson l, {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m
- WHERE m.name='lesson' AND m.id=cm.module AND cm.instance=l.id AND l.course=$courseid";
-
- if ($lessons = get_records_sql($sql)) {
+ FROM {lesson} l, {course_modules} cm, {modules} m
+ WHERE m.name='lesson' AND m.id=cm.module AND cm.instance=l.id AND l.course=:course";
+ $params = array ("course" => $courseid);
+ if ($lessons = $DB->get_records_sql($sql,$params)) {
foreach ($lessons as $lesson) {
lesson_grade_item_update($lesson, 'reset');
}
* @return array status array
*/
function lesson_reset_userdata($data) {
- global $CFG;
+ global $CFG, $DB;
$componentstr = get_string('modulenameplural', 'lesson');
$status = array();
if (!empty($data->reset_lesson)) {
$lessonssql = "SELECT l.id
- FROM {$CFG->prefix}lesson l
- WHERE l.course={$data->courseid}";
-
-
- delete_records_select('lesson_timer', "lessonid IN ($lessonssql)");
- delete_records_select('lesson_high_scores', "lessonid IN ($lessonssql)");
- delete_records_select('lesson_grades', "lessonid IN ($lessonssql)");
- delete_records_select('lesson_attempts', "lessonid IN ($lessonssql)");
+ FROM {lesson} l
+ WHERE l.course=:course";
+
+ $params = array ("course" => $data->courseid);
+ $DB->delete_records_select('lesson_timer', "lessonid IN ($lessonssql)", $params);
+ $DB->delete_records_select('lesson_high_scores', "lessonid IN ($lessonssql)", $params);
+ $DB->delete_records_select('lesson_grades', "lessonid IN ($lessonssql)", $params);
+ $DB->delete_records_select('lesson_attempts', "lessonid IN ($lessonssql)", $params);
// remove all grades from gradebook
if (empty($data->reset_gradebook_grades)) {
* @return array array($cm, $course, $lesson)
**/
function lesson_get_basics($cmid = 0, $lessonid = 0) {
+ global $DB;
+
if ($cmid) {
if (!$cm = get_coursemodule_from_id('lesson', $cmid)) {
print_error('Course Module ID was incorrect');
}
- if (!$course = get_record('course', 'id', $cm->course)) {
+ if (!$course = $DB->get_record('course', array('id' => $cm->course))) {
print_error('Course is misconfigured');
}
- if (!$lesson = get_record('lesson', 'id', $cm->instance)) {
+ if (!$lesson = $DB->get_record('lesson', array('id' => $cm->instance))) {
print_error('Course module is incorrect');
}
} else if ($lessonid) {
- if (!$lesson = get_record('lesson', 'id', $lessonid)) {
+ if (!$lesson = $DB->get_record('lesson', array('id' => $lessonid))) {
print_error('Course module is incorrect');
}
- if (!$course = get_record('course', 'id', $lesson->course)) {
+ if (!$course = $DB->get_record('course', array('id' => $lesson->course))) {
print_error('Course is misconfigured');
}
if (!$cm = get_coursemodule_from_instance('lesson', $lesson->id, $course->id)) {
* @return string
**/
function lesson_get_jump_name($jumpto) {
+ global $DB;
+
if ($jumpto == 0) {
$jumptitle = get_string('thispage', 'lesson');
} elseif ($jumpto == LESSON_NEXTPAGE) {
} elseif ($jumpto == LESSON_CLUSTERJUMP) {
$jumptitle = get_string('clusterjump', 'lesson');
} else {
- if (!$jumptitle = get_field('lesson_pages', 'title', 'id', $jumpto)) {
+ if (!$jumptitle = $DB->get_field('lesson_pages', 'title', array('id' => $jumpto))) {
$jumptitle = '<strong>'.get_string('notdefined', 'lesson').'</strong>';
}
}
* @return object Returns $result->error or $result->notice.
**/
function lesson_save_question_options($question) {
+ global $DB;
$timenow = time();
switch ($question->qtype) {
$answer->grade = $question->fraction[$key] * 100;
$answer->answer = $dataanswer;
$answer->response = $question->feedback[$key];
- if (!$answer->id = insert_record("lesson_answers", $answer)) {
+ if (!$answer->id = $DB->insert_record("lesson_answers", $answer)) {
$result->error = "Could not insert shortanswer quiz answer!";
return $result;
}
$answer->answer = $min.":".$max;
// $answer->answer = $question->min[$key].":".$question->max[$key]; original line for min/max
$answer->response = $question->feedback[$key];
- if (!$answer->id = insert_record("lesson_answers", $answer)) {
+ if (!$answer->id = $DB->insert_record("lesson_answers", $answer)) {
$result->error = "Could not insert numerical quiz answer!";
return $result;
}
if (isset($question->feedbacktrue)) {
$answer->response = $question->feedbacktrue;
}
- if (!$true->id = insert_record("lesson_answers", $answer)) {
+ if (!$true->id = $DB->insert_record("lesson_answers", $answer)) {
$result->error = "Could not insert quiz answer \"true\")!";
return $result;
}
if (isset($question->feedbackfalse)) {
$answer->response = $question->feedbackfalse;
}
- if (!$false->id = insert_record("lesson_answers", $answer)) {
+ if (!$false->id = $DB->insert_record("lesson_answers", $answer)) {
$result->error = "Could not insert quiz answer \"false\")!";
return $result;
}
// end Replace
$answer->answer = $dataanswer;
$answer->response = $question->feedback[$key];
- if (!$answer->id = insert_record("lesson_answers", $answer)) {
+ if (!$answer->id = $DB->insert_record("lesson_answers", $answer)) {
$result->error = "Could not insert multichoice quiz answer! ";
return $result;
}
// first answer contains the correct answer jump
$answer->jumpto = LESSON_NEXTPAGE;
}
- if (!$subquestion->id = insert_record("lesson_answers", $answer)) {
+ if (!$subquestion->id = $DB->insert_record("lesson_answers", $answer)) {
$result->error = "Could not insert quiz match subquestion!";
return $result;
}
case LESSON_RANDOMSAMATCH:
$options->question = $question->id;
$options->choose = $question->choose;
- if ($existing = get_record("quiz_randomsamatch", "question", $options->question)) {
+ if ($existing = $DB->get_record("quiz_randomsamatch", array("question" => $options->question))) {
$options->id = $existing->id;
- if (!update_record("quiz_randomsamatch", $options)) {
+ if (!$DB->update_record("quiz_randomsamatch", $options)) {
$result->error = "Could not update quiz randomsamatch options!";
return $result;
}
} else {
- if (!insert_record("quiz_randomsamatch", $options)) {
+ if (!$DB->insert_record("quiz_randomsamatch", $options)) {
$result->error = "Could not insert quiz randomsamatch options!";
return $result;
}
break;
case LESSON_MULTIANSWER:
- if (!$oldmultianswers = get_records("quiz_multianswers", "question", $question->id, "id ASC")) {
+ if (!$oldmultianswers = $DB->get_records("quiz_multianswers", array("question" => $question->id), "id ASC")) {
$oldmultianswers = array();
}
$result->error = "Could not update multianswer alternatives! (id=$multianswer->id)";
return $result;
}
- if (!update_record("quiz_multianswers", $multianswer)) {
+ if (!$DB->update_record("quiz_multianswers", $multianswer)) {
$result->error = "Could not update quiz multianswer! (id=$multianswer->id)";
return $result;
}
$result->error = "Could not insert multianswer alternatives! (questionid=$question->id)";
return $result;
}
- if (!insert_record("quiz_multianswers", $multianswer)) {
+ if (!$DB->insert_record("quiz_multianswers", $multianswer)) {
$result->error = "Could not insert quiz multianswer!";
return $result;
}
* @return boolean True or false after a series of tests.
**/
function lesson_iscorrect($pageid, $jumpto) {
+ global $DB;
// first test the special values
if (!$jumpto) {
return true;
}
// we have to run through the pages from pageid looking for jumpid
- if ($lessonid = get_field('lesson_pages', 'lessonid', 'id', $pageid)) {
- if ($pages = get_records('lesson_pages', 'lessonid', $lessonid, '', 'id, nextpageid')) {
+ if ($lessonid = $DB->get_field('lesson_pages', 'lessonid', array('id' => $pageid))) {
+ if ($pages = $DB->get_records('lesson_pages', array('lessonid' => $lessonid), '', 'id, nextpageid')) {
$apageid = $pages[$pageid]->nextpageid;
while ($apageid != 0) {
if ($jumpto == $apageid) {
* @return boolean True or false.
**/
function lesson_display_branch_jumps($lessonid, $pageid) {
+ global $DB;
+
if($pageid == 0) {
// first page
return false;
}
// get all of the lesson pages
- if (!$lessonpages = get_records_select("lesson_pages", "lessonid = $lessonid")) {
+ $params = array ("lessonid" => $lessonid);
+ if (!$lessonpages = $DB->get_records_select("lesson_pages", "lessonid = :lessonid", $params)) {
// adding first page
return false;
}
* @return boolean True or false.
**/
function lesson_display_cluster_jump($lesson, $pageid) {
+ global $DB;
+
if($pageid == 0) {
// first page
return false;
}
// get all of the lesson pages
- if (!$lessonpages = get_records_select("lesson_pages", "lessonid = $lesson")) {
+ $params = array ("lessonid" => $lesson);
+ if (!$lessonpages = $DB->get_records_select("lesson_pages", "lessonid = :lessonid", $params)) {
// adding first page
return false;
}
* @return boolean True or false.
**/
function lesson_display_teacher_warning($lesson) {
+ global $DB;
+
// get all of the lesson answers
- if (!$lessonanswers = get_records_select("lesson_answers", "lessonid = $lesson")) {
+ $params = array ("lessonid" => $lesson);
+ if (!$lessonanswers = $DB->get_records_select("lesson_answers", "lessonid = :lessonid", $params)) {
// no answers, then not useing cluster or unseen
return false;
}
* @return int The id of the next page.
**/
function lesson_cluster_jump($lessonid, $userid, $pageid) {
+ global $DB;
+
// get the number of retakes
if (!$retakes = count_records("lesson_grades", "lessonid", $lessonid, "userid", $userid)) {
$retakes = 0;
}
// get all the lesson_attempts aka what the user has seen
- if ($seen = get_records_select("lesson_attempts", "lessonid = $lessonid AND userid = $userid AND retry = $retakes", "timeseen DESC")) {
+ $params = array ("lessonid" => $lessonid, "userid" => $userid, "retry" => $retakes);
+ if ($seen = $DB->get_records_select("lesson_attempts", "lessonid = :lessonid AND userid = :userid AND retry = :retry", $params, "timeseen DESC")) {
foreach ($seen as $value) { // load it into an array that I can more easily use
$seenpages[$value->pageid] = $value->pageid;
}
}
// get the lesson pages
- if (!$lessonpages = get_records_select("lesson_pages", "lessonid = $lessonid")) {
+ $parameters = array ("lessonid" => $lessonid);
+ if (!$lessonpages = $DB->get_records_select("lesson_pages", "lessonid = :lessonid", $parameters)) {
print_error("Error: could not find records in lesson_pages table");
}
// find the start of the cluster
while (true) { // now load all the pages into the cluster that are not already inside of a branch table.
if ($lessonpages[$pageid]->qtype == LESSON_ENDOFCLUSTER) {
// store the endofcluster page's jump
- $exitjump = get_field("lesson_answers", "jumpto", "pageid", $pageid, "lessonid", $lessonid);
+ $exitjump = $DB->get_field("lesson_answers", "jumpto", array("pageid" => $pageid, "lessonid" => $lessonid));
if ($exitjump == LESSON_NEXTPAGE) {
$exitjump = $lessonpages[$pageid]->nextpageid;
}
* @return int Id of the next page.
**/
function lesson_unseen_question_jump($lesson, $user, $pageid) {
+ global $DB;
+
// get the number of retakes
if (!$retakes = count_records("lesson_grades", "lessonid", $lesson, "userid", $user)) {
$retakes = 0;
}
// get all the lesson_attempts aka what the user has seen
- if ($viewedpages = get_records_select("lesson_attempts", "lessonid = $lesson AND userid = $user AND retry = $retakes", "timeseen DESC")) {
+ $params = array ("lessonid" => $lesson, "userid" => $user, "retry" => $retakes);
+ if ($viewedpages = $DB->get_records_select("lesson_attempts", "lessonid = :lessonid AND userid = :userid AND retry = :retry", $params, "timeseen DESC")) {
foreach($viewedpages as $viewed) {
$seenpages[] = $viewed->pageid;
}
}
// get the lesson pages
- if (!$lessonpages = get_records_select("lesson_pages", "lessonid = $lesson")) {
+ $parameters = array ("lessonid" => $lesson);
+ if (!$lessonpages = $DB->get_records_select("lesson_pages", "lessonid = :lessonid", $parameters)) {
print_error("Error: could not find records in lesson_pages table");
}
* @return int Will return the page id of a branch table or end of lesson
**/
function lesson_unseen_branch_jump($lessonid, $userid) {
+ global $DB;
+
if (!$retakes = count_records("lesson_grades", "lessonid", $lessonid, "userid", $userid)) {
$retakes = 0;
}
- if (!$seenbranches = get_records_select("lesson_branch", "lessonid = $lessonid AND userid = $userid AND retry = $retakes",
+ $params = array ("lessonid" => $lessonid, "userid" => $userid, "retry" => $retakes);
+ if (!$seenbranches = $DB->get_records_select("lesson_branch", "lessonid = :lessonid AND userid = :userid AND retry = :retry", $params,
"timeseen DESC")) {
print_error("Error: could not find records in lesson_branch table");
}
// get the lesson pages
- if (!$lessonpages = get_records_select("lesson_pages", "lessonid = $lessonid")) {
+ $parameters = array ("lessonid" => $lessonid);
+ if (!$lessonpages = $DB->get_records_select("lesson_pages", "lessonid = :lessonid", $parameters)) {
print_error("Error: could not find records in lesson_pages table");
}
* @return int The pageid of a random page that is within a branch table
**/
function lesson_random_question_jump($lessonid, $pageid) {
+ global $DB;
+
// get the lesson pages
- if (!$lessonpages = get_records_select("lesson_pages", "lessonid = $lessonid")) {
+ $params = array ("lessonid" => $lessonid);
+ if (!$lessonpages = $DB->get_records_select("lesson_pages", "lessonid = :lessonid", $params)) {
print_error("Error: could not find records in lesson_pages table");
}
manualpoints => point value for manually graded questions }
*/
function lesson_grade($lesson, $ntries, $userid = 0) {
- global $USER;
+ global $USER, $DB;
if (empty($userid)) {
$userid = $USER->id;
$total = 0;
$earned = 0;
- if ($useranswers = get_records_select("lesson_attempts", "lessonid = $lesson->id AND
- userid = $userid AND retry = $ntries", "timeseen")) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $userid, "retry" => $ntries);
+ if ($useranswers = $DB->get_records_select("lesson_attempts", "lessonid = :lessonid AND
+ userid = :userid AND retry = :retry", $params, "timeseen")) {
// group each try with its page
$attemptset = array();
foreach ($useranswers as $useranswer) {
$attemptset[$key] = array_slice($set, 0, $lesson->maxattempts);
}
- $pageids = implode(",", array_keys($attemptset));
-
// get only the pages and their answers that the user answered
- $pages = get_records_select("lesson_pages", "lessonid = $lesson->id AND id IN($pageids)");
- $answers = get_records_select("lesson_answers", "lessonid = $lesson->id AND pageid IN($pageids)");
+ list($usql, $parameters) = $DB->get_in_or_equal(array_keys($attemptset));
+ $parameters["lessonid"] = $lesson->id;
+ $pages = $DB->get_records_select("lesson_pages", "lessonid = :lessonid AND id $usql", $parameters);
+ $answers = $DB->get_records_select("lesson_answers", "lessonid = :lessonid AND pageid $usql", $parameters);
// Number of pages answered
$nquestions = count($pages);
* @return boolean The return is not significant as of yet. Will return true/false.
**/
function lesson_print_progress_bar($lesson, $course) {
- global $CFG, $USER;
+ global $CFG, $USER, $DB;
$cm = get_coursemodule_from_instance('lesson', $lesson->id);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
}
if (!isset($USER->modattempts[$lesson->id])) {
// all of the lesson pages
- if (!$pages = get_records('lesson_pages', 'lessonid', $lesson->id)) {
+ if (!$pages = $DB->get_records('lesson_pages', array('lessonid' => $lesson->id))) {
return false;
} else {
foreach ($pages as $page) {
$viewedpageids = array();
// collect all of the correctly answered questions
- if ($viewedpages = get_records_select("lesson_attempts", "lessonid = $lesson->id AND userid = $USER->id AND retry = $ntries AND correct = 1", 'timeseen DESC', 'pageid, id')) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id, "retry" => $ntries);
+ if ($viewedpages = $DB->get_records_select("lesson_attempts", "lessonid = :lessonid AND userid = :userid AND retry = :retry AND correct = 1", $params, 'timeseen DESC', 'pageid, id')) {
$viewedpageids = array_keys($viewedpages);
}
// collect all of the branch tables viewed
- if ($viewedbranches = get_records_select("lesson_branch", "lessonid = $lesson->id AND userid = $USER->id AND retry = $ntries", 'timeseen DESC', 'pageid, id')) {
+ if ($viewedbranches = $DB->get_records_select("lesson_branch", "lessonid = :lessonid AND userid = :userid AND retry = :retry", $params, 'timeseen DESC', 'pageid, id')) {
$viewedpageids = array_merge($viewedpageids, array_keys($viewedbranches));
}
* @return boolean 0 if the user cannot see, or $lesson->displayleft to keep displayleft unchanged
**/
function lesson_displayleftif($lesson) {
- global $CFG, $USER;
+ global $CFG, $USER, $DB;
if (!empty($lesson->displayleftif)) {
// get the current user's max grade for this lesson
- if ($maxgrade = get_record_sql('SELECT userid, MAX(grade) AS maxgrade FROM '.$CFG->prefix.'lesson_grades WHERE userid = '.$USER->id.' AND lessonid = '.$lesson->id.' GROUP BY userid')) {
+ $params = array ("userid" => $USER->id, "lessonid" => $lesson->id);
+ if ($maxgrade = $DB->get_record_sql('SELECT userid, MAX(grade) AS maxgrade FROM {lesson_grades} WHERE userid = :userid AND lessonid = :lessonid GROUP BY userid', $params)) {
if ($maxgrade->maxgrade < $lesson->displayleftif) {
return 0; // turn off the displayleft
}
* @return void
**/
function lesson_print_menu_block($cmid, $lesson) {
- global $CFG;
+ global $CFG, $DB;
if ($lesson->displayleft) {
- $pageid = get_field('lesson_pages', 'id', 'lessonid', $lesson->id, 'prevpageid', 0);
- $pages = get_records_select('lesson_pages', "lessonid = $lesson->id");
+ $pageid = $DB->get_field('lesson_pages', 'id', array('lessonid' => $lesson->id, 'prevpageid' => 0));
+ $params = array ("lessonid" => $lesson->id);
+ $pages = $DB->get_records_select('lesson_pages', "lessonid = :lessonid", $params);
$currentpageid = optional_param('pageid', $pageid, PARAM_INT);
if ($pageid and $pages) {
print_error('Course Module ID was incorrect');
}
- if (! $course = get_record('course', 'id', $cm->course)) {
+ if (! $course = $DB->get_record('course', array('id' => $cm->course))) {
print_error('Course is misconfigured');
}
- if (! $lesson = get_record('lesson', 'id', $cm->instance)) {
+ if (! $lesson = $DB->get_record('lesson', array('id' => $cm->instance))) {
print_error('Course module is incorrect');
}
* @return void
**/
function data_preprocessing(&$default_values) {
+ global $DB;
+ //var_dump($default_values);
if (isset($default_values['conditions'])) {
$conditions = unserialize($default_values['conditions']);
$default_values['timespent'] = $conditions->timespent;
if (isset($default_values['password'])) {
unset($default_values['password']);
}
- if (isset($default_values['add']) and $defaults = get_record('lesson_default', 'course', $default_values['course'])) {
+ if (isset($default_values['add']) and $defaults = $DB->get_record('lesson_default', array('course' => $default_values['course']))) {
foreach ($defaults as $fieldname => $default) {
switch ($fieldname) {
case 'conditions':
$nothingtodisplay = false;
list($cm, $course, $lesson) = lesson_get_basics($id);
-
+ $params = array("lessonid" => $lesson->id);
if (!empty($CFG->enablegroupings) && !empty($cm->groupingid)) {
+ $params["groupid"] = $cm->groupingid;
$sql = "SELECT DISTINCT u.*
- FROM {$CFG->prefix}lesson_attempts a
- INNER JOIN {$CFG->prefix}user u ON u.id = a.userid
- INNER JOIN {$CFG->prefix}groups_members gm ON gm.userid = u.id
- INNER JOIN {$CFG->prefix}groupings_groups gg ON gm.groupid = {$cm->groupingid}
- WHERE a.lessonid = '$lesson->id'
+ FROM {lesson_attempts} a
+ INNER JOIN {user} u ON u.id = a.userid
+ INNER JOIN {groups_members} gm ON gm.userid = u.id
+ INNER JOIN {groupings_groups} gg ON gm.groupid = :groupid
+ WHERE a.lessonid = :lessonid
ORDER BY u.lastname";
} else {
$sql = "SELECT u.*
- FROM {$CFG->prefix}user u,
- {$CFG->prefix}lesson_attempts a
- WHERE a.lessonid = '$lesson->id' and
+ FROM {user} u,
+ {lesson_attempts} a
+ WHERE a.lessonid = :lessonid and
u.id = a.userid
ORDER BY u.lastname";
}
- if (! $students = get_records_sql($sql)) {
+ if (! $students = $DB->get_records_sql($sql, $params)) {
$nothingtodisplay = true;
}
$try -= $modifier;
/// Clean up the timer table
- $timeid = get_field_sql("SELECT id FROM {$CFG->prefix}lesson_timer
- WHERE userid = $userid AND lessonid = $lesson->id
- ORDER BY starttime", $try, 1);
+ $params = array ("userid" => $userid, "lessonid" => $lesson->id);
+ $timeid = $DB->get_field_sql("SELECT id FROM {lesson_timer}
+ WHERE userid = :userid AND lessonid = :lessonid
+ ORDER BY starttime", $params, $try, 1);
- delete_records('lesson_timer', 'id', $timeid);
+ $DB->delete_records('lesson_timer', array('id' => $timeid));
/// Remove the grade from the grades and high_scores tables
- $gradeid = get_field_sql("SELECT id FROM {$CFG->prefix}lesson_grades
- WHERE userid = $userid AND lessonid = $lesson->id
- ORDER BY completed", $try, 1);
+ $gradeid = $DB->get_field_sql("SELECT id FROM {lesson_grades}
+ WHERE userid = :userid AND lessonid = :lessonid
+ ORDER BY completed", $params, $try, 1);
- delete_records('lesson_grades', 'id', $gradeid);
- delete_records('lesson_high_scores', 'gradeid', $gradeid, 'lessonid', $lesson->id, 'userid', $userid);
+ $DB->delete_records('lesson_grades', array('id' => $gradeid));
+ $DB->delete_records('lesson_high_scores', array('gradeid' => $gradeid, 'lessonid' => $lesson->id, 'userid' => $userid));
/// Remove attempts and update the retry number
- delete_records('lesson_attempts', 'userid', $userid, 'lessonid', $lesson->id, 'retry', $try);
+ $DB->delete_records('lesson_attempts', array('userid' => $userid, 'lessonid' => $lesson->id, 'retry' => $try));
execute_sql("UPDATE {$CFG->prefix}lesson_attempts SET retry = retry - 1 WHERE userid = $userid AND lessonid = $lesson->id AND retry > $try", false);
/// Remove seen branches and update the retry number
- delete_records('lesson_branch', 'userid', $userid, 'lessonid', $lesson->id, 'retry', $try);
+ $DB->delete_records('lesson_branch', array('userid' => $userid, 'lessonid' => $lesson->id, 'retry' => $try));
execute_sql("UPDATE {$CFG->prefix}lesson_branch SET retry = retry - 1 WHERE userid = $userid AND lessonid = $lesson->id AND retry > $try", false);
/// update central gradebook
}
}
- if (! $attempts = get_records('lesson_attempts', 'lessonid', $lesson->id, 'timeseen')) {
+ if (! $attempts = $DB->get_records('lesson_attempts', array('lessonid' => $lesson->id), 'timeseen')) {
$nothingtodisplay = true;
}
- if (! $grades = get_records('lesson_grades', 'lessonid', $lesson->id, 'completed')) {
+ if (! $grades = $DB->get_records('lesson_grades', array('lessonid' => $lesson->id), 'completed')) {
$grades = array();
}
- if (! $times = get_records('lesson_timer', 'lessonid', $lesson->id, 'starttime')) {
+ if (! $times = $DB->get_records('lesson_timer', array('lessonid' => $lesson->id), 'starttime')) {
$times = array();
}
$userid = optional_param('userid', NULL, PARAM_INT); // if empty, then will display the general detailed view
$try = optional_param('try', NULL, PARAM_INT);
- if (! $lessonpages = get_records("lesson_pages", "lessonid", $lesson->id)) {
+ if (! $lessonpages = $DB->get_records("lesson_pages", array("lessonid" => $lesson->id))) {
print_error("Could not find Lesson Pages");
}
- if (! $pageid = get_field("lesson_pages", "id", "lessonid", $lesson->id, "prevpageid", 0)) {
+ if (! $pageid = $DB->get_field("lesson_pages", "id", array("lessonid" => $lesson->id, "prevpageid" => 0))) {
print_error("Could not find first page");
}
$pagestats = array();
while ($pageid != 0) { // EOL
$page = $lessonpages[$pageid];
-
- if ($allanswers = get_records_select("lesson_attempts", "lessonid = $lesson->id AND pageid = $page->id", "timeseen")) {
+ $params = array ("lessonid" => $lesson->id, "pageid" => $page->id);
+ if ($allanswers = $DB->get_records_select("lesson_attempts", "lessonid = :lessonid AND pageid = :pageid", $params, "timeseen")) {
// get them ready for processing
$orderedanswers = array();
foreach ($allanswers as $singleanswer) {
$useranswer = NULL;
$answerdata->score = NULL;
$answerdata->response = NULL;
- } elseif ($useranswers = get_records_select("lesson_attempts",
- "lessonid = $lesson->id AND userid = $userid AND retry = $try AND pageid = $page->id", "timeseen")) {
- // get the user's answer for this page
+ } elseif ($useranswers = $DB->get_records_select("lesson_attempts",
+ "lessonid = :lessonid AND userid = :userid AND retry = :retry AND pageid = :pageid",
+ array("lessonid" => $lesson->id, "userid" => $userid, "retry" => $try, "pageid" => $page->id), "timeseen")) {
+ // get the user's answer for this page
// need to find the right one
$i = 0;
foreach ($useranswers as $userattempt) {
}
// build up the answer data
- if ($answers = get_records("lesson_answers", "pageid", $page->id, "id")) {
+ if ($answers = $DB->get_records("lesson_answers", array("pageid" => $page->id), "id")) {
$i = 0;
$n = 0;
// go through each answer and display it properly with statistics, highlight if correct answer,
$table->align = array("right", "left");
$table->class = 'generaltable userinfotable';
- if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id and userid = $userid", "completed", "*", $try, 1)) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $userid);
+ if (!$grades = $DB->get_records_select("lesson_grades", "lessonid = :lessonid and userid = :userid", $params, "completed", "*", $try, 1)) {
$grade = -1;
$completed = -1;
} else {
$completed = $grade->completed;
$grade = round($grade->grade, 2);
}
- if (!$times = get_records_select("lesson_timer", "lessonid = $lesson->id and userid = $userid", "starttime", "*", $try, 1)) {
+ if (!$times = $DB->get_records_select("lesson_timer", "lessonid = :lessonid and userid = :userid", $params, "starttime", "*", $try, 1)) {
$timetotake = -1;
} else {
$timetotake = current($times);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
}
if (!isset($course)) {
- $course = get_record('course', 'id', $lesson->course);
+ $course = $DB->get_record('course', array('id' => $lesson->course));
}
$tabs = $row = $inactive = $activated = array();
}
} else if ($lesson->dependency) { // check for dependencies
- if ($dependentlesson = get_record('lesson', 'id', $lesson->dependency)) {
+ if ($dependentlesson = $DB->get_record('lesson', array('id' => $lesson->dependency))) {
// lesson exists, so we can proceed
$conditions = unserialize($lesson->conditions);
// assume false for all
$gradebetterthan = false;
// check for the timespent condition
if ($conditions->timespent) {
- if ($attempttimes = get_records_select('lesson_timer', "userid = $USER->id AND lessonid = $dependentlesson->id")) {
+ $params = array ("userid" => $USER->id, "lessonid" => $dependentlesson->id);
+ if ($attempttimes = $DB->get_records_select('lesson_timer', "userid = :userid AND lessonid = :lessonid", $params)) {
// go through all the times and test to see if any of them satisfy the condition
foreach($attempttimes as $attempttime) {
$duration = $attempttime->lessontime - $attempttime->starttime;
// check for the gradebetterthan condition
if($conditions->gradebetterthan) {
- if ($studentgrades = get_records_select('lesson_grades', "userid = $USER->id AND lessonid = $dependentlesson->id")) {
+ $params = array ("userid" => $USER->id, "lessonid" => $dependentlesson->id);
+ if ($studentgrades = $DB->get_records_select('lesson_grades', "userid = :userid AND lessonid = :lessonid", $params)) {
// go through all the grades and test to see if any of them satisfy the condition
foreach($studentgrades as $studentgrade) {
if ($studentgrade->grade >= $conditions->gradebetterthan) {
$attemptflag = false;
if (empty($pageid)) {
// make sure there are pages to view
- if (!get_field('lesson_pages', 'id', 'lessonid', $lesson->id, 'prevpageid', 0)) {
+ if (!$DB->get_field('lesson_pages', 'id', array('lessonid' => $lesson->id, 'prevpageid' => 0))) {
if (!has_capability('mod/lesson:manage', $context)) {
lesson_set_message(get_string('lessonnotready', 'lesson', $course->teacher)); // a nice message to the student
} else {
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,
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id);
+ if ($grades = $DB->get_records_select('lesson_grades', 'lessonid = :lessonid AND userid = :userid', $params,
'grade DESC')) {
$retries = count($grades);
} else {
}
// if there are any questions have been answered correctly in this attempt
- if ($attempts = get_records_select('lesson_attempts',
- "lessonid = $lesson->id AND userid = $USER->id AND retry = $retries AND
- correct = 1", 'timeseen DESC')) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id, "retry" => $retries);
+ if ($attempts = $DB->get_records_select('lesson_attempts',
+ "lessonid = :lessonid AND userid = :userid AND retry = :retry AND
+ correct = 1", $params, 'timeseen DESC')) {
foreach ($attempts as $attempt) {
- $jumpto = get_field('lesson_answers', 'jumpto', 'id', $attempt->answerid);
+ $jumpto = $DB->get_field('lesson_answers', 'jumpto', array('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',
- $attempt->pageid)) {
+ if (!$lastpageseen = $DB->get_field('lesson_pages', 'nextpageid', array('id' => $attempt->pageid))) {
// no nextpage go to end of lesson
$lastpageseen = LESSON_EOL;
}
$attempts = NULL;
}
- if ($branchtables = get_records_select('lesson_branch',
- "lessonid = $lesson->id AND userid = $USER->id AND retry = $retries", 'timeseen DESC')) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id, "retry" => $retries);
+ if ($branchtables = $DB->get_records_select('lesson_branch',
+ "lessonid = :lessonid AND userid = :userid AND retry = :retry", $params, 'timeseen DESC')) {
// in here, user has viewed a branch table
$lastbranchtable = current($branchtables);
if ($attempts != NULL) {
//if ($lastpageseen != $firstpageid) {
if (isset($lastpageseen) and count_records('lesson_attempts', 'lessonid', $lesson->id, 'userid', $USER->id, 'retry', $retries) > 0) {
// get the first page
- if (!$firstpageid = get_field('lesson_pages', 'id', 'lessonid', $lesson->id,
- 'prevpageid', 0)) {
+ if (!$firstpageid = $DB->get_field('lesson_pages', 'id', array('lessonid' => $lesson->id,
+ 'prevpageid' => 0))) {
print_error('Navigation: first page not found');
}
lesson_print_header($cm, $course, $lesson);
}
}
// start at the first page
- if (!$pageid = get_field('lesson_pages', 'id', 'lessonid', $lesson->id, 'prevpageid', 0)) {
+ if (!$pageid = $DB->get_field('lesson_pages', 'id', array('lessonid' => $lesson->id, 'prevpageid' => 0))) {
print_error('Navigation: first page not found');
}
/// This is the code for starting a timed test
$startlesson->starttime = time();
$startlesson->lessontime = time();
- if (!insert_record('lesson_timer', $startlesson)) {
+ if (!$DB->insert_record('lesson_timer', $startlesson)) {
print_error('Error: could not insert row into lesson_timer table');
}
if ($lesson->timed) {
/// This is the code updates the lessontime for a timed test
if ($startlastseen = optional_param('startlastseen', '', PARAM_ALPHA)) { /// this deletes old records not totally sure if this is necessary anymore
if ($startlastseen == 'no') {
- if ($grades = get_records_select('lesson_grades', "lessonid = $lesson->id AND userid = $USER->id",
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id);
+ if ($grades = $DB->get_records_select('lesson_grades', "lessonid = :lessonid AND userid = :userid", $params,
'grade DESC')) {
$retries = count($grades);
} else {
$retries = 0;
}
- if (!delete_records('lesson_attempts', 'userid', $USER->id, 'lessonid', $lesson->id, 'retry', $retries)) {
+ if (!$DB->delete_records('lesson_attempts', array('userid' => $USER->id, 'lessonid' => $lesson->id, 'retry' => $retries))) {
print_error('Error: could not delete old attempts');
}
- if (!delete_records('lesson_branch', 'userid', $USER->id, 'lessonid', $lesson->id, 'retry', $retries)) {
+ if (!$DB->delete_records('lesson_branch', array('userid' => $USER->id, 'lessonid' => $lesson->id, 'retry' => $retries))) {
print_error('Error: could not delete old seen branches');
}
}
add_to_log($course->id, 'lesson', 'view', 'view.php?id='. $cm->id, $pageid, $cm->id);
- if (!$page = get_record('lesson_pages', 'id', $pageid)) {
+ if (!$page = $DB->get_record('lesson_pages', array('id' => $pageid))) {
print_error('Navigation: the page record not found');
}
// get new id
$pageid = lesson_cluster_jump($lesson->id, $USER->id, $pageid);
// get new page info
- if (!$page = get_record('lesson_pages', 'id', $pageid)) {
+ if (!$page = $DB->get_record('lesson_pages', array('id' => $pageid))) {
print_error('Navigation: the page record not found');
}
add_to_log($course->id, 'lesson', 'view', 'view.php?id='. $cm->id, $pageid, $cm->id);
} else {
// get the next page
$pageid = $page->nextpageid;
- if (!$page = get_record('lesson_pages', 'id', $pageid)) {
+ if (!$page = $DB->get_record('lesson_pages', array('id' => $pageid))) {
print_error('Navigation: the page record not found');
}
}
}
redirect("$CFG->wwwroot/mod/lesson/view.php?id=$cm->id&pageid=$nextpageid");
} else if ($page->qtype == LESSON_ENDOFBRANCH) { // Check for endofbranches
- if ($answers = get_records('lesson_answers', 'pageid', $page->id, 'id')) {
+ if ($answers = $DB->get_records('lesson_answers', array('pageid' => $page->id), 'id')) {
// print_heading(get_string('endofbranch', 'lesson'));
foreach ($answers as $answer) {
// just need the first answer
// get time information for this user
$timer = new stdClass;
if(!has_capability('mod/lesson:manage', $context)) {
- if (!$timer = get_records_select('lesson_timer', "lessonid = $lesson->id AND userid = $USER->id", 'starttime')) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id);
+ if (!$timer = $DB->get_records_select('lesson_timer', "lessonid = :lessonid AND userid = :userid", $params, 'starttime')) {
print_error('Error: could not find records');
} else {
$timer = array_pop($timer); // this will get the latest start time record
// update the clock
if (!has_capability('mod/lesson:manage', $context)) {
$timer->lessontime = time();
- if (!update_record('lesson_timer', $timer)) {
+ if (!$DB->update_record('lesson_timer', $timer)) {
print_error('Error: could not update lesson_timer table');
}
}
if (isset($USER->modattempts[$lesson->id])) {
$retries = count_records('lesson_grades', "lessonid", $lesson->id, "userid", $USER->id);
$retries--;
- if (! $attempts = get_records_select("lesson_attempts", "lessonid = $lesson->id AND userid = $USER->id AND pageid = $page->id AND retry = $retries", "timeseen")) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id, "pageid" => $page->id, "retry" => $retries);
+ if (! $attempts = $DB->get_records_select("lesson_attempts", "lessonid = :lessonid AND userid = :userid AND pageid = :pageid AND retry = :retry", $params, "timeseen")) {
print_error("Previous attempt record could not be found!");
}
$attempt = end($attempts);
}
// get the answers in a set order, the id order
- if ($answers = get_records("lesson_answers", "pageid", $page->id, "id")) {
+ if ($answers = $DB->get_records("lesson_answers", array("pageid" => $page->id), "id")) {
if ($page->qtype != LESSON_BRANCHTABLE) { // To fix XHTML problem (BT have their own forms)
echo "<form id=\"answerform\" method =\"post\" action=\"lesson.php\" autocomplete=\"off\">";
echo '<fieldset class="invisiblefieldset">';
// ...first get number of retakes
$nretakes = count_records("lesson_grades", "lessonid", $lesson->id, "userid", $USER->id);
// ...then get the page ids (lessonid the 5th param is needed to make get_records play)
- $allpages = get_records("lesson_pages", "lessonid", $lesson->id, "id", "id,lessonid");
+ $allpages = $DB->get_records("lesson_pages", array("lessonid" => $lesson->id), "id", "id,lessonid");
shuffle ($allpages);
$found = false;
if ($lesson->nextpagedefault == LESSON_UNSEENPAGE) {
}
} else {
// in normal lesson mode...
- if (!$newpageid = get_field("lesson_pages", "nextpageid", "id", $pageid)) {
+ if (!$newpageid = $DB->get_field("lesson_pages", "nextpageid", array("id" => $pageid))) {
// this is the last page - flag end of lesson
$newpageid = LESSON_EOL;
}
// Update the clock / get time information for this user
if (!has_capability('mod/lesson:manage', $context)) {
unset($USER->startlesson[$lesson->id]);
- if (!$timer = get_records_select('lesson_timer', "lessonid = $lesson->id AND userid = $USER->id", 'starttime')) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id);
+ if (!$timer = $DB->get_records_select('lesson_timer', "lessonid = :lessonid AND userid = :userid", $params, 'starttime')) {
print_error('Error: could not find records');
} else {
$timer = array_pop($timer); // this will get the latest start time record
}
$timer->lessontime = time();
- if (!update_record("lesson_timer", $timer)) {
+ if (!$DB->update_record("lesson_timer", $timer)) {
print_error("Error: could not update lesson_timer table");
}
}
$grade->completed = time();
if (!$lesson->practice) {
if (isset($USER->modattempts[$lesson->id])) { // if reviewing, make sure update old grade record
- if (!$grades = get_records_select("lesson_grades", "lessonid = $lesson->id and userid = $USER->id", "completed")) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id);
+ if (!$grades = $DB->get_records_select("lesson_grades", "lessonid = :lessonid and userid = :userid", $params, "completed")) {
print_error("Could not find Grade Records");
}
$oldgrade = end($grades);
$grade->id = $oldgrade->id;
- if (!$update = update_record("lesson_grades", $grade)) {
+ if (!$update = $DB->update_record("lesson_grades", $grade)) {
print_error("Navigation: grade not updated");
}
} else {
- if (!$newgradeid = insert_record("lesson_grades", $grade)) {
+ if (!$newgradeid = $DB->insert_record("lesson_grades", $grade)) {
print_error("Navigation: grade not inserted");
}
}
} else {
- if (!delete_records("lesson_attempts", "lessonid", $lesson->id, "userid", $USER->id, "retry", $ntries)) {
+ if (!$DB->delete_records("lesson_attempts", array("lessonid" => $lesson->id, "userid" => $USER->id, "retry" => $ntries))) {
print_error("Could not delete lesson attempts");
}
}
$grade->grade = 0;
$grade->completed = time();
if (!$lesson->practice) {
- if (!$newgradeid = insert_record("lesson_grades", $grade)) {
+ if (!$newgradeid = $DB->insert_record("lesson_grades", $grade)) {
print_error("Navigation: grade not inserted");
}
}
// high scores code
if ($lesson->highscores && !has_capability('mod/lesson:manage', $context) && !$lesson->practice) {
echo "<div style=\"text-align:center;\"><br />";
- if ($grades = get_records_select("lesson_grades", "lessonid = $lesson->id", "completed")) {
+ $params = array ("lessonid" => $lesson->id);
+ if ($grades = $DB->get_records_select("lesson_grades", "lessonid = :lessonid", $params, "completed")) {
$madeit = false;
- if ($highscores = get_records_select("lesson_high_scores", "lessonid = $lesson->id")) {
+ if ($highscores = $DB->get_records_select("lesson_high_scores", "lessonid = :lessonid", $params)) {
// get all the high scores into an array
$topscores = array();
$uniquescores = array();
// look at the attempt records to find the first QUESTION page that the user answered, then use that page id
// to pass to view again. This is slick cause it wont call the empty($pageid) code
// $ntries is decremented above
- if (!$attempts = get_records_select("lesson_attempts", "lessonid = $lesson->id AND userid = $USER->id AND retry = $ntries", "timeseen")) {
+ $params = array ("lessonid" => $lesson->id, "userid" => $USER->id, "retry" => $ntries);
+ if (!$attempts = $DB->get_records_select("lesson_attempts", "lessonid = :lessonid AND userid = :userid AND retry = :retry", $params, "timeseen")) {
$attempts = array();
}
$firstattempt = current($attempts);
}
if ($lesson->activitylink) {
- if ($module = get_record('course_modules', 'id', $lesson->activitylink)) {
- if ($modname = get_field('modules', 'name', 'id', $module->module))
- if ($instance = get_record($modname, 'id', $module->instance)) {
+ if ($module = $DB->get_record('course_modules', array('id' => $lesson->activitylink))) {
+ if ($modname = $DB->get_field('modules', 'name', array('id' => $module->module)))
+ if ($instance = $DB->get_record($modname, array('id' => $module->instance))) {
echo "<div style=\"text-align:center; padding:5px;\" class=\"lessonbutton standardbutton\">".
"<a href=\"$CFG->wwwroot/mod/$modname/view.php?id=$lesson->activitylink\">".
get_string('activitylinkname', 'lesson', $instance->name)."</a></div>\n";