diff --git a/ChangeRole.php b/ChangeRole.php index bbd3856..0da8cb7 100644 --- a/ChangeRole.php +++ b/ChangeRole.php @@ -2,10 +2,69 @@ include 'base.php'; -$q = $_GET['q']; +$params = array($_SESSION['Username']); +$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET); +$ListRolesQuery = "SELECT DISTINCT R.Role, R.Designation, R.RoleID, R.Type FROM Roles as R, RoleInstances as RI WHERE RI.SiteUsername = ? AND RI.RoleID = R.RoleID ORDER BY R.RoleID, R.Designation, R.Type"; +$stmt = sqlsrv_query($con, $ListRolesQuery, $params, $options); +if( $stmt === false ) { + die( print_r( sqlsrv_errors(), true)); +} + +// Make the first (and in this case, only) row of the result set available for reading. +$RolesList = []; +$Designations = []; +$AccessPriv = []; +while( sqlsrv_fetch( $stmt ) === true) { + $RolesList[] = sqlsrv_get_field( $stmt, 0); + $AccessPriv[] = sqlsrv_get_field( $stmt, 3); +} + + +$targetRole = $_GET['q']; +$targetAccessType = $_GET['t']; + +$index = 0; +$valid = false; +foreach($RolesList as $ListedRole) +{ + if ($ListedRole == $targetRole) + { + + if ($AccessPriv[$index] == $targetAccessType) + { + $valid = true; + $_SESSION['Role'] = $targetRole; + $_SESSION['AccessType'] = $targetAccessType; + if ($targetRole == 'Admin') + { + /*$params = array($_SESSION['username']); + $options = array( "Scrollable" => 'static' );*/ + $instQuery = "SELECT I.InstitutionName FROM Institutions as I, Administrators as A WHERE A.SiteUsername = ? AND I.InstitutionID = A.InstitutionID"; + $stmt = sqlsrv_query( $con, $instQuery, $params, $options); + if ($stmt === false) + die (print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch( $stmt ) == true) + $_SESSION['Institution'] = sqlsrv_get_field($stmt, 0); + } + elseif ($targetRole == 'Student') + { + $instQuery = "SELECT I.InstitutionName FROM Institutions as I, Students as S WHERE S.SiteUsername = ? AND I.InstitutionID = S.InstitutionID"; + $stmt = sqlsrv_query( $con, $instQuery, $params, $options); + if ($stmt === false) + die (print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch( $stmt ) === true) + $_SESSION['Institution'] = sqlsrv_get_field( $stmt, 0); + + } + echo ""; + } + } + $index++; +} +if (!($valid)) +{ + echo ""; +} -$_SESSION['Role'] = $q; -$role = $_SESSION['Role']; -echo ""; ?> diff --git a/FlatUI/css/corpus/theme.css b/FlatUI/css/corpus/theme.css new file mode 100644 index 0000000..9b39f6c --- /dev/null +++ b/FlatUI/css/corpus/theme.css @@ -0,0 +1,6203 @@ +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,700); +/*! + * Bootstrap v3.0.0 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */ +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} +audio, +canvas, +video { + display: inline-block; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden] { + display: none; +} +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +a:focus { + outline: thin dotted; +} +a:active, +a:hover { + outline: 0; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} +mark { + background: #ff0; + color: #000; +} +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} +pre { + white-space: pre-wrap; +} +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 0; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +button, +input, +select, +textarea { + font-family: inherit; + font-size: 100%; + margin: 0; +} +button, +input { + line-height: normal; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="search"] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +textarea { + overflow: auto; + vertical-align: top; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +@media print { + * { + text-shadow: none !important; + color: #000 !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 2cm .5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .table td, + .table th { + background-color: #fff !important; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +*, +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 62.5%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Open Sans", Arial, sans-serif; + font-size: 14px; + line-height: 1.428571429; + color: #333333; + background-color: #ffffff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +button, +input, +select[multiple], +textarea { + background-image: none; +} +a { + color: #1abc9c; + text-decoration: none; +} +a:hover, +a:focus { + color: #28e1bd; + text-decoration: underline; +} +a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +img { + vertical-align: middle; +} +.img-responsive { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 0px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.428571429; + background-color: #34495e; + border: 1px solid rgba(74, 104, 133, 0.81); + border-radius: 0px; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #808080; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0 0 0 0); + border: 0; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16.099999999999998px; + font-weight: 200; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small { + font-size: 85%; +} +cite { + font-style: normal; +} +.text-muted { + color: #999999; +} +.text-primary { + color: #1abc9c; +} +.text-warning { + color: #ffffff; +} +.text-danger { + color: #ffffff; +} +.text-success { + color: #ffffff; +} +.text-info { + color: #ffffff; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Open Sans", Arial, sans-serif; + font-weight: 500; + line-height: 1.1; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small { + font-weight: normal; + line-height: 1; + color: #808080; +} +h1, +h2, +h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h4, +h5, +h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +h1 small, +.h1 small { + font-size: 24px; +} +h2 small, +.h2 small { + font-size: 18px; +} +h3 small, +.h3 small, +h4 small, +.h4 small { + font-size: 14px; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #808080; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.428571429; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } + .dl-horizontal dd:before, + .dl-horizontal dd:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + + } + .dl-horizontal dd:after { + clear: both; + } + .dl-horizontal dd:before, + .dl-horizontal dd:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + + } + .dl-horizontal dd:after { + clear: both; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + border-left: 5px solid #1abc9c; +} +blockquote p { + font-size: 17.5px; + font-weight: 300; + line-height: 1.25; +} +blockquote p:last-child { + margin-bottom: 0; +} +blockquote small { + display: block; + line-height: 1.428571429; + color: #999999; +} +blockquote small:before { + content: '\2014 \00A0'; +} +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #1abc9c; + border-left: 0; +} +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} +blockquote.pull-right small:before { + content: ''; +} +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 1.428571429; +} +code, +pre { + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #46627f; + background-color: #f2f2f2; + white-space: nowrap; + border-radius: 0px; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.428571429; + word-break: break-all; + word-wrap: break-word; + color: #e6e6e6; + background-color: #2b3c4e; + border: 1px solid #cccccc; + border-radius: 0px; +} +pre.prettyprint { + margin-bottom: 20px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +.container:before, +.container:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.container:after { + clear: both; +} +.container:before, +.container:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.container:after { + clear: both; +} +.row { + margin-left: -15px; + margin-right: -15px; +} +.row:before, +.row:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.row:after { + clear: both; +} +.row:before, +.row:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.row:after { + clear: both; +} +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12, +.col-sm-1, +.col-sm-2, +.col-sm-3, +.col-sm-4, +.col-sm-5, +.col-sm-6, +.col-sm-7, +.col-sm-8, +.col-sm-9, +.col-sm-10, +.col-sm-11, +.col-sm-12, +.col-md-1, +.col-md-2, +.col-md-3, +.col-md-4, +.col-md-5, +.col-md-6, +.col-md-7, +.col-md-8, +.col-md-9, +.col-md-10, +.col-md-11, +.col-md-12, +.col-lg-1, +.col-lg-2, +.col-lg-3, +.col-lg-4, +.col-lg-5, +.col-lg-6, +.col-lg-7, +.col-lg-8, +.col-lg-9, +.col-lg-10, +.col-lg-11, +.col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11 { + float: left; +} +.col-xs-1 { + width: 8.333333333333332%; +} +.col-xs-2 { + width: 16.666666666666664%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-4 { + width: 33.33333333333333%; +} +.col-xs-5 { + width: 41.66666666666667%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-7 { + width: 58.333333333333336%; +} +.col-xs-8 { + width: 66.66666666666666%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-10 { + width: 83.33333333333334%; +} +.col-xs-11 { + width: 91.66666666666666%; +} +.col-xs-12 { + width: 100%; +} +@media (min-width: 768px) { + .container { + max-width: 720px; + } + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11 { + float: left; + } + .col-sm-1 { + width: 8.333333333333332%; + } + .col-sm-2 { + width: 16.666666666666664%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-4 { + width: 33.33333333333333%; + } + .col-sm-5 { + width: 41.66666666666667%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-7 { + width: 58.333333333333336%; + } + .col-sm-8 { + width: 66.66666666666666%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-10 { + width: 83.33333333333334%; + } + .col-sm-11 { + width: 91.66666666666666%; + } + .col-sm-12 { + width: 100%; + } + .col-sm-push-1 { + left: 8.333333333333332%; + } + .col-sm-push-2 { + left: 16.666666666666664%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-4 { + left: 33.33333333333333%; + } + .col-sm-push-5 { + left: 41.66666666666667%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-7 { + left: 58.333333333333336%; + } + .col-sm-push-8 { + left: 66.66666666666666%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-10 { + left: 83.33333333333334%; + } + .col-sm-push-11 { + left: 91.66666666666666%; + } + .col-sm-pull-1 { + right: 8.333333333333332%; + } + .col-sm-pull-2 { + right: 16.666666666666664%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-4 { + right: 33.33333333333333%; + } + .col-sm-pull-5 { + right: 41.66666666666667%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-7 { + right: 58.333333333333336%; + } + .col-sm-pull-8 { + right: 66.66666666666666%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-10 { + right: 83.33333333333334%; + } + .col-sm-pull-11 { + right: 91.66666666666666%; + } + .col-sm-offset-1 { + margin-left: 8.333333333333332%; + } + .col-sm-offset-2 { + margin-left: 16.666666666666664%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-4 { + margin-left: 33.33333333333333%; + } + .col-sm-offset-5 { + margin-left: 41.66666666666667%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-7 { + margin-left: 58.333333333333336%; + } + .col-sm-offset-8 { + margin-left: 66.66666666666666%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-10 { + margin-left: 83.33333333333334%; + } + .col-sm-offset-11 { + margin-left: 91.66666666666666%; + } +} +@media (min-width: 992px) { + .container { + max-width: 940px; + } + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11 { + float: left; + } + .col-md-1 { + width: 8.333333333333332%; + } + .col-md-2 { + width: 16.666666666666664%; + } + .col-md-3 { + width: 25%; + } + .col-md-4 { + width: 33.33333333333333%; + } + .col-md-5 { + width: 41.66666666666667%; + } + .col-md-6 { + width: 50%; + } + .col-md-7 { + width: 58.333333333333336%; + } + .col-md-8 { + width: 66.66666666666666%; + } + .col-md-9 { + width: 75%; + } + .col-md-10 { + width: 83.33333333333334%; + } + .col-md-11 { + width: 91.66666666666666%; + } + .col-md-12 { + width: 100%; + } + .col-md-push-0 { + left: auto; + } + .col-md-push-1 { + left: 8.333333333333332%; + } + .col-md-push-2 { + left: 16.666666666666664%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-4 { + left: 33.33333333333333%; + } + .col-md-push-5 { + left: 41.66666666666667%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-7 { + left: 58.333333333333336%; + } + .col-md-push-8 { + left: 66.66666666666666%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-10 { + left: 83.33333333333334%; + } + .col-md-push-11 { + left: 91.66666666666666%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-pull-1 { + right: 8.333333333333332%; + } + .col-md-pull-2 { + right: 16.666666666666664%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-4 { + right: 33.33333333333333%; + } + .col-md-pull-5 { + right: 41.66666666666667%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-7 { + right: 58.333333333333336%; + } + .col-md-pull-8 { + right: 66.66666666666666%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-10 { + right: 83.33333333333334%; + } + .col-md-pull-11 { + right: 91.66666666666666%; + } + .col-md-offset-0 { + margin-left: 0; + } + .col-md-offset-1 { + margin-left: 8.333333333333332%; + } + .col-md-offset-2 { + margin-left: 16.666666666666664%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-4 { + margin-left: 33.33333333333333%; + } + .col-md-offset-5 { + margin-left: 41.66666666666667%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-7 { + margin-left: 58.333333333333336%; + } + .col-md-offset-8 { + margin-left: 66.66666666666666%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-10 { + margin-left: 83.33333333333334%; + } + .col-md-offset-11 { + margin-left: 91.66666666666666%; + } +} +@media (min-width: 1200px) { + .container { + max-width: 1170px; + } + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11 { + float: left; + } + .col-lg-1 { + width: 8.333333333333332%; + } + .col-lg-2 { + width: 16.666666666666664%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-4 { + width: 33.33333333333333%; + } + .col-lg-5 { + width: 41.66666666666667%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-7 { + width: 58.333333333333336%; + } + .col-lg-8 { + width: 66.66666666666666%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-10 { + width: 83.33333333333334%; + } + .col-lg-11 { + width: 91.66666666666666%; + } + .col-lg-12 { + width: 100%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-push-1 { + left: 8.333333333333332%; + } + .col-lg-push-2 { + left: 16.666666666666664%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-4 { + left: 33.33333333333333%; + } + .col-lg-push-5 { + left: 41.66666666666667%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-7 { + left: 58.333333333333336%; + } + .col-lg-push-8 { + left: 66.66666666666666%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-10 { + left: 83.33333333333334%; + } + .col-lg-push-11 { + left: 91.66666666666666%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-pull-1 { + right: 8.333333333333332%; + } + .col-lg-pull-2 { + right: 16.666666666666664%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-4 { + right: 33.33333333333333%; + } + .col-lg-pull-5 { + right: 41.66666666666667%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-7 { + right: 58.333333333333336%; + } + .col-lg-pull-8 { + right: 66.66666666666666%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-10 { + right: 83.33333333333334%; + } + .col-lg-pull-11 { + right: 91.66666666666666%; + } + .col-lg-offset-0 { + margin-left: 0; + } + .col-lg-offset-1 { + margin-left: 8.333333333333332%; + } + .col-lg-offset-2 { + margin-left: 16.666666666666664%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-4 { + margin-left: 33.33333333333333%; + } + .col-lg-offset-5 { + margin-left: 41.66666666666667%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-7 { + margin-left: 58.333333333333336%; + } + .col-lg-offset-8 { + margin-left: 66.66666666666666%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-10 { + margin-left: 83.33333333333334%; + } + .col-lg-offset-11 { + margin-left: 91.66666666666666%; + } +} +table { + max-width: 100%; + background-color: transparent; +} +th { + text-align: left; +} +.table { + width: 100%; + margin-bottom: 20px; +} +.table thead > tr > th, +.table tbody > tr > th, +.table tfoot > tr > th, +.table thead > tr > td, +.table tbody > tr > td, +.table tfoot > tr > td { + padding: 8px; + line-height: 1.428571429; + vertical-align: top; + border-top: 1px solid #444444; +} +.table thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid rgba(0, 63, 114, 0.81); +} +.table caption + thead tr:first-child th, +.table colgroup + thead tr:first-child th, +.table thead:first-child tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child td { + border-top: 0; +} +.table tbody + tbody { + border-top: 2px solid rgba(74, 104, 133, 0.81); +} +.table .table { + background-color: #2c3e50; +} +.table-condensed thead > tr > th, +.table-condensed tbody > tr > th, +.table-condensed tfoot > tr > th, +.table-condensed thead > tr > td, +.table-condensed tbody > tr > td, +.table-condensed tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid rgba(74, 104, 133, 0.81); +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid rgba(74, 104, 133, 0.81); +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-child(odd) > td, +.table-striped > tbody > tr:nth-child(odd) > th { + background-color: rgba(26, 188, 156, 0.1); +} +.table-hover > tbody > tr:hover > td, +.table-hover > tbody > tr:hover > th { + background-color: rgba(56, 110, 128, 1); +} +table col[class*="col-"] { + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: rgba(26, 188, 156, 0.1); +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #2ecc71; + border-color: #29b74e; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td { + background-color: #29b765; + border-color: #25a245; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #e74c3c; + border-color: #e52e3c; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td { + background-color: #e43725; + border-color: #df1b2a; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #f39c12; + border-color: #ea6f0c; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td { + background-color: #e08e0b; + border-color: #d2630b; +} +@media (max-width: 768px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + overflow-x: scroll; + border: 1px solid rgba(74, 104, 133, 0.81); + } + .table-responsive > .table { + margin-bottom: 0; + background-color: #fff; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > thead > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > thead > tr:last-child > td, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #ebebeb; + border: 0; + border-bottom: 1px solid rgba(74, 104, 133, 0.81); +} +label { + display: inline-block; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + /* IE8-9 */ + + line-height: normal; +} +input[type="file"] { + display: block; +} +select[multiple], +select[size] { + height: auto; +} +select optgroup { + font-size: inherit; + font-style: inherit; + font-family: inherit; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +input[type="number"]::-webkit-outer-spin-button, +input[type="number"]::-webkit-inner-spin-button { + height: auto; +} +.form-control:-moz-placeholder { + color: #808080; +} +.form-control::-moz-placeholder { + color: #808080; +} +.form-control:-ms-input-placeholder { + color: #808080; +} +.form-control::-webkit-input-placeholder { + color: #808080; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.428571429; + color: #f2f2f2; + vertical-align: middle; + background-color: #3f5872; + border: 1px solid #1abc9c; + border-radius: 0px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #28e1bd; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(40, 225, 189, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(40, 225, 189, 0.6); +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: default; + background-color: #3f5872; + border: 1px solid #808080; +} +textarea.form-control { + height: auto; +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + display: block; + min-height: 20px; + margin-top: 10px; + margin-bottom: 10px; + padding-left: 20px; + vertical-align: middle; +} +.radio label, +.checkbox label { + display: inline; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + float: left; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +.radio[disabled], +.radio-inline[disabled], +.checkbox[disabled], +.checkbox-inline[disabled], +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"], +fieldset[disabled] .radio, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm { + height: auto; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 0px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg { + height: auto; +} +.has-warning .help-block, +.has-warning .control-label { + color: #ffffff; +} +.has-warning .form-control { + border-color: #ffffff; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #e6e6e6; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; +} +.has-warning .input-group-addon { + color: #ffffff; + border-color: #ffffff; + background-color: #f39c12; +} +.has-error .help-block, +.has-error .control-label { + color: #ffffff; +} +.has-error .form-control { + border-color: #ffffff; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #e6e6e6; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; +} +.has-error .input-group-addon { + color: #ffffff; + border-color: #ffffff; + background-color: #e74c3c; +} +.has-success .help-block, +.has-success .control-label { + color: #ffffff; +} +.has-success .form-control { + border-color: #ffffff; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #e6e6e6; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; +} +.has-success .input-group-addon { + color: #ffffff; + border-color: #ffffff; + background-color: #2ecc71; +} +.form-control-static { + margin-bottom: 0; + padding-top: 7px; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #ffffff; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } +} +.form-horizontal .control-label, +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px; +} +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.form-horizontal .form-group:after { + clear: both; +} +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.form-horizontal .form-group:after { + clear: both; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + } +} +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: 100; + line-height: 1.428571429; + text-align: center; + vertical-align: middle; + cursor: pointer; + border: 1px solid transparent; + border-radius: 0px; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus { + color: #333333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + pointer-events: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-default { + color: #ffffff; + background-color: #888888; + border-color: #cccccc; +} +.btn-default:hover, +.btn-default:focus, +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + color: #333333; + background-color: #dedede; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #f2f2f2; + border-color: #cccccc; +} +.btn-primary { + color: #ffffff; + background-color: #003f72; + border-color: #17a689; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + color: #ffffff; + background-color: #6385b6; + border-color: #0f705d; +} +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #1abc9c; + border-color: #17a689; +} +.btn-warning { + color: #ffffff; + background-color: #f39c12; + border-color: #e08e0b; +} +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + color: #ffffff; + background-color: #d2850b; + border-color: #a66908; +} +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f39c12; + border-color: #e08e0b; +} +.btn-danger { + color: #ffffff; + background-color: #9a3b26; + border-color: #000000; +} +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + color: #ffffff; + background-color: #df2e1b; + border-color: #000000; +} +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #e74c3c; + border-color: #000000; +} +.btn-success { + color: #ffffff; + background-color: #2ecc71; + border-color: #29b765; +} +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + color: #ffffff; + background-color: #26ab5f; + border-color: #1e854a; +} +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #2ecc71; + border-color: #29b765; +} +.btn-info { + color: #ffffff; + background-color: #3498db; + border-color: #258cd1; +} +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + color: #ffffff; + background-color: #2383c4; + border-color: #1c699d; +} +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #3498db; + border-color: #258cd1; +} +.btn-link { + color: #1abc9c; + font-weight: normal; + cursor: pointer; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #28e1bd; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #808080; + text-decoration: none; +} +.btn-lg { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 0px; +} +.btn-sm, +.btn-xs { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0px; +} +.btn-xs { + padding: 1px 5px; +} +.btn-block { + display: block; + width: 100%; + padding-left: 0; + padding-right: 0; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + transition: height 0.35s ease; +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; +} +.glyphicon-asterisk:before { + content: "\2a"; +} +.glyphicon-plus:before { + content: "\2b"; +} +.glyphicon-euro:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-briefcase:before { + content: "\1f4bc"; +} +.glyphicon-calendar:before { + content: "\1f4c5"; +} +.glyphicon-pushpin:before { + content: "\1f4cc"; +} +.glyphicon-paperclip:before { + content: "\1f4ce"; +} +.glyphicon-camera:before { + content: "\1f4f7"; +} +.glyphicon-lock:before { + content: "\1f512"; +} +.glyphicon-bell:before { + content: "\1f514"; +} +.glyphicon-bookmark:before { + content: "\1f516"; +} +.glyphicon-fire:before { + content: "\1f525"; +} +.glyphicon-wrench:before { + content: "\1f527"; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + border-bottom: 0 dotted; + content: ""; +} +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + background-color: #1abc9c; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: rgba(20, 143, 119, 0.41); +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #f7f7f7; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #ffffff; + background-color: rgba(22, 157, 130, 0.71); +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + background-color: rgba(26, 188, 156, 0.2); +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: rgba(255, 255, 255, 0.2); +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.428571429; + color: #e6e6e6; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0 dotted; + border-bottom: 4px solid #000000; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } +} +.btn-default .caret { + border-top-color: #333333; +} +.btn-primary .caret, +.btn-success .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret { + border-top-color: #fff; +} +.dropup .btn-default .caret { + border-bottom-color: #333333; +} +.dropup .btn-primary .caret, +.dropup .btn-success .caret, +.dropup .btn-warning .caret, +.dropup .btn-danger .caret, +.dropup .btn-info .caret { + border-bottom-color: #fff; +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus { + outline: none; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar:before, +.btn-toolbar:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.btn-toolbar:after { + clear: both; +} +.btn-toolbar:before, +.btn-toolbar:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.btn-toolbar:after { + clear: both; +} +.btn-toolbar .btn-group { + float: left; +} +.btn-toolbar > .btn + .btn, +.btn-toolbar > .btn-group + .btn, +.btn-toolbar > .btn + .btn-group, +.btn-toolbar > .btn-group + .btn-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group-xs > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0px; + padding: 1px 5px; +} +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0px; +} +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 0px; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.btn-group-vertical > .btn-group:after { + clear: both; +} +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.btn-group-vertical > .btn-group:after { + clear: both; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 0px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-bottom-left-radius: 0px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child > .btn:last-child, +.btn-group-vertical > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified .btn { + float: none; + display: table-cell; + width: 1%; +} +[data-toggle="buttons"] > .btn > input[type="radio"], +[data-toggle="buttons"] > .btn > input[type="checkbox"] { + display: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group.col { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + width: 100%; + margin-bottom: 0; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 0px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + text-align: center; + background-color: #3f5872; + border: 1px solid #1abc9c; + border-radius: 0px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 0px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 0px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -4px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:active { + z-index: 2; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav:before, +.nav:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.nav:after { + clear: both; +} +.nav:before, +.nav:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.nav:after { + clear: both; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #1abc9c; +} +.nav > li.disabled > a { + color: #999999; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #1abc9c; + border-color: #1abc9c; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #13866f; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.428571429; + border: 1px solid transparent; + border-radius: 0px 0px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #1abc9c #1abc9c #13866f; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #1abc9c; + background-color: #34495e; + border: 1px solid #13866f; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } +} +.nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #dddddd; + margin-right: 0; +} +.nav-tabs.nav-justified > .active > a { + border-bottom-color: #2c3e50; +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 5px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #ffffff; + background-color: #1abc9c; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + border-bottom: 1px solid #dddddd; + margin-right: 0; +} +.nav-tabs-justified > .active > a { + border-bottom-color: #2c3e50; +} +.tabbable:before, +.tabbable:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.tabbable:after { + clear: both; +} +.tabbable:before, +.tabbable:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.tabbable:after { + clear: both; +} +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} +.tab-content > .active, +.pill-content > .active { + display: block; +} +.nav .caret { + border-top-color: #1abc9c; + border-bottom-color: #1abc9c; +} +.nav a:hover .caret { + border-top-color: #28e1bd; + border-bottom-color: #28e1bd; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + z-index: 1000; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +.navbar:before, +.navbar:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.navbar:after { + clear: both; +} +.navbar:before, +.navbar:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.navbar:after { + clear: both; +} +@media (min-width: 768px) { + .navbar { + border-radius: 0px; + } +} +.navbar-header:before, +.navbar-header:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.navbar-header:after { + clear: both; +} +.navbar-header:before, +.navbar-header:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.navbar-header:after { + clear: both; +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + max-height: 340px; + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse:before, +.navbar-collapse:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.navbar-collapse:after { + clear: both; +} +.navbar-collapse:before, +.navbar-collapse:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.navbar-collapse:after { + clear: both; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-collapse .navbar-nav.navbar-left:first-child { + margin-left: -15px; + } + .navbar-collapse .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } + .navbar-collapse .navbar-text:last-child { + margin-right: 0; + } +} +.container > .navbar-header, +.container > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + z-index: 1030; + top: 0; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; +} +.navbar-brand { + float: left; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 15px; + padding: 9px 10px; + margin-top: 8px; + margin-bottom: 8px; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0px; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 8px; + margin-bottom: 8px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-nav.pull-right > li > .dropdown-menu, +.navbar-nav > li > .dropdown-menu.pull-right { + left: auto; + right: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-text { + float: left; + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + margin-left: 15px; + margin-right: 15px; + } +} +.navbar-default { + background-color: #34495e; + border-color: #283849; +} +.navbar-default .navbar-brand { + color: #ebebeb; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #d1d1d1; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #34495e; +} +.navbar-default .navbar-nav > li > a { + color: #ebebeb; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #ebebeb; + background-color: #1abc9c; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #1abc9c; + background-color: rgba(26, 188, 156, 0.07); +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #dddddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #dddddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #cccccc; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #273747; +} +.navbar-default .navbar-nav > .dropdown > a:hover .caret, +.navbar-default .navbar-nav > .dropdown > a:focus .caret { + border-top-color: #ebebeb; + border-bottom-color: #ebebeb; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: rgba(26, 188, 156, 0.07); + color: #1abc9c; +} +.navbar-default .navbar-nav > .open > a .caret, +.navbar-default .navbar-nav > .open > a:hover .caret, +.navbar-default .navbar-nav > .open > a:focus .caret { + border-top-color: #1abc9c; + border-bottom-color: #1abc9c; +} +.navbar-default .navbar-nav > .dropdown > a .caret { + border-top-color: #ebebeb; + border-bottom-color: #ebebeb; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #ebebeb; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ebebeb; + background-color: #1abc9c; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #1abc9c; + background-color: rgba(26, 188, 156, 0.07); + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #ebebeb; +} +.navbar-default .navbar-link:hover { + color: #ebebeb; +} +.navbar-inverse { + background-color: #1abc9c; + border-color: #148f77; +} +.navbar-inverse .navbar-brand { + color: #ebebeb; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #ffffff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #999999; +} +.navbar-inverse .navbar-nav > li > a { + color: #ebebeb; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #ffffff; + background-color: #34495e; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: rgba(22, 157, 130, 0.71); +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #d1d1d1; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #ffffff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #169d82; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: rgba(22, 157, 130, 0.71); + color: #ffffff; +} +.navbar-inverse .navbar-nav > .dropdown > a:hover .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} +.navbar-inverse .navbar-nav > .dropdown > a .caret { + border-top-color: #ebebeb; + border-bottom-color: #ebebeb; +} +.navbar-inverse .navbar-nav > .open > a .caret, +.navbar-inverse .navbar-nav > .open > a:hover .caret, +.navbar-inverse .navbar-nav > .open > a:focus .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #148f77; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #ebebeb; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ffffff; + background-color: #34495e; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #ffffff; + background-color: rgba(22, 157, 130, 0.71); + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #d1d1d1; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #ebebeb; +} +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #34495e; + border-radius: 0px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #cccccc; +} +.breadcrumb > .active { + color: #b3b3b3; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 0px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.428571429; + text-decoration: none; + background-color: #34495e; + border: 1px solid #dddddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 0px; + border-top-left-radius: 0px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 0px; + border-top-right-radius: 0px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + background-color: #1abc9c; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #1abc9c; + border-color: #1abc9c; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #808080; + background-color: #34495e; + border-color: #dddddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 0px; + border-top-left-radius: 0px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 0px; + border-top-right-radius: 0px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 0px; + border-top-left-radius: 0px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 0px; + border-top-right-radius: 0px; +} +.pager { + padding-left: 0; + margin: 20px 0; + list-style: none; + text-align: center; +} +.pager:before, +.pager:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.pager:after { + clear: both; +} +.pager:before, +.pager:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.pager:after { + clear: both; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #34495e; + border: 1px solid #dddddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #1abc9c; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #808080; + background-color: #34495e; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +.label[href]:hover, +.label[href]:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.label-default { + background-color: #1abc9c; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #148f77; +} +.label-primary { + background-color: #1abc9c; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #148f77; +} +.label-success { + background-color: #2ecc71; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #25a25a; +} +.label-info { + background-color: #3498db; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #217dbb; +} +.label-warning { + background-color: #f39c12; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #c87f0a; +} +.label-danger { + background-color: #e74c3c; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #d62c1a; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: 400; + color: #ffffff; + line-height: 1; + vertical-align: baseline; + white-space: nowrap; + text-align: center; + background-color: #34495e; + border-radius: 10px; +} +.badge:empty { + display: none; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +.btn .badge { + position: relative; + top: -1px; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #1abc9c; + background-color: #ffffff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding: 30px; + margin-bottom: 30px; + font-size: 21px; + font-weight: 200; + line-height: 2.1428571435; + color: inherit; + background-color: #34495e; +} +.jumbotron h1 { + line-height: 1; + color: inherit; +} +.jumbotron p { + line-height: 1.4; +} +.container .jumbotron { + border-radius: 0px; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1 { + font-size: 63px; + } +} +.thumbnail { + padding: 4px; + line-height: 1.428571429; + background-color: #34495e; + border: 1px solid rgba(74, 104, 133, 0.81); + border-radius: 0px; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; + display: block; +} +.thumbnail > img { + display: block; + max-width: 100%; + height: auto; +} +a.thumbnail:hover, +a.thumbnail:focus { + border-color: #1abc9c; +} +.thumbnail > img { + margin-left: auto; + margin-right: auto; +} +.thumbnail .caption { + padding: 9px; + color: #e6e6e6; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 0px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable { + padding-right: 35px; +} +.alert-dismissable .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #2ecc71; + border-color: #29b74e; + color: #a8ebc4; +} +.alert-success hr { + border-top-color: #25a245; +} +.alert-success .alert-link { + color: #7ee2a8; +} +.alert-info { + background-color: #3498db; + border-color: #23a1c8; + color: #b6daf2; +} +.alert-info hr { + border-top-color: #2090b2; +} +.alert-info .alert-link { + color: #8bc4ea; +} +.alert-warning { + background-color: #f39c12; + border-color: #ea6f0c; + color: #ffffff; +} +.alert-warning hr { + border-top-color: #d2630b; +} +.alert-warning .alert-link { + color: #e6e6e6; +} +.alert-danger { + background-color: #e74c3c; + border-color: #e52e3c; + color: #f8c9c4; +} +.alert-danger hr { + border-top-color: #df1b2a; +} +.alert-danger .alert-link { + color: #f29f97; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #34495e; + border-radius: 0px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + color: #ffffff; + text-align: center; + background-color: #1abc9c; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #2ecc71; +} +.progress-striped .progress-bar-success { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #3498db; +} +.progress-striped .progress-bar-info { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f39c12; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #e74c3c; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media, +.media .media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media-object { + display: block; +} +.media-heading { + margin: 0 0 5px; +} +.media > .pull-left { + margin-right: 10px; +} +.media > .pull-right { + margin-left: 10px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #395168; + border: 1px solid rgba(74, 104, 133, 0.81); +} +.list-group-item:first-child { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +a.list-group-item { + color: #ffffff; +} +a.list-group-item .list-group-item-heading { + color: #ffffff; +} +a.list-group-item:hover, +a.list-group-item:focus { + text-decoration: none; + background-color: #1abc9c; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #ffffff; + background-color: #1abc9c; + border-color: #1abc9c; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #aef4e6; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + color: #ffffff; + background-color: #666666; + border: 1px solid transparent; + border-radius: 0px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + overflow-y: auto; + overflow-x: auto; + +} + +} +.panel-body { + padding: 15px; + +} +.panel-body:before, +.panel-body:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.panel-body:after { + clear: both; +} +.panel-body:before, +.panel-body:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.panel-body:after { + clear: both; +} +.panel > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item { + border-width: 1px 0; +} +.panel > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel > .list-group .list-group-item:last-child { + border-bottom: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.panel > .table { + margin-bottom: 0; +} +.panel > .panel-body + .table { + border-top: 1px solid white; /* rgba(74, 104, 133, 0.81);*/ +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: -1px; + border-top-left-radius: -1px; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; +} +.panel-title > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #34495e; + border-top: 1px solid #dddddd; + border-bottom-right-radius: -1px; + border-bottom-left-radius: -1px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 0px; + overflow: hidden; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse .panel-body { + border-top: 1px solid #dddddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #dddddd; +} +.panel-default { + border-color: #dddddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #dddddd; +} +.panel-default > .panel-heading + .panel-collapse .panel-body { + border-top-color: #dddddd; +} +.panel-default > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #dddddd; +} +.panel-primary { + border-color: #1abc9c; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #003f72; + border-color: #ffffff; +} +.panel-primary > .panel-heading + .panel-collapse .panel-body { + border-top-color: #1abc9c; +} +.panel-primary > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #1abc9c; +} +.panel-success { + border-color: #2ecc71; +} +.panel-success > .panel-heading { + color: #a8ebc4; + background-color: #2ecc71; + border-color: #2ecc71; +} +.panel-success > .panel-heading + .panel-collapse .panel-body { + border-top-color: #2ecc71; +} +.panel-success > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #2ecc71; +} +.panel-warning { + border-color: #f39c12; +} +.panel-warning > .panel-heading { + color: #fad9a4; + background-color: #f39c12; + border-color: #f39c12; +} +.panel-warning > .panel-heading + .panel-collapse .panel-body { + border-top-color: #f39c12; +} +.panel-warning > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #f39c12; +} +.panel-danger { + border-color: #e74c3c; +} +.panel-danger > .panel-heading { + color: #f8c9c4; + background-color: #e74c3c; + border-color: #e74c3c; +} +.panel-danger > .panel-heading + .panel-collapse .panel-body { + border-top-color: #e74c3c; +} +.panel-danger > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #e74c3c; +} +.panel-info { + border-color: #3498db; +} +.panel-info > .panel-heading { + color: #b6daf2; + background-color: #3498db; + border-color: #3498db; +} +.panel-info > .panel-heading + .panel-collapse .panel-body { + border-top-color: #3498db; +} +.panel-info > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #3498db; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #ffffff; + border: 4px solid #273747; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 0px; +} +.well-sm { + padding: 9px; + border-radius: 0px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-shadow: none; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +body.modal-open, +.modal-open .navbar-fixed-top, +.modal-open .navbar-fixed-bottom { + margin-right: 15px; +} +.modal { + display: none; + overflow: auto; + overflow-y: scroll; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-dialog { + margin-left: auto; + margin-right: auto; + width: auto; + padding: 10px; + z-index: 1050; +} +.modal-content { + position: relative; + background-color: #34495e; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: none; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; + background-color: #000000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid rgba(74, 104, 133, 0.81); + min-height: 16.428571429px; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.428571429; +} +.modal-body { + position: relative; + padding: 20px; +} +.modal-footer { + margin-top: 15px; + padding: 19px 20px 20px; + text-align: right; + border-top: 1px solid rgba(74, 104, 133, 0.81); +} +.modal-footer:before, +.modal-footer:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.modal-footer:after { + clear: both; +} +.modal-footer:before, +.modal-footer:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.modal-footer:after { + clear: both; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +@media screen and (min-width: 768px) { + .modal-dialog { + left: 50%; + right: auto; + width: 600px; + padding-top: 30px; + padding-bottom: 30px; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } +} +.tooltip { + position: absolute; + z-index: 1030; + display: block; + visibility: visible; + font-size: 12px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: rgba(26, 188, 156, 0.8); + border-radius: 0px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: rgba(26, 188, 156, 0.8); +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-width: 5px 5px 0; + border-top-color: rgba(26, 188, 156, 0.8); +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + right: 5px; + border-width: 5px 5px 0; + border-top-color: rgba(26, 188, 156, 0.8); +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: rgba(26, 188, 156, 0.8); +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: rgba(26, 188, 156, 0.8); +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: rgba(26, 188, 156, 0.8); +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-width: 0 5px 5px; + border-bottom-color: rgba(26, 188, 156, 0.8); +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-width: 0 5px 5px; + border-bottom-color: rgba(26, 188, 156, 0.8); +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + background-color: #1abc9c; + background-clip: padding-box; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + white-space: normal; +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #18af91; + border-bottom: 1px solid #15987e; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover .arrow { + border-width: 11px; +} +.popover .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #1abc9c; +} +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #1abc9c; +} +.popover.bottom .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #1abc9c; +} +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #1abc9c; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; + line-height: 1; +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 10%; + opacity: 0.7; + filter: alpha(opacity=70); + font-size: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-control.left { + background-image: -webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0%), color-stop(rgba(0, 0, 0, 0.0001) 100%)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0%), color-stop(rgba(0, 0, 0, 0.5) 100%)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + left: 50%; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + margin-left: -10px; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #ffffff; + border-radius: 10px; + cursor: pointer; +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #ffffff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + font-size: 30px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after { + content: " "; + /* 1 */ + + display: table; + /* 2 */ + +} +.clearfix:after { + clear: both; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +@media screen and (max-width: 400px) { + @-ms-viewport { + width: 320px; + } +} +.hidden { + display: none !important; + visibility: hidden !important; +} +.visible-xs { + display: none !important; +} +tr.visible-xs { + display: none !important; +} +th.visible-xs, +td.visible-xs { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-xs.visible-sm { + display: block !important; + } + tr.visible-xs.visible-sm { + display: table-row !important; + } + th.visible-xs.visible-sm, + td.visible-xs.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-xs.visible-md { + display: block !important; + } + tr.visible-xs.visible-md { + display: table-row !important; + } + th.visible-xs.visible-md, + td.visible-xs.visible-md { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-xs.visible-lg { + display: block !important; + } + tr.visible-xs.visible-lg { + display: table-row !important; + } + th.visible-xs.visible-lg, + td.visible-xs.visible-lg { + display: table-cell !important; + } +} +.visible-sm { + display: none !important; +} +tr.visible-sm { + display: none !important; +} +th.visible-sm, +td.visible-sm { + display: none !important; +} +@media (max-width: 767px) { + .visible-sm.visible-xs { + display: block !important; + } + tr.visible-sm.visible-xs { + display: table-row !important; + } + th.visible-sm.visible-xs, + td.visible-sm.visible-xs { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-sm.visible-md { + display: block !important; + } + tr.visible-sm.visible-md { + display: table-row !important; + } + th.visible-sm.visible-md, + td.visible-sm.visible-md { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-sm.visible-lg { + display: block !important; + } + tr.visible-sm.visible-lg { + display: table-row !important; + } + th.visible-sm.visible-lg, + td.visible-sm.visible-lg { + display: table-cell !important; + } +} +.visible-md { + display: none !important; +} +tr.visible-md { + display: none !important; +} +th.visible-md, +td.visible-md { + display: none !important; +} +@media (max-width: 767px) { + .visible-md.visible-xs { + display: block !important; + } + tr.visible-md.visible-xs { + display: table-row !important; + } + th.visible-md.visible-xs, + td.visible-md.visible-xs { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-md.visible-sm { + display: block !important; + } + tr.visible-md.visible-sm { + display: table-row !important; + } + th.visible-md.visible-sm, + td.visible-md.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-md.visible-lg { + display: block !important; + } + tr.visible-md.visible-lg { + display: table-row !important; + } + th.visible-md.visible-lg, + td.visible-md.visible-lg { + display: table-cell !important; + } +} +.visible-lg { + display: none !important; +} +tr.visible-lg { + display: none !important; +} +th.visible-lg, +td.visible-lg { + display: none !important; +} +@media (max-width: 767px) { + .visible-lg.visible-xs { + display: block !important; + } + tr.visible-lg.visible-xs { + display: table-row !important; + } + th.visible-lg.visible-xs, + td.visible-lg.visible-xs { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-lg.visible-sm { + display: block !important; + } + tr.visible-lg.visible-sm { + display: table-row !important; + } + th.visible-lg.visible-sm, + td.visible-lg.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-lg.visible-md { + display: block !important; + } + tr.visible-lg.visible-md { + display: table-row !important; + } + th.visible-lg.visible-md, + td.visible-lg.visible-md { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +.hidden-xs { + display: block !important; +} +tr.hidden-xs { + display: table-row !important; +} +th.hidden-xs, +td.hidden-xs { + display: table-cell !important; +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } + tr.hidden-xs { + display: none !important; + } + th.hidden-xs, + td.hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-xs.hidden-sm { + display: none !important; + } + tr.hidden-xs.hidden-sm { + display: none !important; + } + th.hidden-xs.hidden-sm, + td.hidden-xs.hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-xs.hidden-md { + display: none !important; + } + tr.hidden-xs.hidden-md { + display: none !important; + } + th.hidden-xs.hidden-md, + td.hidden-xs.hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-xs.hidden-lg { + display: none !important; + } + tr.hidden-xs.hidden-lg { + display: none !important; + } + th.hidden-xs.hidden-lg, + td.hidden-xs.hidden-lg { + display: none !important; + } +} +.hidden-sm { + display: block !important; +} +tr.hidden-sm { + display: table-row !important; +} +th.hidden-sm, +td.hidden-sm { + display: table-cell !important; +} +@media (max-width: 767px) { + .hidden-sm.hidden-xs { + display: none !important; + } + tr.hidden-sm.hidden-xs { + display: none !important; + } + th.hidden-sm.hidden-xs, + td.hidden-sm.hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } + tr.hidden-sm { + display: none !important; + } + th.hidden-sm, + td.hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-sm.hidden-md { + display: none !important; + } + tr.hidden-sm.hidden-md { + display: none !important; + } + th.hidden-sm.hidden-md, + td.hidden-sm.hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-sm.hidden-lg { + display: none !important; + } + tr.hidden-sm.hidden-lg { + display: none !important; + } + th.hidden-sm.hidden-lg, + td.hidden-sm.hidden-lg { + display: none !important; + } +} +.hidden-md { + display: block !important; +} +tr.hidden-md { + display: table-row !important; +} +th.hidden-md, +td.hidden-md { + display: table-cell !important; +} +@media (max-width: 767px) { + .hidden-md.hidden-xs { + display: none !important; + } + tr.hidden-md.hidden-xs { + display: none !important; + } + th.hidden-md.hidden-xs, + td.hidden-md.hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-md.hidden-sm { + display: none !important; + } + tr.hidden-md.hidden-sm { + display: none !important; + } + th.hidden-md.hidden-sm, + td.hidden-md.hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } + tr.hidden-md { + display: none !important; + } + th.hidden-md, + td.hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-md.hidden-lg { + display: none !important; + } + tr.hidden-md.hidden-lg { + display: none !important; + } + th.hidden-md.hidden-lg, + td.hidden-md.hidden-lg { + display: none !important; + } +} +.hidden-lg { + display: block !important; +} +tr.hidden-lg { + display: table-row !important; +} +th.hidden-lg, +td.hidden-lg { + display: table-cell !important; +} +@media (max-width: 767px) { + .hidden-lg.hidden-xs { + display: none !important; + } + tr.hidden-lg.hidden-xs { + display: none !important; + } + th.hidden-lg.hidden-xs, + td.hidden-lg.hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-lg.hidden-sm { + display: none !important; + } + tr.hidden-lg.hidden-sm { + display: none !important; + } + th.hidden-lg.hidden-sm, + td.hidden-lg.hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-lg.hidden-md { + display: none !important; + } + tr.hidden-lg.hidden-md { + display: none !important; + } + th.hidden-lg.hidden-md, + td.hidden-lg.hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } + tr.hidden-lg { + display: none !important; + } + th.hidden-lg, + td.hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +tr.visible-print { + display: none !important; +} +th.visible-print, +td.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } + .hidden-print { + display: none !important; + } + tr.hidden-print { + display: none !important; + } + th.hidden-print, + td.hidden-print { + display: none !important; + } +} +.form-control { + -webkit-box-shadow: none; + box-shadow: none; + color: #f2f2f2; +} +.form-control[disabled] { + border-color: #13866f; +} +.btn, +.btn:hover { + border: none; +} +.btn-group .btn + .btn { + margin: 0; +} +pre { + border: none; + color: #e6e6e6; +} +legend { + color: #ebebeb; +} +.well { + border: none; + border-radius: 0px; + -webkit-box-shadow: none; + box-shadow: none; +} +.panel { + border: none; +} +.page-header { + margin-top: 20px; +} +.nav > li > a { + color: #ffffff; +} +.nav-tabs { + margin-bottom: 15px; +} +.nav-tabs > li > a:hover { + border-color: transparent; +} +.navbar-nav > li:before { + content: ''; + position: absolute; + left: 0; + top: 0; + width: 1px; + height: 100%; + background: rgba(74, 104, 133, 0.41); +} +.navbar-nav > li:hover:before, +.navbar-nav > li:hover + li:before, +.navbar-nav > li.active:before, +.navbar-nav > li.active + li:before { + display: none; +} +.navbar-nav .disabled:hover:before, +.navbar-nav .disabled:hover + li:before { + display: block; +} +.navbar-nav > li:first-child:before { + display: none; +} +.navbar-nav > li > a { + font-size: 14px; + font-weight: 600; +} +.navbar-nav > .active > a { + cursor: default; +} +.navbar-nav > .active > a:after { + content: ''; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 4px; + background: #1abc9c; +} +.navbar-nav > .active > a:before { + content: ''; + position: absolute; + left: 50%; + top: 4px; + margin: 0 0 0 -5px; + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 5px solid #1abc9c; +} +.navbar-inverse .navbar-nav > li:before { + background: rgba(20, 143, 119, 0.41); +} +.navbar-inverse .navbar-nav > .active > a:after { + background: #34495e; +} +.navbar-inverse .navbar-nav > .active > a:before { + border-top-color: #34495e; +} +.input-group-addon { + background: #3f5872; +} +.dropdown-menu { + -webkit-box-shadow: none; + box-shadow: none; + border: none; + margin-top: 12px; +} +.dropdown-menu:before { + content: ''; + position: absolute; + left: 20px; + top: -5px; + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #1abc9c; +} +.dropdown-menu.pull-right:before { + right: 20px; + left: auto; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #ffffff; + background: rgba(22, 157, 130, 0.71); +} +.dropdown-menu .disabled > a, +.dropdown-menu .disabled > a:hover, +.dropdown-menu .disabled > a:focus { + color: rgba(255, 255, 255, 0.2); +} +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover, +.dropdown-menu .active > a:focus { + position: relative; + color: #ffffff; + text-decoration: none; + outline: 0; + background: rgba(26, 188, 156, 0.2); + cursor: default; +} +.dropdown-menu .active > a:before { + content: ''; + position: absolute; + left: 0; + top: 0; + bottom: auto; + width: 4px; + height: 100%; + background: #1abc9c; +} +.dropdown-menu .dropdown-header { + color: #e6e6e6; +} +.dropup .dropdown-menu { + margin-bottom: 12px; +} +.dropup .dropdown-menu:before { + top: auto; + bottom: -5px; + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 5px solid #1abc9c; + border-bottom: none; +} +.pagination > li > a, +.pagination > li > span { + border: none; + color: #ffffff; + position: relative; +} +.pagination > li > a:before, +.pagination > li > span:before { + content: ''; + position: absolute; + left: 0; + top: 0; + width: 1px; + height: 100%; + background: rgba(74, 104, 133, 0.41); +} +.pagination > li:first-child > a:before, +.pagination > li:first-child > span:before { + display: none; +} +.pagination > .active > a:before, +.pagination > .active > span:before { + display: none; +} +.pagination > li > a:hover:before, +.pagination > li > a:focus:before { + display: none; +} +.pagination > .disabled > span:before, +.pagination > .disabled > a:before, +.pagination > .disabled > a:hover:before, +.pagination > .disabled > a:focus:before { + display: block; +} +.pager li > a, +.pager li > span { + border: none; + color: #ffffff; +} +.alert { + border: none; +} +.panel-default > .panel-heading { + color: #ffffff; + background-color: rgba(74, 104, 133, 0.81); + border-color: rgba(250, 250, 250, 0.15); +} +.panel .list-group { + margin: 0 0 10px; +} +.panel .list-group li.list-group-item:hover { + border-color: rgba(74, 104, 133, 0.81); +} +.panel .list-group .list-group-item { + border-width: 1px; + color: #ffffff; +} +.panel .list-group .list-group-item.active .list-group-item-text { + color: #ffffff; +} +.panel .list-group .list-group-item:hover { + border-color: #1abc9c; +} +.panel .list-group .list-group-item:first-child { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.panel .list-group .list-group-item:last-child { + border-bottom: 1px solid rgba(74, 104, 133, 0.81); +} +.panel .list-group-flush { + margin: 15px -15px -15px; +} +.panel .list-group-flush .list-group-item { + border-width: 1px 0; + color: #ffffff; +} +.panel .list-group-flush .list-group-item.active .list-group-item-text { + color: #ffffff; +} +.panel .list-group-flush .list-group-item:hover { + border-color: rgba(74, 104, 133, 0.81); +} +.panel .list-group-flush .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel .list-group-flush .list-group-item:last-child { + border-bottom: 0; +} +.progress { + -webkit-box-shadow: none; + box-shadow: none; +} +.progress .progress-bar { + -webkit-box-shadow: none; + box-shadow: none; +} +.popover { + border: none; + padding: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.accordion-group { + background: #34495e; +} +.media-heading { + color: #1abc9c; +} +.thumbnail .caption .caption-label { + color: #1abc9c; +} diff --git a/FlatUI/css/corpus/variables.css b/FlatUI/css/corpus/variables.css new file mode 100644 index 0000000..e69de29 diff --git a/FlatUI/css/theme.css b/FlatUI/css/theme.css index 82963dd..cb06260 100644 --- a/FlatUI/css/theme.css +++ b/FlatUI/css/theme.css @@ -1348,7 +1348,7 @@ th { } .table-hover > tbody > tr:hover > td, .table-hover > tbody > tr:hover > th { - background-color: rgba(26, 188, 156, 0.15); + background-color: rgba(56, 110, 128, 1); } table col[class*="col-"] { float: none; @@ -1579,8 +1579,9 @@ input[type="number"]::-webkit-inner-spin-button { .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { - cursor: not-allowed; - background-color: #517293; + cursor: default; + background-color: #3f5872; + border: 1px solid #808080; } textarea.form-control { height: auto; @@ -4613,9 +4614,15 @@ a.list-group-item:focus { border-radius: 0px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + overflow-y: auto; + overflow-x: auto; + +} + } .panel-body { padding: 15px; + } .panel-body:before, .panel-body:after { diff --git a/FlatUI/index.html b/FlatUI/index.html index d2433a1..36feca6 100644 --- a/FlatUI/index.html +++ b/FlatUI/index.html @@ -6,7 +6,7 @@ - + @@ -262,7 +262,7 @@
This is an h6 heading

