PageRenderTime 61ms CodeModel.GetById 29ms RepoModel.GetById 1ms app.codeStats 0ms

/admin/options.php

https://github.com/xmarcosx/enroll
PHP | 816 lines | 807 code | 0 blank | 9 comment | 32 complexity | 113cc203b986a38977ddf56c0d4d7384 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['admin']!=true) {
  7. header("Location: ../login.html");
  8. }
  9. //Code to connect to database
  10. include_once 'settings.php';
  11. //Connects to MySQL and Selects Database
  12. $con = mysql_connect($host,$db_username,$db_password);
  13. if (!$con)
  14. die('Could not connect: ' . mysql_error());
  15. //Select DB
  16. mysql_select_db($db, $con);
  17. //Ghost usernames
  18. $ghost_usernames=array();
  19. $teacher_usernames=array();
  20. $get_ghost_usernames=mysql_query(
  21. "SELECT username,role FROM users WHERE role='teacher' OR role='student'") or die(mysql_error());
  22. while($row=mysql_fetch_array($get_ghost_usernames)){
  23. $ghost_usernames[]="\"" . $row['username'] . "\"";
  24. if(strcmp($row['role'], 'student')!=0){
  25. $teacher_usernames[]="\"" . $row['username'] . "\"";
  26. }
  27. }
  28. //Handle form updates
  29. $status=null;
  30. if($_SERVER['REQUEST_METHOD'] == "POST"){
  31. if(isset($_POST['gradyears'])){
  32. $post_freshman=mysql_real_escape_string($_POST['freshman']);
  33. $post_sophomore=mysql_real_escape_string($_POST['sophomore']);
  34. $post_junior=mysql_real_escape_string($_POST['junior']);
  35. $post_senior=mysql_real_escape_string($_POST['senior']);
  36. if(mysql_query("UPDATE settings
  37. SET freshman='$post_freshman',sophomore='$post_sophomore',
  38. junior='$post_junior',senior='$post_senior'
  39. WHERE id=1 LIMIT 1") or die(mysql_error()))
  40. {
  41. $status=1;
  42. }
  43. else{
  44. $status=0;
  45. }
  46. }
  47. elseif(isset($_POST['sem1times'])){
  48. $post_freshman=mysql_real_escape_string($_POST['freshman']);
  49. $post_sophomore=mysql_real_escape_string($_POST['sophomore']);
  50. $post_junior=mysql_real_escape_string($_POST['junior']);
  51. $post_senior=mysql_real_escape_string($_POST['senior']);
  52. $post_end=mysql_real_escape_string($_POST['end']);
  53. if(mysql_query("UPDATE settings
  54. SET col1_freshman_start='$post_freshman',col1_sophomore_start='$post_sophomore',
  55. col1_junior_start='$post_junior',col1_senior_start='$post_senior',col1_end='$post_end'
  56. WHERE id=1 LIMIT 1") or die(mysql_error()))
  57. {
  58. $status=1;
  59. }
  60. else{
  61. $status=0;
  62. }
  63. }
  64. elseif(isset($_POST['sem2times'])){
  65. $post_freshman=mysql_real_escape_string($_POST['freshman']);
  66. $post_sophomore=mysql_real_escape_string($_POST['sophomore']);
  67. $post_junior=mysql_real_escape_string($_POST['junior']);
  68. $post_senior=mysql_real_escape_string($_POST['senior']);
  69. $post_end=mysql_real_escape_string($_POST['end']);
  70. if(mysql_query("UPDATE settings
  71. SET col2_freshman_start='$post_freshman',col2_sophomore_start='$post_sophomore',
  72. col2_junior_start='$post_junior',col2_senior_start='$post_senior',col2_end='$post_end'
  73. WHERE id=1 LIMIT 1") or die(mysql_error()))
  74. {
  75. $status=1;
  76. }
  77. else{
  78. $status=0;
  79. }
  80. }
  81. elseif(isset($_POST['xytimes'])){
  82. $xy_num_days_open=mysql_real_escape_string($_POST['xy_num_days_open']);
  83. $xy_time_open=mysql_real_escape_string($_POST['xy_time_open']);
  84. $xy_num_days_close=mysql_real_escape_string($_POST['xy_num_days_close']);
  85. $xy_time_close=mysql_real_escape_string($_POST['xy_time_close']);
  86. if(mysql_query("UPDATE settings
  87. SET xy_num_days_open='$xy_num_days_open',xy_time_open='$xy_time_open',
  88. xy_num_days_close='$xy_num_days_close',xy_time_close='$xy_time_close'
  89. WHERE id=1 LIMIT 1") or die(mysql_error()))
  90. {
  91. $status=1;
  92. }
  93. else{
  94. $status=0;
  95. }
  96. }
  97. elseif(isset($_POST['add_schedule'])){
  98. $date=mysql_real_escape_string($_POST['date']);
  99. $colloquium=mysql_real_escape_string($_POST['colloquium']);
  100. if($colloquium!=1)
  101. $colloquium=0;
  102. $x=mysql_real_escape_string($_POST['x']);
  103. if($x!=1)
  104. $x=0;
  105. $y=mysql_real_escape_string($_POST['y']);
  106. if($y!=1)
  107. $y=0;
  108. if(mysql_query("INSERT INTO course_schedule(date,colloquium,x,y)
  109. VALUES('$date','$colloquium','$x','$y')") or die(mysql_error()))
  110. {
  111. $status=1;
  112. }
  113. else{
  114. $status=0;
  115. }
  116. }
  117. elseif(isset($_POST['update_schedule'])){
  118. $id=mysql_real_escape_string($_POST['id']);
  119. $date=mysql_real_escape_string($_POST['date']);
  120. $colloquium=mysql_real_escape_string($_POST['colloquium']);
  121. if($colloquium!=1)
  122. $colloquium=0;
  123. $x=mysql_real_escape_string($_POST['x']);
  124. if($x!=1)
  125. $x=0;
  126. $y=mysql_real_escape_string($_POST['y']);
  127. if($y!=1)
  128. $y=0;
  129. if(mysql_query("UPDATE course_schedule
  130. SET date='$date',colloquium='$colloquium',x='$x',y='$y'
  131. WHERE id='$id' LIMIT 1") or die(mysql_error()))
  132. {
  133. $status=1;
  134. }
  135. else{
  136. $status=0;
  137. }
  138. }
  139. elseif(isset($_POST['quarter_button'])){
  140. $quarter1=mysql_real_escape_string($_POST['quarter1']);
  141. $quarter2=mysql_real_escape_string($_POST['quarter2']);
  142. $quarter3=mysql_real_escape_string($_POST['quarter3']);
  143. $quarter4=mysql_real_escape_string($_POST['quarter4']);
  144. if(mysql_query("UPDATE settings
  145. SET quarter_1_start='$quarter1',quarter_2_start='$quarter2',quarter_3_start='$quarter3',quarter_4_start='$quarter4'
  146. WHERE id=1 LIMIT 1") or die(mysql_error()))
  147. {
  148. $status=1;
  149. }
  150. else{
  151. $status=0;
  152. }
  153. }
  154. elseif(isset($_POST['classrooms'])){
  155. $classrooms=mysql_real_escape_string($_POST['classrooms']);
  156. if(mysql_query("UPDATE settings
  157. SET rooms='$classrooms' WHERE id=1 LIMIT 1") or die(mysql_error()))
  158. {
  159. $status=1;
  160. }
  161. else{
  162. $status=0;
  163. }
  164. }
  165. elseif(isset($_POST['add_ghost_user'])){
  166. $username=mysql_real_escape_string($_POST['username']);
  167. $ghost_user=mysql_real_escape_string($_POST['ghost_user']);
  168. if(mysql_query("UPDATE users
  169. SET ghost_user='$ghost_user' WHERE username='$username' LIMIT 1") or die(mysql_error()))
  170. {
  171. $status=1;
  172. }
  173. else{
  174. $status=0;
  175. }
  176. }
  177. elseif(isset($_POST['remove_ghost_user'])){
  178. $username=mysql_real_escape_string($_POST['username']);
  179. if(mysql_query("UPDATE users
  180. SET ghost_user=NULL WHERE username='$username' LIMIT 1") or die(mysql_error()))
  181. {
  182. $status=1;
  183. }
  184. else{
  185. $status=0;
  186. }
  187. }
  188. }
  189. //Get Settings
  190. $get_settings_result=mysql_query(
  191. "SELECT * FROM settings LIMIT 1") or die(mysql_error());
  192. $get_settings_array=mysql_fetch_array($get_settings_result);
  193. $freshman=$get_settings_array['freshman'];
  194. $sophomore=$get_settings_array['sophomore'];
  195. $junior=$get_settings_array['junior'];
  196. $senior=$get_settings_array['senior'];
  197. //Get Course Schedule
  198. $get_course_schedule_result=mysql_query(
  199. "SELECT * FROM course_schedule") or die(mysql_error());
  200. //Get Ghost Users
  201. $get_ghost_users_result=mysql_query(
  202. "SELECT id,username,ghost_user FROM `users` WHERE ghost_user IS NOT NULL") or die(mysql_error());
  203. mysql_close();
  204. ?>
  205. <!DOCTYPE html>
  206. <html lang='en'>
  207. <head>
  208. <meta charset='utf-8'>
  209. <title>Enroll: <?php echo $school_name; ?></title>
  210. <meta name='viewport' content='width=device-width, initial-scale=1.0'>
  211. <meta name='description' content="Flexible Scheduling for Today's Classroom">
  212. <meta name='author' content='Marcos Alcozer'>
  213. <meta name='keywords' content='Education, Scheduling'>
  214. <!-- CSS -->
  215. <style>
  216. body {
  217. padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
  218. }
  219. </style>
  220. <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
  221. <link href="../css/bootstrap-datetimepicker.min.css" rel="stylesheet">
  222. <link href="../css/admin.css" rel="stylesheet">
  223. <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
  224. <!--[if lt IE 9]>
  225. <script src="../js/html5shiv.js"></script>
  226. <![endif]-->
  227. </head>
  228. <body data-spy="scroll" data-target=".bs-docs-sidebar">
  229. <?php include_once("analyticstracking.php") ?>
  230. <div class="navbar navbar-inverse navbar-fixed-top">
  231. <div class="navbar-inner">
  232. <div class="container">
  233. <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
  234. <span class="icon-bar"></span>
  235. <span class="icon-bar"></span>
  236. <span class="icon-bar"></span>
  237. </button>
  238. <a class="brand appname" href="#">Enroll<img src='../img/beta-icon.png' style="vertical-align:text-top;"/></a>
  239. <div class="nav-collapse collapse">
  240. <ul class="nav">
  241. <li><a href="index.php">Dashboard</a></li>
  242. <li class="dropdown">
  243. <a href="#" class="dropdown-toggle" data-toggle="dropdown">Approvals <b class="caret"></b></a>
  244. <ul class="dropdown-menu">
  245. <li><a href='approvals_xy.php'>XY</a></li>
  246. <li class="dropdown-submenu">
  247. <a tabindex="-1" href="#">Colloquium</a>
  248. <ul class="dropdown-menu">
  249. <li><a href='approvals_col.php?semester=1'>Semester 1</a></li>
  250. <li><a href='approvals_col.php?semester=2'>Semester 2</a></li>
  251. </ul>
  252. </li>
  253. </ul>
  254. </li>
  255. <li class="dropdown">
  256. <a href="#" class="dropdown-toggle" data-toggle="dropdown">Enrollments <b class="caret"></b></a>
  257. <ul class="dropdown-menu">
  258. <li><a href='enroll_xy.php'>XY</a></li>
  259. <li class="dropdown-submenu">
  260. <a tabindex="-1" href="#">Colloquium</a>
  261. <ul class="dropdown-menu">
  262. <li><a href='enroll_col.php?semester=1'>Semester 1</a></li>
  263. <li><a href='enroll_col.php?semester=2'>Semester 2</a></li>
  264. </ul>
  265. </li>
  266. </ul>
  267. </li>
  268. <li class="dropdown">
  269. <a href="#" class="dropdown-toggle" data-toggle="dropdown">Activity <b class="caret"></b></a>
  270. <ul class="dropdown-menu">
  271. <li><a href='activity_xy.php'>XY</a></li>
  272. <li><a href='activity_col.php'>Colloquium</a></li>
  273. </ul>
  274. </li>
  275. <?php if($_SESSION['teacher']){
  276. echo "<li><a href='../teacher/agenda.php'>My Courses</a></li>";
  277. }?>
  278. <li class="active"><a href="options.php">Settings</a></li>
  279. </ul>
  280. <ul class="nav pull-right">
  281. <li>
  282. <form id="ghostuserform" class="navbar-form pull-right">
  283. <input class="span2 search-query" name="username" type="text"
  284. data-provide="typeahead" autocomplete="off" placeholder="Login as..."
  285. data-source='[<?php echo implode(',',$ghost_usernames); ?>]' />
  286. </form>
  287. </li>
  288. <?php
  289. if(!isset($_SESSION['username']))
  290. echo "<li class='login-button'><a href='../login.html' style='color:#FFFFFF'>Login</a></li>";
  291. else
  292. echo "<li class='login-button'><a href='../logout.php' style='color:#FFFFFF'>Logout</a></li>";
  293. ?>
  294. </ul>
  295. </div><!--/.nav-collapse -->
  296. </div>
  297. </div>
  298. <?php if(!$status && !is_null($status)) { ?>
  299. <div id="failed" class="alert alert-error text-center">
  300. <button type="button" class="close" data-dismiss="alert">&times;</button>
  301. Sorry, changes did not save.
  302. </div>
  303. <?php }else if($status && !is_null($status)) { ?>
  304. <div id="success" class="alert alert-info text-center">
  305. <button type="button" class="close" data-dismiss="alert">&times;</button>
  306. Changes saved successfully.
  307. </div>
  308. <?php } ?>
  309. <div id="status" class="alert alert-info text-center" style="display: none;">
  310. <button type="button" class="close" data-dismiss="alert">&times;</button>
  311. <span id="status_text"></span>
  312. </div>
  313. </div>
  314. <div class='container'>
  315. <div class="row">
  316. <div class="span2 bs-docs-sidebar hidden-phone hidden-tablet">
  317. <ul class="nav nav-list bs-docs-sidenav">
  318. <li><a href='#colloquiumstartend'><i class='icon-chevron-right'></i>Registration Start/End Times</a></li>
  319. <li><a href='#quarters'><i class='icon-chevron-right'></i>Quarter Start Dates</a></li>
  320. <li><a href='#schedule'><i class='icon-chevron-right'></i>Course Schedule</a></li>
  321. <li><a href='#classrooms'><i class='icon-chevron-right'></i>Available Classrooms</a></li>
  322. <li><a href='#graduation'><i class='icon-chevron-right'></i>Graduation Years</a></li>
  323. <li><a href='#ghost'><i class='icon-chevron-right'></i>Ghost Users</a></li>
  324. <li><a href='#sync'><i class='icon-chevron-right'></i>Sync Users</a></li>
  325. </ul>
  326. </div>
  327. <div class="span9 offset1">
  328. <section id="colloquiumstartend">
  329. <div class='page-header'>
  330. <h2>Colloquium Registration Start/End Times</h2>
  331. </div>
  332. <div class="row">
  333. <div class="span4">
  334. <h3>Semester 1</h3>
  335. <form class="form" action="#colloquiumstartend" method="post">
  336. <div class="control-group">
  337. <label class="control-label" for="inputCol1Freshman">Freshman Start Time</label>
  338. <div class="input-append date controls datetimepicker">
  339. <input data-format="yyyy-MM-dd hh:mm:ss" type="text"
  340. name="freshman" id="inputCol1Freshman" value="<?php echo $get_settings_array['col1_freshman_start']; ?>" required />
  341. <span class="add-on">
  342. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  343. </i>
  344. </span>
  345. </div>
  346. </div>
  347. <div class="control-group">
  348. <label class="control-label" for="inputCol1Sophomore">Sophomore Start Time</label>
  349. <div class="input-append date controls datetimepicker">
  350. <input data-format="yyyy-MM-dd hh:mm:ss" type="text"
  351. name="sophomore" id="inputCol1Sophomore" value="<?php echo $get_settings_array['col1_sophomore_start']; ?>" required />
  352. <span class="add-on">
  353. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  354. </i>
  355. </span>
  356. </div>
  357. </div>
  358. <div class="control-group">
  359. <label class="control-label" for="inputCol1Junior">Junior Start Time</label>
  360. <div class="input-append date controls datetimepicker">
  361. <input data-format="yyyy-MM-dd hh:mm:ss" type="text"
  362. name="junior" id="inputCol1Junior" value="<?php echo $get_settings_array['col1_junior_start']; ?>" required />
  363. <span class="add-on">
  364. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  365. </i>
  366. </span>
  367. </div>
  368. </div>
  369. <div class="control-group">
  370. <label class="control-label" for="inputCol1Senior">Senior Start Time</label>
  371. <div class="input-append date controls datetimepicker">
  372. <input data-format="yyyy-MM-dd hh:mm:ss" type="text"
  373. name="senior" id="inputCol1Senior" value="<?php echo $get_settings_array['col1_senior_start']; ?>" required />
  374. <span class="add-on">
  375. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  376. </i>
  377. </span>
  378. </div>
  379. </div>
  380. <div class="control-group">
  381. <label class="control-label" for="inputCol1EndTime">End Time</label>
  382. <div class="input-append date controls datetimepicker">
  383. <input data-format="yyyy-MM-dd hh:mm:ss" type="text"
  384. name="end" id="inputCol1EndTime" value="<?php echo $get_settings_array['col1_end']; ?>" required />
  385. <span class="add-on">
  386. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  387. </i>
  388. </span>
  389. </div>
  390. </div>
  391. <div class="control-group">
  392. <div class="controls">
  393. <button type="submit" class="btn btn-primary" name="sem1times">Update</button>
  394. </div>
  395. </div>
  396. </form>
  397. </div>
  398. <div class="span5">
  399. <h3>Semester 2</h3>
  400. <form class="form" action="#colloquiumstartend" method="post">
  401. <div class="control-group">
  402. <label class="control-label" for="inputCol2Freshman">Freshman Start Time</label>
  403. <div class="input-append date controls datetimepicker">
  404. <input data-format="yyyy-MM-dd hh:mm:ss" type="text"
  405. name="freshman" id="inputCol2Freshman" value="<?php echo $get_settings_array['col2_freshman_start']; ?>" required />
  406. <span class="add-on">
  407. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  408. </i>
  409. </span>
  410. </div>
  411. </div>
  412. <div class="control-group">
  413. <label class="control-label" for="inputCol2Sophomore">Sophomore Start Time</label>
  414. <div class="input-append date controls datetimepicker">
  415. <input data-format="yyyy-MM-dd hh:mm:ss" type="text"
  416. name="sophomore" id="inputCol2Sophomore" value="<?php echo $get_settings_array['col2_sophomore_start']; ?>" required />
  417. <span class="add-on">
  418. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  419. </i>
  420. </span>
  421. </div>
  422. </div>
  423. <div class="control-group">
  424. <label class="control-label" for="inputCol2Junior">Junior Start Time</label>
  425. <div class="input-append date controls datetimepicker">
  426. <input data-format="yyyy-MM-dd hh:mm:ss" type="text"
  427. name="junior" id="inputCol2Junior" value="<?php echo $get_settings_array['col2_junior_start']; ?>" required />
  428. <span class="add-on">
  429. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  430. </i>
  431. </span>
  432. </div>
  433. </div>
  434. <div class="control-group">
  435. <label class="control-label" for="inputCol2Senior">Senior Start Time</label>
  436. <div class="input-append date controls datetimepicker">
  437. <input data-format="yyyy-MM-dd hh:mm:ss" type="text"
  438. name="senior" id="inputCol2Senior" value="<?php echo $get_settings_array['col2_senior_start']; ?>" required />
  439. <span class="add-on">
  440. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  441. </i>
  442. </span>
  443. </div>
  444. </div>
  445. <div class="control-group">
  446. <label class="control-label" for="inputCol2EndTime">End Time</label>
  447. <div class="input-append date controls datetimepicker">
  448. <input data-format="yyyy-MM-dd hh:mm:ss" type="text"
  449. name="end" id="inputCol2EndTime" value="<?php echo $get_settings_array['col2_end']; ?>" required />
  450. <span class="add-on">
  451. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  452. </i>
  453. </span>
  454. </div>
  455. </div>
  456. <div class="control-group">
  457. <div class="controls">
  458. <button type="submit" class="btn btn-primary" name="sem2times">Update</button>
  459. </div>
  460. </div>
  461. </form>
  462. </div>
  463. </div>
  464. </section>
  465. <section id="xystartend">
  466. <div class='page-header'>
  467. <h2>XY Registration Start/End Times</h2>
  468. </div>
  469. <form class="form" action="#xystartend" method="post">
  470. XY registration will open
  471. <input type="number" name="xy_num_days_open" class="input-mini" value=<?php echo $get_settings_array['xy_num_days_open']; ?> required />
  472. days prior at
  473. <span class="input-append timepicker">
  474. <input data-format="hh:mm:ss" type="text" class="input-mini"
  475. name="xy_time_open" value="<?php echo $get_settings_array['xy_time_open']; ?>" required />
  476. <span class="add-on">
  477. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  478. </i>
  479. </span>
  480. </span>
  481. and will close
  482. <input type="number" name="xy_num_days_close" class="input-mini" value=<?php echo $get_settings_array['xy_num_days_close']; ?> required />
  483. days prior at
  484. <span class="input-append timepicker">
  485. <input data-format="hh:mm:ss" type="text" class="input-mini"
  486. name="xy_time_close" value="<?php echo $get_settings_array['xy_time_close']; ?>" required />
  487. <span class="add-on">
  488. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  489. </i>
  490. </span>
  491. </span>
  492. <div>
  493. <button type="submit" class="btn btn-primary" name="xytimes">Update</button>
  494. </div>
  495. </form>
  496. </section>
  497. <section id="quarters">
  498. <div class='page-header'>
  499. <h2>Quarter Start Dates</h2>
  500. </div>
  501. <form class="form" action="#quarters" method="post">
  502. <div class="control-group">
  503. <label class="control-label" for="inputQuarter1">1st Quarter Start Date</label>
  504. <div class="input-append date controls datepicker">
  505. <input data-format="yyyy-MM-dd" type="text"
  506. name="quarter1" id="inputQuarter1" value="<?php echo $get_settings_array['quarter_1_start']; ?>" required />
  507. <span class="add-on">
  508. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  509. </i>
  510. </span>
  511. </div>
  512. </div>
  513. <div class="control-group">
  514. <label class="control-label" for="inputQuarter2">2nd Quarter Start Date</label>
  515. <div class="input-append date controls datepicker">
  516. <input data-format="yyyy-MM-dd" type="text"
  517. name="quarter2" id="inputQuarter2" value="<?php echo $get_settings_array['quarter_2_start']; ?>" required />
  518. <span class="add-on">
  519. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  520. </i>
  521. </span>
  522. </div>
  523. </div>
  524. <div class="control-group">
  525. <label class="control-label" for="inputQuarter3">3rd Quarter Start Date</label>
  526. <div class="input-append date controls datepicker">
  527. <input data-format="yyyy-MM-dd" type="text"
  528. name="quarter3" id="inputQuarter3" value="<?php echo $get_settings_array['quarter_3_start']; ?>" required />
  529. <span class="add-on">
  530. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  531. </i>
  532. </span>
  533. </div>
  534. </div>
  535. <div class="control-group">
  536. <label class="control-label" for="inputQuarter4">4th Quarter Start Date</label>
  537. <div class="input-append date controls datepicker">
  538. <input data-format="yyyy-MM-dd" type="text"
  539. name="quarter4" id="inputQuarter4" value="<?php echo $get_settings_array['quarter_4_start']; ?>" required />
  540. <span class="add-on">
  541. <i data-time-icon="icon-time" data-date-icon="icon-calendar">
  542. </i>
  543. </span>
  544. </div>
  545. </div>
  546. <div class="control-group">
  547. <div class="controls">
  548. <button type="submit" class="btn btn-primary" name="quarter_button">Update</button>
  549. </div>
  550. </div>
  551. </form>
  552. </section>
  553. <section id="schedule">
  554. <div class='page-header'>
  555. <h2>Course Schedule</h2>
  556. </div>
  557. <table class="table table-striped table-condensed table-hover">
  558. <thead>
  559. <tr>
  560. <th>Date</th>
  561. <th>Colloquium</th>
  562. <th>X</th>
  563. <th>Y</th>
  564. <th></th>
  565. </tr>
  566. </thead>
  567. <tbody>
  568. <?php
  569. while($row=mysql_fetch_array($get_course_schedule_result)){
  570. ?>
  571. <tr>
  572. <form class="form" action="#schedule" method="post">
  573. <input name='id' type='hidden' value="<?php echo $row['id']; ?>" />
  574. <td>
  575. <div class="input-append date controls datepicker">
  576. <input class="input-small" data-format="yyyy-MM-dd" type="text" name="date" value="<?php echo $row['date']; ?>" required />
  577. <span class="add-on">
  578. <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i>
  579. </span>
  580. </div>
  581. </td>
  582. <td>
  583. <label class='checkbox inline'>
  584. <input type='checkbox' name='colloquium' value=1 <?php if($row['colloquium']){echo " checked";} ?> />
  585. </label>
  586. </td>
  587. <td>
  588. <label class='checkbox inline'>
  589. <input type='checkbox' name='x' value=1 <?php if($row['x']){echo " checked";} ?> />
  590. </label>
  591. </td>
  592. <td>
  593. <label class='checkbox inline'>
  594. <input type='checkbox' name='y' value=1 <?php if($row['y']){echo " checked";} ?> />
  595. </label>
  596. </td>
  597. <td>
  598. <button type="submit" class="btn" name="update_schedule">Update</button>
  599. </td>
  600. </form>
  601. </tr>
  602. <?php
  603. }
  604. ?>
  605. <tr>
  606. <form class="form" action="#schedule" method="post">
  607. <td>
  608. <div class="input-append date controls datepicker">
  609. <input class="input-small" data-format="yyyy-MM-dd" type="text" name="date" required />
  610. <span class="add-on">
  611. <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i>
  612. </span>
  613. </div>
  614. </td>
  615. <td>
  616. <label class='checkbox inline'>
  617. <input type='checkbox' name='colloquium' value=1 />
  618. </label>
  619. </td>
  620. <td>
  621. <label class='checkbox inline'>
  622. <input type='checkbox' name='x' value=1 />
  623. </label>
  624. </td>
  625. <td>
  626. <label class='checkbox inline'>
  627. <input type='checkbox' name='y' value=1 />
  628. </label>
  629. </td>
  630. <td>
  631. <button type="submit" class="btn btn-primary" name="add_schedule">Add</button>
  632. </td>
  633. </form>
  634. </tr>
  635. </tbody>
  636. </table>
  637. </section>
  638. <section id="classrooms">
  639. <div class='page-header'>
  640. <h2>Available Classrooms</h2>
  641. </div>
  642. <form class="form" action="#classrooms" method="post">
  643. <div class="control-group">
  644. <label class="control-label" for="classroms">List of classrooms:</label>
  645. <div class="controls">
  646. <textarea class="input-xxlarge" name="classrooms" id="classrooms" rows="5" required><?php echo $get_settings_array['rooms']; ?></textarea>
  647. </div>
  648. </div>
  649. <div class="control-group">
  650. <div class="controls">
  651. <button name="classrooms_submit" type="submit" class="btn btn-primary">Update</button>
  652. </div>
  653. </div>
  654. </form>
  655. </section>
  656. <section id="graduation">
  657. <div class='page-header'>
  658. <h2>Graduation Years</h2>
  659. </div>
  660. <form class="form-horizontal" action="#graduation" method="post">
  661. <div class="control-group">
  662. <label class="control-label" for="inputFreshman">Freshman</label>
  663. <div class="controls">
  664. <input type="number" name="freshman" id="inputFreshman" value=<?php echo $freshman; ?> required />
  665. </div>
  666. </div>
  667. <div class="control-group">
  668. <label class="control-label" for="inputSophomore">Sophomore</label>
  669. <div class="controls">
  670. <input type="number" name="sophomore" id="inputSophomore" value=<?php echo $sophomore; ?> required />
  671. </div>
  672. </div>
  673. <div class="control-group">
  674. <label class="control-label" for="inputJunior">Junior</label>
  675. <div class="controls">
  676. <input type="number" name="junior" id="inputJunior" value=<?php echo $junior; ?> required />
  677. </div>
  678. </div>
  679. <div class="control-group">
  680. <label class="control-label" for="inputSenior">Senior</label>
  681. <div class="controls">
  682. <input type="number" name="senior" id="inputSenior" value=<?php echo $senior; ?> required />
  683. </div>
  684. </div>
  685. <div class="control-group">
  686. <div class="controls">
  687. <button name="gradyears" type="submit" class="btn btn-primary">Update</button>
  688. </div>
  689. </div>
  690. </form>
  691. </section>
  692. <section id="ghost">
  693. <div class='page-header'>
  694. <h2>Ghost Users</h2>
  695. </div>
  696. <table class="table table-striped table-condensed table-hover">
  697. <thead>
  698. <tr>
  699. <th></th>
  700. <th></th>
  701. <th></th>
  702. <th></th>
  703. </tr>
  704. </thead>
  705. <tbody>
  706. <?php
  707. while($row=mysql_fetch_array($get_ghost_users_result)){
  708. ?>
  709. <tr>
  710. <form class="form" action="#ghost" method="post">
  711. <input name='id' type='hidden' value="<?php echo $row['id']; ?>" />
  712. <td>
  713. <input class="input-medium uneditable-input" name="username" type="text" value="<?php echo $row['username']; ?>" />
  714. </td>
  715. <td>
  716. appears as
  717. </td>
  718. <td>
  719. <input class="input-medium uneditable-input" name="ghost_user" type="text" value="<?php echo $row['ghost_user']; ?>" />
  720. </td>
  721. <td>
  722. <button type="submit" class="btn" name="remove_ghost_user">Remove</button>
  723. </td>
  724. </form>
  725. </tr>
  726. <?php
  727. }
  728. ?>
  729. <tr>
  730. <form class="form" action="#ghost" method="post">
  731. <td>
  732. <input class="input-medium" name="username" type="text"
  733. data-provide="typeahead" autocomplete="off"
  734. data-source='[<?php echo implode(',',$teacher_usernames); ?>]' />
  735. </td>
  736. <td>
  737. appears as
  738. </td>
  739. <td>
  740. <input class="input-medium" name="ghost_user" type="text"
  741. data-provide="typeahead" autocomplete="off"
  742. data-source='[<?php echo implode(',',$teacher_usernames); ?>]' />
  743. </td>
  744. <td>
  745. <button type="submit" class="btn btn-primary" name="add_ghost_user">Add</button>
  746. </td>
  747. </form>
  748. </tr>
  749. </tbody>
  750. </table>
  751. </section>
  752. <section id="sync">
  753. <div class='page-header'>
  754. <h2>Sync Users</h2>
  755. </div>
  756. <form class="form-horizontal" action="#sync" id="sync_users_form" method="post">
  757. <div class="control-group">
  758. <label class="control-label" for="inputUsername">Username</label>
  759. <div class="controls">
  760. <input type="text" name="username" id="inputUsername" value=<?php echo $_SESSION['username']; ?> required />
  761. </div>
  762. </div>
  763. <div class="control-group">
  764. <label class="control-label" for="inputPassword">Password</label>
  765. <div class="controls">
  766. <input type="password" name="password" id="inputPassword" required />
  767. </div>
  768. </div>
  769. <div class="control-group">
  770. <div class="controls">
  771. <input type="submit" id="syncButton" class="btn btn-primary" value="Sync" />
  772. </div>
  773. </div>
  774. <div class="control-group">
  775. <div class="controls">
  776. <div id="please_wait" style="display: none;">
  777. <em>Working on it, please wait...</em>
  778. </div>
  779. </div>
  780. </form>
  781. </section>
  782. </div>
  783. </div>
  784. </div>
  785. <!-- JQUERY -->
  786. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  787. <!-- BOOTSTRAP -->
  788. <script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
  789. <!-- AJAX UPLOAD BY BRYAN GENTRY -->
  790. <!-- http://bryangentry.us/ajax-upload-with-javascript-and-php-upload-an-image-and-display-a-preview/ -->
  791. <script src="../js/ajaxupload.js"></script>
  792. <!-- BOOTSTRAP DATETIME PICKER -->
  793. <!-- http://tarruda.github.io/bootstrap-datetimepicker/ -->
  794. <script src="../js/bootstrap-datetimepicker.min.js"></script>
  795. <!-- FORM VALIDATION USING JQUERY -->
  796. <!-- http://alittlecode.com/jquery-form-validation-with-styles-from-twitter-bootstrap/ -->
  797. <!-- <script src="../js/jquery.validate.min.js"></script> -->
  798. <!-- <script src="../js/validate.js"></script> -->
  799. <!-- INHOUSE JAVASCRIPT -->
  800. <script src="../js/admin.js"></script>
  801. <script type="text/javascript">
  802. $(function() {
  803. $('.datetimepicker').datetimepicker({
  804. language: 'pt-BR'
  805. });
  806. $('.timepicker').datetimepicker({
  807. pickDate: false
  808. });
  809. $('.datepicker').datetimepicker({
  810. pickTime: false
  811. });
  812. });
  813. </script>
  814. </body>
  815. </html>