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']))
\r
25 $msg->addFeedback('CANCELLED');
\r
26 header('Location: import_export_external_marks.php');
\r
29 else if (isset($_POST['import']))
\r
32 if ($_FILES['file']['size'] < 1)
\r
34 $msg->addError('FILE_EMPTY');
\r
35 header('Location: import_course_list.php');
\r
40 $fp = fopen($_FILES['file']['tmp_name'],'r');
\r
42 while ($data = fgetcsv($fp, 100000, ',')) {
\r
44 if ($line_number > 1)
\r
46 $num_fields = count($data);
\r
47 if ($num_fields == 4)
\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
51 else if ($num_fields != 1)
\r
53 $errors = array('INCORRECT_FILE_FORMAT', $line_number);
\r
54 $msg->addError($errors);
\r
55 header('Location: import_course_list.php');
\r
58 else if (($num_fields == 1) && (trim($data[0]) != ''))
\r
60 $errors = array('INCORRECT_FILE_FORMAT', $line_number);
\r
61 $msg->addError($errors);
\r
62 header('Location: import_course_list.php');
\r
69 /************* INFO GATHERED **************/
\r
71 if ($_POST['verify']) {
\r
72 for ($i=0; $i < $_POST['count']; $i++)
\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
77 if (!empty($students[$i]['error']))
\r
78 $still_errors = TRUE;
\r
81 /**************************************************************************/
\r
82 // !!!!!!STEP 3 - INSERT INTO DB !!!!!!!
\r
83 if (!$still_errors && isset($_POST['update']))
\r
85 update_gradebook_external_test($students, $_POST["gradebook_test_id"]);
\r
86 header('Location: import_export_external_marks.php');
\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
96 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
\r
97 <div class="input-form">
\r
99 <p><?php echo _AT('grade_info'); ?></p>
\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
108 <table class="data static" summary="" rules="cols">
\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
124 if (is_array($students)) {
\r
125 echo ' <tbody>'."\n\r";
\r
126 foreach ($students as $student) {
\r
128 if (!empty($student['conflict']))
\r
129 $has_conflict = TRUE;
\r
131 echo ' <tr>'."\n\r";
\r
132 echo ' <td>'."\n\r";
\r
135 if(!empty($student['error'])) {
\r
136 echo '<span style="color: red;">'.$student['error'];
\r
139 if (empty($student['error']))
\r
141 if ($student['remove'])
\r
142 echo '<span style="color: purple;">'._AT('removed');
\r
144 echo '<span style="color: green;">'._AT('ok');
\r
149 echo '</span></td>'."\n\r";
\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
160 echo ' </tr>'."\n\r";
\r
162 echo ' </tbody>'."\n\r";
\r
166 if ($still_errors || $err_count>0) {
\r
167 $dsbld = 'disabled="disabled"';
\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
180 <span style="padding:0px 10px">|</span>
\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
200 require(AT_INCLUDE_PATH.'footer.inc.php');
\r