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