PageRenderTime 45ms CodeModel.GetById 17ms RepoModel.GetById 1ms app.codeStats 0ms

/teacher/repository_col.php

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