2 /************************************************************************/
\r
4 /************************************************************************/
\r
5 /* Copyright (c) 2002-2010 */
\r
6 /* Inclusive Design Institute */
\r
7 /* http://atutor.ca */
\r
9 /* This program is free software. You can redistribute it and/or */
\r
10 /* modify it under the terms of the GNU General Public License */
\r
11 /* as published by the Free Software Foundation. */
\r
12 /************************************************************************/
\r
15 $page = 'gradebook';
\r
17 define('AT_INCLUDE_PATH', '../../../include/');
\r
18 require (AT_INCLUDE_PATH.'vitals.inc.php');
\r
19 authenticate(AT_PRIV_ENROLLMENT);
\r
20 require('lib/gradebook.inc.php');
\r
22 /************ GETTING INFO FROM CREATE/IMPORT CALLS **********/
\r
23 if (isset($_POST['cancel']) || !isset($_POST["gradebook_test_id"]) || !isset($_POST["test_id"]))
\r
25 $msg->addFeedback('CANCELLED');
\r
26 header('Location: update_gradebook.php');
\r
29 else if (isset($_POST['combine']))
\r
31 //Check if the "combine from test" has students taking it more than once
\r
34 $sql = "SELECT title FROM ".TABLE_PREFIX."tests WHERE test_id=".$_POST["test_id"];
\r
35 $result = mysql_query($sql, $db) or die(mysql_error());
\r
36 $row = mysql_fetch_assoc($result);
\r
38 $studs_take_num = get_studs_take_more_than_once($_SESSION["course_id"], $_POST["test_id"]);
\r
40 foreach ($studs_take_num as $member_id => $num)
\r
42 if ($no_error) $no_error = false;
\r
43 $error_msg .= get_display_name($member_id) . ": " . $num . " times<br>";
\r
48 $error = array('COMBINE_TESTS',
\r
51 $msg->addError($error);
\r
54 if (!$msg->containsErrors())
\r
56 $sql = "SELECT id, grade_scale_id FROM ".TABLE_PREFIX."gradebook_tests WHERE gradebook_test_id = ". $_POST["gradebook_test_id"];
\r
57 $result = mysql_query($sql, $db) or die(mysql_error());
\r
58 $row = mysql_fetch_assoc($result) or die(mysql_error());
\r
59 $grade_scale_id = $row["grade_scale_id"];
\r
61 $sql = "SELECT m.first_name, m.last_name, m.email, e.member_id FROM ".TABLE_PREFIX."members m, ".TABLE_PREFIX."course_enrollment e WHERE m.member_id = e.member_id AND e.course_id=".$_SESSION["course_id"]." AND e.approved='y' AND e.role<>'Instructor' ORDER BY m.first_name,m.last_name";
\r
62 $result = mysql_query($sql, $db) or die(mysql_error());
\r
64 while ($row = mysql_fetch_assoc($result))
\r
66 $grade = get_member_grade($_POST["test_id"], $row["member_id"], $grade_scale_id);
\r
69 $students[] = check_user_info(array('member_id' => $row["member_id"], 'fname' => $row["first_name"], 'lname' => $row["last_name"], 'email' => $row["email"], 'grade' => $grade, 'gradebook_test_id' => $_POST['gradebook_test_id']));
\r
72 if (count($students) == 0)
\r
74 $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');
\r
75 header('Location: update_gradebook.php');
\r
82 header('Location: update_gradebook.php');
\r
87 /************* INFO GATHERED **************/
\r
89 if ($_POST['verify']) {
\r
90 for ($i=0; $i < $_POST['count']; $i++)
\r
92 $info = array('fname' => $_POST['fname'.$i], 'lname' => $_POST['lname'.$i], 'email' => $_POST['email'.$i], 'grade' => $_POST['grade'.$i], 'remove' => $_POST['remove'.$i], 'gradebook_test_id' => $_POST["gradebook_test_id"], 'solve_conflict' => $_POST["solve_conflict"]);
\r
93 $students[] = check_user_info($info);
\r
95 if (!empty($students[$i]['error']))
\r
96 $still_errors = TRUE;
\r
99 /**************************************************************************/
\r
100 // !!!!!!STEP 3 - INSERT INTO DB !!!!!!!
\r
102 if (!$still_errors && isset($_POST['update']))
\r
104 update_gradebook_external_test($students, $_POST["gradebook_test_id"]);
\r
105 header('Location: update_gradebook.php');
\r
110 require(AT_INCLUDE_PATH.'header.inc.php');
\r
111 // STEP 2 - INTERNAL VERIFICATION
\r
112 if ($still_errors || !isset($_POST['verify']) || isset($_POST['resubmit'])) {
\r
115 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
\r
116 <div class="input-form">
\r
118 <p><?php echo _AT('grade_info'); ?></p>
\r
122 <input type="hidden" name="verify" value="1" />
\r
123 <input type="hidden" name="gradebook_test_id" value="<?php echo $_POST["gradebook_test_id"]; ?>" />
\r
124 <input type="hidden" name="test_id" value="<?php echo $_POST["test_id"]; ?>" />
\r
125 <input type="hidden" name="solve_conflict" value="<?php echo $_POST["solve_conflict"]; ?>" />
\r
126 <input type="hidden" name="count" value="<?php echo count($students); ?>" />
\r
128 <table class="data static" summary="" rules="cols">
\r
131 <th scope="col"><?php echo _AT('status'); ?></th>
\r
132 <th scope="col"><?php echo _AT('first_name'); ?></th>
\r
133 <th scope="col"><?php echo _AT('last_name'); ?></th>
\r
134 <th scope="col"><?php echo _AT('email'); ?></th>
\r
135 <th scope="col"><?php echo _AT('grade'); ?></th>
\r
136 <th scope="col"><?php echo _AT('remove'); ?></th>
\r
144 if (is_array($students)) {
\r
145 echo ' <tbody>'."\n\r";
\r
146 foreach ($students as $student) {
\r
148 if (!empty($student['conflict']))
\r
149 $has_conflict = TRUE;
\r
151 echo ' <tr>'."\n\r";
\r
152 echo ' <td>'."\n\r";
\r
155 if(!empty($student['error'])) {
\r
156 echo '<span style="color: red;">'.$student['error'];
\r
159 if (empty($student['error']))
\r
161 if ($student['remove'])
\r
162 echo '<span style="color: purple;">'._AT('removed');
\r
164 echo '<span style="color: green;">'._AT('ok');
\r
169 echo '</span></td>'."\n\r";
\r
171 echo ' <td>'.$student['fname'].'</td>'."\n\r";
\r
172 echo ' <td>'.$student['lname'].'</td>'."\n\r";
\r
173 echo ' <td>'.$student['email'].'</td>'."\n\r";
\r
174 echo ' <td><input type="text" name="grade'.$i.'" value="'.$student['grade'].'" /></td>'."\n\r";
\r
175 echo ' <td><input type="checkbox" ';
\r
176 echo ($student['remove'] ? 'checked="checked" value="on"' : '');
\r
177 echo 'name="remove'.$i.'" /></td>'."\n\r";
\r
179 echo ' <input type="hidden" name="fname'.$i.'" value="'.$student['fname'].'" />'."\n\r";
\r
180 echo ' <input type="hidden" name="lname'.$i.'" value="'.$student['lname'].'" />'."\n\r";
\r
181 echo ' <input type="hidden" name="email'.$i.'" value="'.$student['email'].'" />'."\n\r";
\r
184 echo ' </tr>'."\n\r";
\r
186 echo ' </tbody>'."\n\r";
\r
190 if ($still_errors || $err_count>0) {
\r
191 $dsbld = 'disabled="disabled"';
\r
198 <input type="submit" name="resubmit" value="<?php echo _AT('resubmit'); ?>" />
\r
199 <input type="submit" name="update" value="<?php echo _AT('update'); ?>" <?php echo $dsbld; ?> />
\r
204 <span style="padding:0px 10px">|</span>
\r
206 <select name="solve_conflict">
\r
207 <option value="0"><?php echo _AT('how_to_solve_conflict'); ?></option>
\r
208 <option value="<?php echo USE_HIGHER_GRADE; ?>"><?php echo _AT('use_higher_grade'); ?></option>
\r
209 <option value="<?php echo USE_LOWER_GRADE; ?>"><?php echo _AT('use_lower_grade'); ?></option>
\r
210 <option value="<?php echo NOT_OVERWRITE; ?>"><?php echo _AT('not_overwrite'); ?></option>
\r
211 <option value="<?php echo OVERWRITE; ?>"><?php echo _AT('overwrite'); ?></option>
\r
224 require(AT_INCLUDE_PATH.'footer.inc.php');
\r