/** * gets a user's latest grades * * prints $user's $number latest grades, using get_latest_grades(), and * prints them */ function display_latest_grades($user, $number, $class) { $grades = get_latest_grades($user, $number, $class, current_semester); if ($grades != "No grades.") { // break the grades string down into individual grades $grades = explode("--", $grades); print "<ul>"; foreach ($grades as $grade) { // to get rid of the empty grade if ($grade != "") { // break the grade string down into its individual pieces list($class_id, $assign_id, $assign_name, $assign_date, $points_possible, $points_scored, $grading_period) = split("::", $grade); // get the class's name and print the grade $class_name = @query("SELECT `name` FROM `classes` WHERE `ID`='{$class_id}' LIMIT 1") or die("Error getting class name."); $class_name = result($class_name); $class_name = $class_name->name; print "<li>{$class_name} -- {$assign_name}: {$points_scored}/{$points_possible}</li>"; } } print "</ul>"; } }
/** * return a user's latest grades as a rss feed * * gets $user's $number latest grades (from $class; 'all' for all their classes), * using get_latest_grades(), and makes a rss feed out of them */ function rss_latest_grades($user, $number, $class) { $real_name = "SELECT `firstname`,`surname` FROM `users` WHERE `ID`='{$user}' LIMIT 1"; $realname = query($real_name) or die("Error getting information from the database."); while ($row = result($realname)) { $real_name = stripslashes($row->firstname) . " " . stripslashes($row->surname); } $latest_date = "SELECT MAX(`date_assigned`) FROM `grades` WHERE `student_ID`='{$user}' LIMIT 1"; $latest_date = @query($latest_date) or die("Error getting information from the database."); $latest_date = command_result($latest_date, 0); rss_header("{$real_name}'s grades", "your latest grades", "http://" . server_root . "classes.php", $latest_date); $grades = get_latest_grades($user, $number, $class, current_semester); // break the grades string down into individual grades $grades = explode("--", $grades); foreach ($grades as $grade) { // to get rid of the empty grade if ($grade != "") { // break the grade string down into its individual pieces list($class_id, $assign_id, $assign_name, $assign_date, $points_possible, $points_scored, $grading_period) = split("::", $grade); // get the class's name and print the grade $class_name = @query("SELECT `name` FROM `classes` WHERE `ID`='{$class_id}' LIMIT 1") or die("Error getting class name."); $result = result($class_name); $class_name = $result->name; // time to rss-ify 'em rss_item($class_name . "-- " . $assign_name, "{$points_scored}/{$points_possible}", server_root . "/assignment.php?class={$class_id}%26id={$assign_id}", $assign_date); } } rss_footer(); }
} else { $this_semester = $grading_period; $n = 4; $other_semesters = ""; while (isset($classdata[$n])) { if ($classdata[$n] != $this_semester) { $other_semesters .= "<a href=\"classes.php?class={$requested_class}&gp={$classdata[$n]}\" title=\"assignments for grading period {$classdata[$n]}\">{$classdata[$n]}</a> "; } $n++; } } print "<p>Current Grading Period: {$this_semester}<br />Other Grading Periods: {$other_semesters}</p>"; print "<p>Average: " . class_average($the_student, $requested_class, $grading_period) . "%</p></div>"; } // get his or her assignments $list_of_grades = get_latest_grades($the_student, "all", $requested_class, $grading_period) or die("Error getting your grades."); if ($list_of_grades == "No grades.") { print "<br />You currently have no grades for this class."; die; } $grades = explode("--", $list_of_grades); // for alternating colours $colour = 0; foreach ($grades as $grade) { if ($grade != "") { list($class_id, $assignment_number, $assignment_name, $date_assigned, $points_possible, $points_scored, $grading_period, $comment) = split("::", $grade); print "<div class=\"grades"; if ($colour == 0) { print "0"; $colour = 1; } else {