file includeteachersgrade.html was added on branch MOODLE_15_STABLE on 2005-07-07...
[moodle.git] / grade / index.php
bloba226a124d08591c8abb4d145808c950ca7c69c18
1 <?PHP
2 require_once("../config.php");
3 require_once("lib.php");
5 $id = required_param('id'); // course id
6 $download = optional_param('download');
7 $user = optional_param('user', -1);
8 $group = optional_param('group', -1);
9 $action = optional_param('action', 'grades');
11 if (!$course = get_record('course', 'id', $id)) {
12 error('No course ID');
15 require_login($course->id);
17 if (isteacher($course->id)) {
18 $group = get_and_set_current_group($course, $course->groupmode, $group);
19 } else {
20 $group = get_current_group($course->id);
24 // if the user set new prefs make sure they happen now
25 if ($action == 'set_grade_preferences' && $prefs = data_submitted()) {
26 if (!confirm_sesskey()) {
27 error(get_string('confirmsesskeybad', 'error'));
29 grade_set_preferences($course, $prefs);
32 $preferences = grade_get_preferences($course->id);
35 // we want this in its own window
36 if ($action == 'stats') {
37 grade_stats();
38 exit();
39 } else if ($action == 'excel') {
40 grade_download('xls', $id);
41 exit();
42 } else if ($action == 'text') {
43 grade_download('txt', $id);
44 exit();
47 print_header($course->shortname.': '.get_string('grades'), $course->fullname, grade_nav($course, $action));
49 grade_preferences_menu($action, $course, $group);
51 grade_set_uncategorized();
53 if (isteacher($course->id)) {
54 switch ($action) {
55 case "cats":
56 grade_set_categories();
57 break;
58 case "insert_category":
59 grade_insert_category();
60 grade_set_categories();
61 break;
62 case "assign_categories":
63 grade_assign_categories();
64 grade_set_categories();
65 break;
66 case "set_grade_weights":
67 grade_set_grade_weights();
68 grade_display_grade_weights();
69 break;
70 case "weights":
71 grade_display_grade_weights();
72 break;
73 case "grades":
74 if ($preferences->use_advanced == 1) {
75 grade_view_all_grades($user);
77 else {
78 // all the grades will be in the 'uncategorized' category
79 grade_view_category_grades($user);
81 break;
82 case "vcats":
83 grade_view_category_grades($user);
84 break;
85 case "prefs":
86 case "set_grade_preferences":
87 grade_display_grade_preferences($course, $preferences);
88 break;
89 case "letters":
90 grade_display_letter_grades();
91 break;
92 case "set_letter_grades":
93 grade_set_letter_grades();
94 grade_display_letter_grades();
95 break;
96 case "delete_category":
97 grade_delete_category();
98 // re-run set_uncategorized as they may have deleted a category that had items in it
99 grade_set_uncategorized();
100 grade_set_categories();
101 break;
102 case "view_student_grades":
103 grade_view_all_grades($user);
104 break;
105 case "view_student_category_grades":
106 grade_view_category_grades($user);
107 break;
108 default:
109 if ($preferences->use_advanced == 1) {
110 grade_view_all_grades($user);
112 else {
113 grade_view_category_grades($user);
115 } // end switch
116 } // end if isTeacher
117 else {
118 if ($preferences->show_weighted || $preferences->show_points || $preferences->show_points) {
120 if ($preferences->use_advanced == 1) {
121 if($action != 'vcats') {
122 grade_view_all_grades($USER->id);
124 else {
125 grade_view_category_grades($USER->id);
127 } else {
128 grade_view_category_grades($USER->id);
131 } else {
132 error(get_string('gradebookhiddenerror','grades'));
134 } // end else (!teacher)
136 print_footer($course);