-
+ @@ -1370,7 +1370,7 @@

Need more themes?

- - + + \ No newline at end of file diff --git a/PHPOnAzure/corpusbutton.html b/PHPOnAzure/corpusbutton.html index 2e6b5d8..9a342d6 100644 --- a/PHPOnAzure/corpusbutton.html +++ b/PHPOnAzure/corpusbutton.html @@ -1,4 +1,4 @@ - + + diff --git a/StudentSubmissions.html b/StudentSubmissions.html index 4dd3f7c..d6e6593 100644 --- a/StudentSubmissions.html +++ b/StudentSubmissions.html @@ -2,15 +2,15 @@ - + - - + + @@ -53,7 +53,7 @@ - + diff --git a/Test_CreateUserAccount.html b/Test_CreateUserAccount.html index 72f737e..6f362c8 100644 --- a/Test_CreateUserAccount.html +++ b/Test_CreateUserAccount.html @@ -3,12 +3,12 @@

-

Log Out +

Log Out

Add User Account

-Return to Table of Contents +Return to Table of Contents

diff --git a/Videos/Add Institution.flv b/Videos/Add Institution.flv new file mode 100644 index 0000000..9542c7f Binary files /dev/null and b/Videos/Add Institution.flv differ diff --git a/Videos/Corpus Process.flv b/Videos/Corpus Process.flv new file mode 100644 index 0000000..076a977 Binary files /dev/null and b/Videos/Corpus Process.flv differ diff --git a/Videos/Student Process.flv b/Videos/Student Process.flv new file mode 100644 index 0000000..e2ac49c Binary files /dev/null and b/Videos/Student Process.flv differ diff --git a/Videos/Teacher Process.flv b/Videos/Teacher Process.flv new file mode 100644 index 0000000..956a4fc Binary files /dev/null and b/Videos/Teacher Process.flv differ diff --git a/admin/Archive/Courses/Search/index.php b/admin/Archive/Courses/Search/index.php deleted file mode 100644 index c4dbb24..0000000 --- a/admin/Archive/Courses/Search/index.php +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - - -

