Managment page has better look and feel.
[Assignment-Trapper.git] / upload.php
blob307fab6f8dc4764abd045a8cf3480859ef21c8e2
1 <?php
3 include_once("auth.php");
4 //include_once("header.php");
6 if (!$_GET["sched"]) { die("No Assignment Sent"); }
8 $_GET["sched"] = mysql_real_escape_string($_GET["sched"]);
9 $_FILES["file"]["name"] = mysql_real_escape_string($_FILES["file"]["name"]);
10 $_FILES["file"]["size"] = mysql_real_escape_string($_FILES["file"]["size"]);
12 $sql = "select count(*) as count, class_id, due_date from schedule where due_date > NOW() and sched_id=".$_GET["sched"];
14 $result = mysql_query($sql);
16 if (!$result) { die("SQL ERROR"); }
18 $row = mysql_fetch_row($result);
20 if($row[0] == 0) { die("Assignment Not Open For Submission"); }
22 $deadline = $row[1];
23 $class_id = $row[2];
25 /* check for correct file extension */
26 $allowedExtensions = array("c", "cpp", "c++", "h", "hpp");
27 if(!in_array(end(explode(".", $_FILES["file"]["name"])), $allowedExtensions)) { die("File Extension Not Correct"); }
29 /* check for file type */
30 //echo "File Type:".$_FILES["file"]["type"];
31 //if ($_FILES["file"]["type"] != "text/plain") { die("Incorrect File Format.<br>Must be C or C++ text file."); }
33 /* check for file size */
34 if($_FILES["file"]["size"] > 400000) { die("File Must be Smaller Than 400KB."); }
36 //echo $_FILES["file"]["tmp_name"];
38 $data = file_get_contents($_FILES["file"]["tmp_name"]);
40 $data = addslashes($data);
42 //echo "->".$data."<-";
44 $sql = 'insert into files values("", '.$_GET["sched"].','.$user_id.',"'.$data.'", "'.$_FILES["file"]["name"].'",'.$_FILES["file"]["size"].', NOW())';
46 //echo $sql;
48 $result = mysql_query($sql);
50 if (!$result) { die("SQL ERROR"); }
52 // send message to user as reciept of file
54 $uid = md5(uniqid(time()));
56 $from_name = "Assignment Trapper";
57 $from_mail = "noreply@opentextbook.info";
58 $filename = $_FILES["file"]["name"];
60 $message = "The attached file has been posted to an assignment.";
62 $header = "From: ".$from_name." <".$from_mail.">\r\n";
63 $header .= "Reply-To: ".$replyto."\r\n";
64 $header .= "MIME-Version: 1.0\r\n";
65 $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
66 $header .= "This is a multi-part message in MIME format.\r\n";
67 $header .= "--".$uid."\r\n";
68 $header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
69 $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
70 $header .= $message."\r\n\r\n";
71 $header .= "--".$uid."\r\n";
72 $header .= "Content-Type: text/plain; name=\"".$filename."\"\r\n"; // use different content types here
73 //$header .= "Content-Transfer-Encoding: base64\r\n";
74 $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
75 $header .= $data."\r\n\r\n";
76 $header .= "--".$uid."--";
78 mail($user_email, "File Received", "", $header);
80 /* move to classes page */
82 if($_POST["action"] == 'ret') {
83 echo '<html><meta http-equiv="refresh" content="0;url=detail_root.php?sched='.$_GET["sched"].'&user='.$_POST["user"].'" /></html>';
84 } else {
85 echo '<html><meta http-equiv="refresh" content="0;url=detail_root.php?sched='.$_GET["sched"].'" /></html>';
88 ?>