PageRenderTime 58ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/teacher/preenroll_col.php

https://github.com/xmarcosx/enroll
PHP | 267 lines | 257 code | 0 blank | 10 comment | 15 complexity | db4ef439fab6ca9188717a9d3ca1bee7 MD5 | raw file
  1. <?php
  2. session_start();
  3. //Credentials aren't legit or user isn't an admin, kick back to login screen
  4. if (!isset($_SESSION['username']) ||
  5. $_SESSION['login']!=true ||
  6. $_SESSION['student']) {
  7. $_SESSION['from_teacher']=true;
  8. header("Location: ../login.html");
  9. }
  10. $master_username=$_SESSION['username'];
  11. $ghostuser=$_SESSION['ghostuser'];
  12. if(!is_null($ghostuser))
  13. $username=$_SESSION['ghostuser'];
  14. else
  15. $username=$_SESSION['username'];
  16. //Code to connect to database
  17. include_once '../admin/settings.php';
  18. //Connects to MySQL and Selects Database
  19. $con = mysql_connect($host,$db_username,$db_password);
  20. if (!$con)
  21. die('Could not connect: ' . mysql_error());
  22. //Select DB
  23. mysql_select_db($db, $con);
  24. //Get selected semester from URL
  25. $selected_semester=$_GET['semester'];
  26. //Internal user id
  27. $userid=NULL;
  28. $get_userid_result=mysql_query("SELECT id FROM users WHERE username=\"$username\"") or die(mysql_error());
  29. $get_userid_array=mysql_fetch_array($get_userid_result);
  30. $userid=$get_userid_array['id'];
  31. //Get Colloquium assignment for selected Semester
  32. $col_assignment_result=mysql_query(
  33. "SELECT assignments.id, courses.name, assignments.final
  34. FROM assignments
  35. INNER JOIN `courses` on assignments.course_id=courses.id
  36. WHERE courses.teacher_id=$userid AND assignments.colloquium_semester=$selected_semester
  37. LIMIT 1") or die(mysql_error());
  38. $col_assignment_row=mysql_fetch_array($col_assignment_result);
  39. $col_id=$col_assignment_row['id'];
  40. $col_name=$col_assignment_row['name'];
  41. $col_final=$col_assignment_row['final'];
  42. if($col_final){
  43. //Get Current Roster for Course
  44. $col_roster_result=mysql_query(
  45. "SELECT enrollments.id,enrollments.users_id,users.firstname,users.lastname,users.username
  46. FROM enrollments
  47. INNER JOIN `users` on enrollments.users_id=users.id
  48. WHERE enrollments.assignments_id=$col_id") or die(mysql_error());
  49. //Get Student List
  50. $students_result=mysql_query("SELECT id,firstname,lastname,username FROM users WHERE role='student'") or die(mysql_error());
  51. }
  52. mysql_close();
  53. ?>
  54. <!DOCTYPE html>
  55. <html lang='en'>
  56. <head>
  57. <meta charset='utf-8'>
  58. <title>Enroll: <?php echo $school_name; ?></title>
  59. <meta name='viewport' content='width=device-width, initial-scale=1.0'>
  60. <meta name='description' content="Flexible Scheduling for Today's Classroom">
  61. <meta name='author' content='Marcos Alcozer'>
  62. <meta name='keywords' content='Education, Scheduling'>
  63. <!-- CSS -->
  64. <style>
  65. body {
  66. padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
  67. }
  68. </style>
  69. <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
  70. <link href="../css/admin.css" rel="stylesheet">
  71. <!-- JQUERY -->
  72. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  73. <!-- BOOTSTRAP -->
  74. <script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
  75. <!-- AJAX UPLOAD BY BRYAN GENTRY -->
  76. <!-- http://bryangentry.us/ajax-upload-with-javascript-and-php-upload-an-image-and-display-a-preview/ -->
  77. <script src="../js/ajaxupload.js"></script>
  78. <!-- FORM VALIDATION USING JQUERY -->
  79. <!-- http://alittlecode.com/jquery-form-validation-with-styles-from-twitter-bootstrap/ -->
  80. <!-- <script src="../js/jquery.validate.min.js"></script> -->
  81. <!-- <script src="../js/validate.js"></script> -->
  82. <!-- INHOUSE JAVASCRIPT -->
  83. <script src="../js/teacher.js"></script>
  84. <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
  85. <!--[if lt IE 9]>
  86. <script src="../js/html5shiv.js"></script>
  87. <![endif]-->
  88. </head>
  89. <body>
  90. <?php include_once("../admin/analyticstracking.php") ?>
  91. <div class="navbar navbar-inverse navbar-fixed-top">
  92. <div class="navbar-inner">
  93. <div class="container">
  94. <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
  95. <span class="icon-bar"></span>
  96. <span class="icon-bar"></span>
  97. <span class="icon-bar"></span>
  98. </button>
  99. <a class="brand appname" href="#">Enroll<img src='../img/beta-icon.png' style="vertical-align:text-top;"/></a>
  100. <div class="nav-collapse collapse">
  101. <ul class="nav">
  102. <li><a href="agenda.php">Agenda</a></li>
  103. <li class="dropdown">
  104. <a href="#" class="dropdown-toggle" data-toggle="dropdown">X/Y <b class="caret"></b></a>
  105. <ul class="dropdown-menu">
  106. <li><a href="assigned_xy.php">Assign Course</a></li>
  107. <li><a href="repository_xy.php">Course Repository</a></li>
  108. <li><a href="preenroll_xy.php">Enroll Students</a></li>
  109. </ul>
  110. </li>
  111. <li class="dropdown active">
  112. <a href="#" class="dropdown-toggle" data-toggle="dropdown">Colloquium <b class="caret"></b></a>
  113. <ul class="dropdown-menu">
  114. <li><a href="assigned_col.php">Assign Course</a></li>
  115. <li><a href="repository_col.php">Course Repository</a></li>
  116. <li class="dropdown-submenu">
  117. <a tabindex="-1" href="#">Enroll Students</a>
  118. <ul class="dropdown-menu">
  119. <li><a href="preenroll_col.php?semester=1">Semester 1</a></li>
  120. <li><a href="preenroll_col.php?semester=2">Semester 2</a></li>
  121. </ul>
  122. </li>
  123. </ul>
  124. </li>
  125. </ul>
  126. <ul class="nav pull-right">
  127. <?php if($_SESSION['admin'] && $_SESSION['teacher']){
  128. echo "<li><a href='../admin'>Admin Panel</a></li>";
  129. }
  130. if(!is_null($ghostuser)){ ?>
  131. <li><a href="javascript:void(0)" onclick='ghost_user("<?php echo $master_username; ?>","admin");'><?php echo $master_username; ?></a></li>
  132. <?php
  133. }
  134. if(!isset($_SESSION['username']))
  135. echo "<li class='login-button'><a href='../login.html' style='color:#FFFFFF'>Login</a></li>";
  136. else
  137. echo "<li class='login-button'><a href='../logout.php' style='color:#FFFFFF'>Logout</a></li>";
  138. ?>
  139. </ul>
  140. </div><!--/.nav-collapse -->
  141. </div>
  142. </div>
  143. </div>
  144. <div class="container">
  145. <?php
  146. //If status returned is 0
  147. if($_GET['status']==3){
  148. ?>
  149. <div class="alert alert-error fade in">
  150. <button type="button" class="close" data-dismiss="alert">&times;</button>
  151. Sorry, that student is already enrolled elsewhere.
  152. </div>
  153. <?php } ?>
  154. <h1>
  155. <?php
  156. if(!is_null($col_name))
  157. echo $col_name;
  158. else
  159. echo "No colloquium assigned to semester " . $selected_semester;
  160. ?>
  161. </h1>
  162. <p class='lead'>
  163. Semester <?php echo $selected_semester; ?>
  164. </p>
  165. <hr />
  166. <?php if($col_final) { ?>
  167. <div id="main" role="main">
  168. <div class='row'>
  169. <div class='span4'>
  170. <h3>Current Roster</h3>
  171. <table class="table table-striped table-hover table-condensed">
  172. <thead>
  173. <tr>
  174. <th>Last Name</th>
  175. <th>First Name</th>
  176. <th>Username</th>
  177. <th></th>
  178. </tr>
  179. </thead>
  180. <tbody>
  181. <?php
  182. if (mysql_num_rows($col_roster_result) == 0){
  183. echo "<tr>";
  184. echo "<td></td>";
  185. echo "<td></td>";
  186. echo "<td></td>";
  187. echo "<td></td>";
  188. echo "</tr>";
  189. }
  190. else{
  191. while($row=mysql_fetch_array($col_roster_result)){
  192. echo "<tr>";
  193. echo "<form action='unenroll.php' method='post'>";
  194. echo "<input name='id' type='hidden' value='" . $row['id'] . "' />";
  195. echo "<input name='student_id' type='hidden' value=" . $row['users_id'] . " />";
  196. echo "<input name='teacher_id' type='hidden' value='$userid' />";
  197. echo "<input name='col_id' type='hidden' value='" . $col_id . "' />";
  198. echo "<input name='type' type='hidden' value='colloquium' />";
  199. echo "<input name='semester' type='hidden' value=" . $selected_semester . " />";
  200. echo "<td>" . $row['lastname'] . "</td>";
  201. echo "<td>" . $row['firstname'] . "</td>";
  202. echo "<td>" . $row['username'] . "</td>";
  203. echo "<td><button class='btn btn-medium btn-warning' type='submit'>Remove</button></td>";
  204. echo "</form>";
  205. echo "</tr>";
  206. }
  207. }
  208. ?>
  209. </tbody>
  210. </table>
  211. </div>
  212. <div class="span4 offset2">
  213. <h3>Available Students</h3>
  214. <table class="table table-striped table-hover table-condensed">
  215. <thead>
  216. <tr>
  217. <th>Last Name</th>
  218. <th>First Name</th>
  219. <th>Username</th>
  220. <th></th>
  221. </tr>
  222. </thead>
  223. <tbody>
  224. <?php
  225. if (mysql_num_rows($students_result) == 0){
  226. echo "<tr>";
  227. echo "<td></td>";
  228. echo "<td></td>";
  229. echo "<td></td>";
  230. echo "<td></td>";
  231. echo "</form>";
  232. echo "</tr>";
  233. }
  234. else{
  235. while($row=mysql_fetch_array($students_result)){
  236. echo "<tr>";
  237. echo "<form action='enroll.php' method='post'>";
  238. echo "<input name='id' type='hidden' value=" . $row['id'] . " />";
  239. echo "<input name='teacher_id' type='hidden' value='$userid' />";
  240. echo "<input name='type' type='hidden' value='colloquium' />";
  241. echo "<input name='semester' type='hidden' value=" . $selected_semester . " />";
  242. echo "<input name='col_id' type='hidden' value='" . $col_id . "' />";
  243. echo "<td>" . $row['lastname'] . "</td>";
  244. echo "<td>" . $row['firstname'] . "</td>";
  245. echo "<td>" . $row['username'] . "</td>";
  246. echo "<td><button class='btn btn-medium btn-primary' type='submit'>Enroll</button></td>";
  247. echo "</form>";
  248. echo "</tr>";
  249. }
  250. }
  251. ?>
  252. </tbody>
  253. </table>
  254. </div>
  255. </div>
  256. </div>
  257. <?php } else { ?>
  258. <div id="main" role="main">
  259. Colloquium not finalized by administrator, cannot assign students.
  260. </div>
  261. <?php } ?>
  262. </div> <!-- /container -->
  263. </body>
  264. </html>