You do not have permission to view this page. Redirecting in 5 seconds

-

Click here if you don't want to wait

- - - - -
- -
-
-
-
- -
-
Course Listing (sort by most recent)
- - - -
- - - - - - - - - - - - - - 'static' ); - $query = " SELECT CN.[Course #], TC.[Section], A.[Advisor], Y.[Year], S.[Session], TC.[Teachers&ClassesID], TC.[Instructor] - FROM [Teachers&Classes] as TC, [Advisor] as A, [Class Names] as CN, [Session] as S, [Sessions] as Ss, [Year] as Y - WHERE TC.[ClassNamesID] = CN.[ClassNamesID] AND - TC.[Instructor] = A.[ID] AND - TC.[SessionID] = Ss.[SessionsID] AND - TC.[Teachers&ClassesID] in (SELECT [Teachers&ClassesID] from Expressions) AND - Y.[ID] = Ss.[Year_ID] AND - S.[ID] = Ss.[Session_ID] - ORDER BY Y.[Year] desc"; - $stmt = sqlsrv_query($con, $query, $params, $options); - if ( !$stmt ) - die( print_r( sqlsrv_errors(), true)); - - /* Extract Pagination Paramaters */ - - $rowsPerPage = isset($_GET['pp']) ? $_GET['pp'] : 10; // get rows per page, default = 10 - - - $rowsReturned = sqlsrv_num_rows($stmt); - if($rowsReturned === false) - die(print_r( sqlsrv_errors(), true)); - elseif($rowsReturned == 0) - { - echo "No rows returned."; - exit(); - } - else - { - /* Calculate number of pages. */ - $numOfPages = ceil($rowsReturned/$rowsPerPage); - } - - /* Echo results to the page */ - $pageNum = isset($_GET['pageNum']) ? $_GET['pageNum'] : 1; - $page = Pagination::getPage($stmt, $pageNum, $rowsPerPage); - foreach($page as $row) - { - $coursePageLink = "ViewCourse/?courseID=$row[5]"; - echo ""; - } - - echo "
CourseSectionInstructorYearSessionCourse Page
$row[0]$row[1]$row[2]$row[3]$row[4]Course Page

"; - $modulator = 3; - Pagination::pageLinks($numOfPages, $pageNum, $rowsPerPage, $rowsReturned, $modulator); - ?> - -
-
- -
-
-
-
-
- - - - - - - -

Oops! You are not logged in. Redirecting to log-in in 5 seconds

-

Click here if you don't want to wait

- - - - diff --git a/admin/Archive/Courses/ViewCourse/ViewWorksheet/AnnotationEditor/index.php b/admin/Archive/Courses/ViewCourse/ViewWorksheet/AnnotationEditor/index.php new file mode 100644 index 0000000..2c00ded --- /dev/null +++ b/admin/Archive/Courses/ViewCourse/ViewWorksheet/AnnotationEditor/index.php @@ -0,0 +1,268 @@ + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + +

You do not have permission to view this page. Redirecting in 5 seconds

+

Click here if you don't want to wait

+ + "; + $params = array($worksheetID); + $options = array("Scrollable" => 'static'); + $worksheetexpressionsSQL = "SELECT E.Expression, E.[Context/Vocabulary], E.SentenceNumber, E.ExpressionID, S.FirstName, S.LastName, S.StudentID + FROM Expressions E, Students S + WHERE E.WorksheetID = ? AND + S.StudentID = E.StudentID + ORDER BY E.[SentenceNumber]"; + $worksheetexpressions = sqlsrv_query($con, $worksheetexpressionsSQL, $params, $options); + if ($worksheetexpressions === false) + die(print_r(sqlsrv_errors(), true)); + $num_expressions = sqlsrv_num_rows($worksheetexpressions); + $expressions = []; + $contexts = []; + $numbers = []; + $expressionids = []; + $firstnames = []; + $lastnames = []; + $studentids = []; + while (sqlsrv_fetch($worksheetexpressions) === true) + { + $expressions[] = sqlsrv_get_field($worksheetexpressions, 0); + $contexts[] = sqlsrv_get_field($worksheetexpressions, 1); + $numbers[] = sqlsrv_get_field($worksheetexpressions, 2); + $expressionids[] = sqlsrv_get_field($worksheetexpressions, 3); + $firstnames[] = sqlsrv_get_field($worksheetexpressions, 4); + $lastnames[] = sqlsrv_get_field($worksheetexpressions, 5); + $studentids[] = sqlsrv_get_field($worksheetexpressions, 6); + } + + ?> + +
+ +
+ +
+
+
+

Annotation Editor

+
+
+
+
+
+
+

Worksheet Details

+
+
+

Course

+

Date

+

Topic

+
+
+
+
+
+
+

Expressions List (click and drag to get started!)

+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
#StudentExpressionContext/VocabNumber of Annotations
+
+ + +
0
+
+
+
+
+
+
+
+
+

Editor

+
+
+
+

Expression Annotator ( # )

+ +
+
+ + +
+
+
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+ +
+ +
+
+
+

Previous Annotations

+ + + + + + + + + + +
DateAuthorTextError CategoryError Name
+
+
+
+
+ +
+
+
+
+
+
+
+
+ + + + + + + +

Oops! You are not logged in. Redirecting to log-in in 5 seconds

+

Click here if you don't want to wait

+ + + + diff --git a/admin/Archive/Courses/ViewCourse/ViewWorksheet/index.php b/admin/Archive/Courses/ViewCourse/ViewWorksheet/index.php index 500f396..6f48672 100644 --- a/admin/Archive/Courses/ViewCourse/ViewWorksheet/index.php +++ b/admin/Archive/Courses/ViewCourse/ViewWorksheet/index.php @@ -14,9 +14,10 @@ + - + - - + "; else { ?> -
-
- -
-
- -
-
Documentation
+ +
+
+
+
+
+ Course Details +
-

Main course (archived) view for admin/teacher. Will contain list/links to worksheets, students, and the teacher

-

This top section will contain general information about a given course (teacher, level, etc)

+ Annotation Editor + 'static'); + $courseInfoQuery = " + SELECT TC.CoursesID, CN.ClassName, TC.Section, T.FirstName, T.LastName, SN.SessionName, I.InstitutionName + FROM Courses as TC, [Class Names] as CN, Teachers as T, Sessions as Ss, SessionNames as SN, Institutions as I + WHERE TC.CoursesID = ? AND + CN.ClassNamesID = TC.ClassNamesID AND + T.TeacherID = TC.InstructorID AND + Ss.SessionsID = TC.SessionID AND + SN.SessionsID = Ss.SessionsID"; + $stmt = sqlsrv_query( $con, $courseInfoQuery, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($stmt) === true) + { + $ClassName = sqlsrv_get_field($stmt, 1); + $Section = sqlsrv_get_field($stmt, 2); + $FirstName = sqlsrv_get_field($stmt, 3); + $LastName = sqlsrv_get_field($stmt, 4); + $Session = sqlsrv_get_field($stmt, 5); + $Institution = sqlsrv_get_field($stmt, 6); + + + } + echo "

Class Name: $ClassName

Section: $Section

Teacher: $FirstName $LastName

Session: $Session

Hosting Institution: $Institution

"; + + + + + ?>
+ + +
+
+
+
+ Worksheet Details +
+
+ 'static'); + $worksheetInfoQuery = " + SELECT DISTINCT [TO].Topic, LEFT(CONVERT(VARCHAR, E.Date, 120), 10) + FROM Expressions as E, Topics as [TO] + WHERE E.[Teachers&ClassesID] = ? AND + E.[Worksheet#] = ? AND + [TO].Topic_ID = E.[Topic_ID] AND + E.Date = (SELECT min(Date) FROM Expressions WHERE [Teachers&ClassesID] = ? AND [Worksheet#] = ?)"; + $stmt = sqlsrv_query( $con, $worksheetInfoQuery, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($stmt) === true) + { + $topic = sqlsrv_get_field($stmt, 0); + $date = sqlsrv_get_field($stmt, 1); + } + echo "

Topic: $topic

Date: $date"; + ?> +

+
+ +
+
+
+
Worksheet display
@@ -98,28 +156,28 @@
- +
- - - - - + + + + + 'static' ); $query = - "SELECT E.[Sentence number], S.[LastName], C.Country, E.Expression, E.[Context/Vocabulary], E.Student_ID + "SELECT E.[Sentence number], S.[LastName], E.Expression, E.[Context/Vocabulary], E.[Pronunciation], E.StudentID FROM Expressions as E, Students as S, Country as C - WHERE E.[Teachers&ClassesID] = $courseID AND - E.[Worksheet#] = $worksheetNum AND - S.ID = E.Student_ID AND + WHERE E.[Teachers&ClassesID] = ? AND + E.[Worksheet#] = ? AND + S.ID = E.StudentID AND C.ID = S.Citizenship ORDER BY [Sentence number]"; $stmt = sqlsrv_query($con, $query, $params, $options); @@ -154,14 +212,13 @@ - - + + - - + -
-
- -
-
- + +
+
+
-
Documentation
+
Course Info
-

Main course (archived) view for admin/teacher. Will contain list/links to worksheets, students, and the teacher

-

This top section will contain general information about a given course (teacher, level, etc)

+ 'static'); + $courseinfoSQL = " + SELECT CT.CourseName, C.Section, T.FirstName, T.LastName, ST.SessionName, SI.Year, I.InstitutionName + FROM Courses as C, CourseTypes as CT, Teachers as T, TeachingInstance TI, SessionInstance as SI, SessionType as ST, Institutions as I + WHERE C.CourseID = ? AND + CT.CourseTypesID = C.CourseTypesID AND + TI.TeachingInstanceID = C.TeachingInstanceID AND + T.TeacherID = TI.TeacherID AND + SI.SessionInstanceID = C.SessionInstanceID AND + ST.SessionTypeID = SI.SessionTypeID AND + I.InstitutionID = C.InstitutionID"; + $courseinfo = sqlsrv_query($con, $courseinfoSQL, $params, $options); + if ($courseinfo === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($courseinfo) === true) + { + $ClassName = sqlsrv_get_field($courseinfo, 0); + $Section = sqlsrv_get_field($courseinfo, 1); + $FirstName = sqlsrv_get_field($courseinfo, 2); + $LastName = sqlsrv_get_field($courseinfo, 3); + $Session = sqlsrv_get_field($courseinfo, 4); + $Year = sqlsrv_get_field($courseinfo, 5); + $Institution = sqlsrv_get_field($courseinfo, 6); + + } + echo "

Class Name: $ClassName

Section: $Section

Teacher: $FirstName $LastName

Session: $Session

Hosting Institution: $Institution

"; + + + ?> +
-
-
+
+
+
+
Worksheet display
-
Sentence NumberStudentCitizenshipExpressionContext/Vocab#StudentExpressionContext/VocabPronunciation
+
- - + + + 'static' ); - $query = "SELECT [Worksheet#], [Teachers&ClassesID] FROM Expressions WHERE [Teachers&ClassesID] = ? GROUP BY [Worksheet#],[Teachers&ClassesID]"; - $stmt = sqlsrv_query($con, $query, $params, $options); - if (!$stmt) + $worksheetsSQL = "SELECT W.WorksheetID, W.WorksheetNumber, T.Topic + FROM Worksheets W, Topics T + WHERE W.CourseID = ? AND + T.TopicID = W.TopicID + ORDER BY W.WorksheetNumber"; + $worksheets = sqlsrv_query($con, $worksheetsSQL, $params, $options); + if (!$worksheets) die( print_r( sqlsrv_errors(), true)); $rowsPerPage = 10; - $rowsReturned = sqlsrv_num_rows($stmt); + $rowsReturned = sqlsrv_num_rows($worksheets); if($rowsReturned === false) die(print_r( sqlsrv_errors(), true)); elseif($rowsReturned == 0) @@ -113,11 +140,23 @@ } $pageNum = isset($_GET['pageNum']) ? $_GET['pageNum'] : 1; - $page = Pagination::getPage($stmt, $pageNum, $rowsPerPage); + $page = Pagination::getPage($worksheets, $pageNum, $rowsPerPage); foreach($page as $row) { - $worksheetPageLink = "ViewWorksheet/?courseID=$row[1]&worksheetNum=$row[0]"; - echo ""; + $worksheetID = $row[0]; + echo " + + + + "; } ?> @@ -128,14 +167,13 @@ - - + + - + -
-
-
-
- -
-
Search for a course
-
-
-
- -
- -
- -
-
-
Course Listing (sort by most recent)
+ +
+ +
+
+
+
Courses Archive
-
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + -
-
Worksheet NumberLink to worksheet page#Go ToAnnotate this worksheet
$row[0]Worksheet Page
$row[1]
+ + +
+
+ + +
+
+
+
- - - - - + + + + + + @@ -115,16 +140,28 @@ /* Set up and declare query entity */ $params = array(); $options = array( "Scrollable" => 'static' ); - $query = " SELECT CN.[ClassName], TC.[Section], T.[LastName], SN.SessionName, TC.[CoursesID], TC.[InstructorID] - FROM [TeachersCourses] as TC, [Teachers] as T, [Class Names] as CN, [Sessions] as Ss, SessionNames as SN + /*$old_query = " SELECT CN.[ClassName], TC.[Section], T.[LastName], SN.SessionName, TC.[CoursesID], TC.[InstructorID] + FROM [Courses] as TC, [Teachers] as T, [Class Names] as CN, [Sessions] as Ss, SessionNames as SN WHERE TC.[ClassNamesID] = CN.[ClassNamesID] AND TC.[InstructorID] = T.[TeacherID] AND TC.[SessionID] = Ss.[SessionsID] AND TC.CoursesID in (SELECT [Teachers&ClassesID] from Expressions) AND SN.[SessionsID] = Ss.[SessionSID] - ORDER BY Ss.[SessionsID] desc"; - $stmt = sqlsrv_query($con, $query, $params, $options); - if ( !$stmt ) + ORDER BY Ss.[SessionsID] desc";*/ + $archivecoursesSQL = " + SELECT CT.CourseName, I.InstitutionID, T.LastName, ST.SessionName, SI.Year, C.CourseID, T.TeacherID + FROM Courses C, CourseTypes CT, Teachers T, TeachingInstance TI, SessionInstance SI, SessionType ST, Institutions I + WHERE CT.CourseTypesID = C.CourseTypesID AND + TI.TeachingInstanceID = C.TeachingInstanceID AND + T.TeacherID = TI.TeacherID AND + SI.SessionInstanceID = C.SessionInstanceID AND + ST.SessionTypeID = SI.SessionTypeID AND + I.InstitutionID = C.InstitutionID + ORDER BY SI.Year + "; + + $archivecourses = sqlsrv_query($con, $archivecoursesSQL, $params, $options); + if ( !$archivecourses ) die( print_r( sqlsrv_errors(), true)); /* Extract Pagination Paramaters */ @@ -132,7 +169,7 @@ $rowsPerPage = isset($_GET['pp']) ? $_GET['pp'] : 10; // get rows per page, default = 10 - $rowsReturned = sqlsrv_num_rows($stmt); + $rowsReturned = sqlsrv_num_rows($archivecourses); if($rowsReturned === false) die(print_r( sqlsrv_errors(), true)); elseif($rowsReturned == 0) @@ -148,11 +185,26 @@ /* Echo results to the page */ $pageNum = isset($_GET['pageNum']) ? $_GET['pageNum'] : 1; - $page = Pagination::getPage($stmt, $pageNum, $rowsPerPage); + $page = Pagination::getPage($archivecourses, $pageNum, $rowsPerPage); foreach($page as $row) { - $coursePageLink = "ViewCourse/?courseID=$row[4]"; - echo ""; + $courseID = $row[5]; + $teacherID = $row[6]; + echo " + + + + + + "; } echo "
CourseSectionInstructorSession NameCourse PageCourseSectionInstructorSession NameYearGo To
$row[0]$row[1]$row[2]$row[3]Course Page
$row[0]$row[1]
+ + +
+
$row[3]$row[4]
+ + +
+

"; @@ -169,7 +221,7 @@
- + + - - -
-
-
-
- + +
+
+
+

Student Name

+
+
+
+
+
Student Information
-

Show student info: country, language, history (new data will include number of classes, time frame of activity, etc)

+

Institution:

+

Joined Smalltalk:

+

Number of Courses:

+

Language:

+
+
+
+
-
Student's Course Listing (sort by most recent)
+
Student Courses
- +
- - - - - + + + + @@ -99,12 +102,12 @@ $options = array( "Scrollable" => 'static' ); $query = "SELECT CN.[ClassName], TC.[Section], T.[LastName], SN.[SessionName], TC.[CoursesID], T.[TeacherID] -FROM [TeachersCourses] as TC, Teachers as T, [Class Names] as CN, [Sessions] as Ss, SessionNames as SN +FROM [Courses] as TC, Teachers as T, [Class Names] as CN, [Sessions] as Ss, SessionNames as SN WHERE TC.[ClassNamesID] = CN.[ClassNamesID] AND TC.[InstructorID] = T.[TeacherID] AND TC.[SessionID] = Ss.[SessionsID] AND SN.[SessionsID] = Ss.[SessionsID] AND - TC.[CoursesID] in (SELECT DISTINCT OtherExpressions.[Teachers&ClassesID] FROM Expressions as OtherExpressions WHERE OtherExpressions.[Student_ID] = ?) + TC.[CoursesID] in (SELECT DISTINCT OtherExpressions.[Teachers&ClassesID] FROM Expressions as OtherExpressions WHERE OtherExpressions.[StudentID] = ?) ORDER BY Ss.[SessionsID] desc"; $stmt = sqlsrv_query($con, $query, $params, $options); if ( !$stmt ) @@ -133,13 +136,12 @@ { $coursePageLink = "/Admin/Archive/Courses/ViewCourse/?courseID=$row[4]"; $teacherPageLink = "/Admin/Archive/Teachers/ViewTeacher/?tid=$row[5]"; - echo ""; + echo ""; } -echo "
Course NumberSectionInstructor Last NameSession NameCourse PageCourse NumberInstructor Last NameSession NameCourse Page
$row[0]$row[1]$row[2]$row[3]Course Page
$row[0]$row[2]$row[3]Course Page

"; - ?> - + +
@@ -149,7 +151,7 @@
- + + - - + + + -
-
-
-
- + +
+
+
-
Student Search
+
Search
-

This window will have a search interface for looking up students in the DB.

+
+
+
+ +
+ +
+ + + +
+ +
-
-
Course Listing (sort by most recent)
+
+
+
+
+ +
+
Student Archive
- +
- - - - + + + - - + + @@ -109,18 +134,24 @@ $params = array(); $options = array( "Scrollable" => 'static' ); $query = -"SELECT S.[FirstName], S.[LastName], C.[Country], S.[ID], COUNT(DISTINCT E.[Teachers&ClassesID]) -FROM Students as S, Country as C, Expressions as E -WHERE C.[ID] = S.[Citizenship] AND -S.[ID] in (SELECT DISTINCT ES.Student_ID FROM Expressions as ES) AND -E.[Student_ID] = S.[ID] -GROUP BY S.[FirstName], S.[LastName], C.[Country], S.[ID]"; +"SELECT S.[FirstName], S.[LastName], L.[Language], S.[ID], COUNT(DISTINCT E.[Teachers&ClassesID]) +FROM Students as S, Expressions as E, Languages as L +WHERE L.[LanguageID] = S.[Language] AND +S.[ID] in (SELECT DISTINCT ES.StudentID FROM Expressions as ES) AND +E.[StudentID] = S.[ID]"; + /*if (!(empty($_POST['studentLastName']))) + { + $query = " = ?"; + $params = array($_POST['studentID']); + }*/ + $query .= " GROUP BY S.[FirstName], S.[LastName], S.[ID], L.Language"; + $stmt = sqlsrv_query($con, $query, $params, $options); if ( !$stmt ) die( print_r( sqlsrv_errors(), true)); /* Extract Pagination Paramaters */ - $rowsPerPage = isset($_GET['pp']) ? $_GET['pp'] : 50; // get rows per page, default = 50 + $rowsPerPage = isset($_GET['pp']) ? $_GET['pp'] : 10; // get rows per page, default = 50 $rowsReturned = sqlsrv_num_rows($stmt); if($rowsReturned === false) die(print_r( sqlsrv_errors(), true)); @@ -145,7 +176,7 @@ } echo "
First NameLast NameCitizenshipFirst NameLast NameLanguage Link to Student's PageNumber of Courses TakenGo ToCourses Taken

"; - $modulator = 2; + $modulator = 4; Pagination::pageLinks($numOfPages, $pageNum, $rowsPerPage, $rowsReturned, $modulator); ?> @@ -158,7 +189,7 @@
- + + + + + - + - - -
-
-
-
- +
+
+
+
Teacher Information
@@ -90,21 +82,11 @@ } - $institutionsQuery = "SELECT I.InstitutionName - FROM Teachers as T, TeachingInstance as TI, Institutions as I - WHERE T.TeacherID = ? AND - TI.SiteUsername = T.SiteUsername AND - I.InstitutionID = TI.InstitutionID"; - $stmt = sqlsrv_query( $con, $institutionsQuery, $params, $options); - if ($stmt === false) - die(print_r(sqlsrv_errors(), true)); - $institutions = []; - while( sqlsrv_fetch($stmt) === true) - $institutions[] = sqlsrv_get_field( $stmt, 0); + $firstYearRangeQuery = " SELECT min(Y.Year) - FROM Year as Y, Sessions as Ss, TeachersCourses as TC + FROM Year as Y, Sessions as Ss, Courses as TC WHERE TC.InstructorID = ? AND Ss.SessionsID = TC.SessionID AND Y.ID = Ss.Year_ID"; @@ -118,7 +100,7 @@ $lastYearRangeQuery = " SELECT max(Y.Year) - FROM Year as Y, Sessions as Ss, TeachersCourses as TC + FROM Year as Y, Sessions as Ss, Courses as TC WHERE TC.InstructorID = ? AND Ss.SessionsID = TC.SessionID AND Y.ID = Ss.Year_ID"; @@ -132,24 +114,64 @@ echo "

