PageRenderTime 37ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/teacher/repository_xy.php

https://github.com/xmarcosx/enroll
PHP | 410 lines | 401 code | 0 blank | 9 comment | 24 complexity | f2597f9cc2d3fd5ef89e62678f04d985 MD5 | raw file
  1. <?php
  2. session_start();
  3. //Not logged in or doesn't have the teacher role
  4. if (!isset($_SESSION['username']) ||
  5. $_SESSION['login']!=true ||
  6. $_SESSION['student'])
  7. {
  8. header("Location: ../login.html");
  9. }
  10. //Code to connect to database
  11. include_once '../admin/settings.php';
  12. //Connects to MySQL and Selects Database
  13. $con=mysql_connect($host,$db_username,$db_password);
  14. if (!$con)
  15. die('Could not connect: ' . mysql_error());
  16. //Select DB
  17. mysql_select_db($db, $con);
  18. $master_username=$_SESSION['username'];
  19. $ghostuser=$_SESSION['ghostuser'];
  20. if(!is_null($ghostuser))
  21. $username=$_SESSION['ghostuser'];
  22. else
  23. $username=$_SESSION['username'];
  24. //Internal user id
  25. $userid=NULL;
  26. $get_userid_result=mysql_query("SELECT id FROM users WHERE username=\"$username\"") or die(mysql_error());
  27. $get_userid_array=mysql_fetch_array($get_userid_result);
  28. $userid=$get_userid_array['id'];
  29. //Grab all of the teacher's xy repository
  30. $get_xy_repository_result=mysql_query("SELECT * FROM courses
  31. WHERE teacher_id=$userid AND type='xy' ") or die(mysql_error());
  32. //Get list of classrooms
  33. $get_classrooms_result=mysql_query(
  34. "SELECT rooms FROM settings LIMIT 1") or die(mysql_error());
  35. $get_classrooms_array=mysql_fetch_array($get_classrooms_result);
  36. $classrooms=explode(",",$get_classrooms_array['rooms']);
  37. //Close MySQL Connection, all necessary queries have been run
  38. mysql_close($con);
  39. ?>
  40. <!DOCTYPE html>
  41. <html lang="en">
  42. <head>
  43. <meta charset="utf-8">
  44. <title>Enroll: <?php echo $school_name; ?></title>
  45. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  46. <meta name="description" content="Flexible Scheduling for Today's Classroom">
  47. <meta name="author" content="Marcos Alcozer">
  48. <meta name="keywords" content="Education, Scheduling">
  49. <!-- CSS -->
  50. <style>
  51. body {
  52. padding-top: 60px; /** Clear the top bar **/
  53. }
  54. </style>
  55. <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
  56. <link href="../css/admin.css" rel="stylesheet">
  57. <!-- JQUERY -->
  58. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  59. <!-- BOOTSTRAP -->
  60. <script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
  61. <!-- FORM VALIDATION USING JQUERY -->
  62. <!-- http://alittlecode.com/jquery-form-validation-with-styles-from-twitter-bootstrap/ -->
  63. <script src="../js/jquery.validate.min.js"></script>
  64. <!-- AJAX UPLOAD BY BRYAN GENTRY -->
  65. <!-- http://bryangentry.us/ajax-upload-with-javascript-and-php-upload-an-image-and-display-a-preview/ -->
  66. <script src="../js/ajaxupload.js"></script>
  67. <!-- <script src="../js/validate.js"></script> -->
  68. <!-- INHOUSE JAVASCRIPT -->
  69. <script src="../js/teacher.js"></script>
  70. <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
  71. <!--[if lt IE 9]>
  72. <script src="../js/html5shiv.js"></script>
  73. <![endif]-->
  74. </head>
  75. <body>
  76. <?php include_once("../admin/analyticstracking.php") ?>
  77. <!-- TOP MENU -->
  78. <div class="navbar navbar-inverse navbar-fixed-top">
  79. <div class="navbar-inner">
  80. <div class="container">
  81. <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
  82. <span class="icon-bar"></span>
  83. <span class="icon-bar"></span>
  84. <span class="icon-bar"></span>
  85. </button>
  86. <a class="brand appname" href="#">Enroll<img src='../img/beta-icon.png' style="vertical-align:text-top;"/></a>
  87. <div class="nav-collapse collapse">
  88. <ul class="nav">
  89. <li><a href="agenda.php">Agenda</a></li>
  90. <li class="dropdown active">
  91. <a href="#" class="dropdown-toggle" data-toggle="dropdown">X/Y <b class="caret"></b></a>
  92. <ul class="dropdown-menu">
  93. <li><a href="assigned_xy.php">Assign Course</a></li>
  94. <li><a href="repository_xy.php">Course Repository</a></li>
  95. <li><a href="preenroll_xy.php">Enroll Students</a></li>
  96. </ul>
  97. </li>
  98. <li class="dropdown">
  99. <a href="#" class="dropdown-toggle" data-toggle="dropdown">Colloquium <b class="caret"></b></a>
  100. <ul class="dropdown-menu">
  101. <li><a href="assigned_col.php">Assign Course</a></li>
  102. <li><a href="repository_col.php">Course Repository</a></li>
  103. <li class="dropdown-submenu">
  104. <a tabindex="-1" href="#">Enroll Students</a>
  105. <ul class="dropdown-menu">
  106. <li><a href="preenroll_col.php?semester=1">Semester 1</a></li>
  107. <li><a href="preenroll_col.php?semester=2">Semester 2</a></li>
  108. </ul>
  109. </li>
  110. </ul>
  111. </li>
  112. </ul>
  113. <ul class="nav pull-right">
  114. <?php if($_SESSION['admin'] && $_SESSION['teacher']){
  115. echo "<li><a href='../admin'>Admin Panel</a></li>";
  116. }
  117. if(!is_null($ghostuser)){ ?>
  118. <li><a href="javascript:void(0)" onclick='ghost_user("<?php echo $master_username; ?>","admin");'><?php echo $master_username; ?></a></li>
  119. <?php
  120. }
  121. if(!isset($_SESSION['username']))
  122. echo "<li class='login-button'><a href='../login.html' style='color:#FFFFFF'>Login</a></li>";
  123. else
  124. echo "<li class='login-button'><a href='../logout.php' style='color:#FFFFFF'>Logout</a></li>";
  125. ?>
  126. </ul>
  127. </div>
  128. </div>
  129. </div>
  130. <?php if($_GET['status']==0 && !is_null($_GET['status'])) { ?>
  131. <div id="failed" class="alert alert-error text-center">
  132. <button type="button" class="close" data-dismiss="alert">&times;</button>
  133. Sorry, changes did not save.
  134. </div>
  135. <?php }else if($_GET['status']==1 && !is_null($_GET['status'])) { ?>
  136. <div id="success" class="alert alert-info text-center">
  137. <button type="button" class="close" data-dismiss="alert">&times;</button>
  138. Changes saved successfully.
  139. </div>
  140. <?php } ?>
  141. </div>
  142. <div class="container">
  143. <!-- MANAGEMENT MODULE -->
  144. <div id='manage'>
  145. <h2>Course Repository</h2>
  146. <hr />
  147. <div class='accordion' id='accordion2'>
  148. <!-- ACCORDIAN TO ADD A NEW XY COURSE -->
  149. <div class='accordion-group'>
  150. <div class='accordion-heading'>
  151. <a class='accordion-toggle' data-toggle='collapse' data-parent='#accordion2' href='#addXY'>
  152. <i class='icon-folder-close'></i> Add XY...
  153. </a>
  154. </div>
  155. <div id='addXY' class='accordion-body collapse'>
  156. <div class='accordion-inner'>
  157. <!-- Add XY Form -->
  158. <form class='form-horizontal' action="update_xy.php" method="post" enctype='multipart/form-data'>
  159. <input name='teacher' type='hidden' value='<?php echo $userid; ?>' />
  160. <input name='existing' type='hidden' value=0 />
  161. <!-- XY Name -->
  162. <div class='control-group'>
  163. <label class='control-label'>Course Name</label>
  164. <div class='controls'>
  165. <input type='text' class='span5' name='name' required />
  166. </div>
  167. </div>
  168. <div class='control-group'>
  169. <label class='control-label'>Description</label>
  170. <div class='controls'>
  171. <textarea name='description' class='span5' rows='10' required></textarea>
  172. </div>
  173. </div>
  174. <div class='control-group'>
  175. <label class='control-label'>Image:</label>
  176. <div class="controls">
  177. <input type="file" name="image" id="image" required />
  178. <p><i class="icon-resize-small"></i>Currently all images are resized to 200 x 200</p>
  179. </div>
  180. </div>
  181. <div class='control-group'>
  182. <label class='control-label'>Category</label>
  183. <div class='controls'>
  184. <select name='category' required>
  185. <option value=''></option>
  186. <option value='1'>Academic Enhancement</option>
  187. <option value='2'>Enrichment</option>
  188. <option value='3'>Health &amp; Wellness</option>
  189. </select>
  190. </div>
  191. </div>
  192. <div class='control-group'>
  193. <label class='control-label'>Preferred Room</label>
  194. <div class='controls'>
  195. <select name='preferred_room' required>
  196. <option value=''></option>
  197. <?php
  198. reset($classrooms);
  199. foreach($classrooms as $room)
  200. echo "<option value='$room'>$room</option>";
  201. ?>
  202. </select>
  203. </div>
  204. </div>
  205. <div class='control-group'>
  206. <label class='control-label'>Preferred Class Size</label>
  207. <div class='controls'>
  208. <input name='preferred_class_size' type='number' min='10' maxlength='4' required />
  209. </div>
  210. </div>
  211. <div class='control-group'>
  212. <label class='control-label'>Course open to </label>
  213. <div class='controls'>
  214. <label class='checkbox inline'>
  215. <input type='checkbox' name='freshmen' value='1' checked>Freshmen
  216. </label>
  217. <label class='checkbox inline'>
  218. <input type='checkbox' name='sophomores' value='1' checked>Sophomores
  219. </label>
  220. <label class='checkbox inline'>
  221. <input type='checkbox' name='juniors' value='1' checked>Juniors
  222. </label>
  223. <label class='checkbox inline'>
  224. <input type='checkbox' name='seniors' value='1' checked>Seniors
  225. </label>
  226. </div>
  227. </div>
  228. <div class='control-group'>
  229. <div class='controls'>
  230. <button type='submit' class='btn btn-primary'>Add Course</button>
  231. <div id='status'></div>
  232. </div>
  233. </div>
  234. </form>
  235. </div>
  236. </div>
  237. </div>
  238. <?php
  239. $numCourse = 11;
  240. mysql_data_seek($get_xy_repository_result,0);
  241. //Generates rows for colloquiums
  242. while($row = mysql_fetch_array($get_xy_repository_result)){
  243. $mysql_id = $row['id'];
  244. $courseName = $row['name'];
  245. $description = $row['description'];
  246. $image = $row['image'];
  247. $category = $row['category'];
  248. $preferred_room = $row['preferred_room'];
  249. $preferred_class_size = $row['preferred_class_size'];
  250. $freshmen = $row['freshmen'];
  251. $sophomores = $row['sophomores'];
  252. $juniors = $row['juniors'];
  253. $seniors = $row['seniors'];
  254. ?>
  255. <!-- INSIDE THE WHILE LOOP -->
  256. <div class='accordion-group'>
  257. <div class='accordion-heading'>
  258. <a class='accordion-toggle' data-toggle='collapse' data-parent='#accordion2' href='#<?php echo $numCourse; ?>'>
  259. <i class='icon-folder-close'></i> <?php echo $courseName; ?>
  260. </a>
  261. </div>
  262. <div id='<?php echo $numCourse; ?>' class='accordion-body collapse'>
  263. <div class='accordion-inner'>
  264. <form class='form-horizontal' action="update_xy.php" method="post" enctype='multipart/form-data'>
  265. <input name='teacher' type='hidden' value='<?php echo $userid; ?>' />
  266. <input name='mysql_id' type='hidden' value='<?php echo $mysql_id; ?>' />
  267. <input name='originalimage' type='hidden' value='<?php echo $image; ?>' />
  268. <input name='existing' type='hidden' value=1 />
  269. <!-- XY Name -->
  270. <div class='control-group'>
  271. <label class='control-label'>Course Name</label>
  272. <div class='controls'>
  273. <input id='name<?php echo $numCourse; ?>' name='name' class='span5' type='text' value='<?php echo $courseName; ?>' disabled required />
  274. </div>
  275. </div>
  276. <div class="control-group">
  277. <label class="control-label">Description</label>
  278. <div class="controls">
  279. <textarea id='description<?php echo $numCourse; ?>' name='description' class="span5" rows='10' disabled required><?php echo $description; ?></textarea>
  280. </div>
  281. </div>
  282. <div class="control-group">
  283. <label class="control-label">Image</label>
  284. <div class="controls">
  285. <img id="currentImage" src="../img/courses/<?php echo $image; ?>" width="200px" height="200px" />
  286. <div id="changeButton<?php echo $numCourse; ?>" style="display: none;">
  287. <input type="file" name="image" id="image" />
  288. </div>
  289. <p><i class="icon-resize-small"></i>Currently all images are resized to 200 x 200</p>
  290. </div>
  291. </div>
  292. <div class="control-group">
  293. <label class="control-label">Category</label>
  294. <div class="controls">
  295. <select id='category<?php echo $numCourse; ?>' name='category' disabled required>
  296. <?php
  297. if ($category == 1) {
  298. echo "<option selected value='1'>Academic Enhancement</option>";
  299. echo "<option value='2'>Enrichment</option>";
  300. echo "<option value='3'>Health &amp; Wellness</option>";
  301. }
  302. else if ($category == 2){
  303. echo "<option value='1'>Academic Enhancement</option>";
  304. echo "<option selected value='2'>Enrichment</option>";
  305. echo "<option value='3'>Health &amp; Wellness</option>";
  306. }
  307. else{
  308. echo "<option value='1'>Academic Enhancement</option>";
  309. echo "<option value='2'>Enrichment</option>";
  310. echo "<option selected value='3'>Health &amp; Wellness</option>";
  311. }
  312. ?>
  313. </select>
  314. </div>
  315. </div>
  316. <div class="control-group">
  317. <label class="control-label">Preferred Room</label>
  318. <div class="controls">
  319. <select id='preferred_room<?php echo $numCourse; ?>' name='preferred_room' disabled required>
  320. <option value=''></option>
  321. <?php
  322. reset($classrooms);
  323. foreach($classrooms as $room){
  324. echo "<option ";
  325. if(strcmp($room,$preferred_room)==0) echo ' selected ';
  326. echo " value='$room'>$room</option>";
  327. }
  328. ?>
  329. </select>
  330. </div>
  331. </div>
  332. <div class="control-group">
  333. <label class="control-label">Preferred Class Size</label>
  334. <div class="controls">
  335. <input id='preferred_class_size<?php echo $numCourse; ?>' name='preferred_class_size'
  336. type='number' min="10" maxlength='4' value='<?php echo $preferred_class_size; ?>' disabled required />
  337. </div>
  338. </div>
  339. <div class="control-group">
  340. <label class="control-label">Course open to </label>
  341. <div class="controls">
  342. <label class="checkbox inline">
  343. <?php
  344. if ($freshmen == 1)
  345. echo '<input id=freshmen' . $numCourse . ' type="checkbox" name="freshmen" value="1" checked disabled>Freshmen';
  346. else
  347. echo '<input id=freshmen' . $numCourse . ' type="checkbox" name="freshmen" value="1" disabled >Freshmen';
  348. ?>
  349. </label>
  350. <label class="checkbox inline">
  351. <?php
  352. if ($sophomores == 1)
  353. echo '<input id=sophomores' . $numCourse . ' type="checkbox" name="sophomores" value="1" checked disabled>Sophomores';
  354. else
  355. echo '<input id=sophomores' . $numCourse . ' type="checkbox" name="sophomores" value="1" disabled>Sophomores';
  356. ?>
  357. </label>
  358. <label class="checkbox inline">
  359. <?php
  360. if ($juniors == 1)
  361. echo '<input id=juniors' . $numCourse . ' type="checkbox" name="juniors" value="1" checked disabled>Juniors';
  362. else
  363. echo '<input id=juniors' . $numCourse . ' type="checkbox" name="juniors" value="1" disabled>Juniors';
  364. ?>
  365. </label>
  366. <label class="checkbox inline">
  367. <?php
  368. if ($seniors == 1)
  369. echo '<input id=seniors' . $numCourse . ' type="checkbox" name="seniors" value="1" checked disabled>Seniors';
  370. else
  371. echo '<input id=seniors' . $numCourse . ' type="checkbox" name="seniors" value="1" disabled>Seniors';
  372. ?>
  373. </label>
  374. </div>
  375. </div>
  376. <div class="control-group">
  377. <label class="control-label">Delete?</label>
  378. <div class="controls">
  379. <select id='delete<?php echo $numCourse; ?>' name='delete' disabled>
  380. <option selected value='n'>No</option>
  381. <option value='y'>Yes</option>
  382. </select>
  383. </div>
  384. </div>
  385. <div class="control-group">
  386. <div class="controls">
  387. <div id="editXYButton<?php echo $numCourse; ?>">
  388. <button class="btn" type="button" onClick='edit_XY("<?php echo $numCourse ?>")'>Edit</button>
  389. </div>
  390. <div id="updateXYButton<?php echo $numCourse; ?>" style="display: none;">
  391. <button class="btn" type="submit" >Update</button>
  392. </div>
  393. <div id="status<?php echo $numCourse ?>"></div>
  394. </div>
  395. </div>
  396. </form>
  397. </div>
  398. </div>
  399. </div>
  400. <?php
  401. $numCourse++;
  402. }
  403. ?>
  404. </div>
  405. </div>
  406. </div>
  407. </body>
  408. </html>