require_once "lib/gradebook.inc.php"; if (isset($_GET['cancel'])) { $msg->addFeedback('CANCELLED'); header('Location: gradebook_tests.php'); exit; } else { if (isset($_GET['save'])) { foreach ($_GET as $key => $value) { $value = $addslashes($value); if (preg_match('/^grade_(.*)_(.*)$/', $key, $matches) > 0) { $matches[1] = intval($matches[1]); $matches[2] = intval($matches[2]); $sql = "SELECT grade_scale_id FROM " . TABLE_PREFIX . "gradebook_tests WHERE gradebook_test_id = " . $matches[1]; $result = mysql_query($sql, $db) or die(mysql_error()); $row = mysql_fetch_assoc($result); $sql = "REPLACE " . TABLE_PREFIX . "gradebook_detail SET gradebook_test_id = " . $matches[1] . ", member_id=" . $matches[2] . ", grade='" . get_mark_by_grade($row["grade_scale_id"], $value) . "'"; $result = mysql_query($sql, $db) or die(mysql_error()); } } } } $orders = array('asc' => 'desc', 'desc' => 'asc'); if (isset($_GET['asc'])) { $order = 'asc'; $order_col = $addslashes($_GET['asc']); } else { if (isset($_GET['desc'])) { $order = 'desc'; $order_col = $addslashes($_GET['desc']); } else { // no order set
function get_class_avg($gradebook_test_id) { global $db; $sql = "SELECT * FROM " . TABLE_PREFIX . "gradebook_tests WHERE gradebook_test_id=" . $gradebook_test_id; $result = mysql_query($sql, $db) or die(mysql_error()); $row = mysql_fetch_assoc($result); if ($row["id"] != 0) { require_once AT_INCLUDE_PATH . '../mods/_standard/tests/lib/test_result_functions.inc.php'; $sql_test = "SELECT * FROM " . TABLE_PREFIX . "tests WHERE test_id=" . $row["id"]; $result_test = mysql_query($sql_test, $db) or die(mysql_error()); $row_test = mysql_fetch_assoc($result_test); if ($row_test['out_of'] == 0 || $row_test['result_release'] == AT_RELEASE_NEVER) { return _AT("na"); } $sql_marks = "SELECT * FROM " . TABLE_PREFIX . "tests_results WHERE test_id=" . $row["id"] . " AND status=1"; $result_marks = mysql_query($sql_marks, $db) or die(mysql_error()); $num_students = 0; $total_final_score = 0; $total_out_of = 0; while ($row_marks = mysql_fetch_assoc($result_marks)) { if ($row_marks['final_score'] == '') { continue; } $num_students++; $total_final_score += $row_marks["final_score"]; if ($row_test['random']) { $total_out_of += get_random_outof($row_marks['test_id'], $row_marks['result_id']); } else { $total_out_of += $row_test['out_of']; } } if ($num_students > 0) { $avg_final_score = round($total_final_score / $num_students); $avg_out_of = round($total_out_of / $num_students); } if ($avg_final_score != "") { $avg_grade = get_mark_by_grade($row["grade_scale_id"], $avg_final_score, $avg_out_of); } else { $avg_grade = ""; } } else { $sql_grades = "SELECT * FROM " . TABLE_PREFIX . "gradebook_detail WHERE gradebook_test_id=" . $gradebook_test_id . " ORDER BY grade"; $result_grades = mysql_query($sql_grades, $db) or die(mysql_error()); $grade_array = array(); while ($row_grades = mysql_fetch_assoc($result_grades)) { $grade_array[] = $row_grades["grade"]; } $avg_grade = median($grade_array); } if ($avg_grade == "") { return _AT("na"); } else { return $avg_grade; } }
if (isset($_GET['cancel'])) { $msg->addFeedback('CANCELLED'); $return_url = $_SESSION['tool_origin']['url']; tool_origin('off'); header('Location: ' . $return_url); exit; } else { if (isset($_GET['save'])) { foreach ($_GET as $key => $value) { $value = $addslashes($value); if (preg_match('/^grade_(.*)_(.*)$/', $key, $matches) > 0) { $matches[1] = intval($matches[1]); $matches[2] = intval($matches[2]); $sql = "SELECT grade_scale_id FROM %sgradebook_tests WHERE gradebook_test_id = %d"; $row = queryDB($sql, array(TABLE_PREFIX, $matches[1]), TRUE); $sql = "REPLACE %sgradebook_detail SET gradebook_test_id = %d, member_id=%d, grade='" . get_mark_by_grade($row["grade_scale_id"], $value) . "'"; $result = queryDB($sql, array(TABLE_PREFIX, $matches[1], $matches[2])); if ($result > 0) { $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY'); } } } } } $orders = array('asc' => 'desc', 'desc' => 'asc'); if (isset($_GET['asc'])) { $order = 'asc'; $order_col = $addslashes($_GET['asc']); } else { if (isset($_GET['desc'])) { $order = 'desc';
function get_class_avg($gradebook_test_id) { $sql = "SELECT * FROM %sgradebook_tests WHERE gradebook_test_id=%d"; $row = queryDB($sql, array(TABLE_PREFIX, $gradebook_test_id), TRUE); if ($row["id"] != 0) { require_once AT_INCLUDE_PATH . '../mods/_standard/tests/lib/test_result_functions.inc.php'; $sql_test = "SELECT * FROM %stests WHERE test_id=%d"; $row_test = queryDB($sql_test, array(TABLE_PREFIX, $row["id"]), TRUE); if ($row_test['out_of'] == 0 || $row_test['result_release'] == AT_RELEASE_NEVER) { return _AT("na"); } $sql_marks = "SELECT * FROM %stests_results WHERE test_id=%d AND status=1"; $rows_marks = queryDB($sql_marks, array(TABLE_PREFIX, $row["id"])); $num_students = 0; $total_final_score = 0; $total_out_of = 0; foreach ($rows_marks as $row_marks) { if ($row_marks['final_score'] == '') { continue; } $num_students++; $total_final_score += $row_marks["final_score"]; if ($row_test['random']) { $total_out_of += get_random_outof($row_marks['test_id'], $row_marks['result_id']); } else { $total_out_of += $row_test['out_of']; } } if ($num_students > 0) { $avg_final_score = round($total_final_score / $num_students); $avg_out_of = round($total_out_of / $num_students); } if ($avg_final_score != "") { $avg_grade = get_mark_by_grade($row["grade_scale_id"], $avg_final_score, $avg_out_of); } else { $avg_grade = ""; } } else { $sql_grades = "SELECT * FROM %sgradebook_detail WHERE gradebook_test_id= %d ORDER BY grade"; $rows_grades = queryDB($sql_grades, array(TABLE_PREFIX, $gradebook_test_id)); $grade_array = array(); foreach ($rows_grades as $row_grades) { $grade_array[] = $row_grades["grade"]; } $avg_grade = median($grade_array); } if ($avg_grade == "") { return _AT("na"); } else { return $avg_grade; } }