Name: $firstName $lastName

"; echo "

Active with Smalltalk from: $firstYear - $lastYear

"; - echo "

Institutions:

"; - foreach($institutions as $inst) - echo "

$inst

"; ?>
+ + +
+
+
+
+ Active Institutions +
+
+ 'static'); + $institutionsQuery = "SELECT I.InstitutionName + FROM Teachers as T, TeachingInstance as TI, Institutions as I + WHERE T.TeacherID = ? AND + TI.SiteUsername = T.SiteUsername AND + I.InstitutionID = TI.InstitutionID"; + $stmt = sqlsrv_query( $con, $institutionsQuery, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + $institutions = []; + while( sqlsrv_fetch($stmt) === true) + $institutions[] = sqlsrv_get_field( $stmt, 0); + ?> + +
+ + + $institution"; + ?> + + +
+
+
+ + +
+
+
+
Teacher's Course Listing (sort by most recent)
- - - - - + + + + + @@ -160,7 +182,7 @@ $options = array( "Scrollable" => 'static' ); $query = "SELECT CN.[ClassName], I.InstitutionName, TC.[Section], SN.[SessionName], TC.[CoursesID] -FROM [TeachersCourses] as TC, [Teachers] as T, [Class Names] as CN, [Sessions] as Ss, SessionNames as SN, Institutions as I, TeachingInstance as TI +FROM [Courses] as TC, [Teachers] as T, [Class Names] as CN, [Sessions] as Ss, SessionNames as SN, Institutions as I, TeachingInstance as TI WHERE TC.[ClassNamesID] = CN.[ClassNamesID] AND TC.[InstructorID] = T.[TeacherID] AND TC.CoursesID in (SELECT [Teachers&ClassesID] from Expressions) AND @@ -206,14 +228,13 @@ - - + + - - -
-
-
-
- + +
+
+
-
Teacher Search
+
Filter Results
-

This window will have a search interface for looking up teachers

+
+
+
+ + +
+
+
+
+ +
+
+ +
-
-
Teacher listing (only SmallTalk contributors, listed alphabetically by last name
+
+
+
+
+
+
Teachers
-
Course NumberInstitutionSectionSession NameCourse PageCourse NumberInstitutionSectionSession NameCourse Page
+
- - - + + + + @@ -102,7 +111,7 @@ $params = array(); $options = array( "Scrollable" => 'static' ); $query = -"SELECT T.[FirstName], T.[LastName], T.[TeacherID] +"SELECT T.[FirstName], T.[LastName], T.SiteUsername, T.[TeacherID] FROM Teachers as T"; $stmt = sqlsrv_query($con, $query, $params, $options); if ( !$stmt ) @@ -129,8 +138,8 @@ $page = Pagination::getPage($stmt, $pageNum, $rowsPerPage); foreach($page as $row) { - $teacherPageLink = "ViewTeacher/?tid=$row[2]"; - echo ""; + $teacherPageLink = "ViewTeacher/?tid=$row[3]"; + echo ""; } echo "
First NameLast NameLink to Teacher's PageFirst NameLast NameSite UsernameGo To
$row[0]$row[1]Visit Page
$row[0]$row[1]$row[2]Visit Page

"; @@ -147,7 +156,7 @@
- + - - - - - - - - -

You do not have permission to view this page. Redirecting in 5 seconds

-

Click here if you don't want to wait

- - - - -
- -
-
-
-
- -

Profile View

-

Documentation:

-

Displays info about the admin account. TBD

-
-
-
-
-
- - - - - - - - -

Oops! You are not logged in. Redirecting to log-in in 5 seconds

-

Click here if you don't want to wait

- - - - diff --git a/admin/Home/index.php b/admin/Home/index.php index 5465e21..34b2135 100644 --- a/admin/Home/index.php +++ b/admin/Home/index.php @@ -12,7 +12,7 @@ - + @@ -25,16 +25,7 @@ }); - - + +
-
-
-
- -

-

Admin for

- - - +
+
+
+
+
+

Administrator Home

+
+
+

+

Role: Admin

+

Institution:

+
+
+
+ +
+
+
+

All Site Administrators

+
+
+ + + + + + + + + + 'static'); + $adminsQuery = " + SELECT I.InstitutionName, A.FirstName, A.LastName, R.Designation + FROM Institutions as I, Administrators as A, RoleInstances as RI, Roles as R + WHERE A.RoleInstanceID = RI.RoleInstanceID AND + RI.RoleID = R.RoleID AND + R.Role = 'Admin' AND + I.InstitutionID = A.InstitutionID"; + $stmt = sqlsrv_query($con, $adminsQuery, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + while (sqlsrv_fetch($stmt) === true) + { + $institution = sqlsrv_get_field($stmt, 0); + $fname = sqlsrv_get_field($stmt, 1); + $lname = sqlsrv_get_field($stmt, 2); + $designation = sqlsrv_get_field($stmt, 3); + + echo ""; + echo ""; + echo ""; + echo ""; + } + ?> + + + + + +
InstitutionNameDesignation
$institution$fname $lname$designation
+
+
+
+ + + + +
+
+
+
+
+

Activity Queue

+
+
+
+
+
+ +
+
+ +
+
+ +
+ +
+
+ + + + + + + + + +
DateAction NameAction TypeUser
+
+
@@ -99,7 +214,7 @@
- + diff --git a/admin/ManageAdmins/ViewAdminProfile/index.php b/admin/ManageAdmins/ViewAdminProfile/index.php new file mode 100644 index 0000000..eedb39a --- /dev/null +++ b/admin/ManageAdmins/ViewAdminProfile/index.php @@ -0,0 +1,142 @@ + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + +

You do not have permission to view this page. Redirecting in 5 seconds

+

Click here if you don't want to wait

+ + + +
+ +
+ +
+ +
+
+

Firstname Lastname

+
+
+
+
+
+
+

Admin Information

+
+
+

Institution:

+

Joined SmallTalk:

+
+
+
+ +
+
+
+
+
+

Admin Activity

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
DateEntity TypeInstitutionAction NameGo To
1/1/2016Teacher AccountGonzaga UniversityCreateView Teacher
1/8/2016CourseGonzaga UniversityCreateView Course
+
+
+
+
+
+
+
+ + + + + + + + + +

Oops! You are not logged in. Redirecting to log-in in 5 seconds

+

Click here if you don't want to wait

+ + + + diff --git a/admin/ManageAdmins/index.php b/admin/ManageAdmins/index.php new file mode 100644 index 0000000..c16730c --- /dev/null +++ b/admin/ManageAdmins/index.php @@ -0,0 +1,223 @@ + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + +

You do not have permission to view this page. Redirecting in 5 seconds

+

Click here if you don't want to wait

+ + 'static'); + $adminsSQL = " + SELECT I.InstitutionName, A.FirstName, A.LastName, A.AdministratorID, R.Designation, CONVERT(VARCHAR(11), SU.date_added, 106) + FROM Institutions as I, Administrators as A, RoleInstances as RI, Roles as R, SiteUsers as SU + WHERE A.RoleInstanceID = RI.RoleInstanceID AND + SU.username = A.SiteUsername AND + RI.RoleID = R.RoleID AND + R.Role = 'Admin' AND + I.InstitutionID = A.InstitutionID"; + $admins = sqlsrv_query($con, $adminsSQL, $params, $options); + if ($admins === false) + die(print_r(sqlsrv_errors(), true)); + $num_admins = sqlsrv_num_rows($admins); + $institutions = []; + $fnames = []; + $lnames = []; + $adminids = []; + $designations = []; + $dates = []; + + while (sqlsrv_fetch($admins) === true) + { + $institutions[] = sqlsrv_get_field($admins, 0); + $fnames[] = sqlsrv_get_field($admins, 1); + $lnames[] = sqlsrv_get_field($admins, 2); + $adminids[] = sqlsrv_get_field($admins, 3); + $designations[] = sqlsrv_get_field($admins, 4); + $dates[] = sqlsrv_get_field($admins, 5); + + } + ?> + +
+ +
+ +
+
+
+

Smalltalk Admins

+

Superuser Page

+
+ + +
+
+
+ +

+ + + +
+ +
+
+
+ +
+
Admins
+
+ + + + + + + + + + + + + + + + + + "; + } +?> + + +
InstitutionNameDesignationDate AddedVisit Page
$institutions[$i]$fnames[$i] $lnames[$i]$designations[$i]$dates[$i]
+ + +
+
+
+ +
+ +
+
+
+
+
+ + + + + + + + + +

Oops! You are not logged in. Redirecting to log-in in 5 seconds

+

Click here if you don't want to wait

+ + + + diff --git a/admin/ManageCorpus/ReviewChanges/index.php b/admin/ManageCorpus/ReviewChanges/index.php deleted file mode 100644 index 19216b8..0000000 --- a/admin/ManageCorpus/ReviewChanges/index.php +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - -

You do not have permission to view this page. Redirecting in 5 seconds

-

Click here if you don't want to wait

- - - - -
- -
-
-
-
- -

Manage Corpus

-

Documentation:

-

Page will manage the transfer of data from the site to the corpus. There will be a listing of requests, submitted by teachers, that the administrator will have the option to review, and then submit to the database. This is how we will manage DB writes. -

-
-
-
-
-
- - - - - - - - - -

Oops! You are not logged in. Redirecting to log-in in 5 seconds

-

Click here if you don't want to wait

- - - - diff --git a/admin/ManageCorpus/ReviewSubmission/index.php b/admin/ManageCorpus/ReviewSubmission/index.php new file mode 100644 index 0000000..5e11e80 --- /dev/null +++ b/admin/ManageCorpus/ReviewSubmission/index.php @@ -0,0 +1,135 @@ + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + + +

You do not have permission to view this page. Redirecting in 5 seconds

+

Click here if you don't want to wait

+ + + +
+ +
+ +
+
+
+ + +
+
+
+
+
+
+

Submission to the corpus

+
+
+

Institution:

+

Contributor name:

+

Source Class name:

+

Worksheet Number:

+
+
+ +
+
+
+
+
+
+

Submitted Expressions

+
+
+ + + + + + + + + + + + + +
#Student NameExpressionVocab/ContextPronunciation
+
+
+ +
+
+
+
+
+ + + + + + + + + +

Oops! You are not logged in. Redirecting to log-in in 5 seconds

+

Click here if you don't want to wait

+ + + + diff --git a/admin/ManageCorpus/index.php b/admin/ManageCorpus/index.php index bc04da2..2e21ae5 100644 --- a/admin/ManageCorpus/index.php +++ b/admin/ManageCorpus/index.php @@ -12,6 +12,8 @@ + + @@ -25,16 +27,6 @@ }); - - -
-
-
-
- -

Manage Corpus

-

Home for corpus management. Unique for Gonzaga Admin (James Hunter); for the monitoring of corpus traffic, activity, etc

+
+
+
+
+
+

Gonzaga Smalltalk Corpus

+
+
+

Date:

+

Total Additions This Month:

+

From Gonzaga University This Month:

+

Expressions in the Corpus:

+

Number of Contributors:

+ +
+
+
+ +
+
+
+

Corpus Administrators

+
+
+ + + + + + + + + + + + + + + +
InstitutionNameRole
Gonzaga UniversityFname LnameGraduate Student
+
+
+
+
+
+
+
+
+

Corpus Additions

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
DateInstitutionContributorSubmission TitleStatus
2/20/16GonzagaTeacher NameWorksheet SubmissionApproved
2/20/16GonzagaTeacher NameWorksheet Submission
+
+
+
+ +
+

@@ -74,13 +144,13 @@
- + diff --git a/admin/ManageCourses/CreateCourse/index.php b/admin/ManageCourses/CreateCourse/index.php deleted file mode 100644 index 8c52b14..0000000 --- a/admin/ManageCourses/CreateCourse/index.php +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - -

You do not have permission to view this page. Redirecting in 5 seconds

-

Click here if you don't want to wait

- - SessionID, Year->YearID) */ - $query = "SELECT * FROM Session WHERE Session = '". $session."'"; - $params = array(); - $options = array( "Scrollable" => SQLSRV_CURSOR_FORWARD ); - $stmt = sqlsrv_query($con, $query, $params, $options); - if( $stmt === false ) { - die( print_r( sqlsrv_errors(), true)); - } - $result = sqlsrv_fetch( $stmt ); - $sessionid = sqlsrv_get_field( $stmt, 1); - - $queryyear = "SELECT * FROM Year WHERE Year = '". $year."'"; - $stmtyear = sqlsrv_query($con, $queryyear, $params, $options); - if ($stmtyear === false ) { - die( print_r( sqlsrv_errors(), true)); - } - $result = sqlsrv_fetch( $stmtyear ); - $yearid = sqlsrv_get_field( $stmtyear, 1); - - - $sessionsquery = "SELECT * FROM Sessions WHERE Session_ID = '". $sessionid."' AND Year_ID = '". $yearid."'"; - $stmtsessions = sqlsrv_query($con, $sessionsquery, $params, $options); - if ($stmtsessions === false ) { - die( print_r( sqlsrv_errors(), true)); - } - $result = sqlsrv_fetch( $stmtsessions ); - $sessionsid = sqlsrv_get_field( $stmtsessions, 0); - //echo "\n$sessionsid"; - - $classnamequery = "SELECT * FROM [Class Names] WHERE [Course #] = '". $coursenumber."'"; - $stmt = sqlsrv_query($con, $classnamequery, $params, $options); - if ($stmt === false) { - die( print_r(sqlsrv_errors(), true)); - } - $result = sqlsrv_fetch( $stmt ); - $classnamesid = sqlsrv_get_field($stmt, 0); - //echo "\n$classnamesid"; - - $teacherquery = "SELECT * FROM [Advisor] WHERE [Advisor] = '". $teacherlastname."'"; - $stmt = sqlsrv_query($con, $teacherquery, $params, $options); - if ($stmt === false) { - die( print_r(sqlsrv_errors(), true)); - } - $result = sqlsrv_fetch( $stmt ); - $teachernameid = sqlsrv_get_field($stmt, 0); - //echo "\n$teachernameid"; - - $maxquery = "SELECT MAX([Teachers&ClassesID]) AS Max_ID FROM [Teachers&Classes]"; - $stmt = sqlsrv_query($con, $maxquery, $params, $options); - if ($stmt === false) { - die( print_r(sqlsrv_errors(), true)); - } - $result = sqlsrv_fetch( $stmt ); - $max_ID = sqlsrv_get_field( $stmt, 0); - $TCid = $max_ID + 4; - //echo "\n$TCid"; - - /*$insertquery = "INSERT INTO [Teachers&Classes] ([Teachers&ClassesID], CRN, ClassNamesID, Section, Instructor, SessionID, Location) VALUES ('$TCid', '$CRN', '$classnamesid', '$section','$teachernameid', '$sessionsid', '$location')"; - $insertstmt = sqlsrv_query( $con, $insertquery, $params, $options ); - if ($insertstmt === false) - { - die( print_r(sqlsrv_errors(), true)); - } - echo "Added column to Teacher&Classes"; - echo ""; - */ - - } - else - { - ?> - - -
- -
-
-
-
- -

-

Documentation:

-

Create Course window. Form submission for: session, year, section, instructor, class, CRN, location. All these create Teachers&ClassesID. Submits to the DB.

-

Form objects:

-

Choose Session (Fall I, Fall II, Summer I, Summer II, Fall I, Fall II)

-

Choose Year (CurrentYear + 5/4/3/2/1, CurrentYear)

-

Choose Session (1,2)

-

Choose Instructor [Dropdown/LiveSearch]

-

Choose Class Name [Dropdown]

-

CRN [Text] [Optional]

-

Location [Text] [Optional

-

Generate Teachers&ClassesID unique from table

-
-

Database Connection Steps:

-

1.)Generate SessionsID from Session and Year.

-

2.)Generate new Teachers&ClassesID via DB query

-

3.)Write new query

- -
-
- -
- -
- -
- -
- -
- -
- -
- - -
-
- - -
-
-
-
- -
- - - - - - - - -

Oops! You are not logged in. Redirecting to log-in in 5 seconds

-

Click here if you don't want to wait

- - - - diff --git a/admin/ManageCourses/CreateNewCourse.php b/admin/ManageCourses/CreateNewCourse.php new file mode 100644 index 0000000..e8e138b --- /dev/null +++ b/admin/ManageCourses/CreateNewCourse.php @@ -0,0 +1,25 @@ + 'static' ); + + $createcourseSQL = "INSERT INTO Courses (CourseTypesID, SessionInstanceID, InstitutionID, TeachingInstanceID, Section, Status) + VALUES (?,?,?,?,?,'Active')"; + $createcourse = sqlsrv_query($con, $createcourseSQL, $params, $options); + if ($createcourse === false) + die(print_r(sqlsrv_errors(), true)); +} +else + echo "No data"; +?> \ No newline at end of file diff --git a/admin/ManageCourses/ViewCourse/index.php b/admin/ManageCourses/ViewCourse/index.php index 4de1126..8059cf7 100644 --- a/admin/ManageCourses/ViewCourse/index.php +++ b/admin/ManageCourses/ViewCourse/index.php @@ -12,7 +12,8 @@ - + + @@ -25,16 +26,6 @@ }); - - -
-
-
-
- -

-

Documentation:

-

Course view for admin user. Displays: teacher, student list, course name, location, and any other information

- + +
+
+
+
+
+ Course Info +
+
+

Institution:

+

Course Number:

+

Course Name:

+

Teacher:

+

Session:

+

Created By:

+
+
+
+
+
+
+ Students +
+
+ + + + + + + + + + + + + +
NameGo To
Stu DentStudent Page
+
+
+
- + + - - - 'static' ); + $institutionSQL = "SELECT I.InstitutionID FROM Institutions as I, Administrators as A + WHERE A.SiteUsername = ? AND + I.InstitutionID = A.InstitutionID"; + $institution = sqlsrv_query($con, $institutionSQL, $params, $options); + if ($institution === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($institution) === true) + $institutionID = sqlsrv_get_field($institution, 0); ?> -
-
-
-
- -

Courses Listing

+ +
+
+
+

Courses

+
+
+
+
-
Documentation
+
Add New Course
-

Courses view for admin user. Displays list of courses, as well as a button at the top to navigate to CreateCourse. Each element in the list is a link to a ViewCourse page, which submits a form.

+
+
+
+ +
+
+ +
+
+ +
+
+ +
+ + + +
+
+
+ +
+ +
+ +
-
+
+
+
+
+
-
Documentation
- - -
-
+
Active Courses
+
+ + + + + + + + + + + + 'static' ); + $coursesSQL = "SELECT I.InstitutionName, ST.SessionName, SI.Year, CT.CourseName, C.Section, T.FirstName, T.LastName + FROM Institutions I, SessionType ST, SessionInstance SI, CourseTypes CT, Courses C, TeachingInstance TI, Teachers T + WHERE C.Status = 'Active' AND + CT.CourseTypesID = C.CourseTypesID AND + TI.TeachingInstanceID = C.TeachingInstanceID AND + T.TeacherID = TI.TeacherID AND + I.InstitutionID = TI.InstitutionID AND + SI.SessionInstanceID = C.SessionInstanceID AND + ST.SessionTypeID = SI.SessionTypeID + ORDER BY CourseID DESC"; + $courses = sqlsrv_query($con, $coursesSQL, $params, $options); + if ($courses === false) + die(print_r(sqlsrv_errors(), true)); + $num_courses = sqlsrv_num_rows($courses); + $institutions = []; + $session_names = []; + $years = []; + $course_names = []; + $sections = []; + $teacher_firstnames = []; + $teacher_lastnames = []; + while(sqlsrv_fetch($courses) === true) + { + $institutions[] = sqlsrv_get_field($courses, 0); + $session_names[] = sqlsrv_get_field($courses, 1); + $years[] = sqlsrv_get_field($courses, 2); + $course_names[] = sqlsrv_get_field($courses, 3); + $sections[] = sqlsrv_get_field($courses, 4); + $teacher_firstnames[] = sqlsrv_get_field($courses, 5); + $teacher_lastnames[] = sqlsrv_get_field($courses, 6); + } + for ($i = 0; $i < $num_courses; $i++) + { + echo " + + + + "; + } +?> + +
InstitutionSession NameCourse Name SectionTeacher Name
$institutions[$i]$session_names[$i] $years[$i]$course_names[$i]$sections[$i]$teacher_firstnames[$i] $teacher_lastnames[$i]
+
+
@@ -87,7 +255,7 @@
- + + + + + + + + +

You do not have permission to view this page. Redirecting in 5 seconds

+

Click here if you don't want to wait

+ + 'static' ); + $UserInfoQuery = " + SELECT R.Designation, I.InstitutionName + FROM RoleInstances as RI, Roles as R, Administrators as A, Institutions as I + WHERE RI.SiteUsername = ? AND + R.RoleID = RI.RoleID AND + R.Role = 'Admin' AND + A.SiteUsername = ? AND + I.InstitutionID = A.InstitutionID"; + $stmt = sqlsrv_query($con, $UserInfoQuery, $params, $options); + if ( $stmt === false) + die( print_r( sqlsrv_errors(), true)); + $Designation = ""; + $Institution = ""; + if ( sqlsrv_fetch( $stmt ) === true) + { + $Designation = sqlsrv_get_field( $stmt, 0); + $Institution = sqlsrv_get_field( $stmt, 1); + } + ?> + + +
+ +
+ +
+
+
+
+
+

Gonzaga University

+
+
+

City:

+

State:

+

Country:

+ +
+
+
+
+
+
+ Teachers +
+
+ + + + + + + + + + + + + +
NameGo To
James HunterTeacher Page
+
+
+
+
+
+
+
+
+ Term Sessions +
+
+ superuser + + + + + + + + + + + + + + + + + + + + + + +
Session NameDefault StartDefault End
Fall ISeptember 1October 20
Fall IIOctober 21December 14
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + +

Oops! You are not logged in. Redirecting to log-in in 5 seconds

+

Click here if you don't want to wait

+ + + + diff --git a/admin/ManageInstitutions/index.php b/admin/ManageInstitutions/index.php new file mode 100644 index 0000000..026a7d8 --- /dev/null +++ b/admin/ManageInstitutions/index.php @@ -0,0 +1,188 @@ + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + +

You do not have permission to view this page. Redirecting in 5 seconds

+

Click here if you don't want to wait

+ + + + +
+ +
+ +
+
+
+
+
+

Add Institution

+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + +
+
+
+
+ +
+
+
+
+
+
+
+
+
+

Institutions

+
+
+ + + + + + + + + + + + + + + + + + + +
NameLocationNumber of TeachersActive CoursesGo To
Gonzaga UniversitySpokane, WA, USA325View/Edit
+
+
+
+
+
+
+ +
+ + + + + + + + + + +

Oops! You are not logged in. Redirecting to log-in in 5 seconds

+

Click here if you don't want to wait

+ + + + diff --git a/admin/ManageStudents/CreateStudent/index.php b/admin/ManageStudents/CreateStudent/index.php deleted file mode 100644 index 2568b4b..0000000 --- a/admin/ManageStudents/CreateStudent/index.php +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - -

You do not have permission to view this page. Redirecting in 5 seconds

-

Click here if you don't want to wait

- - - - -
- -
-
-
-
- -

-

Register a new student account. Input form: First name, last name, username, default password, school email

-
-
-
-
- -
- - - - - - - - -

Oops! You are not logged in. Redirecting to log-in in 5 seconds

-

Click here if you don't want to wait

- - - - diff --git a/admin/ManageStudents/ViewStudentProfile/index.php b/admin/ManageStudents/ViewStudentProfile/index.php index 6f8266f..a1846a6 100644 --- a/admin/ManageStudents/ViewStudentProfile/index.php +++ b/admin/ManageStudents/ViewStudentProfile/index.php @@ -13,6 +13,9 @@ + + + @@ -25,16 +28,7 @@ }); - - + -
-
-
-
- -

View Student Account

-

Documentation:

-

After accepting a form submission from ManageStudents, this page will display the profile of a given student user

+ +
+
+
+

Stu D. Ent

+
+
+
+
+
+
+

Student Info

+
+
+

Active Courses:

+

Total Courses:

+
+
+
+
+
+
+

Recent Courses

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Course NumberSessionStatusPercent Complete
ELCT 102Fall II 2012Complete
+
+
ELCT 103Spring I 2013Partial
+
+
+
+
+
+
+ +
+
+
+
+

Completed Worksheets

+
+
+ + + + + + + + + + + + + + + + + + + +
Course NumberCourse NameSessionWorksheet NumberPerformance
ELCT 101Basic Oral CommunicationFall II 20145
+
+
+
+
@@ -74,7 +151,7 @@
- + diff --git a/admin/ManageStudents/index.php b/admin/ManageStudents/index.php index cd71b1e..3045a86 100644 --- a/admin/ManageStudents/index.php +++ b/admin/ManageStudents/index.php @@ -12,6 +12,7 @@ + @@ -25,16 +26,6 @@ }); - - -
-
-
-
- -

Manage Student Accounts

-

Documentation:

-

Page will provide search functionality and student profile view, for reviewing of accounts. Provides a field for creating a student account. Potentially will involve an option for inputing account info en masse, i.e. via a file

