move code up one directory
[atutor.git] / mods / _standard / gradebook / html / grade_scale_add_edit.inc.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 /************************************************************************/\r
16 /*\r
17 /* This script is called by gradebook/grade_scale_add.php, gradebook/grade_scale_edit.php\r
18 /* to add/edit grade scales\r
19 /*\r
20 /* Required parameter: $action: "add" or "edit"\r
21 /*\r
22 /************************************************************************/\r
23 \r
24 $page = 'gradebook';\r
25 \r
26 define('AT_INCLUDE_PATH', '../../../include/');\r
27 require (AT_INCLUDE_PATH.'vitals.inc.php');\r
28 authenticate(AT_PRIV_GRADEBOOK);\r
29 \r
30 require('lib/gradebook.inc.php');\r
31 \r
32 if (isset($_POST['action'])) $action = $_POST['action'];\r
33 \r
34 if (isset($_POST['cancel'])) \r
35 {\r
36         $msg->addFeedback('CANCELLED');\r
37         header('Location: grade_scale.php');\r
38         exit;\r
39\r
40 else if (isset($_POST['submit'])) \r
41 {\r
42         $_POST['scale_name']    = trim($_POST['scale_name']);\r
43 \r
44         $empty_fields = array();\r
45         if ($_POST['scale_value'][0] == '') \r
46         {\r
47                 $empty_fields[] = _AT('scale_value').' at line 1';\r
48         }\r
49 \r
50         if ($_POST['percentage_from'][0] == '') \r
51         {\r
52                 $empty_fields[] = _AT('percentage_from').' at line 1';\r
53         }\r
54 \r
55         if ($_POST['percentage_to'][0] == '') \r
56         {\r
57                 $empty_fields[] = _AT('percentage_to').' at line 1';\r
58         }\r
59 \r
60         if (!empty($empty_fields)) \r
61         {\r
62                 $msg->addError(array('EMPTY_FIELDS', implode(', ', $empty_fields)));\r
63         }\r
64 \r
65         if (!$msg->containsErrors()) \r
66         {\r
67                 $_POST['scale_name']   = $addslashes($_POST['scale_name']);\r
68 \r
69                 if ($action == "add")\r
70                 {\r
71                         $sql    = "INSERT INTO ".TABLE_PREFIX."grade_scales\r
72                                  (member_id, scale_name, created_date) \r
73                                  VALUES (" . $_SESSION["member_id"] . ", '". $_POST["scale_name"] ."', now())";\r
74                         $result = mysql_query($sql, $db) or die(mysql_error());\r
75                         \r
76                         $grade_scale_id = mysql_insert_id();\r
77                 }\r
78                 else if ($action == "edit" && isset($_POST["grade_scale_id"]))\r
79                 {\r
80                         $grade_scale_id = $_POST["grade_scale_id"];\r
81                         \r
82                         $sql    = "UPDATE ".TABLE_PREFIX."grade_scales\r
83                                     SET scale_name = '".$_POST["scale_name"]."'\r
84                                  WHERE grade_scale_id = ". $grade_scale_id;\r
85                         $result = mysql_query($sql, $db) or die(mysql_error());\r
86                         \r
87                         // clean up scale details for new insertions\r
88                         $sql = "DELETE FROM ".TABLE_PREFIX."grade_scales_detail WHERE grade_scale_id = ". $grade_scale_id;\r
89                         $result = mysql_query($sql, $db) or die(mysql_error());\r
90                 }\r
91                 \r
92                 for ($i=0; $i<10; $i++) \r
93                 {\r
94                         if ($_POST['scale_value'][$i] <> "")\r
95                         {\r
96                                 $_POST['scale_value'][$i] = $addslashes(trim($_POST['scale_value'][$i]));\r
97                                 $_POST['percentage_from'][$i] = intval($_POST['percentage_from'][$i]);\r
98                                 $_POST['percentage_to'][$i] = intval($_POST['percentage_to'][$i]);\r
99         \r
100                                 $sql    = "INSERT INTO ".TABLE_PREFIX."grade_scales_detail\r
101                                          (grade_scale_id, scale_value, percentage_from, percentage_to) \r
102                                          VALUES (" . $grade_scale_id . ", '". $_POST['scale_value'][$i] ."', ".$_POST['percentage_from'][$i].", ".$_POST['percentage_to'][$i].")";\r
103 \r
104 //                              print $sql;\r
105                                 $result = mysql_query($sql, $db) or die(mysql_error());\r
106                         }\r
107                 }\r
108                 \r
109                 $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');\r
110                 header('Location: grade_scale.php');\r
111                 exit;\r
112         }\r
113\r
114 else if (isset($_POST['preset']) || ($action == 'edit' && isset($_REQUEST['grade_scale_id']))) \r
115 {\r
116         if (isset($_POST['selected_grade_scale_id']))\r
117         {\r
118                 // clean up values preset previously\r
119                 unset($_POST["scale_value"]);\r
120                 unset($_POST["percentage_from"]);\r
121                 unset($_POST["percentage_to"]);\r
122         }\r
123 \r
124         if (!$msg->containsErrors() && $_POST['selected_grade_scale_id'] > 0) \r
125         {\r
126                 // load preset\r
127                 $_POST['selected_grade_scale_id'] = intval($_POST['selected_grade_scale_id']);\r
128                 $sql    = "SELECT * FROM ".TABLE_PREFIX."grade_scales_detail d, ".TABLE_PREFIX."grade_scales g WHERE d.grade_scale_id = g.grade_scale_id AND d.grade_scale_id=".$_POST[selected_grade_scale_id]." ORDER BY percentage_to DESC";\r
129         }\r
130         else if ($action == 'edit' && isset($_REQUEST['grade_scale_id']))\r
131         {\r
132                 // edit existing\r
133                 $sql    = "SELECT * FROM ".TABLE_PREFIX."grade_scales_detail d, ".TABLE_PREFIX."grade_scales g WHERE d.grade_scale_id = g.grade_scale_id AND d.grade_scale_id=".$_REQUEST['grade_scale_id']." ORDER BY percentage_to DESC";\r
134         }\r
135         \r
136         $result = mysql_query($sql, $db) or die(mysql_error());\r
137         \r
138         $i = 0;\r
139         while ($row = mysql_fetch_assoc($result))\r
140         {\r
141                 $_POST["scale_name"] = $row["scale_name"];\r
142                 $_POST["scale_value"][$i] = $row["scale_value"];\r
143                 $_POST["percentage_from"][$i] = $row["percentage_from"];\r
144                 $_POST["percentage_to"][$i] = $row["percentage_to"];\r
145                 \r
146                 $i++;\r
147         }\r
148 }\r
149 \r
150 $onload = 'document.form.selected_grade_scale_id.focus();';\r
151 \r
152 require(AT_INCLUDE_PATH.'header.inc.php');\r
153 ?>\r
154 \r
155 <form action="<?php echo $_SERVER['PHP_SELF'] . (isset($_REQUEST['grade_scale_id'])? "?grade_scale_id=".$_REQUEST['grade_scale_id'] : ""); ?>" method="post" name="form">\r
156 <input type="hidden" name="grade_scale_id" value="<?php echo $_REQUEST['grade_scale_id']; ?>" />\r
157 <input type="hidden" name="action" value="<?php echo $action; ?>" />\r
158 \r
159 <div class="input-form">\r
160         <fieldset class="group_form"><legend class="group_form"><?php echo _AT('preset_scales'); ?></legend>\r
161 \r
162         <div class="row">\r
163         <?php print_grade_scale_selectbox($_POST["selected_grade_scale_id"]); ?>\r
164         </div>\r
165         \r
166         <div class="row buttons">\r
167                 <input type="submit" name="preset" value="<?php echo _AT('set_preset'); ?>" class="button" />\r
168         </div>\r
169         </fieldset>\r
170 \r
171         <fieldset  class="group_form"><legend class="group_form"><?php echo _AT('grade_scale'); ?></legend>\r
172         \r
173         <div>\r
174                 <label for="scale_name"><?php echo _AT('name'); ?></label><br />\r
175                 <input type="text" id="scale_name" size="30" name="scale_name" value="<?php echo htmlspecialchars(stripslashes($_POST['scale_name'])); ?>" /><br /><br />\r
176         </div>\r
177                 <table>\r
178 <?php for ($i=0; $i<10; $i++) { ?>\r
179                 <tr>\r
180                         <td>\r
181                         </td>\r
182                         <td>\r
183                         <?php if ($i==0) { ?>\r
184                                 <span class="required" title="<?php echo _AT('required_field'); ?>">*</span>\r
185                         <?php } ?>\r
186                         <?php echo _AT('scale_value'); ?>\r
187                         </td>\r
188 \r
189                         <td>\r
190                         <?php if ($i==0) { ?>\r
191                                 <span class="required" title="<?php echo _AT('required_field'); ?>">*</span>\r
192                         <?php } ?>\r
193                         <?php echo _AT('percentage_from'); ?>\r
194                         </td>\r
195 \r
196                         <td>\r
197                         <?php if ($i==0) { ?>\r
198                                 <span class="required" title="<?php echo _AT('required_field'); ?>">*</span>\r
199                         <?php } ?>\r
200                         <?php echo _AT('percentage_to'); ?>\r
201                         </td>\r
202                 </tr>\r
203 \r
204                 <tr>\r
205                         <td><?php echo $i+1; ?></td>\r
206                         <td><input type="text" id="scale_value_<?php echo $i; ?>" size="40" name="scale_value[<?php echo $i; ?>]" value="<?php echo htmlspecialchars(stripslashes($_POST['scale_value'][$i])); ?>" /></td>\r
207                         <td><input type="text" id="percentage_from_<?php echo $i; ?>" size="10" name="percentage_from[<?php echo $i; ?>]" value="<?php echo htmlspecialchars(stripslashes($_POST['percentage_from'][$i])); ?>" />%</td>\r
208                         <td><input type="text" id="percentage_to_<?php echo $i; ?>" size="10" name="percentage_to[<?php echo $i; ?>]" value="<?php echo htmlspecialchars(stripslashes($_POST['percentage_to'][$i])); ?>" />%</td>\r
209                 </tr>\r
210 <?php } ?>\r
211                 </table>\r
212 \r
213         <div class="row buttons">\r
214                 <input type="submit" value="<?php echo _AT('save'); ?>"   name="submit" accesskey="s" />\r
215                 <input type="submit" value="<?php echo _AT('cancel'); ?>" name="cancel" />\r
216         </div>\r
217         </fieldset>\r
218 </div>\r
219 </form>\r
220 \r
221 <?php require (AT_INCLUDE_PATH.'footer.inc.php');  ?>