remove old readme
[atutor.git] / mods / _standard / gradebook / verify_list.php
1 <?php\r
2 /************************************************************************/\r
3 /* ATutor                                                                                                                               */\r
4 /************************************************************************/\r
5 /* Copyright (c) 2002-2010                                              */\r
6 /* Inclusive Design Institute                                           */\r
7 /* http://atutor.ca                                                                                                             */\r
8 /*                                                                                                                                              */\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
13 // $Id$\r
14 \r
15 $page = 'gradebook';\r
16 \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
21 \r
22 /************  GETTING INFO FROM CREATE/IMPORT CALLS  **********/\r
23 if (isset($_POST['cancel'])) \r
24 {\r
25         $msg->addFeedback('CANCELLED');\r
26         header('Location: import_export_external_marks.php');\r
27         exit;\r
28\r
29 else if (isset($_POST['import']))\r
30 {\r
31         //IMPORT\r
32         if ($_FILES['file']['size'] < 1) \r
33         {\r
34                 $msg->addError('FILE_EMPTY');\r
35                 header('Location: import_course_list.php');\r
36                 exit;\r
37         } \r
38         else \r
39         {\r
40                 $fp = fopen($_FILES['file']['tmp_name'],'r');\r
41                 $line_number=0;\r
42                 while ($data = fgetcsv($fp, 100000, ',')) {\r
43                         $line_number++;\r
44                         if ($line_number > 1)\r
45                         {\r
46                                 $num_fields = count($data);\r
47                                 if ($num_fields == 4)\r
48                                 {\r
49                                         $students[] = check_user_info(array('fname' => $data[0], 'lname' => $data[1], 'email' => $data[2], 'grade' => $data[3], 'gradebook_test_id' => $_POST['gradebook_test_id']));\r
50                                 } \r
51                                 else if ($num_fields != 1) \r
52                                 {\r
53                                         $errors = array('INCORRECT_FILE_FORMAT', $line_number);\r
54                                         $msg->addError($errors);\r
55                                         header('Location: import_course_list.php');\r
56                                         exit;\r
57                                 } \r
58                                 else if (($num_fields == 1) && (trim($data[0]) != '')) \r
59                                 {\r
60                                         $errors = array('INCORRECT_FILE_FORMAT', $line_number);\r
61                                         $msg->addError($errors);\r
62                                         header('Location: import_course_list.php');\r
63                                         exit;\r
64                                 }\r
65                         }\r
66                 }\r
67         }\r
68 }\r
69 /*************  INFO GATHERED  **************/\r
70 \r
71 if ($_POST['verify']) {\r
72         for ($i=0; $i < $_POST['count']; $i++) \r
73         {\r
74                 $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
75                 $students[] = check_user_info($info);\r
76 \r
77                 if (!empty($students[$i]['error']))\r
78                         $still_errors = TRUE;\r
79         }\r
80 \r
81         /**************************************************************************/\r
82         // !!!!!!STEP 3 - INSERT INTO DB !!!!!!!\r
83         if (!$still_errors && isset($_POST['update'])) \r
84         {\r
85                 update_gradebook_external_test($students, $_POST["gradebook_test_id"]);\r
86                 header('Location: import_export_external_marks.php');   \r
87                 exit;\r
88         }\r
89 }\r
90 \r
91 require(AT_INCLUDE_PATH.'header.inc.php');\r
92 // STEP 2 - INTERNAL VERIFICATION\r
93 if ($still_errors || !isset($_POST['verify']) || isset($_POST['resubmit'])) { \r
94 ?>\r
95 \r
96         <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">\r
97         <div class="input-form">\r
98                 <div class="row">\r
99                         <p><?php echo _AT('grade_info'); ?></p>\r
100                 </div>\r
101         </div>\r
102 \r
103         <input type="hidden" name="verify" value="1" />\r
104         <input type="hidden" name="gradebook_test_id" value="<?php echo $_POST["gradebook_test_id"]; ?>" />\r
105         <input type="hidden" name="solve_conflict" value="<?php echo $_POST["solve_conflict"]; ?>" />\r
106         <input type="hidden" name="count" value="<?php echo count($students); ?>" />\r
107                 \r
108         <table class="data static" summary="" rules="cols">\r
109         <thead>\r
110         <tr>\r
111                 <th scope="col"><?php echo _AT('status');     ?></th>\r
112                 <th scope="col"><?php echo _AT('first_name'); ?></th>\r
113                 <th scope="col"><?php echo _AT('last_name');  ?></th>\r
114                 <th scope="col"><?php echo _AT('email');      ?></th>\r
115                 <th scope="col"><?php echo _AT('grade'); ?></th>\r
116                 <th scope="col"><?php echo _AT('remove');     ?></th>\r
117         </tr>\r
118         </thead>\r
119 <?php\r
120 \r
121         $err_count = 0;\r
122         $i=0;\r
123 \r
124         if (is_array($students)) {\r
125                 echo '  <tbody>'."\n\r";\r
126                 foreach ($students as $student) {\r
127 \r
128                         if (!empty($student['conflict']))\r
129                                 $has_conflict = TRUE;\r
130         \r
131                         echo '          <tr>'."\n\r";\r
132                         echo '                  <td>'."\n\r";\r
133 \r
134                         //give status\r
135                         if(!empty($student['error'])) {\r
136                                 echo '<span style="color: red;">'.$student['error'];\r
137                         }\r
138 \r
139                         if (empty($student['error'])) \r
140                         {\r
141                                 if ($student['remove'])\r
142                                         echo '<span style="color: purple;">'._AT('removed');\r
143                                 else \r
144                                         echo '<span style="color: green;">'._AT('ok');                                                          \r
145                         } \r
146                         else \r
147                                 $err_count++;\r
148 \r
149                         echo '</span></td>'."\n\r";\r
150 \r
151                         echo '                  <td><input type="text" name="fname'.$i.'" value="'.$student['fname'].'" /></td>'."\n\r";\r
152                         echo '                  <td><input type="text" name="lname'.$i.'" value="'.$student['lname'].'" /></td>'."\n\r";\r
153                         echo '                  <td><input type="text" name="email'.$i.'" value="'.$student['email'].'" /></td>'."\n\r";\r
154                         echo '                  <td><input type="text" name="grade'.$i.'" value="'.$student['grade'].'" /></td>'."\n\r";\r
155                         echo '                  <td><input type="checkbox" ';                                   \r
156                         echo ($student['remove'] ? 'checked="checked" value="on"' : '');                                          \r
157                         echo 'name="remove'.$i.'" /></td>'."\n\r";\r
158 \r
159                         $i++;\r
160                         echo '          </tr>'."\n\r";\r
161                 }\r
162                 echo '  </tbody>'."\n\r";\r
163         }\r
164 \r
165         $dsbld = '';\r
166         if ($still_errors || $err_count>0) {\r
167                 $dsbld = 'disabled="disabled"';\r
168         } \r
169 ?>\r
170 \r
171         <tfoot>\r
172         <tr>\r
173                 <td colspan="6">\r
174                         <input type="submit" name="resubmit" value="<?php echo _AT('resubmit'); ?>" />\r
175                         <input type="submit" name="update" value="<?php echo _AT('update'); ?>" <?php echo $dsbld; ?> />\r
176 <?php\r
177 if ($has_conflict)\r
178 {\r
179 ?>\r
180                         <span style="padding:0px 10px">|</span> \r
181                         \r
182                         <select name="solve_conflict">\r
183                                 <option value="0"><?php echo _AT('how_to_solve_conflict'); ?></option>\r
184                                         <option value="<?php echo USE_HIGHER_GRADE; ?>"><?php echo _AT('use_higher_grade'); ?></option>\r
185                                         <option value="<?php echo USE_LOWER_GRADE; ?>"><?php echo _AT('use_lower_grade'); ?></option>   \r
186                                         <option value="<?php echo NOT_OVERWRITE; ?>"><?php echo _AT('not_overwrite'); ?></option>\r
187                                         <option value="<?php echo OVERWRITE; ?>"><?php echo _AT('overwrite'); ?></option>                               \r
188                         </select>\r
189 <?php\r
190 }\r
191 ?>\r
192                 </td>\r
193         </tr>\r
194         </tfoot>\r
195 \r
196         </table>\r
197         </form><?php\r
198 }\r
199 \r
200 require(AT_INCLUDE_PATH.'footer.inc.php');\r
201 ?>