+ +
+
+
+

Gonzaga University Students

+
+ +
+
+
+ +
+
Add New Student (Manually)
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+ + +
+ + +
+ +
+
+
+ + +
+
+ + +
+
Add New Student (By File)
+
+
+
+ +

File format: .csv

+

Columns (no headers): First Name, Last Name, Email, Alternate Email, Nickname, Designation

+
+ +
+
+
+ + +
+
+
+
+ +
+
Students
+
+ + + + + + + + + + + + + + + + + + +
InstitutionNameDate AddedAdded ByVisit Page
Gonzaga UniversityStu Dent3/3/2016T. CherView Student +
+
+ +
+
@@ -74,7 +152,7 @@
- + diff --git a/admin/ManageTeachers/CreateTeacher/index.php b/admin/ManageTeachers/CreateTeacher/index.php deleted file mode 100644 index c7e0b5e..0000000 --- a/admin/ManageTeachers/CreateTeacher/index.php +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - -

You do not have permission to view this page. Redirecting in 5 seconds

-

Click here if you don't want to wait

- - - - -
- -
-
-
-
- -

-

Register a new teacher account. Input form: First name, last name, username, default password, school email

-
-
-
-
- -
- - - - - - - - -

Oops! You are not logged in. Redirecting to log-in in 5 seconds

-

Click here if you don't want to wait

- - - - diff --git a/admin/ManageTeachers/ViewTeacherProfile/index.php b/admin/ManageTeachers/ViewTeacherProfile/index.php index e30ef9e..8597c1b 100644 --- a/admin/ManageTeachers/ViewTeacherProfile/index.php +++ b/admin/ManageTeachers/ViewTeacherProfile/index.php @@ -12,6 +12,7 @@ + @@ -25,16 +26,6 @@ }); - - -
-
-
-
- -

View Teacher Profile/Account

-

Documentation:

-

After accepting a form submission from ManageTeachers, this page will display the profile of a given teacher user

+ +
+
+
+

Firstname Lastname

+
+
+
+
+
+
+

Teacher Information

+
+
+

Institution:

+

Joined SmallTalk:

+

Last Active Session:

+

Number of SmallTalk
Courses:

+
+
+
+
+
+
+

Courses

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Course NumberCourse NameSessionStatusGo To
ELCT 107Communications SeminarFall I 2015ArchivedView Course
ELCT 107Communications SeminarSpring II 2016ActiveView Course
+
+
+
+
+
+
+
+
+

Teacher Activity

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
DateCourse NameActive SessionAction NameGo To
1/1/2016Basic Oral CommunicationSpring I 2016Distributed WorksheetView Worksheet
1/8/2016Basic Oral CommunicationSpring I 2016Submitted Worksheet to CorpusView Submission
+
+
@@ -74,7 +151,7 @@
- + diff --git a/admin/ManageTeachers/index.php b/admin/ManageTeachers/index.php index 6cfe5f3..d53ddb3 100644 --- a/admin/ManageTeachers/index.php +++ b/admin/ManageTeachers/index.php @@ -12,6 +12,7 @@ + @@ -25,16 +26,6 @@ }); - - -
-
-
-
- -

Manage Teacher Accounts

-

Documentation:

-

Page will provide search functionality and teacher profile view, for reviewing of accounts. Provides a field for creating a teacher account. Potentially will involve an option for inputing account info en masse, i.e. via a file

+ +
+
+
+

Gonzaga University Teachers

+
+ + +
+
+
+ +
+
Add New Teacher (Manually)
+
+
+
+ + +
+
+
+
+
+
+
+
+
+ + +
+ + +
+ +
+
+
+ + +
+
+ + +
+
Add New Teacher (By File)
+
+
+
+ +

File format: .csv

+

Columns (no headers): First Name, Last Name, Email, Alternate Email, Designation

+
+ +
+
+
+ + +
+
+
+
+ +
+
Teachers
+
+ + + + + + + + + + + + + + + + + + +
InstitutionNameDate AddedAdded ByVisit Page
Gonzaga UniversityT. Cher3/3/2016Ah D. MinView Teacher +
+
+ +
+
@@ -74,7 +152,7 @@
- + diff --git a/admin/SiteUsers/index.php b/admin/SiteUsers/index.php new file mode 100644 index 0000000..3823f38 --- /dev/null +++ b/admin/SiteUsers/index.php @@ -0,0 +1,195 @@ + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + +

You do not have permission to view this page. Redirecting in 5 seconds

+

Click here if you don't want to wait

+ + + +
+ +
+ +
+
+
+

Smalltalk Site Users

+
+
+
+
+ +
+
Add New User
+
+
+
+ + +
+
+
+ +
+
+
+ + +
+
+ + +
+ + +
+ +
+
+
+ + +
+
+ + +
+
Add New Teacher (By File)
+
+
+
+ +

File format: .csv

+

Columns (no headers): First Name, Last Name, Email, Alternate Email, Designation

+
+ +
+
+
+ + +
+
+
+
+ +
+
Site Users
+
+ + + + + + + + + + + 'static' ); + $siteusersSQL = "SELECT SU.username, SU.firstname, SU.lastname, SU.date_added, R.Role + FROM SiteUsers SU, RoleInstances RI, Roles R + WHERE RI.SiteUsername = SU.username AND + R.RoleID = RI.RoleID"; + $siteusers = sqlsrv_query($con, $siteusersSQL, $params, $options); + if ($siteusers === false) + die(print_r(sqlsrv_errors(), true)); + $num_users = sqlsrv_num_rows($siteusers); + $usernames = []; + $firstnames = []; + $lastnames = []; + $dates = []; + $roles = []; + + + + + + + +
UsernameNameDate AddedAlter
Gonzaga UniversityT. Cher3/3/2016View Teacher +
+
+ +
+ +
+
+
+
+
+ + + + + + + + + +

Oops! You are not logged in. Redirecting to log-in in 5 seconds

+

Click here if you don't want to wait

+ + + + diff --git a/azureblobtest.php b/azureblobtest.php index 3544a4a..dfb3336 100644 --- a/azureblobtest.php +++ b/azureblobtest.php @@ -12,7 +12,7 @@ - + 'static' ); + for($j = 0; $j < $num_searched_words - 1; $j++) + { + $word_title = $searched_words[$j]; + $word_list = $_POST[$word_title]; + $num_words = count($word_list); + $add_to_query = "E.ExpressionID in (SELECT E2.ExpressionID + FROM Expressions E2, SeqWords SW2 + WHERE ("; + for($i = 0; $i < $num_words - 1; $i++) + { + $add_to_query .= "SW2.WordID = ? OR "; + $params[] = $word_list[$i]; + } + $add_to_query .= "SW2.WordID = ?"; + $params[] = $word_list[$num_words - 1]; + $expressionsSQL .= $add_to_query; + $expressionsSQL .= ") AND E2.ExpressionID = SW2.ExpressionID) AND "; + } + $word_title = $searched_words[$num_searched_words - 1]; + $word_list = $_POST[$word_title]; + $num_words = count($word_list); + $add_to_query = "E.ExpressionID in (SELECT E2.ExpressionID + FROM Expressions E2, SeqWords SW2 + WHERE ("; + for($i = 0; $i < $num_words - 1; $i++) + { + $add_to_query .= "SW2.WordID = ? OR "; + $params[] = $word_list[$i]; + } + $add_to_query .= "SW2.WordID = ? "; + $params[] = $word_list[$num_words - 1]; + $expressionsSQL .= $add_to_query; + $expressionsSQL .= ") AND E2.ExpressionID = SW2.ExpressionID)"; + + $expressionsSQL .= " AND S.StudentID = E.StudentID AND + L.LanguageID = S.Language AND + C.CourseID = E.CourseID AND + CT.CourseTypesID = C.CourseTypesID"; + + + + + + /*$expressions = sqlsrv_query($con, $expressionsSQL, $params, $options); + if ($expressions === false) + die(print_r(sqlsrv_errors(), true)); + $num_expressions = sqlsrv_num_rows($expressions); + $expression_data = []; + + while (sqlsrv_fetch($expressions) === true) + $expression_data[] = sqlsrv_get_field($expressions, 0);*/ + + + + ?> -
-
-
-
- +
+
+
+
+ +
+ +
+
+
+
+
+

+ + + +

+ +
+
+
+ + +
+
+
+

Result Expressions

-

- + + + + 'static' ); - $stmt = sqlsrv_query($con, $getExpressionQuery, $params, $options); + $stmt = sqlsrv_query($con, $expressionsSQL, $params, $options); if ( !$stmt ) die( print_r( sqlsrv_errors(), true)); /* Extract Pagination Paramaters */ - $rowsPerPage = isset($_GET['pp']) ? $_GET['pp'] : 10; // get rows per page, default = 10 + $rowsPerPage = isset($_GET['pp']) ? $_GET['pp'] : 20; // get rows per page, default = 10 $rowsReturned = sqlsrv_num_rows($stmt); @@ -142,18 +263,15 @@ foreach($page as $row) { //$coursePageLink = "ViewCourse/?courseID=$row[5]"; - echo ""; + echo ""; } echo "
ExpressionExpressionContextLevelNative Language
$row[0]
$row[0]$row[1]$row[2]$row[3]

"; - $modulator = 3; - //Pagination::pageLinks($numOfPages, $pageNum, $rowsPerPage, $rowsReturned, $modulator); + $modulator = 0; + Pagination::pageLinks($numOfPages, $pageNum, $rowsPerPage, $rowsReturned, $modulator); ?>
-
- -
@@ -161,7 +279,7 @@
- + + + + +jQuery AJAX Autocomplete - Country Example + + + + + + +
+ +
+
diff --git a/corpus/Testfindphrase.php b/corpus/Testfindphrase.php index 5f3d7b5..c4dfc84 100644 --- a/corpus/Testfindphrase.php +++ b/corpus/Testfindphrase.php @@ -24,45 +24,44 @@ -Search Results: - -student_id -expression -level_id -topic_id -language_id -"; +// echo " +// +// +// +// +// +// +// +// "; //Input values into table + +echo '
    '; + while($row = mysqli_fetch_array($result)) { - echo "
"; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo '
  • '. htmlentities($row['expression'])"
  • "; } + +echo ''; //output the table with values in it -echo "
    Search Results:
    student_idexpressionlevel_idtopic_idlanguage_id
    " . $row['expression_id'] . "" . $row['expression'] . "" . $row['level_id'] . "" . $row['topic_id'] . "" . $row['language_id'] . "
    "; +//echo ""; mysqli_close($con); +exit; ?> diff --git a/corpus/findphrase.php b/corpus/findphrase.php index 108944c..9b70aa3 100644 --- a/corpus/findphrase.php +++ b/corpus/findphrase.php @@ -1,56 +1,25 @@ connectDB(); - if(!empty($conn)) { - $this->selectDB($conn); - } - } - - function connectDB() { - $conn = mysql_connect($this->host,$this->user,$this->password); - return $conn; - } - - function selectDB($conn) { - mysql_select_db($this->database,$conn); - } - - function runQuery($query) { - $result = mysql_query($query); - while($row=mysql_fetch_assoc($result)) { - $resultset[] = $row; - } - if(!empty($resultset)) - return $resultset; - } - - function numRows($query) { - $result = mysql_query($query); - $rowcount = mysql_num_rows($result); - return $rowcount; - } +if (isset($_POST['search'])) { + $search = htmlentities($_POST['search']); + +$con = mysqli_connect('us-cdbr-azure-west-c.cloudapp.net','b2a3214e88e413','325ebc40','mysqldbproject'); +if (!$con) { + die('Could not connect: ' . mysqli_error($con)); +} + +echo($echo); + +//Search results for echo ($q); +mysqli_select_db($con,"mysqldbproject"); +$sql= "SELECT * FROM expressions_full WHERE expression LIKE '$search%'"; +$req = mysqli_query($con,$sql) or die(); +echo ''; +mysqli_close($con); +exit; } ?> - -runQuery($query); -if(!empty($result)) { -?> -
      - -
    • ');">
    • - -
    - diff --git a/corpus/index.php b/corpus/index.php index 2153d84..153c8cb 100644 --- a/corpus/index.php +++ b/corpus/index.php @@ -12,9 +12,10 @@ + - + - - -
    @@ -66,7 +56,7 @@

    Corpus Search Home

    Documentation:

    -

    Only accessible to teacher and admin accounts. Along with a window for submitting a new search form (similar to the one in COCA) the page will provide corpus navigation via the sidebar. Within the page window (not the sidebar) will be several options for viewing additional data in the corpus, such as graphical representations of certain types of data, registering with Gonzaga (if not already logged in) and viewing audio data (potentially) Search the Corpus

    +

    Only accessible to teacher and admin accounts. Along with a window for submitting a new search form (similar to the one in COCA) the page will provide corpus navigation via the sidebar. Within the page window (not the sidebar) will be several options for viewing additional data in the corpus, such as graphical representations of certain types of data, registering with Gonzaga (if not already logged in) and viewing audio data (potentially) Search the Corpus

    @@ -75,7 +65,7 @@
    - + - - - - +--> + + + + - - - - - - + + + + + + + + + @@ -41,14 +46,16 @@ e.preventDefault(); var controlForm = $('.controls form:first'), + container = controlForm.children() currentEntry = $(this).parents('.entry:first'), newEntry = $(currentEntry.clone()).appendTo(controlForm); newEntry.find('input').val(''); + newEntry.find('input[name^=offset]').val(0); controlForm.find('.entry:not(:last) .btn-add') .removeClass('btn-add').addClass('btn-remove') - .removeClass('btn-success').addClass('btn-danger') - .html(''); + .removeClass('btn-primary').addClass('btn-danger') + .html('Remove Word'); }).on('click', '.btn-remove', function(e) { $(this).parents('.entry:first').remove(); @@ -66,6 +73,14 @@ }); - - + + -
    -
    -
    -
    - -
    -
    - -
    - - - +
    +
    +
    +

    Gonzaga University Smalltalk Corpus

    +
    +
    +
    +
    +
    + +
    - -
    - -
    -
    - -

    Suggestions:

    + +
    +
    +

    Add to Search QueryInput Instructions

    +
    +
    + +
    +
    +

    Load in a word:

    +
    +
    + +
    +
    -
    + +
    + +
    +
    +
    +
    + + + +
    +
    + + + +
    +
    + +
    + +
    +
    +
    +

    Load in a part-of-speech tag:

    +
    +
    +
    +
    +
    - -
    - -
    -
    -
    - -
    - -
    - +
    +
    +
    + +
    + + + +
    +
    + + - - -
    -
    - -
    -
    -
    +
    - +
    + +
    + + +
    -
    + + + + +
    + +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    +
    - - - +
    +
    +
    +
    +
    +

    Build Search Query

    +
    +
    +
    +
    +
    + +
    + + +
    +
    +
    + + + + + + + + + - + +
    TypeContentAction
    +
    + + +
    +
    -
    -
    -
    + +
    + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + + +
    +
    +
    + Corpus Input Guidelines +
    +
    + TEXT +
    +
    + + + +

    Oops! You are not logged in. We do not yet support access to the corpus without authorization from our administrators.

    +

    Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + + + \ No newline at end of file diff --git a/corpus/search/populatetags.php b/corpus/search/populatetags.php new file mode 100644 index 0000000..d606c2d --- /dev/null +++ b/corpus/search/populatetags.php @@ -0,0 +1,68 @@ + + + + + 'static' ); + + $stmt = sqlsrv_query($con, $query, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + $length = sqlsrv_num_rows($stmt); + $tag_names = []; + $tag_type = []; + $frequency = []; + + while (sqlsrv_fetch($stmt) === true) + { + $frequency[] = sqlsrv_get_field($stmt, 0); + $tag_names[] = sqlsrv_get_field($stmt, 1); + $tag_type[] = sqlsrv_get_field($stmt, 2); + + } + + for ($i = 0; $i < $length; $i++) + { + $tag = $tag_names[$i]; + $freq = $frequency[$i]; + $type = $tag_type[$i]; + ?> + + + + + + + +
    Tag NameTag TypeFrequency
    + +

    No data received

    + diff --git a/corpus/search/populatewords.php b/corpus/search/populatewords.php new file mode 100644 index 0000000..aedeaa4 --- /dev/null +++ b/corpus/search/populatewords.php @@ -0,0 +1,74 @@ + 0 ) + $query_valid = true; + + if ( $query_valid) + { + ?> + + + 'static' ); + $params = array($_POST['new_word']); + $word = $_POST['new_word']; + + + $stmt = sqlsrv_query($con, $query, $params, $options); + if ($stmt === false) + die (print_r(sqlsrv_errors(), true)); + $result_length = sqlsrv_num_rows($stmt); + $ids = []; + $forms = []; + $tags = []; + $tagtypes = []; + $freq = []; + while (sqlsrv_fetch($stmt) === true) + { + $ids[] = sqlsrv_get_field($stmt, 0); + $forms[] = sqlsrv_get_field($stmt, 1); + $tags[] = sqlsrv_get_field($stmt, 2); + $tagtypes[] = sqlsrv_get_field($stmt, 3); + $freq[] = sqlsrv_get_field($stmt, 4); + } + ?> + + + + + + + + + + + + + + +
    FormTagTypeFrequency
    + + +

    No data received

    + diff --git a/corpus/search/suggestPartOfSpeech.php b/corpus/search/suggestPartOfSpeech.php new file mode 100644 index 0000000..321c91a --- /dev/null +++ b/corpus/search/suggestPartOfSpeech.php @@ -0,0 +1,46 @@ + 'static' ); + $query ="SELECT Top 6 Tag FROM [CLAWS7] WHERE Tag like '" . $_POST["keyword"] . "%' ORDER BY Tag"; + $stmt = sqlsrv_query($con, $query, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + $tags = []; +/* + $ids = []; +*/ + while (sqlsrv_fetch($stmt) === true) + { + $tags[] = sqlsrv_get_field($stmt, 0); +/* + $ids[] = sqlsrv_get_field($stmt, 1); +*/ + } + $length = sqlsrv_num_rows($stmt); + + if(!empty($tags)) { + ?> + + + diff --git a/corpus/search/tagset.php b/corpus/search/tagset.php new file mode 100644 index 0000000..0f3af4b --- /dev/null +++ b/corpus/search/tagset.php @@ -0,0 +1,107 @@ + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + 'static' ); + $query = "SELECT * FROM CLAWS7"; + $stmt = sqlsrv_query($con, $query, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + $tag_names = []; + $tag_desc = []; + $num_rows = sqlsrv_num_rows($stmt); + + while (sqlsrv_fetch($stmt) === true) + { + $tag_names[] = sqlsrv_get_field($stmt, 0); + $tag_desc[] = sqlsrv_get_field($stmt, 1); + } + + + + ?> + +
    +
    +
    + CLAWS7 Tagset +
    +
    + + + + + + + + + + + + + + + + +
    TagDescription
    +
    +
    + + + +

    Oops! You are not logged in. We do not yet support access to the corpus without authorization from our administrators.

    +

    Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + + + \ No newline at end of file diff --git a/corpus/searchdisplay.html b/corpus/searchdisplay.html index e502d30..a939a97 100644 --- a/corpus/searchdisplay.html +++ b/corpus/searchdisplay.html @@ -4,9 +4,9 @@ Bootstrap Case - - - + + + - - + + - -
    - -
    -
    - +
    +
    + + +
    +
    +
    diff --git a/index.php b/index.php index d405153..381e62e 100644 --- a/index.php +++ b/index.php @@ -12,7 +12,7 @@ - + SQLSRV_CURSOR_KEYSET); + $ListRolesQuery = "SELECT DISTINCT R.Role, R.Designation, R.RoleID, R.Type FROM Roles as R, RoleInstances as RI WHERE RI.SiteUsername = ? AND RI.RoleID = R.RoleID ORDER BY R.RoleID, R.Designation, R.Type"; + $stmt = sqlsrv_query($con, $ListRolesQuery, $params, $options); + if( $stmt === false ) { + die( print_r( sqlsrv_errors(), true)); + } + + // Make the first (and in this case, only) row of the result set available for reading. + $RolesList = []; + $Designations = []; + $AccessPriv = []; + $NumRoles = 0; + while( sqlsrv_fetch( $stmt ) === true) { + $RolesList[] = sqlsrv_get_field( $stmt, 0); + $Designations[] = sqlsrv_get_field( $stmt, 1); + $AccessPriv[] = sqlsrv_get_field( $stmt, 3); + $NumRoles += 1; + } if($_SESSION['Role'] == 'Admin') { + $params = array($_SESSION['Institution']); + $options = array( "Scrollable" => 'static' ); + $instIDQuery = "SELECT InstitutionID FROM Institutions WHERE InstitutionName = ?"; + $stmt = sqlsrv_query ( $con, $instIDQuery, $params, $options ); + if ( $stmt === false ) + die (print_r(sqlsrv_errors(), true)); + if ( sqlsrv_fetch ($stmt) === true) + $institutionID = sqlsrv_get_field( $stmt, 0); + + ?>
    @@ -32,39 +62,73 @@ @@ -89,7 +162,7 @@
    -->
    - + @@ -119,6 +192,7 @@ $institutions = []; $institution_ids = []; + $num_institutions = sqlsrv_num_rows($stmt); while( sqlsrv_fetch( $stmt ) === true) { $institutions[] = sqlsrv_get_field( $stmt, 0); $institution_ids[] = sqlsrv_get_field( $stmt, 1); @@ -133,25 +207,66 @@
    - + @@ -194,27 +316,93 @@
    - + diff --git a/speechtest.html b/speechtest.html index 2c89b61..a3f991d 100644 --- a/speechtest.html +++ b/speechtest.html @@ -18,7 +18,7 @@ Chrome Browser - + @@ -87,7 +87,7 @@ a.c1 {font-weight: normal;} - + - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Search Courses

    -

    Archive (search courses) access for student user. Provides a window with search functionality for searching all non-active courses for a given student ID.

    - - -
    -
    -
    -
    -
    - - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - diff --git a/student/Archive/Expressions/index.php b/student/Archive/Expressions/index.php deleted file mode 100644 index ecd56db..0000000 --- a/student/Archive/Expressions/index.php +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Search Expressions

    -

    Archive (search expressions) access for student user. Provides a window with search functionality for searching all previously entered expressions for a given student ID.

    - - -
    -
    -
    -
    -
    - - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - diff --git a/student/Archive/Worksheets/index.php b/student/Archive/Worksheets/index.php deleted file mode 100644 index 5e76dea..0000000 --- a/student/Archive/Worksheets/index.php +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Search Worksheets

    -

    Archive (search worksheets) access for student user. Provides a window with search functionality for searching all previously submitted worksheets for a given student ID.

    - - -
    -
    -
    -
    -
    - - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - diff --git a/student/Archive/index.php b/student/Archive/index.php deleted file mode 100644 index 7019c33..0000000 --- a/student/Archive/index.php +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Student Name: Archive

    -

    Archive access home for student user. Through this page, the student will be able to view all non-active courses, and therefore review his/her progress. Links will be provided in the Archive Sidebar for navigation to different sections of the Archive, including courses, worksheets, and expressions (search functionality included in each)

    - - -
    -
    -
    -
    -
    - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - \ No newline at end of file diff --git a/student/MyCourses/ViewCourse/EditWorksheet/index.php b/student/MyCourses/ViewCourse/EditWorksheet/index.php deleted file mode 100644 index 41ba7c4..0000000 --- a/student/MyCourses/ViewCourse/EditWorksheet/index.php +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Documentation:

    - -

    For the student, this will provide an editing window/form that the student will fill out. The contents of this page will allow for text as well as audio data entry, and will eventually contain a speech to text module. Students will be permitted to submit multiple versions of the assignment, and this tracking data will be both displayed in the window and entered in with each new submission

    -

    Standard navbars

    - - -
    -
    -
    -
    -
    - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - \ No newline at end of file diff --git a/student/MyCourses/ViewCourse/ViewWorksheet/index.php b/student/MyCourses/ViewCourse/ViewWorksheet/index.php index 826e4b1..7f607ff 100644 --- a/student/MyCourses/ViewCourse/ViewWorksheet/index.php +++ b/student/MyCourses/ViewCourse/ViewWorksheet/index.php @@ -16,7 +16,7 @@ - + + + + + + + + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + "; + + $params = array($worksheetID); + $options = array( "Scrollable" => 'static' ); + $worksheetinfoSQL = "SELECT W.WorksheetNumber, CONVERT(VARCHAR(11), W.Date, 106), T.Topic + FROM Worksheets W, Topics T + WHERE W.WorksheetID = ? AND + T.TopicID = W.TopicID"; + $worksheetinfo = sqlsrv_query($con, $worksheetinfoSQL, $params, $options); + if ($worksheetinfo === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($worksheetinfo) === true) + { + $worksheet_number = sqlsrv_get_field($worksheetinfo, 0); + $date = sqlsrv_get_field($worksheetinfo, 1); + $topic = sqlsrv_get_field($worksheetinfo, 2); + } + + $params = array($_SESSION['Username']); + $getenrollmentidSQL = "SELECT ER.EnrollmentID + FROM Enrollment ER, Students S, SiteUsers SU + WHERE SU.username = S.SiteUsername AND + ER.StudentID = S.StudentID AND + SU.username = ?"; + $getenrollmentid = sqlsrv_query($con, $getenrollmentidSQL, $params, $options); + if ($getenrollmentid === false) + die(print_r(sqlsrv_errors(), true)); + if(sqlsrv_fetch($getenrollmentid) === true) + $myEnrollmentID = sqlsrv_get_field($getenrollmentid, 0); + + $params = array($worksheetID, $myEnrollmentID); + $options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET); + $worksheetexpressionsSQL = " +SELECT DISTINCT E.SentenceNumber, S.StudentID, S.FirstName, S.LastName, E.Expression, E.ExpressionID, E.AllDo +FROM Expressions E, Students S, Enrollment ER, StudentSubmissions SS, StudentAttempts SA +WHERE E.WorksheetID = ? AND + (E.AllDo = 1 OR E.EnrollmentID = ?) AND + ER.StudentID = E.StudentID AND + S.StudentID = ER.StudentID +ORDER BY E.SentenceNumber"; + $worksheetexpressions = sqlsrv_query($con, $worksheetexpressionsSQL, $params, $options); + if ($worksheetexpressions === false) + die(print_r(sqlsrv_errors(), true)); + + $num_expressions = sqlsrv_num_rows($worksheetexpressions); + $new_expression_number = $num_expressions + 1; + $sent_numbers = []; + $student_expression_ids = []; + $first_names = []; + $last_names = []; + $expressions = []; + $ids = []; + $alldos = []; + $attempt_numbers = []; + + while(sqlsrv_fetch($worksheetexpressions) === true) + { + $sent_numbers[] = sqlsrv_get_field($worksheetexpressions, 0); + $student_expression_ids[] = sqlsrv_get_field($worksheetexpressions, 1); + $first_names[] = sqlsrv_get_field($worksheetexpressions,2); + $last_names[] = sqlsrv_get_field($worksheetexpressions, 3); + $expressions[] = sqlsrv_get_field($worksheetexpressions, 4); + $ids[] = sqlsrv_get_field($worksheetexpressions, 5); + $alldos[] = sqlsrv_get_field($worksheetexpressions, 6); + $attempt_numbers[] = sqlsrv_get_field($worksheetexpressions, 7); + $correctedExpr[] = ""; + } + + $params = array($worksheetID, $myEnrollmentID); + $allcorrectionsSQL = " +SELECT SA.ReformulationText, SA.AttemptNumber, SA.ExpressionID +FROM StudentAttempts SA, StudentSubmissions SS +WHERE SS.WorksheetID = ? AND + SS.EnrollmentID = ? AND + SA.StudentSubmissionID = SS.StudentSubmissionID"; + $allcorrections = sqlsrv_query($con, $allcorrectionsSQL, $params, $options); + if ($allcorrections === false) + die(print_r(sqlsrv_errors(), true)); + $all_reformulation_texts = []; + $all_reformulation_attempts = []; + $all_reformulation_exprIDs = []; + $num_all_reformulations = sqlsrv_num_rows($allcorrections); + while(sqlsrv_fetch($allcorrections) === true) + { + $all_reformulation_texts[] = sqlsrv_get_field($allcorrections, 0); + $all_reformulation_attempts[] = sqlsrv_get_field($allcorrections, 1); + $all_reformulation_exprIDs[] = sqlsrv_get_field($allcorrections, 2); + } + + /* Select among corrections for most recent */ + + + for ($j = 0; $j < $num_expressions; $j++) + { + for ($i = 0; $i < $num_all_reformulations; $i++) + { + if (($ids[$j] == $all_reformulation_exprIDs[$i]))// && ($attempt_numbers[$j] == $all_reformulation_attempts[$i])) + { + if ($all_reformulation_texts[$i] != 'n/a') + $correctedExpr[$j] = $all_reformulation_texts[$i]; + } + + } + } + + $coursestudentsSQL = "SELECT ER.StudentID + FROM Enrollment as ER, Worksheets as W, Courses C + WHERE W.WorksheetID = ? AND + C.CourseID = W.CourseID AND + ER.CourseID = C.CourseID"; + $coursestudents = sqlsrv_query($con, $coursestudentsSQL, $params, $options); + if ($coursestudents === false) + die(print_r(sqlsrv_errors(), true)); + $num_students = sqlsrv_num_rows($coursestudents); + $studentsids = []; + while(sqlsrv_fetch($coursestudents) === true) + $studentsids[] = sqlsrv_get_field($coursestudents, 0); + + + ?> + + +
    + +
    + +
    +
    + + +
    +
    + +
    +
    +
    + +
    +
    + + + Worksheet #
    + Date:
    + Topic: +
    +
    + +
    + +
    + +
    + +
    + +
    + +
    +
    +
    + +
    +
    +
    Worksheet Overview
    +
    +$worksheetID
    "; + echo "
    $myEnrollmentID
    "; + echo "
    $num_expressions
    "; + //echo "
    "; +?> + + + + + + + + + + + + + + + + + + + + + + "; + } +?> + + + +
    ExpressionCorrectionAssigned
    $sent_numbers[$i]$expressions[$i]$correctedExpr[$i] + + "; + if ($alldos[$i] == 1) + echo "All-Do"; + else + echo "Mine"; + echo " +
    +
    +
    +
    +
    +
    +
    Expression Edit Window + +
    +
    + Original Expression: + + +
    +
    + + + +
    +
    +
    +
    + + +
    + +
    + +
    +
    +
    + +
    + + +
    + +
    +
    +
    + + + + + + + + + +

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + \ No newline at end of file diff --git a/student/MyCourses/ViewCourse/WriteCorrections.php b/student/MyCourses/ViewCourse/WriteCorrections.php new file mode 100644 index 0000000..0eadd05 --- /dev/null +++ b/student/MyCourses/ViewCourse/WriteCorrections.php @@ -0,0 +1,49 @@ + 'static'); + echo "FUCK OFF"; + + $studentsubmissionsSQL = "INSERT INTO StudentSubmissions (?, ?, 1, 0, GETDATE())"; + $studentsubmissions = sqlsrv_query($con, $studentsubmissionsSQL, $params, $options); + if ($studentsubmissionsid === false) + die(print_r(sqlsrv_errors(), true)); + + $getstudentsubmissionidSQL = "SELECT StudentSubmissionID FROM StudentSubmissions + WHERE EnrollmentID = ? AND + WorksheetID = ? AND + AttemptNumber = 1"; + $getstudentsubmissionid = sqlsrv_query($con, $studentsubmissionidSQL, $params, $options); + if ($getstudentsubmissionid === false) + die(print_r(sqlsrv_errors(), true)); + while(sqlsrv_fetch($getstudentsubmissionid) === true) + $studentsubmissionid = sqlsrv_get_field($getstudentsubmissionid, 0); + + $studentattemptsSQL = "INSERT INTO StudentAttempts (ExpressionID, StudentSubmissionID, ReformulationText) VALUES "; + for($i = 0; $i < $expressionIDs.count(); $i++) + { + if ($i == $expressionIDs.count() - 1) + { + $studentattemptsSQL = $studentattemptsSQL . "($expressionIDs[$i], $studentsubmissionid, $correctedText[$i])"; + } + + $studentattemptsSQL = $studentattemptsSQL . "($expressionIDs[$i], $studentsubmissionid, $correctedText[$i]), "; + } + echo "$studentattemptsSQL"; + $studentattempts = sqlsrv_query($con, $studentattemptsSQL, $params, $options); + if ($studentattempts === false) + die(print_r(sqlsrv_errors(), true)); +} +else +{ + echo "Data Error"; +}*/ +?> \ No newline at end of file diff --git a/student/MyCourses/ViewCourse/index.php b/student/MyCourses/ViewCourse/index.php index e6f27ec..ed68ca2 100644 --- a/student/MyCourses/ViewCourse/index.php +++ b/student/MyCourses/ViewCourse/index.php @@ -14,9 +14,10 @@ + - + - - + "; ?> -
    -
    -
    -
    - - -

    Course Name

    -

    Course "home page" which contains the same basic information as Teacher/MyCourses/ViewCourse/. This page will provide links to course worksheets, general course information, and a link to the teacher's profile page.

    -

    Standard Student sidebar, standard header bar

    - +
    +
    +
    +
    +
    +

    Course Info

    +
    +
    +

    Course Number: ELCT 101

    +

    Course Title: Basic Oral Communication

    +

    Session: Fall II 2015

    +

    Teacher: Hunter

    +
    + +
    +
    + +
    + +
    +
    +
    +
    +
    +

    Worksheets

    +
    +
    + + + + + + + + + + + + + SQLSRV_CURSOR_KEYSET); + $studentworksheetsSQL = "SELECT W. WorksheetNumber, CONVERT(VARCHAR(11), W.Date,106), T.Topic, W.WorksheetID + FROM Worksheets W, Topics T, Courses C, Enrollment ER, Students S + WHERE S.SiteUsername = ? AND + ER.StudentID = S.StudentID AND + W.CourseID = ER.CourseID AND + W.EditStatus = 'Released' AND + W.IsDeleted = 0 AND + C.CourseID = ? AND + T.TopicID = W.TopicID"; + $studentworksheets = sqlsrv_query($con, $studentworksheetsSQL, $params, $options); + if ($studentworksheets === false) + die(print_r(sqlsrv_errors(), true)); + $num_worksheets = sqlsrv_num_rows($studentworksheets); + + $worksheetIDs = []; + $worksheet_numbers = []; + $dates = []; + $topics = []; + while(sqlsrv_fetch($studentworksheets) === true) + { + $worksheet_numbers[] = sqlsrv_get_field($studentworksheets, 0); + $dates[] = sqlsrv_get_field($studentworksheets, 1); + $topics[] = sqlsrv_get_field($studentworksheets, 2); + $worksheetIDs[] = sqlsrv_get_field($studentworksheets, 3); + } + for($i = 0; $i < $num_worksheets; $i++) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + ?> + +
    #DateTopicStatusFeedbackOpen Editor
    $worksheet_numbers[$i]$dates[$i]$topics[$i]--
    +
    +
    @@ -79,7 +179,7 @@
    - + + - - + -
    -
    -
    -
    - - -

    Courses

    -

    For the student user, this page displays a list of links to a course page, each link containing the name/ID of the course. These courses are pulled by a SQL query that retrieves all active, enrolled courses of the student user name, which is accessed from the session data

    -

    Standard Student sidebar, standard header bar

    - +
    +
    +
    +
    +
    +

    Courses

    +
    +
    + + + + + + + + + + + + 'static' ); + $coursesSQL = "SELECT CT.CourseName, CT.CourseTypeName, ST.SessionName, SI.Year, T.FirstName, T.LastName, C.CourseID + FROM CourseTypes CT, SessionType ST, SessionInstance SI, Students S, Courses C, Enrollment ER, Teachers T, TeachingInstance TI + WHERE S.SiteUsername = ? AND + ER.StudentID = S.StudentID AND + C.CourseID = ER.CourseID AND + C.TeachingInstanceID = TI.TeachingInstanceID AND + TI.TeacherID = T.TeacherID AND + SI.SessionInstanceID = C.SessionInstanceID AND + ST.SessionTypeID = SI.SessionTypeID AND + CT.CourseTypesID = C.CourseTypesID"; + $courses = sqlsrv_query($con, $coursesSQL, $params, $options); + if ($courses === false) + die(print_r(sqlsrv_errors(), true)); + $num_courses = sqlsrv_num_rows($courses); + $course_numbers = []; + $course_names = []; + $session_names = []; + $years = []; + $teacher_firstnames = []; + $teacher_lastnames = []; + $course_ids = []; + while(sqlsrv_fetch($courses) === true) + { + $course_numbers[] = sqlsrv_get_field($courses, 0); + $course_names[] = sqlsrv_get_field($courses, 1); + $session_names[] = sqlsrv_get_field($courses, 2); + $years[] = sqlsrv_get_field($courses, 3); + $teacher_firstnames[] = sqlsrv_get_field($courses, 4); + $teacher_lastnames[] = sqlsrv_get_field($courses, 5); + $course_ids[] = sqlsrv_get_field($courses, 6); + } + for ($i = 0; $i < $num_courses; $i++) + { + echo " + + + + + "; + } +?> + + +
    Course NumberCourse NameSession NameTeacherVisit Course Page
    $course_numbers[$i]$course_names[$i]$session_names[$i] $years[$i]$teacher_firstnames[$i] $teacher_lastnames[$i]
    + + +
    +
    +
    + +
    + + +
    @@ -79,7 +138,7 @@
    - + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + + + +
    + +
    + +
    +
    +
    +
    +
    +

    Teacher Info

    +
    +
    +

    Name:

    +

    Institution(s):

    +

    Active with Smalltalk:

    +
    +
    + +
    +
    +
    +
    +

    Recent Courses

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstitutionCourse NumberCourse NameSessionCourse Page
    Gonzaga UniversityELCT 106Advanced Oral CommunicationSummer II 2013Visit Course Page
    Gonzaga UniversityELCT 105Advanced Oral CommunicationSummer I 2013Not Enrolled
    +
    +
    + + +
    +
    +
    +
    +
    + + + + + + + + +

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + \ No newline at end of file diff --git a/student/MyTeachers/ViewTeacherProfile/index.php b/student/MyTeachers/ViewTeacherProfile/index.php deleted file mode 100644 index df42281..0000000 --- a/student/MyTeachers/ViewTeacherProfile/index.php +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Documentation:

    -

    For the student user, this page will provide a viewable profile for a given teacher, displaying scheduling, office hours, contact information, and active courses

    -

    Standard student navbars

    - - -
    -
    -
    -
    -
    - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - \ No newline at end of file diff --git a/student/MyTeachers/index.php b/student/MyTeachers/index.php index b4a3bbf..0541381 100644 --- a/student/MyTeachers/index.php +++ b/student/MyTeachers/index.php @@ -14,9 +14,10 @@ + - + - - + -
    -
    -
    -
    - - -

    Documentation:

    -

    This page has lesser priority. This will provide students a review of teachers that the student is with at the time. More importantly, this will provide the path for looking at ViewTeacherProfile, which will be necessary for student features

    -

    standard student navbars

    - - +
    +
    +
    +
    +
    +

    Teachers

    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    Teacher NameStatusVisit Page
    Bob LoblawActiveView Teacher
    Not BobPreviousView Teacher
    +
    +
    +
    @@ -80,7 +94,7 @@
    - + - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Documentation:

    -

    Page will provide the student user the ability to review one's own profile. In the first form, this will include contact information and active courses. In the advanced form, this will include progress track and graphical representation of progress.

    -

    Standard student sidebar

    -

    Standard header navigation bar

    - - -
    -
    -
    -
    -
    - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - \ No newline at end of file diff --git a/student/home/index.php b/student/home/index.php index 69b542f..b4abb97 100644 --- a/student/home/index.php +++ b/student/home/index.php @@ -14,9 +14,11 @@ - + + + - + - - - + { $username = $_SESSION['Username']; + $role = $_SESSION['Role']; + $params = array( $username, $role); + $options = array( "Scrollable" => 'static' ); + $UserInfoQuery = " + SELECT R.Designation, I.InstitutionName + FROM RoleInstances as RI, Roles as R, Institutions as I, Students as S + WHERE RI.SiteUsername = ? AND + R.RoleID = RI.RoleID AND + R.Role = ? AND + I.InstitutionID = S.InstitutionID"; + $stmt = sqlsrv_query($con, $UserInfoQuery, $params, $options); + if ( $stmt === false) + die( print_r( sqlsrv_errors(), true)); + $Designation = ""; + $Institution = ""; + if ( sqlsrv_fetch( $stmt ) === true) + { + $Designation = sqlsrv_get_field( $stmt, 0); + $Institution = sqlsrv_get_field( $stmt, 1); + } + ?> + + +
    + +
    + +
    +
    +
    +
    +
    +

    Student Home

    +
    +
    +

    +

    Role: Student

    +

    Institution:

    +
    +
    +
    +
    +
    +
    +
    +
    +

    My Courses

    +
    +
    + + + + + + + + + + + 'static' ); + $coursesSQL = "SELECT C.CourseID, CT.Level, T.FirstName, T.LastName, ST.SessionName, SI.Year + FROM Courses C, CourseTypes CT, TeachingInstance TI, Teachers T, SessionType ST, SessionInstance SI, Enrollment ER, Students S + WHERE S.SiteUsername = ? AND + ER.StudentID = S.StudentID AND + C.CourseID = ER.CourseID AND + CT.CourseTypesID = C.CourseTypesID AND + TI.TeachingInstanceID = C.TeachingInstanceID AND + T.TeacherID = TI.TeacherID AND + SI.SessionInstanceID = C.SessionInstanceID AND + ST.SessionTypeID = SI.SessionTypeID"; + $courses = sqlsrv_query($con, $coursesSQL, $params, $options); + if ($courses === false) + die(print_r(sqlsrv_errors(), true)); + $course_ids = []; + $course_levels = []; + $teacher_firstnames = []; + $teacher_lastnames = []; + $session_names = []; + $years = []; + + $num_courses = sqlsrv_num_rows($courses); + while (sqlsrv_fetch($courses) === true) + { + $course_ids[] = sqlsrv_get_field($courses, 0); + $course_levels[] = sqlsrv_get_field($courses, 1); + $teacher_firstnames[] = sqlsrv_get_field($courses, 2); + $teacher_lastnames[] = sqlsrv_get_field($courses, 3); + $session_names[] = sqlsrv_get_field($courses, 4); - - -
    - -
    -
    -
    -
    - - -

    -

    Page provides student user home. Eventual content will be a site activity queue, listing all relevant course postings by teachers.

    -

    Sidebar will include student navigation: Home, Courses {Worksheets}, My Archive {courses {worksheets}}

    -

    Nav bar will include basic account access (same regardless of role)

    - + $years[] = sqlsrv_get_field($courses, 5); + } + for ($i = 0; $i < $num_courses; $i++) + { + echo "
    + + + + "; + + } + ?> + + +
    Course NameTeacherSessionGo To
    $course_levels[$i]$teacher_firstnames[$i] $teacher_lastnames[$i]$session_names[$i] $years[$i]
    + + +
    +
    +
    +
    +
    +
    +
    +
    -
    - + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + "; + else + { + ?> + +
    + +
    +
    + +
    +
    + +
    +
    + Course Details +
    +
    + 'static'); + $courseInfoQuery = " + SELECT TC.CoursesID, CN.ClassName, TC.Section, T.FirstName, T.LastName, SN.SessionName, I.InstitutionName + FROM Courses as TC, [Class Names] as CN, Teachers as T, Sessions as Ss, SessionNames as SN, Institutions as I + WHERE TC.CoursesID = ? AND + CN.ClassNamesID = TC.ClassNamesID AND + T.TeacherID = TC.InstructorID AND + Ss.SessionsID = TC.SessionID AND + SN.SessionsID = Ss.SessionsID"; + $stmt = sqlsrv_query( $con, $courseInfoQuery, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($stmt) === true) + { + $ClassName = sqlsrv_get_field($stmt, 1); + $Section = sqlsrv_get_field($stmt, 2); + $FirstName = sqlsrv_get_field($stmt, 3); + $LastName = sqlsrv_get_field($stmt, 4); + $Session = sqlsrv_get_field($stmt, 5); + $Institution = sqlsrv_get_field($stmt, 6); + + + } + echo "

    Class Name: $ClassName

    Section: $Section

    Teacher: $FirstName $LastName

    Session: $Session

    Hosting Institution: $Institution

    "; + + + + + ?> + +
    +
    + + +
    +
    +
    +
    + Worksheet Details +
    +
    + 'static'); + $worksheetInfoQuery = " + SELECT DISTINCT [TO].Topic, LEFT(CONVERT(VARCHAR, E.Date, 120), 10) + FROM Expressions as E, Topics as [TO] + WHERE E.[Teachers&ClassesID] = ? AND + E.[Worksheet#] = ? AND + [TO].Topic_ID = E.[Topic_ID] AND + E.Date = (SELECT min(Date) FROM Expressions WHERE [Teachers&ClassesID] = ? AND [Worksheet#] = ?)"; + $stmt = sqlsrv_query( $con, $worksheetInfoQuery, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($stmt) === true) + { + $topic = sqlsrv_get_field($stmt, 0); + $date = sqlsrv_get_field($stmt, 1); + } + echo "

    Topic: $topic

    Date: $date"; + ?> +

    +
    + +
    +
    +
    +
    +
    +
    Worksheet display
    + + +
    + + + + + + + + + + + + 'static' ); + $query = + "SELECT E.[Sentence number], S.[LastName], E.Expression, E.[Context/Vocabulary], E.[Pronunciation], E.StudentID + FROM Expressions as E, + Students as S, + Country as C + WHERE E.[Teachers&ClassesID] = ? AND + E.[Worksheet#] = ? AND + S.ID = E.StudentID AND + C.ID = S.Citizenship + ORDER BY [Sentence number]"; + $stmt = sqlsrv_query($con, $query, $params, $options); + if (!$stmt) + die( print_r( sqlsrv_errors(), true)); + + $rowsPerPage = isset($_GET['pp']) ? $_GET['pp'] : 10; + $rowsReturned = sqlsrv_num_rows($stmt); + if($rowsReturned === false) + die(print_r( sqlsrv_errors(), true)); + elseif($rowsReturned == 0) + { + echo "No rows returned."; + exit(); + } + else + { + $numOfPages = ceil($rowsReturned/$rowsPerPage); + } + + $pageNum = isset($_GET['pageNum']) ? $_GET['pageNum'] : 1; + $page = Pagination::getPage($stmt, $pageNum, $rowsPerPage); + foreach($page as $row) + { + $studentPageLink = "/Admin/Archive/Students/ViewStudent/?studentID=$row[5]"; + echo ""; + } + echo "
    Sentence NumberStudentExpressionContext/VocabPronunciation
    $row[0]$row[1]$row[2]$row[3]$row[4]
    "; + $modulator = 3; + Pagination::pageLinksArchiveWorksheet($numOfPages, $pageNum, $rowsPerPage, $rowsReturned, $modulator, $courseID, $worksheetNum); + ?> + +
    +
    +
    +
    +
    +
    +
    + + + + + + + +

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + + diff --git a/teacher/Archive/Courses/ViewCourse/ViewWorksheet/index.php b/teacher/Archive/Courses/ViewCourse/ViewWorksheet/index.php new file mode 100644 index 0000000..71c151b --- /dev/null +++ b/teacher/Archive/Courses/ViewCourse/ViewWorksheet/index.php @@ -0,0 +1,246 @@ + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + "; + else + { + ?> + +
    + +
    +
    + +
    +
    + +
    +
    + Course Details +
    +
    + 'static'); + $courseInfoQuery = " + SELECT TC.CoursesID, CN.ClassName, TC.Section, T.FirstName, T.LastName, SN.SessionName, I.InstitutionName + FROM Courses as TC, [Class Names] as CN, Teachers as T, Sessions as Ss, SessionNames as SN, Institutions as I + WHERE TC.CoursesID = ? AND + CN.ClassNamesID = TC.ClassNamesID AND + T.TeacherID = TC.InstructorID AND + Ss.SessionsID = TC.SessionID AND + SN.SessionsID = Ss.SessionsID"; + $stmt = sqlsrv_query( $con, $courseInfoQuery, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($stmt) === true) + { + $ClassName = sqlsrv_get_field($stmt, 1); + $Section = sqlsrv_get_field($stmt, 2); + $FirstName = sqlsrv_get_field($stmt, 3); + $LastName = sqlsrv_get_field($stmt, 4); + $Session = sqlsrv_get_field($stmt, 5); + $Institution = sqlsrv_get_field($stmt, 6); + + + } + echo "

    Class Name: $ClassName

    Section: $Section

    Teacher: $FirstName $LastName

    Session: $Session

    Hosting Institution: $Institution

    "; + + + + + ?> + +
    +
    + + +
    +
    +
    +
    + Worksheet Details +
    +
    + 'static'); + $worksheetInfoQuery = " + SELECT DISTINCT [TO].Topic, LEFT(CONVERT(VARCHAR, E.Date, 120), 10) + FROM Expressions as E, Topics as [TO] + WHERE E.[Teachers&ClassesID] = ? AND + E.[Worksheet#] = ? AND + [TO].Topic_ID = E.[Topic_ID] AND + E.Date = (SELECT min(Date) FROM Expressions WHERE [Teachers&ClassesID] = ? AND [Worksheet#] = ?)"; + $stmt = sqlsrv_query( $con, $worksheetInfoQuery, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($stmt) === true) + { + $topic = sqlsrv_get_field($stmt, 0); + $date = sqlsrv_get_field($stmt, 1); + } + echo "

    Topic: $topic

    Date: $date"; + ?> +

    +
    + +
    +
    +
    +
    +
    +
    Worksheet display
    + + +
    + + + + + + + + + + + + 'static' ); + $query = + "SELECT E.[Sentence number], S.[LastName], E.Expression, E.[Context/Vocabulary], E.[Pronunciation], E.StudentID + FROM Expressions as E, + Students as S, + Country as C + WHERE E.[Teachers&ClassesID] = ? AND + E.[Worksheet#] = ? AND + S.ID = E.StudentID AND + C.ID = S.Citizenship + ORDER BY [Sentence number]"; + $stmt = sqlsrv_query($con, $query, $params, $options); + if (!$stmt) + die( print_r( sqlsrv_errors(), true)); + + $rowsPerPage = isset($_GET['pp']) ? $_GET['pp'] : 10; + $rowsReturned = sqlsrv_num_rows($stmt); + if($rowsReturned === false) + die(print_r( sqlsrv_errors(), true)); + elseif($rowsReturned == 0) + { + echo "No rows returned."; + exit(); + } + else + { + $numOfPages = ceil($rowsReturned/$rowsPerPage); + } + + $pageNum = isset($_GET['pageNum']) ? $_GET['pageNum'] : 1; + $page = Pagination::getPage($stmt, $pageNum, $rowsPerPage); + foreach($page as $row) + { + $studentPageLink = "/Admin/Archive/Students/ViewStudent/?studentID=$row[5]"; + echo ""; + } + echo "
    Sentence NumberStudentExpressionContext/VocabPronunciation
    $row[0]$row[1]$row[2]$row[3]$row[4]
    "; + $modulator = 3; + Pagination::pageLinksArchiveWorksheet($numOfPages, $pageNum, $rowsPerPage, $rowsReturned, $modulator, $courseID, $worksheetNum); + ?> + +
    +
    +
    +
    +
    +
    +
    + + + + + + + +

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + + diff --git a/teacher/Archive/Courses/ViewCourse/index.php b/teacher/Archive/Courses/ViewCourse/index.php new file mode 100644 index 0000000..6e1bcdb --- /dev/null +++ b/teacher/Archive/Courses/ViewCourse/index.php @@ -0,0 +1,187 @@ + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + + +
    + +
    + +
    + +
    +
    + +
    +
    Course Info
    +
    + 'static'); + $courseInfoQuery = " + SELECT TC.CoursesID, CN.ClassName, TC.Section, T.FirstName, T.LastName, SN.SessionName, I.InstitutionName + FROM Courses as TC, [Class Names] as CN, Teachers as T, Sessions as Ss, SessionNames as SN, Institutions as I + WHERE TC.CoursesID = ? AND + CN.ClassNamesID = TC.ClassNamesID AND + T.TeacherID = TC.InstructorID AND + Ss.SessionsID = TC.SessionID AND + SN.SessionsID = Ss.SessionsID"; + $stmt = sqlsrv_query($con, $courseInfoQuery, $params, $options); + if ($stmt === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($stmt) === true) + { + $ClassName = sqlsrv_get_field($stmt, 1); + $Section = sqlsrv_get_field($stmt, 2); + $FirstName = sqlsrv_get_field($stmt, 3); + $LastName = sqlsrv_get_field($stmt, 4); + $Session = sqlsrv_get_field($stmt, 5); + $Institution = sqlsrv_get_field($stmt, 6); + + } + echo "

    Class Name: $ClassName

    Section: $Section

    Teacher: $FirstName $LastName

    Session: $Session

    Hosting Institution: $Institution

    "; + + + ?> + +
    +
    + + +
    +
    +
    +
    Worksheet display
    +
    + + + + + + + + + + 'static' ); + $query = "SELECT [Worksheet#], [Teachers&ClassesID] FROM Expressions WHERE [Teachers&ClassesID] = ? GROUP BY [Worksheet#],[Teachers&ClassesID]"; + $stmt = sqlsrv_query($con, $query, $params, $options); + if (!$stmt) + die( print_r( sqlsrv_errors(), true)); + + $rowsPerPage = 10; + $rowsReturned = sqlsrv_num_rows($stmt); + if($rowsReturned === false) + die(print_r( sqlsrv_errors(), true)); + elseif($rowsReturned == 0) + { + echo "No rows returned."; + exit(); + } + else + { + $numOfPages = ceil($rowsReturned/$rowsPerPage); + } + + $pageNum = isset($_GET['pageNum']) ? $_GET['pageNum'] : 1; + $page = Pagination::getPage($stmt, $pageNum, $rowsPerPage); + foreach($page as $row) + { + $worksheetPageLink = "ViewWorksheet/?courseID=$row[1]&worksheetNum=$row[0]"; + $annotationPageLink = "ViewWorksheet/AnnotationEditor/?courseID=$row[1]&worksheetNum=$row[0]"; + echo ""; + } + ?> + + + + +
    Worksheet NumberLink to worksheet pageAnnotate this worksheet
    $row[0]Worksheet PageAnnotation Editor
    + +
    +
    +
    +
    +
    +
    +
    + + + + + + + +

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + + diff --git a/teacher/Archive/Courses/index.php b/teacher/Archive/Courses/index.php deleted file mode 100644 index c568d71..0000000 --- a/teacher/Archive/Courses/index.php +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Search Courses

    -

    Search access for teacher user. Through this page, the teacher will be able to search for (based on semester, time, type, teacher, etc) all courses in the DB. This replicated functionality in the Access App

    - -
    -
    -
    -
    -
    - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - diff --git a/teacher/Archive/Students/ViewStudent/index.php b/teacher/Archive/Students/ViewStudent/index.php new file mode 100644 index 0000000..b8b3e62 --- /dev/null +++ b/teacher/Archive/Students/ViewStudent/index.php @@ -0,0 +1,206 @@ + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + 'static' ); + $studentinfoSQL = "SELECT CONVERT(VARCHAR(11), SU.date_added,106), ST.SessionName, SI.Year + FROM Students S, SiteUsers SU, SessionType ST, SessionInstance SI, Enrollment ER, Courses C + WHERE S.StudentID = ? AND + SU.username = S.SiteUsername AND + ER.StudentID = S.StudentID AND + C.CourseID = ER.CourseID AND + SI.SessionInstanceID = C.SessionInstanceID AND + ST.SessionTypeID = SI.SessionTypeID"; + $studentinfo = sqlsrv_query($con, $studentinfoSQL, $params, $options); + if ($studentinfo === false) + die(print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($studentinfo) === true) + { + $last_session = sqlsrv_get_field($studentinfo, 0); + $date_added = sqlsrv_get_field($studentinfo, 1); + $year_added = sqlsrv_get_field($studentinfo, 2); + + } + + ?> + +
    + +
    + +
    + +
    +
    +

    +
    +
    +
    +
    +
    +
    Student Information
    +
    +

    Last Active Session:

    +

    Joined SmallTalk:

    + +
    +
    +
    +
    +
    +
    + Statistics/Performance Review +
    +
    +
    + +
    +
    +
    +
    +
    Student Expressions
    +
    + + + + + + + + + + + + + + + + + + "; + ?> + +
    ExpressionContext/VocabSessionCourseWorksheet NumberWorksheet
    $expressions[$i]$contexts[$i]$sessionnames[$i] $years[$i]$coursenames[$i]$worksheetnums[$i]
    + +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + +

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + + diff --git a/teacher/Archive/Students/index.php b/teacher/Archive/Students/index.php new file mode 100644 index 0000000..432c370 --- /dev/null +++ b/teacher/Archive/Students/index.php @@ -0,0 +1,184 @@ + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + + +
    + +
    + +
    +
    +
    + +
    +
    Search for a Student
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    Students
    + +
    + + + + + + + + + + 'static' ); + $mystudentsSQL = "SELECT S.FirstName, S.LastName, S.StudentID, ST.SessionName, SI.Year + FROM Students as S, SessionType as ST, SessionInstance as SI, TeachingInstance as TI, Enrollment as ER, Courses as C + WHERE TI.SiteUsername = ? AND + C.TeachingInstanceID = TI.TeachingInstanceID AND + ER.CourseID = C.CourseID AND + S.StudentID = ER.StudentID AND + SI.SessionInstanceID = C.SessionInstanceID AND + ST.SessionTypeID = SI.SessionTypeID"; + $mystudents = sqlsrv_query($con, $mystudentsSQL, $params, $options); + if ($mystudents === false) + die(print_r(sqlsrv_errors(), true)); + $numstudents = sqlsrv_num_rows($mystudents); + $firstnames = []; + $lastnames = []; + $ids = []; + $sessionnames = []; + $years = []; + while (sqlsrv_fetch($mystudents) === true) + { + $firstnames[] = sqlsrv_get_field($mystudents, 0); + $lastnames[] = sqlsrv_get_field($mystudents, 1); + $ids[] = sqlsrv_get_field($mystudents, 2); + $sessionnames[] = sqlsrv_get_field($mystudents, 3); + $years[] = sqlsrv_get_field($mystudents, 4); + } + for($i = 0; $i < $numstudents; $i++) + { + $id = $ids[$i]; + echo " + + + "; + + } + ?> + + + +
    NameLast Active SessionGo To
    $firstnames[$i] $lastnames[$i]$sessionnames[$i] $years[$i]
    + + + +
    + + + +
    +
    + +
    +
    +
    +
    +
    + + + + + + + +

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + + diff --git a/teacher/ChangePassword.php b/teacher/ChangePassword.php new file mode 100644 index 0000000..a96768f --- /dev/null +++ b/teacher/ChangePassword.php @@ -0,0 +1,148 @@ + + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + 'static' ); + $getPasswordQuery = "SELECT password FROM SiteUsers WHERE username = ?"; + $stmt = sqlsrv_query($con, $getPasswordQuery, $params, $options); + if ($stmt === false) + die (print_r(sqlsrv_errors(), true)); + if (sqlsrv_fetch($stmt) === true) + $password = sqlsrv_get_field($stmt, 0); + + + ?> + + +
    + +
    + +
    +
    +
    +
    +
    + Reset Password +
    +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + +

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + diff --git a/teacher/Home/Profile/index.php b/teacher/Home/Profile/index.php deleted file mode 100644 index 354d032..0000000 --- a/teacher/Home/Profile/index.php +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Documentation:

    -

    Provides Teacher user with view of own profile, for reviewing purposes.

    - -
    -
    -
    -
    -
    - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - diff --git a/teacher/Home/index.php b/teacher/Home/index.php index 8444b99..ba58845 100644 --- a/teacher/Home/index.php +++ b/teacher/Home/index.php @@ -14,9 +14,11 @@ + + - + - - - - - -
    - -
    -
    -
    -
    - - -

    -

    Page provides teacher user home. Eventual content will be a site activity queue, listing all relevant course events from students.

    - + $username = $_SESSION['Username']; + $role = $_SESSION['Role']; + $params = array( $username, $role); + $options = array( "Scrollable" => 'static' ); + $UserInfoQuery = " + SELECT R.Designation + FROM RoleInstances as RI, Roles as R + WHERE RI.SiteUsername = ? AND + R.Role = ? AND + R.RoleID = RI.RoleID"; + $stmt = sqlsrv_query($con, $UserInfoQuery, $params, $options); + if ( $stmt === false) + die( print_r( sqlsrv_errors(), true)); + $Designation = ""; + $Institution = ""; + if ( sqlsrv_fetch( $stmt ) === true) + { + $Designation = sqlsrv_get_field( $stmt, 0); + } + ?> + + +
    + +
    + +
    +
    +
    +

    + +
    +
    +
    + +
    +
    +
    +
    +
    +

    Active Courses

    +
    +
    +
    +
    + + + + + + + + + + + + + SQLSRV_CURSOR_KEYSET); + + $activecourses = sqlsrv_query($con, $activecoursesSQL, $params, $options); + if($activecourses === false) + die (print_r(sqlsrv_errors(), true)); + $resultlength = sqlsrv_num_rows($activecourses); + if($resultlength == 0) + { + echo "No Active Courses!"; + } + else + { + $coursenames = []; + $sections = []; + $institutions = []; + $sessions = []; + $courseids = []; + while(sqlsrv_fetch($activecourses) === true) + { + $coursenames[] = sqlsrv_get_field($activecourses, 0); + $sections[] = sqlsrv_get_field($activecourses, 1); + $institutions[] = sqlsrv_get_field($activecourses, 2); + $sessions[] = sqlsrv_get_field($activecourses, 3); + $courseids[] = sqlsrv_get_field($activecourses, 4); + } + for ($i = 0; $i < $resultlength; $i++) + { + echo ""; + } + } + + ?> + +
    CourseSectionSessionInstitutionGo To
    $coursenames[$i]$sections[$i]$sessions[$i]$institutions[$i]
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    My Students

    +
    +
    +
    +
    + + + + + + + + + + + + + SQLSRV_CURSOR_KEYSET); + + $mystudents = sqlsrv_query($con, $mystudentsSQL, $params, $options); + if($mystudents === false) + die (print_r(sqlsrv_errors(), true)); + $resultlength = sqlsrv_num_rows($mystudents); + if($resultlength == 0) + { + echo "No Enrolled Students!"; + } + else + { + $enrollmentids = []; + $studentlastnames = []; + $studentfirstnames = []; + $institutions = []; + $coursenames = []; + $courseids = []; + while(sqlsrv_fetch($mystudents) === true) + { + $enrollmentids[] = sqlsrv_get_field($mystudents, 0); + $studentlastnames[] = sqlsrv_get_field($mystudents, 1); + $studentfirstnames[] = sqlsrv_get_field($mystudents, 2); + $institutions[] = sqlsrv_get_field($mystudents, 3); + $coursenames[] = sqlsrv_get_field($mystudents, 4); + $courseids[] = sqlsrv_get_field($mystudents, 5); + } + for ($i = 0; $i < $resultlength; $i++) + { + echo ""; + } + } + + ?> + +
    NameCourseInstitutionGo To
    $studentfirstnames[$i] $studentlastnames[$i]$coursenames[$i]$institutions[$i]
    +
    +
    +
    +
    +
    +
    +
    -
    - + - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    My Students

    -

    For a given teacher, will list all active students (according to active courses) and display a link to each student's profile view

    - -
    -
    -
    -
    -
    - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - diff --git a/teacher/MyCourses/ViewCourse/CreateWorksheet.php b/teacher/MyCourses/ViewCourse/CreateWorksheet.php new file mode 100644 index 0000000..bf3b52c --- /dev/null +++ b/teacher/MyCourses/ViewCourse/CreateWorksheet.php @@ -0,0 +1,81 @@ + 'static'); + $addTopicSQL = "INSERT into Topics Values (?)"; + $getTopicIDSQL = "SELECT TOP 1 TopicID FROM Topics + WHERE Topic = ? + ORDER BY TopicID Desc"; + $TopicID = 0; + $addTopic = sqlsrv_query($con, $addTopicSQL, $params, $options); + if($addTopic === false) + die(print_r(sqlsrv_errors(), true)); + + $getTopicID = sqlsrv_query($con, $getTopicIDSQL, $params, $options); + if($getTopicID === false) + die(print_r(sqlsrv_errors(), true)); + if(sqlsrv_fetch($getTopicID) === true) + $TopicID = sqlsrv_get_field($getTopicID, 0); + return $TopicID; +} + +if ((isset($_POST['worksheet_number'])) && (isset($_POST['topic']))) +{ + $original = isset($_POST['worksheetTypeOriginal']) ? $_POST['worksheetTypeOriginal'] : 'off'; + $text_ref = isset($_POST['worksheetTypeText']) ? $_POST['worksheetTypeText'] : 'off'; + $audio_ref = isset($_POST['worksheetTypeAudio']) ? $_POST['worksheetTypeAudio'] : 'off'; + + + $original_bool = 0; + $text_ref_bool = 0; + $audio_ref_bool = 0; + if ($original != 'off') + $original_bool = 1; + if ($text_ref != 'off') + $text_ref_bool = 1; + if ($audio_ref != 'off') + $audio_ref_bool = 1; + + $params = array($_POST['topic']); + $options = array( "Scrollable" => 'static'); + $addTopicSQL = "INSERT into Topics Values (?)"; + $getTopicIDSQL = "SELECT TOP 1 TopicID FROM Topics + WHERE Topic = ? + ORDER BY TopicID Desc"; + $TopicID = 887; + $addTopic = sqlsrv_query($con, $addTopicSQL, $params, $options); + if($addTopic === false) + die(print_r(sqlsrv_errors(), true)); + + $getTopicID = sqlsrv_query($con, $getTopicIDSQL, $params, $options); + if($getTopicID === false) + die(print_r(sqlsrv_errors(), true)); + if(sqlsrv_fetch($getTopicID) === true) + $TopicID = sqlsrv_get_field($getTopicID, 0); + if (strlen($_POST['topic']) == 0) + $TopicID = 887; + + $params = array($_POST['courseid'], $_POST['worksheet_number'], $TopicID, $original_bool, $text_ref_bool, $audio_ref_bool); + $options = array( "Scrollable" => 'static'); + + $newworksheetSQL = "INSERT INTO Worksheets ( + [Date] + ,[CourseID] + ,[WorksheetNumber] + ,[EditStatus] + ,[TopicID] + ,[DisplayOriginal] + ,[DisplayTextReformulation] + ,[DisplayAudioReformulation] + ,[IsDeleted]) VALUES (GETDATE(), ?, ?, 'Unreleased', ?, ?, ?, ?, 0)"; + + $newworksheet = sqlsrv_query($con, $newworksheetSQL, $params, $options); + if($newworksheet === false) + die(print_r(sqlsrv_errors(), true)); +} + +?> \ No newline at end of file diff --git a/teacher/MyCourses/ViewCourse/CreateWorksheet/gethint.php b/teacher/MyCourses/ViewCourse/CreateWorksheet/gethint.php deleted file mode 100644 index bbed73c..0000000 --- a/teacher/MyCourses/ViewCourse/CreateWorksheet/gethint.php +++ /dev/null @@ -1,56 +0,0 @@ - \ No newline at end of file diff --git a/teacher/MyCourses/ViewCourse/CreateWorksheet/index.php b/teacher/MyCourses/ViewCourse/CreateWorksheet/index.php deleted file mode 100644 index 3c2d0bd..0000000 --- a/teacher/MyCourses/ViewCourse/CreateWorksheet/index.php +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - Gonzaga Small Talk - - - - - - - - - - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Course Title: Create Worksheet #

    -
    -
    Enter Worksheet Information
    -
    -

    Enter topic, enter date, verify level (extracted from course number)

    -
    -
    - -
    -
    -
    -
    - - Student: -

    Suggestions:

    -
    - -
    - -
    -
    -
    Expression Template
    -
    -

    Sentence number, Dropdown{Select Student}, Text Entry{Enter Expression}, Text Entry{Enter Context/Vocab}, Submit

    -

    On submit: disable submit, print "Submitted"

    -
    -
    - - -
    -
    -
    -
    -
    - - - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - \ No newline at end of file diff --git a/teacher/MyCourses/ViewCourse/CreateWorksheet/submit_expression.php b/teacher/MyCourses/ViewCourse/CreateWorksheet/submit_expression.php deleted file mode 100644 index 26ed6bc..0000000 --- a/teacher/MyCourses/ViewCourse/CreateWorksheet/submit_expression.php +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/teacher/MyCourses/ViewCourse/DeleteWorksheet.php b/teacher/MyCourses/ViewCourse/DeleteWorksheet.php new file mode 100644 index 0000000..6882d08 --- /dev/null +++ b/teacher/MyCourses/ViewCourse/DeleteWorksheet.php @@ -0,0 +1,13 @@ + 'static' ); + $deleteworksheetSQL = "UPDATE Worksheets SET IsDeleted = 1 WHERE WorksheetID = ?"; + $deleteworksheet = sqlsrv_query($con, $deleteworksheetSQL, $params, $options); + if ($deleteworksheet === false) + die(print_r(sqlsrv_errors(), true)); +} \ No newline at end of file diff --git a/teacher/MyCourses/ViewCourse/PublishWorksheet.php b/teacher/MyCourses/ViewCourse/PublishWorksheet.php new file mode 100644 index 0000000..2246fb0 --- /dev/null +++ b/teacher/MyCourses/ViewCourse/PublishWorksheet.php @@ -0,0 +1,18 @@ + 'static'); + $publishworksheetSQL = "UPDATE Worksheets SET EditStatus='Released' WHERE WorksheetID = ?"; + $publishworksheet = sqlsrv_query($con, $publishworksheetSQL, $params, $options); + if ($publishworksheet === false) + die(print_r(sqlsrv_errors(), true)); + } + else + { + echo "Data Error"; + } +?> \ No newline at end of file diff --git a/teacher/MyCourses/ViewCourse/Students/ViewStudentProfile/index.php b/teacher/MyCourses/ViewCourse/Students/ViewStudentProfile/index.php new file mode 100644 index 0000000..e852e5e --- /dev/null +++ b/teacher/MyCourses/ViewCourse/Students/ViewStudentProfile/index.php @@ -0,0 +1,205 @@ + + + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + "; + ?> + + +
    + +
    + +
    +
    +
    +
    +
    +

    Student Info

    +
    +
    +

    Name:

    +

    Institution:

    +

    Courses completed:

    +

    Sessions Active in Smalltalk:

    +
    + +
    +
    +
    +
    +
    +

    Courses Taken

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    Course NameInstructorStatusGo To
    ELCT 101HunterCompletedCourse in Archive
    ELCT 102Teacher NameOngoingView My Course
    +
    + +
    +
    +
    +
    +
    +
    +
    + Submitted Worksheets +
    +
    + + + + + + + + + + + SQLSRV_CURSOR_KEYSET); + $worksheetsubmissionsSQL = "SELECT CT.CourseName, WS.WorksheetNumber, SS.StudentSubmissionID, WS.WorksheetID + FROM CourseTypes CT, Courses C, Enrollment ER, Worksheets WS, StudentSubmissions SS + WHERE C.CourseID = ? AND + ER.EnrollmentID = ? AND + ER.CourseID = C.CourseID AND + WS.CourseID = C.CourseID AND + C.CourseTypesID = CT.CourseTypesID AND + SS.EnrollmentID = ER.EnrollmentID AND + SS.WorksheetID = WS.WorksheetID"; + $worksheetsubmissions = sqlsrv_query($con, $worksheetsubmissionsSQL, $params, $options); + if($worksheetsubmissions === false) + die (print_r(sqlsrv_errors(), true)); + $resultlength = sqlsrv_num_rows($worksheetsubmissions); + if($resultlength == 0) + { + echo "No Submissions!"; + } + else + { + $coursenames = []; + $worksheetnumbers = []; + $studentsubmissionids = []; + $worksheetids = []; + while(sqlsrv_fetch($worksheetsubmissions) === true) + { + $coursenames[] = sqlsrv_get_field($worksheetsubmissions, 0); + $worksheetnumbers[] = sqlsrv_get_field($worksheetsubmissions, 1); + $studentsubmissionids[] = sqlsrv_get_field($worksheetsubmissions, 2); + $worksheetids[] = sqlsrv_get_field($worksheetsubmissions, 3); + } + for ($i = 0; $i < $resultlength; $i++) + { + echo ""; + } + } + ?> + +
    Course NameWorksheet NumberPerformanceGo To
    $coursenames[$i]$worksheetnumbers[$i]TBD
    +
    +
    + +
    +
    +
    +
    +
    + + + + + + + + +

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + + diff --git a/teacher/MyCourses/ViewCourse/Students/index.php b/teacher/MyCourses/ViewCourse/Students/index.php new file mode 100644 index 0000000..68d7fb7 --- /dev/null +++ b/teacher/MyCourses/ViewCourse/Students/index.php @@ -0,0 +1,128 @@ + + + + + + + + + + + Gonzaga Small Talk + + + + + + + + + + + + + + + + +

    You do not have permission to view this page. Redirecting in 5 seconds

    +

    Click here if you don't want to wait

    + + + + +
    + +
    + +
    +
    +
    +
    +
    +

    Course Details

    +
    +
    +

    Course Name:

    +

    Institution:

    +

    Session:

    +
    +
    +
    +
    +
    +
    +
    +
    +

    Students

    +
    +
    + + + + + + + + + + + + + + + +
    NameWorksheets CompletedGo To
    Stu Dent4/6Review Student
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + +

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    +

    Click here if you don't want to wait

    + + + diff --git a/teacher/Archive/index.php b/teacher/MyCourses/ViewCourse/ViewWorksheet/AnnotationEditor/index.php similarity index 63% rename from teacher/Archive/index.php rename to teacher/MyCourses/ViewCourse/ViewWorksheet/AnnotationEditor/index.php index 0638667..b29c5eb 100644 --- a/teacher/Archive/index.php +++ b/teacher/MyCourses/ViewCourse/ViewWorksheet/AnnotationEditor/index.php @@ -1,6 +1,6 @@ - + - + @@ -17,7 +17,7 @@ - + + + - - + -
    +
    -
    - +
    +
    -
    Submission Information
    +
    Submission Details and Statistics
    -

    Student name, date of submission

    + SQLSRV_CURSOR_KEYSET); + $submissioninfoSQL = "SELECT S.FirstName, S.LastName, CONVERT(VARCHAR(11), SS.Date,106), CT.CourseName, WS.WorksheetNumber, SS. AttemptNumber, TP.Topic + FROM Students S, Enrollment ER, Worksheets WS, Topics TP, StudentSubmissions SS, Courses C, CourseTypes CT + WHERE WS.WorksheetID = ? AND + WS.WorksheetID = SS.WorksheetID AND + SS.StudentSubmissionID = ? AND + SS.EnrollmentID = ER.EnrollmentID AND + ER.StudentID = S.StudentID AND + TP.TopicID = WS.TopicID AND + WS.CourseID = C.CourseID AND + C.CourseTypesID = CT.CourseTypesID"; + $submissioninfo = sqlsrv_query($con, $submissioninfoSQL, $params, $options); + if($submissioninfo === false) + die (print_r(sqlsrv_errors(), true)); + sqlsrv_fetch($submissioninfo); + $firstname = sqlsrv_get_field($submissioninfo, 0); + $lastname = sqlsrv_get_field($submissioninfo, 1); + $date = sqlsrv_get_field($submissioninfo, 2); + $coursename = sqlsrv_get_field($submissioninfo, 3); + $worksheetnumber = sqlsrv_get_field($submissioninfo, 4); + $attemptnumber = sqlsrv_get_field($submissioninfo, 5); + $topic = sqlsrv_get_field($submissioninfo, 6); + echo "

    Student name: $firstname $lastname

    +

    Date: $date

    +

    $coursename: Worksheet #$worksheetnumber Attempt $attemptnumber

    +

    Topic: $topic

    "; + ?>
    +
    +
    +
    +
    + +
    +
    Submitted Sentences
    +
    + SQLSRV_CURSOR_KEYSET); + $submissionreformulationsSQL = "SELECT EX.SentenceNumber, EX.Expression, EX.[Context/Vocabulary], RF.ReformulationText, SA.ReformulationText, EX.AllDo + FROM Expressions EX, Reformulations RF, StudentAttempts SA, StudentSubmissions SS + WHERE EX.WorksheetID = ? AND + SS.WorksheetID = EX.WorksheetID AND + RF.WorksheetID = EX.WorksheetID AND + SS.StudentSubmissionID = ? AND + SA.StudentSubmissionID = SS.StudentSubmissionID"; + + $submissionreformulations = sqlsrv_query($con, $submissionreformulationsSQL, $params, $options); + if ($submissionreformulations === false) + die(print_r(sqlsrv_errors(), true)); + $num_expressions = sqlsrv_num_rows($submissionreformulations); + + $sentencenumbers = []; + $expressions = []; + $contexts = []; + $answers = []; + $studentreformulations = []; + $alldos = []; + + while(sqlsrv_fetch($submissionreformulations) === true) + { + $sentencenumbers[] = sqlsrv_get_field($submissionreformulations, 0); + $expressions[] = sqlsrv_get_field($submissionreformulations, 1); + $contexts[] = sqlsrv_get_field($submissionreformulations, 2); + $answers[] = sqlsrv_get_field($submissionreformulations, 3); + $studentreformulations[] = sqlsrv_get_field($submissionreformulations, 4); + $alldos[] = sqlsrv_get_field($submissionreformulations, 5); + } + + ?> +
    -
    -
    Expression
    -
    -

    Display sentence number, Text Display[Original Expression], Text Display[Enter Context/Vocab]

    -

    Text Display[Student], Text Display[Submitted text]

    - +
    +
    +

    + " style="width:60%"> + Sentence # + + "; + else echo "Authored";?> +

    +
    +
    " class="panel-collapse collapse"> +
    + + + + + +

    Original
    +
    +
    + +
    +
    + +
    + + +
    + + + + + +

    Corrected
    +
    +
    + +
    +
    + +
    +
    + + + + +

    Submitted
    +
    +
    + +
    +
    + +
    + +
    + + + + +

    Assessment
    +
    +
    + +
    +
    +
    +
    +
    + +
    - - - -
    @@ -100,7 +254,7 @@
    - + + - -

    You do not have permission to view this page. Redirecting in 5 seconds

    @@ -53,45 +41,170 @@ } else { + $worksheetID = isset($_POST['worksheetID']) ? $_POST['worksheetID'] : 0; + if ($worksheetID == 0) + echo ""; + $worksheetDate = isset($_POST['worksheetDate']) ? $_POST['worksheetDate'] : 0; + $worksheetTopic = isset($_POST['worksheetTopic']) ? $_POST['worksheetTopic'] : 0; + $worksheetStatus = isset($_POST['worksheetStatus']) ? $_POST['worksheetStatus'] : 0; + $worksheetNumber = isset($_POST['worksheetNumber']) ? $_POST['worksheetNumber'] : 0; + $className = isset($_POST['className']) ? $_POST['className'] : 0; + $params = array($worksheetID); + $options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET); + $worksheetexpressionsSQL = "SELECT E.SentenceNumber, S.StudentID, S.FirstName, S.LastName, E.Expression, E.ExpressionID, E.AllDo + FROM Expressions E, Students S, Enrollment ER + WHERE E.WorksheetID = ? AND + ER.StudentID = E.StudentID AND + S.StudentID = ER.StudentID + ORDER BY E.SentenceNumber"; + $worksheetexpressions = sqlsrv_query($con, $worksheetexpressionsSQL, $params, $options); + if ($worksheetexpressions === false) + die(print_r(sqlsrv_errors(), true)); + $num_expressions = sqlsrv_num_rows($worksheetexpressions); + $new_expression_number = $num_expressions + 1; + $sent_numbers = []; + $student_expression_ids = []; + $first_names = []; + $last_names = []; + $expressions = []; + $ids = []; + $alldos = []; + while(sqlsrv_fetch($worksheetexpressions) === true) + { + $sent_numbers[] = sqlsrv_get_field($worksheetexpressions, 0); + $student_expression_ids[] = sqlsrv_get_field($worksheetexpressions, 1); + $first_names[] = sqlsrv_get_field($worksheetexpressions,2); + $last_names[] = sqlsrv_get_field($worksheetexpressions, 3); + $expressions[] = sqlsrv_get_field($worksheetexpressions, 4); + $ids[] = sqlsrv_get_field($worksheetexpressions, 5); + $alldos[] = sqlsrv_get_field($worksheetexpressions, 6); + } + + $worksheetsubmissionsSQL = "SELECT S.FirstName, S.LastName, SS.StudentSubmissionID, CONVERT(VARCHAR(11), SS.Date,106), SS.AttemptNumber + FROM Students S, Enrollment ER, StudentSubmissions SS + WHERE SS.WorksheetID = ? AND + ER.EnrollmentID = SS.EnrollmentID AND + S.StudentID = ER.StudentID"; + $worksheetsubmissions = sqlsrv_query($con, $worksheetsubmissionsSQL, $params, $options); + if($worksheetsubmissions === false) + die(print_r(sqlsrv_errors(),true)); + $num_submissions = sqlsrv_num_rows($worksheetsubmissions); + $sub_first_names = []; + $sub_last_names = []; + $sub_ids = []; + $sub_dates = []; + $sub_attempts = []; + while(sqlsrv_fetch($worksheetsubmissions) === true) + { + $sub_first_names[] = sqlsrv_get_field($worksheetsubmissions, 0); + $sub_last_names[] = sqlsrv_get_field($worksheetsubmissions, 1); + $sub_ids[] = sqlsrv_get_field($worksheetsubmissions, 2); + $sub_dates[] = sqlsrv_get_field($worksheetsubmissions, 3); + $sub_attempts[] = sqlsrv_get_field($worksheetsubmissions, 4); + } ?> -
    +
    -
    - - -

    Course Title: Edit Worksheet #_

    - +
    +

    Edit Worksheet
    + + +

    +
    + +
    +
    +
    -
    -
    Worksheet Information
    +
    +
    Worksheet Info
    -

    Topic, level, date

    + Course: $className +
    Worksheet Number: $worksheetNumber
    +
    Date: $worksheetDate
    +
    Topic: $worksheetTopic
    ";?>
    +
    +
    -
    -
    Display Original worksheet expressions
    +
    +
    Worksheet Expressions
    -

    Sentence number, student, expression, context/vocab

    + + + + + + + + + + + + + + + "; + } +?> + +
    #StudentExpressionAll-Do
    $sent_numbers[$i]$first_names[$i] $last_names[$i]$expressions[$i]"; + if ($alldos[$i] == 1) + echo ""; + else + echo ""; + echo " +
    +
    - +
    +
    +
    +
    -
    +
    Submissions
    -

    Student(link), date, view submission(link)

    + + + + + + + + + + + + + + + "; + } +?> + +
    StudentAttempt #DateGo To
    $sub_first_names[$i] $sub_last_names[$i] $sub_attempts[$i] $sub_dates[$i]
    @@ -103,7 +216,7 @@
    - + + + + + - - - + + + + + - + + - - "; + ?> -
    +
    -
    - - -

    Course Title

    - - -

    Print Course information: ___

    +
    -
    Worksheets
    - +
    +

    Course Info

    +
    -

    Will iterate through worksheets, providing a viewing link (to review submissions), an edit button, a 'publish' button, the worksheet status "in progress/published", and date created.

    + SQLSRV_CURSOR_KEYSET); + + $courseinfo = sqlsrv_query($con, $courseinfoSQL, $params, $options); + if ( $courseinfo === false) + die( print_r( sqlsrv_errors(), true)); + $length = sqlsrv_num_rows($courseinfo); + + if (sqlsrv_fetch( $courseinfo ) === true) + { + $ClassName = sqlsrv_get_field( $courseinfo, 0); + $InstitutionName = sqlsrv_get_field( $courseinfo, 1); + $SessionName = sqlsrv_get_field( $courseinfo, 2); + $SessionYear = sqlsrv_get_field( $courseinfo, 3); + $Section = sqlsrv_get_field( $courseinfo, 4); + } + $WorksheetsSQL = " + SELECT W.WorksheetID, W.WorksheetNumber, W.EditStatus, CONVERT(VARCHAR(11), W.Date,106), T.Topic + FROM Worksheets W, Topics T + WHERE W.CourseID = ? AND + W.IsDeleted = 0 AND + T.TopicID = W.TopicID + ORDER BY W.WorksheetNumber DESC"; + $params = array($courseID); + $options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET); + $worksheets = sqlsrv_query($con, $WorksheetsSQL, $params, $options); + if ($worksheets === false) + die(print_r(sqlsrv_errors(), true)); + $num_worksheets = sqlsrv_num_rows($worksheets); + $new_worksheet_number = $num_worksheets + 1; + $today = date("F j, Y"); + + $worksheetIDs = []; + $worksheet_numbers = []; + $statuses = []; + $dates = []; + $topics = []; + while(sqlsrv_fetch($worksheets) === true) + { + $worksheetIDs[] = sqlsrv_get_field($worksheets, 0); + $worksheet_numbers[] = sqlsrv_get_field($worksheets, 1); + $statuses[] = sqlsrv_get_field($worksheets, 2); + $dates[] = sqlsrv_get_field($worksheets, 3); + $topics[] = sqlsrv_get_field($worksheets, 4); + } + + echo "

    Name: $ClassName

    +

    Institution: $InstitutionName

    +

    Session: $SessionName $SessionYear

    +

    Section: $Section

    "; + ?>
    - -
    -
    Students
    +
    + New Worksheet +
    +
    +
    + + +
    +
    +
    +
    +

    Worksheet #

    +
    +
    +
    +
    + +
    +
    +
    +

    My Students Will See:

    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Students

    +
    +
    + 'static' ); + $coursestudentsSQL = "SELECT S.FirstName, S.LastName, S.StudentID, ER.EnrollmentID + FROM Students as S, Enrollment as ER, Courses as C + WHERE C.CourseID = ? AND + ER.CourseID = C.CourseID AND + S.StudentID = ER.StudentID"; + $coursestudents = sqlsrv_query($con, $coursestudentsSQL, $params, $options); + if ($coursestudents === false) + die(print_r(sqlsrv_errors(), true)); + $num_students = sqlsrv_num_rows($coursestudents); + $firstnames = []; + $lastnames = []; + $ids = []; + while (sqlsrv_fetch($coursestudents) === true) + { + $firstnames[] = sqlsrv_get_field($coursestudents, 0); + $lastnames[] = sqlsrv_get_field($coursestudents, 1); + $studentids[] = sqlsrv_get_field($coursestudents, 2); + $enrollmentids[] = sqlsrv_get_field($coursestudents, 3); + } + ?> + + + + + + + + + + + "; + echo ""; + echo ""; + echo ""; + }?> + +
    NameGo ToGo To Archive
    $firstnames[$i] $lastnames[$i] +
    + + + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +
    +
    Worksheets
    +
    -

    Will iterate through students, giving brief summary stats (worksheets completed, incomplete worksheets, etc), a link to each students profile, and an option to search that student in the archive

    + + + + + + + + + + + + + "; + echo ""; + echo ""; + echo ""; + echo ""; + if ($statuses[$i] == "Released") + { + echo ""; + } + else + { + echo ""; + } + echo ""; + echo ""; + } + ?> + +
    #DateTopicStatusGo ToPerform an Action
    $worksheet_numbers[$i]$dates[$i]$topics[$i]$statuses[$i]
    + + +
    + + +
    +
    + "; + if ($statuses[$i] == "Released") + echo ""; + else + echo ""; + echo "
    +
    +
    + + + +
    "; + echo "
    +
    +
    + +
    @@ -95,7 +310,7 @@
    - + + + $("button[name='deleteworksheet']").on("click", function(e){ + e.preventDefault(); + var memberForm = $(this).closest("form"); + var worksheetID = $(memberForm).find("input[name='worksheetID']").val(); + + var opts = { + lines: 13 // The number of lines to draw + , length: 36 // The length of each line + , width: 12 // The line thickness + , radius: 36 // The radius of the inner circle + , scale: 0.15 // Scales overall size of the spinner + , corners: 1 // Corner roundness (0..1) + , color: '#000' // #rgb or #rrggbb or array of colors + , opacity: 0.45 // Opacity of the lines + , rotate: 0 // The rotation offset + , direction: 1 // 1: clockwise, -1: counterclockwise + , speed: 1.2 // Rounds per second + , trail: 59 // Afterglow percentage + , fps: 20 // Frames per second when using setTimeout() as a fallback for CSS + , zIndex: 2e9 // The z-index (defaults to 2000000000) + , className: 'spinner' // The CSS class to assign to the spinner + , top: '75%' // Top position relative to parent + , left: '50%' // Left position relative to parent + , shadow: false // Whether to render a shadow + , hwaccel: false // Whether to use hardware acceleration + , position: 'absolute' // Element positioning + } + var target = $(this).closest("td").find("div[name='deletespinner']"); + var spinner = new Spinner(opts).spin(); + target.append(spinner.el); + $(":button").prop("disabled", true); + $.ajax({ + type: "POST", + url: "DeleteWorksheet.php", + data: { + "worksheetID":worksheetID + }, + success: function(data) { + var courseID = $("#courseID").val(); + $.ajax({ + type: "POST", + url: "index.php", + data: { + "courseID":courseID + }, + success: function(data) { + location.reload(); + } + }); + } + }); + }); + + + $("button[name='newworksheet']").on("click", function(e) { + e.preventDefault(); + var topic = $("input[name='topic']").val(); + var courseid = $("input[name='courseID']").val(); + var worksheetnumber = $("input[name='worksheet_number']").val(); + var original = $("input[name='worksheetTypeOriginal']").val(); + var text = $("input[name='worksheetTypeText']").val(); + var audio = $("input[name='worksheetTypeAudio']").val(); + + + var opts = { + lines: 13 // The number of lines to draw + , length: 36 // The length of each line + , width: 12 // The line thickness + , radius: 36 // The radius of the inner circle + , scale: 0.25 // Scales overall size of the spinner + , corners: 1 // Corner roundness (0..1) + , color: '#000' // #rgb or #rrggbb or array of colors + , opacity: 0.45 // Opacity of the lines + , rotate: 0 // The rotation offset + , direction: 1 // 1: clockwise, -1: counterclockwise + , speed: 1.2 // Rounds per second + , trail: 59 // Afterglow percentage + , fps: 20 // Frames per second when using setTimeout() as a fallback for CSS + , zIndex: 2e9 // The z-index (defaults to 2000000000) + , className: 'spinner' // The CSS class to assign to the spinner + , top: '75%' // Top position relative to parent + , left: '50%' // Left position relative to parent + , shadow: false // Whether to render a shadow + , hwaccel: false // Whether to use hardware acceleration + , position: 'absolute' // Element positioning + } + var target = $("div[name='createnewspinner']"); + var spinner = new Spinner(opts).spin(); + target.append(spinner.el); + $(":button").prop("disabled", true); + + $.ajax({ + type: "POST", + url: "CreateWorksheet.php", + data: { + "topic":topic, + "worksheet_number":worksheetnumber, + "worksheetTypeOriginal":original, + "worksheetTypeText":text, + "worksheetTypeAudio":audio, + "courseid":courseid + }, + success: function(data){ + var courseID = $("#courseID").val(); + $.ajax({ + type: "POST", + url: "index.php", + data: { + "courseID":courseID + }, + success: function(data) { + location.reload(); + } + + }); + } + }); + }); + + $("button[name='publishworksheet']").on("click", function(e) { + var opts = { + lines: 13 // The number of lines to draw + , length: 36 // The length of each line + , width: 12 // The line thickness + , radius: 36 // The radius of the inner circle + , scale: 0.15 // Scales overall size of the spinner + , corners: 1 // Corner roundness (0..1) + , color: '#000' // #rgb or #rrggbb or array of colors + , opacity: 0.45 // Opacity of the lines + , rotate: 0 // The rotation offset + , direction: 1 // 1: clockwise, -1: counterclockwise + , speed: 1.2 // Rounds per second + , trail: 59 // Afterglow percentage + , fps: 20 // Frames per second when using setTimeout() as a fallback for CSS + , zIndex: 2e9 // The z-index (defaults to 2000000000) + , className: 'spinner' // The CSS class to assign to the spinner + , top: '75%' // Top position relative to parent + , left: '50%' // Left position relative to parent + , shadow: false // Whether to render a shadow + , hwaccel: false // Whether to use hardware acceleration + , position: 'absolute' // Element positioning + } + var target = $(this).closest("td").find("div[name='deletespinner']"); + var spinner = new Spinner(opts).spin(); + target.append(spinner.el); + + $(":button").prop("disabled", true); + + var parentForm = $(this).closest("form"); + var worksheetID = $(parentForm).find("input[name=worksheetID]").val(); + $.ajax({ + type: "POST", + url: "PublishWorksheet.php", + data: { + "worksheetID": worksheetID + }, + success: function(data){ + var courseID = $("#courseID").val(); + $.ajax({ + type: "POST", + url: "index.php", + data: { + "courseID":courseID + }, + success: function(data) { + location.reload(); + } + + }); + } + }); + }); + - + @@ -15,9 +14,11 @@ + + - + - - - - - -
    - -
    -
    -
    -
    - - - - - 'static' ); - $stmt = sqlsrv_query($con, $teacherIDQuery, $params, $options); - if( $stmt === false ) { - die( print_r( sqlsrv_errors(), true)); - } - - $teacherID = 0; - if ( sqlsrv_fetch( $stmt ) === true) { - $teacherID = sqlsrv_get_field( $stmt, 0); - } - $params = array($institutionID, $teacherID); - $options = array( "Scrollable" => 'static' ); - $CoursesQuery = " - SELECT TC.CoursesID, CN.ClassName, TC.Section, SN.SessionName - FROM TeachersCourses as TC, [Class Names] as CN, [Sessions] as S, SessionNames as SN - WHERE TC.InstitutionID = ? AND - TC.InstructorID = ? AND - CN.ClassNamesID = TC.ClassNamesID AND - TC.SessionID > 100 AND - SN.SessionsID = TC.SessionID - GROUP BY TC.CoursesID, CN.ClassName, TC.Section, SN.SessionName"; - $stmt = sqlsrv_query($con, $CoursesQuery, $params, $options); - - $courseID = []; - $ClassNames = []; - $Sections = []; - $SessionNames = []; + $UserInfoQuery = " + SELECT R.Designation + FROM RoleInstances as RI, Roles as R + WHERE RI.SiteUsername = ? AND + R.Role = ? AND + R.RoleID = RI.RoleID"; + $stmt = sqlsrv_query($con, $UserInfoQuery, $params, $options); if ( $stmt === false) die( print_r( sqlsrv_errors(), true)); - while (sqlsrv_fetch( $stmt ) === true) { - $courseID[] = sqlsrv_get_field( $stmt, 0); - $ClassNames[] = sqlsrv_get_field( $stmt, 1); - $Sections[] = sqlsrv_get_field( $stmt, 2); - $SessionNames[] = sqlsrv_get_field( $stmt, 3); - } - $length = sqlsrv_num_rows ($stmt); - echo "

    Courses

    "; - - for ($i = 0; $i < $length; $i++) + $Designation = ""; + $Institution = ""; + if ( sqlsrv_fetch( $stmt ) === true) { - ?> -
    -
    + $Designation = sqlsrv_get_field( $stmt, 0); + } + ?> + + +
    + +
    + +
    +
    +
    +

    + +
    +
    +
    + +
    +
    +
    +
    +
    +

    Active Courses

    +
    +
    +
    +
    + + + + + + + + + + + + + SQLSRV_CURSOR_KEYSET); + + $activecourses = sqlsrv_query($con, $activecoursesSQL, $params, $options); + if($activecourses === false) + die (print_r(sqlsrv_errors(), true)); + $resultlength = sqlsrv_num_rows($activecourses); + if($resultlength == 0) + { + echo "No Active Courses!"; + } + else + { + $coursenames = []; + $sections = []; + $institutions = []; + $sessions = []; + $courseids = []; + while(sqlsrv_fetch($activecourses) === true) + { + $coursenames[] = sqlsrv_get_field($activecourses, 0); + $sections[] = sqlsrv_get_field($activecourses, 1); + $institutions[] = sqlsrv_get_field($activecourses, 2); + $sessions[] = sqlsrv_get_field($activecourses, 3); + $courseids[] = sqlsrv_get_field($activecourses, 4); + } + for ($i = 0; $i < $resultlength; $i++) + { + echo ""; + } + } + + ?> + +
    CourseSectionSessionInstitutionGo To
    $coursenames[$i]$sections[$i]$sessions[$i]$institutions[$i]
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    My Students

    +
    +
    +
    -

    Class Name:

    -

    Section:

    -

    Session:

    - -
  • Course Page
  • - - -
    + + + + + + + + + + + + + SQLSRV_CURSOR_KEYSET); + + $mystudents = sqlsrv_query($con, $mystudentsSQL, $params, $options); + if($mystudents === false) + die (print_r(sqlsrv_errors(), true)); + $resultlength = sqlsrv_num_rows($mystudents); + if($resultlength == 0) + { + echo "No Enrolled Students!"; + } + else + { + $enrollmentids = []; + $studentlastnames = []; + $studentfirstnames = []; + $institutions = []; + $coursenames = []; + $courseids = []; + while(sqlsrv_fetch($mystudents) === true) + { + $enrollmentids[] = sqlsrv_get_field($mystudents, 0); + $studentlastnames[] = sqlsrv_get_field($mystudents, 1); + $studentfirstnames[] = sqlsrv_get_field($mystudents, 2); + $institutions[] = sqlsrv_get_field($mystudents, 3); + $coursenames[] = sqlsrv_get_field($mystudents, 4); + $courseids[] = sqlsrv_get_field($mystudents, 5); + } + for ($i = 0; $i < $resultlength; $i++) + { + echo ""; + } + } + + ?> + +
    NameCourseInstitutionGo To
    $studentfirstnames[$i] $studentlastnames[$i]$coursenames[$i]$institutions[$i]
    +
    -
    - - +
    +
    +
    -
    - + + + - - - - - - - - -

    You do not have permission to view this page. Redirecting in 5 seconds

    -

    Click here if you don't want to wait

    - - - - - -
    - -
    -
    -
    -
    - - -

    Insert Student Name

    -

    Requires form submission from teacher/mystudents for student ID. Will display student progress, history, and lists of worksheet and expressions that have been entered by the student, in chronological order

    - -
    -
    -
    -
    -
    - - - - - - - - -

    Oops! You are not logged in. Redirecting to log-in in 5 seconds

    -

    Click here if you don't want to wait

    - - - diff --git a/teacher/MyStudents/index.php b/teacher/MyStudents/index.php index 88bba36..6239ea4 100644 --- a/teacher/MyStudents/index.php +++ b/teacher/MyStudents/index.php @@ -15,9 +15,10 @@ + - + - - +

    You do not have permission to view this page. Redirecting in 5 seconds

    @@ -53,25 +45,59 @@ } else { + $institutionID = isset($_POST['institutionid']) ? $_POST['institutionid'] : 0; + + if ($institutionID == 0) + { + $params = array($_SESSION['Username']); + $options = array("Scrollable" => 'static'); + $CoursesQuery = "SELECT S.StudentID, S.FirstName, S.LastName, CT.CourseName, I.InsitutionName + FROM Students S, Courses C, CourseTypes CT, EnrollmentER, Institutions I, TeachingInstance TI + WHERE" + } ?> -
    +
    -
    - - -

    My Students

    -

    For a given teacher, will list all active students (according to active courses) and display a link to each student's profile view

    - +
    +

    My Students

    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    NameInstitutionCurrent CourseGo ToGo To
    Stu DentGonzaga UniversityELCT 103Archive PageView in Course
    +
    +
    @@ -79,7 +105,7 @@
    - + + + diff --git a/testindex.php b/testindex.php index 4c4bb80..f0c75c3 100644 --- a/testindex.php +++ b/testindex.php @@ -92,7 +92,7 @@ - + diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index ff6ecfb..172e7e1 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -313,7 +313,7 @@ public function loadClass($class) */ public function findFile($class) { - // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731 + // work around for PHP 5.3.0 - 5.3.2 //bugs.php.net/50731 if ('\\' == $class[0]) { $class = substr($class, 1); } diff --git a/web.config b/web.config index fa36518..9177f82 100644 --- a/web.config +++ b/web.config @@ -1,9 +1,12 @@ - + + + + - + @@ -13,4 +16,8 @@ + + + + \ No newline at end of file diff --git a/worksheet.html b/worksheet.html index 135190c..bf7830f 100644 --- a/worksheet.html +++ b/worksheet.html @@ -112,7 +112,7 @@
    --> - +