Chat window now opens with no messages inside.
[Assignment-Trapper.git] / assignment_add.php
blob998b9aa89d937b43e1c0ce031883e570b3d95901
1 <?php
3 include_once("auth_root.php");
5 if($role != 0) { die("Account \"".$user_name."\" Is Not Authorized To View This Page.<br><br>This Event Will Be Logged And Reported."); }
7 // TODO: Add this back... if (!$_GET["sched"]) { die("No Assignment Requested"); }
9 $_POST["class"] = mysql_real_escape_string($_POST["class"]);
10 $_POST["title"] = mysql_real_escape_string($_POST["title"]);
11 $_POST["st"] = mysql_real_escape_string($_POST["st"]);
12 $_POST["section_id"] = mysql_real_escape_string($_POST["section_id"]);
13 $_POST["title"] = mysql_real_escape_string($_POST["title"]);
14 $_POST["chapter"] = mysql_real_escape_string($_POST["chapter"]);
15 $_POST["ava_date"] = mysql_real_escape_string($_POST["ava_date"]);
16 $_POST["due_date"] = mysql_real_escape_string($_POST["due_date"]);
17 $_GET["sched"] = mysql_real_escape_string($_GET["sched"]);
19 include 'include/std_functions.php';
21 $sane = true; // must check sanity before posting
23 if ($_POST){// post submitted - verify all input for valid data
24 if ($_POST['class'] == "") { $sane = false; $class_error="Field Must Not Be Left Blank"; }
25 if ($_POST['title'] == "") { $sane = false; $title_error="Field Must Not Be Left Blank"; }
26 /* title: Text Constraint Not Implemented... */
27 if ($_POST['st'] == "") { $sane = false; $st_error="Field Must Not Be Left Blank"; }
28 //if ($_POST['chapter'] == "") { $sane = false; $chapter_error="Field Must Not Be Left Blank"; }
29 /* chapter: Text Constraint Not Implemented... */
30 //if ($_POST['section_id'] == "") { $sane = false; $section_id_error="Field Must Not Be Left Blank"; }
31 /* section_id: Text Constraint Not Implemented... */
32 //if (!check_date($_POST['ava_date'])){$sane = false; $ava_date_error="Field Must be a Valid Date"; }
33 if ($_POST['ava_date'] == "") { $sane = false; $ava_date_error="Field Must Not Be Left Blank"; }
34 //if (!check_date($_POST['due_date'])){$sane = false; $due_date_error="Field Must be a Valid Date"; }
35 if ($_POST['due_date'] == "") { $sane = false; $due_date_error="Field Must Not Be Left Blank"; }
37 foreach ($_POST as $value) {
38 $value = mysql_real_escape_string($value);
41 if($sane) {
43 if($_GET['action'] == "edit") {
45 if (!$_GET["sched"]) { die("No Assignment Identifier Sent"); }
46 $sql = 'UPDATE schedule SET';
47 $sql .= ' class_id='.$_POST['class'];
48 $sql .= ', assign_type='.$_POST['st'];
49 $sql .= ', section_id="'.$_POST['section_id'].'"';
50 $sql .= ', title="'.$_POST['title'].'"';
51 $sql .= ', chapter="'.$_POST['chapter'].'"';
52 $sql .= ', ava_date="'.$_POST['ava_date'].'"';
53 $sql .= ', due_date="'.$_POST['due_date'].'"';
54 $sql .= ', timeposted=NOW()';
55 $sql .= ' where sched_id='.$_GET['sched'];
57 //echo $sql;
58 //echo "Got Here";
59 $result = mysql_query($sql);
60 if (!$result) { die("SQL ERROR"); }
61 echo '<html><head></head>
62 <body> <META HTTP-EQUIV="Refresh" CONTENT="0" URL="output.php">
63 <center>
64 <div id="green_box">
65 <br />
66 Your Assignment Has Been Updated.
67 <br />
68 </div>
69 </center>
70 </body>
71 </html>';
72 exit;
74 } else {
75 $sql = 'INSERT INTO schedule VALUES ("",'.$_POST['class'].','.$_POST['st']. ',"'.$_POST['title']. '","'.$_POST['chapter']. '","'.$_POST['section_id']. '","'.$_POST['ava_date']. '","'.$_POST['due_date']. '", NOW(), 0)';
77 //echo $sql;
79 mysql_select_db("trapper", $con);
80 if (!mysql_query($sql)) { die("SQL ERROR"); }
81 mysql_close();
82 echo '<html><head></head>
83 <body><META HTTP-EQUIV="Refresh" CONTENT="4" URL="output.php">
84 <center>
85 <div id="green_box">
86 <br />
87 Your Assignment Has Been Created.
88 <br />
89 </div>
90 </center>
91 </body>
92 </html>';
93 //echo $sql;
94 exit;
99 /* get list of all class types */
101 $sql = 'select assign_type, type_name from types order by type_name';
103 $result = mysql_query($sql);
105 if (!$result) { die("SQL ERROR"); }
107 $i = 0;
108 while($row = mysql_fetch_array($result))
110 $items .= '<option value='.$row['assign_type'].'>'.$row['type_name'].'</option>';
113 /* get list of current classes */
115 $sql = 'select * from class order by class_name';
117 $result = mysql_query($sql);
119 if (!$result) { die("SQL ERROR"); }
121 $i = 0;
122 while($row = mysql_fetch_array($result))
124 $classes .= '<option value='.$row['class_id'].'>'.$row['class_name'].'</option>';
127 /* if we are editing, get current data from record */
128 $title = $_POST['title'];
129 $chapter = $_POST['chapter'];
130 $section_id = $_POST['section_id'];
132 $title = mysql_real_escape_string($title);
133 $chapter = mysql_real_escape_string($chapter);
134 $section_id = mysql_real_escape_string($section_id);
136 if( $_POST['ava_date'] == "" ) { $ava_date = todays_date(); } else { $ava_date = $_POST['ava_date']; }
137 if( $_POST['due_date'] == "" ) { $ava_date = todays_date(); } else { $ava_date = $_POST['due_date']; }
138 if($_GET['action'] == "edit") {
139 $sql = "select chapter, section_id, title, schedule.class_id, class_name, schedule.assign_type, ava_date, due_date, sched_id, type_name, class_name from schedule, class, types where (schedule.assign_type = types.assign_type) and (schedule.class_id = class.class_id) and sched_id=". $_GET['sched'];
140 $result = mysql_query($sql);
142 //echo $sql;
144 if (!$result) { die("SQL ERROR"); }
145 $row = mysql_fetch_array($result);
147 $title = $row['title'];
148 $chapter = $row['chapter'];
149 $section_id = $row['section_id'];
150 $ava_date = $row['ava_date'];
151 $due_date = $row['due_date'];
154 if($_GET['action'] == "edit") { $banner = "Edit Assignment"; } else { $banner = "Add New Assignment"; }
157 <html>
158 <link rel="stylesheet" type="text/css" media="all" href="include/calendar.css" title="win2k-cold-1" />
159 <link rel="stylesheet" type="text/css" href="style.css" />
160 <script type="text/javascript" src="include/calendar.js"></script>
161 <script type="text/javascript" src="include/position.js"></script>
162 <script type="text/javascript" src="include/calendar-en.js"></script>
163 <script type="text/javascript" src="include/calendar-setup.js"></script>
165 <h2><img src="gfx/bricks.png">Assignment Trapper</h2>
166 <div class="header">
167 <div class="menu">
168 <a href="index.php">Classes</a> | <a href="manage.php">Manage Account</a> | <?php echo $_COOKIE["username"]; ?> | <a href="#" onClick='logout();'>Logout</a>
169 </div>
170 </div>
172 <br>
173 <div id="banner">
174 <h3><?php echo $banner; ?></h3>
175 </div>
177 <div id="centercontent">
178 <form name="form" action="" method="post">
180 <div class="input">
181 <table width="100%">
182 <tr>
183 <td width="40%">
184 <div class="input_form">
185 <select name="class">
186 <?php if($_GET['action'] == "edit") { echo "<option value=".$row['class_id'].">".$row['class_name']."</option><option></option>"; } ?>
187 <?php echo $classes; ?>
188 </select>
189 </div>
190 </td>
191 <td width="60%">
192 <div class="input_error"><?php echo $class_error ?></div>
193 <div class="input_name">Class</div>
194 <div class="input_description">Select class this assignment is connected to.</div>
195 </td>
196 </tr>
197 </table>
198 </div>
201 <div class="input">
202 <table width="100%">
203 <tr>
204 <td width="40%">
205 <div class="input_form">
206 <input name="title" size="32" value="<?php echo $title; ?>">
207 </div>
208 </td>
209 <td width="60%">
210 <div class="input_error"><?php echo $title_error ?></div>
211 <div class="input_name">Title</div>
212 <div class="input_description">Full title of class assignment.</div>
213 </td>
214 </tr>
215 </table>
216 </div>
218 <div class="input">
219 <table width="100%">
220 <tr>
221 <td width="40%">
222 <div class="input_form">
223 <select name="st">
224 <?php if($_GET['action'] == "edit") { echo "<option value=".$row['assign_type'].">".$row['type_name']."</option><option></option>"; } ?>
226 <option value=""></option>
227 <?php echo $items; ?>
228 </select>
230 </div>
231 </td>
232 <td width="60%">
233 <div class="input_error"><?php echo $st_error ?></div>
234 <div class="input_name">Assignment Type</div>
235 <div class="input_description">Assignments are organized into similar types.</div>
236 </td>
237 </tr>
238 </table>
239 </div>
241 <div class="input">
242 <table width="100%">
243 <tr>
244 <td width="40%">
245 <div class="input_form">
246 <input name="chapter" size="32" value="<?php echo $chapter; ?>">
247 </div>
248 </td>
249 <td width="60%">
250 <div class="input_error"><?php echo $chapter_error ?></div>
251 <div class="input_name">Chapter</div>
252 <div class="input_description">Chapter of class assignment.</div>
253 </td>
254 </tr>
255 </table>
256 </div>
258 <div class="input">
259 <table width="100%">
260 <tr>
261 <td width="40%">
262 <div class="input_form">
263 <input name="section_id" size="32" value="<?php echo $section_id; ?>">
264 </div>
265 </td>
266 <td width="60%">
267 <div class="input_error"><?php echo $section_id_error ?></div>
268 <div class="input_name">Section Number</div>
269 <div class="input_description">Section of class assignment.</div>
270 </td>
271 </tr>
272 </table>
273 </div>
275 <div class="input">
276 <table width="100%">
277 <tr>
278 <td width="40%">
279 <div class="input_form">
281 <div class="input" style="height: 175px;">
282 <div style="float: left; margin-left: 1em; margin-bottom: 1em;" id="ava_datediv"></div>
283 <input id="ava_date" name="ava_date" style="position: relative; left: 225px; top:-75px;" value="<?php echo $ava_date; ?>">
284 <script type="text/javascript">
286 function dateChanged(calendar) {
287 if (calendar.dateClicked) {
288 var y = calendar.date.getFullYear();
289 var m = calendar.date.getMonth() + 1;
290 var d = calendar.date.getDate();
291 var h = calendar.date.getHours();
292 var i = calendar.date.getMinutes();
293 var input = document.getElementById("ava_date");
294 input.value = y + "-" + m + "-" + d + " " + h + ":" + i + ":00";
298 Calendar.setup(
300 flat : "ava_datediv",
301 singleClick: "true",
302 showsTime : "true",
303 timeFormat: "12",
304 flatCallback : dateChanged,
305 weekNumbers : false,
306 ifFormat : "%Y-%m-%d %H:%M:%S",
307 daFormat : "%Y-%m-%d %H:%M:%S",
308 date : "<?php echo date("Y/m/d H:i", strtotime($ava_date)); ?>"
310 </script>
312 </div>
313 </td>
314 <td width="60%">
315 <div class="input_error"><?php echo $ava_date_error ?></div>
316 <div class="input_name">Available Date</div>
317 <div class="input_description">Date and time assignment is open for posting.</div>
318 </td>
319 </tr>
320 </table>
321 </div>
323 <div class="input">
324 <table width="100%">
325 <tr>
326 <td width="40%">
327 <div class="input_form">
329 <div class="input" style="height: 175px;">
330 <div style="float: left; margin-left: 1em; margin-bottom: 1em;" id="due_datediv"></div>
331 <input id="due_date" name="due_date" style="position: relative; left: 225px; top:-75px;" value="<?php echo $due_date; ?>">
332 <script type="text/javascript">
334 function dateChanged(calendar) {
335 if (calendar.dateClicked) {
336 var y = calendar.date.getFullYear();
337 var m = calendar.date.getMonth() + 1;
338 var d = calendar.date.getDate();
339 var h = calendar.date.getHours();
340 var i = calendar.date.getMinutes();
341 var input = document.getElementById("due_date");
342 input.value = y + "-" + m + "-" + d + " " + h + ":" + i + ":00";
346 Calendar.setup(
348 flat : "due_datediv",
349 singleClick: "true",
350 showsTime : "true",
351 timeFormat: "12",
352 flatCallback : dateChanged,
353 weekNumbers : false,
354 date : "<?php echo date("Y/m/d H:i", strtotime($due_date)); ?>"
356 </script>
358 </div>
359 </td>
360 <td width="60%">
361 <div class="input_error"><?php echo $due_date_error ?></div>
362 <div class="input_name">Due Date</div>
363 <div class="input_description">Date and time assignment is closed for posting.</div>
364 </td>
365 </tr>
366 </table>
367 </div>
369 <div id="digitalsig"><center>
370 <div id=spacer style="padding:20px;">
371 <input type="submit" value="Submit">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
372 <input type="reset" value="Reset">
373 </div>
374 </center>
375 </form>
376 </div>
378 </body></html>