function sidebarExtra($guid, $connection2) { $output = ""; $output .= "<h2>"; $output .= _("Resource Tags"); $output .= "</h2>"; $output .= getTagCloud($guid, $connection2); return $output; }
function sidebar($connection2, $guid) { $googleOAuth = getSettingByScope($connection2, "System", "googleOAuth"); if (isset($_GET["loginReturn"])) { $loginReturn = $_GET["loginReturn"]; } else { $loginReturn = ""; } $loginReturnMessage = ""; if (!($loginReturn == "")) { if ($loginReturn == "fail0b") { $loginReturnMessage = _("Username or password not set."); } else { if ($loginReturn == "fail1") { $loginReturnMessage = _("Incorrect username and password."); } else { if ($loginReturn == "fail2") { $loginReturnMessage = _("You do not have sufficient privileges to login."); } else { if ($loginReturn == "fail5") { $loginReturnMessage = _("Your request failed due to a database error."); } else { if ($loginReturn == "fail6") { $loginReturnMessage = sprintf(_('Too many failed logins: please %1$sreset password%2$s.'), "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/passwordReset.php'>", "</a>"); } else { if ($loginReturn == "fail7") { $loginReturnMessage = sprintf(_('Error with Google Authentication. Please contact %1$s if you have any questions.'), "<a href='mailto:" . $_SESSION[$guid]["organisationDBAEmail"] . "'>" . $_SESSION[$guid]["organisationDBAName"] . "</a>"); } else { if ($loginReturn == "fail8") { $loginReturnMessage = sprintf(_('Gmail account does not match the email stored in %1$s. If you have logged in with your school Gmail account please contact %2$s if you have any questions.'), $_SESSION[$guid]["systemName"], "<a href='mailto:" . $_SESSION[$guid]["organisationDBAEmail"] . "'>" . $_SESSION[$guid]["organisationDBAName"] . "</a>"); } else { if ($loginReturn == "fail9") { $loginReturnMessage = _('Your primary role does not support the ability to log into the specified year.'); } } } } } } } } print "<div class='error'>"; print $loginReturnMessage; print "</div>"; } if ($_SESSION[$guid]["sidebarExtra"] != "" and $_SESSION[$guid]["sidebarExtraPosition"] != "bottom") { print "<div class='sidebarExtra'>"; print $_SESSION[$guid]["sidebarExtra"]; print "</div>"; } // Add Google Login Button if (isset($_SESSION[$guid]["username"]) == FALSE && isset($_SESSION[$guid]["email"]) == FALSE) { if ($googleOAuth == "Y") { print "<h2>"; print _("Login with Google"); print "</h2>"; ?> <script> $(function(){ $('#siteloader').load('lib/google/index.php'); }); </script> <div id="siteloader"></div> <?php } //End Check for Google Auth if (isset($_SESSION[$guid]["username"]) == FALSE) { // If Google Auth set to No make sure login screen not visible when logged in ?> <h2> <?php print _("Login"); ?> </h2> <form name="loginForm" method="post" action="./login.php?<?php if (isset($_GET["q"])) { print "q=" . $_GET["q"]; } ?> "> <table class='noIntBorder' cellspacing='0' style="width: 100%; margin: 0px 0px"> <tr> <td> <b><?php print _("Username"); ?> </b> </td> <td class="right"> <input name="username" id="username" maxlength=20 type="text" style="width:120px"> <script type="text/javascript"> var username=new LiveValidation('username', {onlyOnSubmit: true }); username.add(Validate.Presence); </script> </td> </tr> <tr> <td> <b><?php print _("Password"); ?> </b> </td> <td class="right"> <input name="password" id="password" maxlength=30 type="password" style="width:120px"> <script type="text/javascript"> var password=new LiveValidation('password', {onlyOnSubmit: true }); password.add(Validate.Presence); </script> </td> </tr> <tr class='schoolYear' id='schoolYear'> <td> <b><?php print _("School Year"); ?> </b> </td> <td class="right"> <select name="gibbonSchoolYearID" id="gibbonSchoolYearID" style="width: 120px"> <?php try { $dataSelect = array(); $sqlSelect = "SELECT * FROM gibbonSchoolYear ORDER BY sequenceNumber"; $resultSelect = $connection2->prepare($sqlSelect); $resultSelect->execute($dataSelect); } catch (PDOException $e) { print "<div class='error'>" . $e->getMessage() . "</div>"; } while ($rowSelect = $resultSelect->fetch()) { $selected = ""; if ($rowSelect["status"] == "Current") { $selected = "selected"; } print "<option {$selected} value='" . $rowSelect["gibbonSchoolYearID"] . "'>" . htmlPrep($rowSelect["name"]) . "</option>"; } ?> </select> </td> </tr> <tr class='language' id='language'> <td> <b><?php print _("Language"); ?> </b> </td> <td class="right"> <select name="gibboni18nID" id="gibboni18nID" style="width: 120px"> <?php try { $dataSelect = array(); $sqlSelect = "SELECT * FROM gibboni18n WHERE active='Y' ORDER BY name"; $resultSelect = $connection2->prepare($sqlSelect); $resultSelect->execute($dataSelect); } catch (PDOException $e) { print "<div class='error'>" . $e->getMessage() . "</div>"; } while ($rowSelect = $resultSelect->fetch()) { $selected = ""; if ($rowSelect["systemDefault"] == "Y") { $selected = "selected"; } print "<option {$selected} value='" . $rowSelect["gibboni18nID"] . "'>" . htmlPrep($rowSelect["name"]) . "</option>"; } ?> </select> </td> </tr> <tr> <td> </td> <td class="right"> <?php print "<script type='text/javascript'>"; print "\$(document).ready(function(){"; print "\$(\".schoolYear\").hide();"; print "\$(\".language\").hide();"; print "\$(\".show_hide\").fadeIn(1000);"; print "\$(\".show_hide\").click(function(){"; print "\$(\".schoolYear\").fadeToggle(1000);"; print "\$(\".language\").fadeToggle(1000);"; print "});"; print "});"; print "</script>"; ?> <span style='font-size: 10px'><a class='show_hide' onclick='false' href='#'><?php print _("Options"); ?> </a> . <a href="<?php print $_SESSION[$guid]["absoluteURL"]; ?> /index.php?q=passwordReset.php"><?php print _("Forgot Password?"); ?> </a></span> </td> </tr> <tr> <td class="right" colspan=2> <input type="hidden" name="address" value="<?php print $_SESSION[$guid]["address"]; ?> "> <input type="submit" value="Login"> </td> </tr> </table> </form> <?php } } //Show Module Menu //Check address to see if we are in the module area if (substr($_SESSION[$guid]["address"], 0, 8) == "/modules") { //Get and check the module name $moduleID = checkModuleReady($_SESSION[$guid]["address"], $connection2); if ($moduleID != FALSE) { $gibbonRoleIDCurrent = NULL; if (isset($_SESSION[$guid]["gibbonRoleIDCurrent"])) { $gibbonRoleIDCurrent = $_SESSION[$guid]["gibbonRoleIDCurrent"]; } try { $data = array("gibbonModuleID" => $moduleID, "gibbonRoleID" => $gibbonRoleIDCurrent); $sql = "SELECT gibbonModule.entryURL AS moduleEntry, gibbonModule.name AS moduleName, gibbonAction.name, gibbonAction.precedence, gibbonAction.category, gibbonAction.entryURL, URLList FROM gibbonModule, gibbonAction, gibbonPermission WHERE (gibbonModule.gibbonModuleID=:gibbonModuleID) AND (gibbonModule.gibbonModuleID=gibbonAction.gibbonModuleID) AND (gibbonAction.gibbonActionID=gibbonPermission.gibbonActionID) AND (gibbonPermission.gibbonRoleID=:gibbonRoleID) AND NOT gibbonAction.entryURL='' ORDER BY gibbonModule.name, category, gibbonAction.name, precedence DESC"; $result = $connection2->prepare($sql); $result->execute($data); } catch (PDOException $e) { } if ($result->rowCount() > 0) { $output = "<ul class='moduleMenu'>"; $currentCategory = ""; $lastCategory = ""; $currentName = ""; $lastName = ""; $count = 0; $links = 0; while ($row = $result->fetch()) { $moduleName = $row["moduleName"]; $moduleEntry = $row["moduleEntry"]; //Set active link class $style = ""; if (strpos($row["URLList"], getActionName($_SESSION[$guid]["address"])) === 0) { $style = "class='active'"; } $currentCategory = $row["category"]; if (strpos($row["name"], "_") > 0) { $currentName = _(substr($row["name"], 0, strpos($row["name"], "_"))); } else { $currentName = _($row["name"]); } if ($currentName != $lastName) { if ($currentCategory != $lastCategory) { if ($count > 0) { $output .= "</ul></li>"; } $output .= "<li><h4>" . _($currentCategory) . "</h4>"; $output .= "<ul>"; $output .= "<li><a {$style} href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/" . $row["moduleName"] . "/" . $row["entryURL"] . "'>" . _($currentName) . "</a></li>"; } else { $output .= "<li><a {$style} href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/" . $row["moduleName"] . "/" . $row["entryURL"] . "'>" . _($currentName) . "</a></li>"; } $links++; } $lastCategory = $currentCategory; $lastName = $currentName; $count++; } if ($count > 0) { $output .= "</ul></li>"; } $output .= "</ul>"; if ($links > 1 or isActionAccessible($guid, $connection2, "/modules/{$moduleName}/{$moduleEntry}") == FALSE) { print $output; } } } } //Show custom sidebar content on homepage for logged in users if ($_SESSION[$guid]["address"] == "" and isset($_SESSION[$guid]["username"])) { if (isset($_SESSION[$guid]["index_customSidebar.php"]) == FALSE) { if (is_file("./index_customSidebar.php")) { $_SESSION[$guid]["index_customSidebar.php"] = (include "./index_customSidebar.php"); } else { $_SESSION[$guid]["index_customSidebar.php"] = NULL; } } if (isset($_SESSION[$guid]["index_customSidebar.php"])) { print $_SESSION[$guid]["index_customSidebar.php"]; } } //Show parent photo uploader if ($_SESSION[$guid]["address"] == "" and isset($_SESSION[$guid]["username"])) { $sidebar = getParentPhotoUploader($connection2, $guid); if ($sidebar != FALSE) { print $sidebar; } } //Show homescreen widget for message wall if ($_SESSION[$guid]["address"] == "") { if (isset($_SESSION[$guid]["messageWallOutput"])) { if (isActionAccessible($guid, $connection2, "/modules/Messenger/messageWall_view.php")) { $attainmentAlternativeName = getSettingByScope($connection2, "Messenger", "enableHomeScreenWidget"); if ($attainmentAlternativeName == "Y") { print "<h2>"; print _("Message Wall"); print "</h2>"; if (count($_SESSION[$guid]["messageWallOutput"]) < 1) { print "<div class='warning'>"; print _("There are no records to display."); print "</div>"; } else { if (is_array($_SESSION[$guid]["messageWallOutput"]) == FALSE) { print "<div class='error'>"; print _("An error occurred."); print "</div>"; } else { $height = 283; if (count($_SESSION[$guid]["messageWallOutput"]) == 1) { $height = 94; } else { if (count($_SESSION[$guid]["messageWallOutput"]) == 2) { $height = 197; } } print "<table id='messageWallWidget' style='width: 100%; height: " . $height . "px; border: 1px solid grey; padding: 6px; background-color: #eeeeee'>"; //Content added by JS $rand = rand(0, count($_SESSION[$guid]["messageWallOutput"])); $total = count($_SESSION[$guid]["messageWallOutput"]); $order = ""; for ($i = 0; $i < $total; $i++) { $pos = ($rand + $i) % $total; $order .= "{$pos}, "; $message = $_SESSION[$guid]["messageWallOutput"][$pos]; //COLOR ROW BY STATUS! print "<tr id='messageWall" . $pos . "' style='z-index: 1;'>"; print "<td style='font-size: 95%; letter-spacing: 85%;'>"; //Image $style = "style='width: 45px; height: 60px; float: right; margin-left: 6px; border: 1px solid black'"; if ($message["photo"] == "" or file_exists($_SESSION[$guid]["absolutePath"] . "/" . $message["photo"]) == FALSE) { print "<img {$style} src='" . $_SESSION[$guid]["absoluteURL"] . "/themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/anonymous_75.jpg'/>"; } else { print "<img {$style} src='" . $_SESSION[$guid]["absoluteURL"] . "/" . $message["photo"] . "'/>"; } //Message number print "<div style='margin-bottom: 4px; text-transform: uppercase; font-size: 70%; color: #888'>Message " . ($pos + 1) . "</div>"; //Title $URL = $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Messenger/messageWall_view.php#" . $message["gibbonMessengerID"]; if (strlen($message["subject"]) <= 16) { print "<a style='font-weight: bold; font-size: 105%; letter-spacing: 85%; text-transform: uppercase' href='{$URL}'>" . $message["subject"] . "</a><br/>"; } else { print "<a style='font-weight: bold; font-size: 105%; letter-spacing: 85%; text-transform: uppercase' href='{$URL}'>" . substr($message["subject"], 0, 16) . "...</a><br/>"; } //Text print "<div style='margin-top: 5px'>"; if (strlen(strip_tags($message["details"])) <= 40) { print strip_tags($message["details"]) . "<br/>"; } else { print substr(strip_tags($message["details"]), 0, 40) . "...<br/>"; } print "</div>"; print "</td>"; print "</tr>"; print "\n\t\t\t\t\t\t\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\t\t\t\t\t\t\$(document).ready(function(){\n\t\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall{$pos}\").hide();\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t</script>"; } print "</table>"; $order = substr($order, 0, strlen($order) - 2); print "\n\t\t\t\t\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\t\t\t\t\$(document).ready(function(){\n\t\t\t\t\t\t\t\t\tvar order=[" . $order . "];\n\t\t\t\t\t\t\t\t\tvar interval = 1;\n\n\t\t\t\t\t\t\t\t\t\tfor(var i=0; i<order.length; i++) {\n\t\t\t\t\t\t\t\t\t\t\tvar tRow = \$(\"#messageWall\".concat(order[i].toString()));\n\t\t\t\t\t\t\t\t\t\t\tif(i<3) {\n\t\t\t\t\t\t\t\t\t\t\t\ttRow.show();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\ttRow.hide();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[0].toString())).attr('class', 'even');\n\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[1].toString())).attr('class', 'odd');\n\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[2].toString())).attr('class', 'even');\n\n\t\t\t\t\t\t\t\t\tsetInterval(function() {\n\t\t\t\t\t\t\t\t\t\tif(order.length > 3) {\n\t\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[0].toString())).hide();\n\t\t\t\t\t\t\t\t\t\t\tvar fRow = \$(\"#messageWall\".concat(order[0].toString()));\n\t\t\t\t\t\t\t\t\t\t\tvar lRow = \$(\"#messageWall\".concat(order[order.length-1].toString()));\n\t\t\t\t\t\t\t\t\t\t\tfRow.insertAfter(lRow);\n\t\t\t\t\t\t\t\t\t\t\torder.push(order.shift());\n\t\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[2].toString())).show();\n\n\t\t\t\t\t\t\t\t\t\t\tif(interval%2===0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[0].toString())).attr('class', 'even');\n\t\t\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[1].toString())).attr('class', 'odd');\n\t\t\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[2].toString())).attr('class', 'even');\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[0].toString())).attr('class', 'odd');\n\t\t\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[1].toString())).attr('class', 'even');\n\t\t\t\t\t\t\t\t\t\t\t\t\$(\"#messageWall\".concat(order[2].toString())).attr('class', 'odd');\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tinterval++;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}, 8000);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t</script>"; } } print "<p style='padding-top: 5px; text-align: right'>"; print "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Messenger/messageWall_view.php'>" . _('View Message Wall') . "</a>"; print "</p>"; } } } } //Show upcoming deadlines if ($_SESSION[$guid]["address"] == "" and isActionAccessible($guid, $connection2, "/modules/Planner/planner.php")) { $highestAction = getHighestGroupedAction($guid, "/modules/Planner/planner.php", $connection2); if ($highestAction == "Lesson Planner_viewMyClasses" or $highestAction == "Lesson Planner_viewAllEditMyClasses" or $highestAction == "Lesson Planner_viewEditAllClasses") { print "<h2>"; print _("Homework & Deadlines"); print "</h2>"; try { $data = array("gibbonSchoolYearID" => $_SESSION[$guid]["gibbonSchoolYearID"], "gibbonPersonID" => $_SESSION[$guid]["gibbonPersonID"]); $sql = "\n\t\t\t\t(SELECT 'teacherRecorded' AS type, gibbonPlannerEntryID, gibbonUnitID, gibbonCourse.nameShort AS course, gibbonCourseClass.nameShort AS class, gibbonPlannerEntry.name, date, timeStart, timeEnd, viewableStudents, viewableParents, homework, homeworkDueDateTime, role FROM gibbonPlannerEntry JOIN gibbonCourseClass ON (gibbonPlannerEntry.gibbonCourseClassID=gibbonCourseClass.gibbonCourseClassID) JOIN gibbonCourseClassPerson ON (gibbonCourseClass.gibbonCourseClassID=gibbonCourseClassPerson.gibbonCourseClassID) JOIN gibbonCourse ON (gibbonCourse.gibbonCourseID=gibbonCourseClass.gibbonCourseID) WHERE gibbonSchoolYearID=:gibbonSchoolYearID AND gibbonCourseClassPerson.gibbonPersonID=:gibbonPersonID AND NOT role='Student - Left' AND NOT role='Teacher - Left' AND homework='Y' AND (role='Teacher' OR (role='Student' AND viewableStudents='Y')) AND homeworkDueDateTime>'" . date("Y-m-d H:i:s") . "' AND ((date<'" . date("Y-m-d") . "') OR (date='" . date("Y-m-d") . "' AND timeEnd<='" . date("H:i:s") . "')))\n\t\t\t\tUNION\n\t\t\t\t(SELECT 'studentRecorded' AS type, gibbonPlannerEntry.gibbonPlannerEntryID, gibbonUnitID, gibbonCourse.nameShort AS course, gibbonCourseClass.nameShort AS class, gibbonPlannerEntry.name, date, timeStart, timeEnd, 'Y' AS viewableStudents, 'Y' AS viewableParents, 'Y' AS homework, gibbonPlannerEntryStudentHomework.homeworkDueDateTime, role FROM gibbonPlannerEntry JOIN gibbonCourseClass ON (gibbonPlannerEntry.gibbonCourseClassID=gibbonCourseClass.gibbonCourseClassID) JOIN gibbonCourseClassPerson ON (gibbonCourseClass.gibbonCourseClassID=gibbonCourseClassPerson.gibbonCourseClassID) JOIN gibbonCourse ON (gibbonCourse.gibbonCourseID=gibbonCourseClass.gibbonCourseID) JOIN gibbonPlannerEntryStudentHomework ON (gibbonPlannerEntryStudentHomework.gibbonPlannerEntryID=gibbonPlannerEntry.gibbonPlannerEntryID AND gibbonPlannerEntryStudentHomework.gibbonPersonID=gibbonCourseClassPerson.gibbonPersonID) WHERE gibbonSchoolYearID=:gibbonSchoolYearID AND gibbonCourseClassPerson.gibbonPersonID=:gibbonPersonID AND NOT role='Student - Left' AND NOT role='Teacher - Left' AND (role='Teacher' OR (role='Student' AND viewableStudents='Y')) AND gibbonPlannerEntryStudentHomework.homeworkDueDateTime>'" . date("Y-m-d H:i:s") . "' AND ((date<'" . date("Y-m-d") . "') OR (date='" . date("Y-m-d") . "' AND timeEnd<='" . date("H:i:s") . "')))\n\t\t\t\t ORDER BY homeworkDueDateTime, type"; $result = $connection2->prepare($sql); $result->execute($data); } catch (PDOException $e) { print $e->getMessage(); } if ($result->rowCount() < 1) { print "<div class='success'>"; print _("No upcoming deadlines. Yay!"); print "</div>"; } else { print "<ol>"; $count = 0; while ($row = $result->fetch()) { if ($count < 5) { $diff = (strtotime(substr($row["homeworkDueDateTime"], 0, 10)) - strtotime(date("Y-m-d"))) / 86400; $category = getRoleCategory($_SESSION[$guid]["gibbonRoleIDCurrent"], $connection2); $style = "padding-right: 3px;"; if ($category == "Student") { //Calculate style for student-specified completion of teacher-recorded homework try { $dataCompletion = array("gibbonPlannerEntryID" => $row["gibbonPlannerEntryID"], "gibbonPersonID" => $_SESSION[$guid]["gibbonPersonID"]); $sqlCompletion = "SELECT gibbonPlannerEntryID FROM gibbonPlannerEntryStudentTracker WHERE gibbonPlannerEntryID=:gibbonPlannerEntryID AND gibbonPersonID=:gibbonPersonID AND homeworkComplete='Y'"; $resultCompletion = $connection2->prepare($sqlCompletion); $resultCompletion->execute($dataCompletion); } catch (PDOException $e) { } if ($resultCompletion->rowCount() == 1) { $style .= "; background-color: #B3EFC2"; } //Calculate style for student-specified completion of student-recorded homework try { $dataCompletion = array("gibbonPlannerEntryID" => $row["gibbonPlannerEntryID"], "gibbonPersonID" => $_SESSION[$guid]["gibbonPersonID"]); $sqlCompletion = "SELECT gibbonPlannerEntryID FROM gibbonPlannerEntryStudentHomework WHERE gibbonPlannerEntryID=:gibbonPlannerEntryID AND gibbonPersonID=:gibbonPersonID AND homeworkComplete='Y'"; $resultCompletion = $connection2->prepare($sqlCompletion); $resultCompletion->execute($dataCompletion); } catch (PDOException $e) { } if ($resultCompletion->rowCount() == 1) { $style .= "; background-color: #B3EFC2"; } //Calculate style for online submission completion try { $dataCompletion = array("gibbonPlannerEntryID" => $row["gibbonPlannerEntryID"], "gibbonPersonID" => $_SESSION[$guid]["gibbonPersonID"]); $sqlCompletion = "SELECT gibbonPlannerEntryID FROM gibbonPlannerEntryHomework WHERE gibbonPlannerEntryID=:gibbonPlannerEntryID AND gibbonPersonID=:gibbonPersonID AND version='Final'"; $resultCompletion = $connection2->prepare($sqlCompletion); $resultCompletion->execute($dataCompletion); } catch (PDOException $e) { } if ($resultCompletion->rowCount() == 1) { $style .= "; background-color: #B3EFC2"; } } //Calculate style for deadline if ($diff < 2) { $style .= "; border-right: 10px solid #cc0000"; } else { if ($diff < 4) { $style .= "; border-right: 10px solid #D87718"; } } print "<li style='{$style}'>"; print "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Planner/planner_view_full.php&gibbonPlannerEntryID=" . $row["gibbonPlannerEntryID"] . "&date=" . $row["date"] . "'>" . $row["course"] . "." . $row["class"] . "</a><br/>"; print "<span style='font-style: italic'>Due at " . substr($row["homeworkDueDateTime"], 11, 5) . " on " . dateConvertBack($guid, substr($row["homeworkDueDateTime"], 0, 10)); print "</li>"; } $count++; } print "</ol>"; } print "<p style='padding-top: 0px; text-align: right'>"; print "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Planner/planner_deadlines.php'>" . _('View Homework') . "</a>"; print "</p>"; } } //Show recent results if ($_SESSION[$guid]["address"] == "" and isActionAccessible($guid, $connection2, "/modules/Markbook/markbook_view.php")) { $highestAction = getHighestGroupedAction($guid, "/modules/Markbook/markbook_view.php", $connection2); if ($highestAction == "View Markbook_myMarks") { try { $dataEntry = array("gibbonSchoolYearID" => $_SESSION[$guid]["gibbonSchoolYearID"], "gibbonPersonID" => $_SESSION[$guid]["gibbonPersonID"]); $sqlEntry = "SELECT gibbonMarkbookEntryID, gibbonMarkbookColumn.name, gibbonCourse.nameShort AS course, gibbonCourseClass.nameShort AS class FROM gibbonMarkbookEntry JOIN gibbonMarkbookColumn ON (gibbonMarkbookEntry.gibbonMarkbookColumnID=gibbonMarkbookColumn.gibbonMarkbookColumnID) JOIN gibbonCourseClass ON (gibbonMarkbookColumn.gibbonCourseClassID=gibbonCourseClass.gibbonCourseClassID) JOIN gibbonCourse ON (gibbonCourseClass.gibbonCourseID=gibbonCourse.gibbonCourseID) WHERE gibbonSchoolYearID=:gibbonSchoolYearID AND gibbonPersonIDStudent=:gibbonPersonID AND complete='Y' AND completeDate<='" . date("Y-m-d") . "' AND viewableStudents='Y' ORDER BY completeDate DESC, name"; $resultEntry = $connection2->prepare($sqlEntry); $resultEntry->execute($dataEntry); } catch (PDOException $e) { } if ($resultEntry->rowCount() > 0) { print "<h2>"; print _("Recent Marks"); print "</h2>"; print "<ol>"; $count = 0; while ($rowEntry = $resultEntry->fetch() and $count < 5) { print "<li><a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Markbook/markbook_view.php#" . $rowEntry["gibbonMarkbookEntryID"] . "'>" . $rowEntry["course"] . "." . $rowEntry["class"] . "<br/><span style='font-size: 85%; font-style: italic'>" . $rowEntry["name"] . "</span></a></li>"; $count++; } print "</ol>"; } } } //Show My Classes if ($_SESSION[$guid]["address"] == "" and isset($_SESSION[$guid]["username"])) { try { $data = array("gibbonSchoolYearID" => $_SESSION[$guid]["gibbonSchoolYearID"], "gibbonPersonID" => $_SESSION[$guid]["gibbonPersonID"]); $sql = "SELECT gibbonCourse.nameShort AS course, gibbonCourseClass.nameShort AS class, gibbonCourseClass.gibbonCourseClassID FROM gibbonCourse, gibbonCourseClass, gibbonCourseClassPerson WHERE gibbonSchoolYearID=:gibbonSchoolYearID AND gibbonCourse.gibbonCourseID=gibbonCourseClass.gibbonCourseID AND gibbonCourseClass.gibbonCourseClassID=gibbonCourseClassPerson.gibbonCourseClassID AND gibbonCourseClassPerson.gibbonPersonID=:gibbonPersonID AND NOT role LIKE '% - Left%' ORDER BY course, class"; $result = $connection2->prepare($sql); $result->execute($data); } catch (PDOException $e) { } if ($result->rowCount() > 0) { print "<h2 style='margin-bottom: 10px' class='sidebar'>"; print _("My Classes"); print "</h2>"; print "<table class='mini' cellspacing='0' style='width: 100%; table-layout: fixed;'>"; print "<tr class='head'>"; print "<th style='width: 36%; font-size: 85%; text-transform: uppercase'>"; print _("Class"); print "</th>"; if (isActionAccessible($guid, $connection2, "/modules/Planner/planner.php")) { print "<th style='width: 16%; font-size: 60%; text-align: center; text-transform: uppercase'>"; print _("Plan"); print "</th>"; } if (getHighestGroupedAction($guid, "/modules/Markbook/markbook_view.php", $connection2) == "View Markbook_allClassesAllData") { print "<th style='width: 16%; font-size: 60%; text-align: center; text-transform: uppercase'>"; print _("Mark"); print "</th>"; } print "<th style='width: 16%; font-size: 60%; text-align: center; text-transform: uppercase'>"; print _("People"); print "</th>"; if (isActionAccessible($guid, $connection2, "/modules/Planner/planner.php")) { print "<th style='width: 16%; font-size: 60%; text-align: center; text-transform: uppercase'>"; print _("Tasks"); print "</th>"; } print "</tr>"; $count = 0; $rowNum = "odd"; while ($row = $result->fetch()) { if ($count % 2 == 0) { $rowNum = "even"; } else { $rowNum = "odd"; } $count++; //COLOR ROW BY STATUS! print "<tr class={$rowNum}>"; print "<td style='word-wrap: break-word'>"; print "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Departments/department_course_class.php&gibbonCourseClassID=" . $row["gibbonCourseClassID"] . "'>" . $row["course"] . "." . $row["class"] . "</a>"; print "</td>"; if (isActionAccessible($guid, $connection2, "/modules/Planner/planner.php")) { print "<td style='text-align: center'>"; print "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Planner/planner.php&gibbonCourseClassID=" . $row["gibbonCourseClassID"] . "&viewBy=class'><img style='margin-top: 3px' title='" . _('View Planner') . "' src='./themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/planner.png'/></a> "; print "</td>"; } if (getHighestGroupedAction($guid, "/modules/Markbook/markbook_view.php", $connection2) == "View Markbook_allClassesAllData") { print "<td style='text-align: center'>"; print "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Markbook/markbook_view.php&gibbonCourseClassID=" . $row["gibbonCourseClassID"] . "'><img style='margin-top: 3px' title='" . _('View Markbook') . "' src='./themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/markbook.png'/></a> "; print "</td>"; } print "<td style='text-align: center'>"; print "<a href='index.php?q=/modules/Departments/department_course_class.php&gibbonCourseClassID=" . $row["gibbonCourseClassID"] . "&subpage=Participants'><img title='" . _('Participants') . "' src='./themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/attendance.png'/></a>"; print "</td>"; if (isActionAccessible($guid, $connection2, "/modules/Planner/planner.php")) { print "<td style='text-align: center'>"; print "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Planner/planner_deadlines.php&gibbonCourseClassIDFilter=" . $row["gibbonCourseClassID"] . "'><img style='margin-top: 3px' title='" . _('View Homework') . "' src='./themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/homework.png'/></a> "; print "</td>"; } print "</tr>"; } print "</table>"; } } //Show tag cloud if ($_SESSION[$guid]["address"] == "" and isActionAccessible($guid, $connection2, "/modules/Resources/resources_view.php")) { include "./modules/Resources/moduleFunctions.php"; print "<h2 class='sidebar'>"; print _("Resource Tags"); print "</h2>"; print getTagCloud($guid, $connection2, 20); print "<p style='margin-bototm: 20px; text-align: right'>"; print "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Resources/resources_view.php'>" . _('View Resources') . "</a>"; print "</p>"; } //Show role switcher if user has more than one role if (isset($_SESSION[$guid]["username"])) { if (count($_SESSION[$guid]["gibbonRoleIDAll"]) > 1 and $_SESSION[$guid]["address"] == "") { print "<h2 style='margin-bottom: 10px' class='sidebar'>"; print _("Role Switcher"); print "</h2>"; if (isset($_GET["switchReturn"])) { $switchReturn = $_GET["switchReturn"]; } else { $switchReturn = ""; } $switchReturnMessage = ""; $class = "error"; if (!($switchReturn == "")) { if ($switchReturn == "fail0") { $switchReturnMessage = _("Role ID not specified."); } else { if ($switchReturn == "fail1") { $switchReturnMessage = _("You do not have access to the specified role."); } else { if ($switchReturn == "success0") { $switchReturnMessage = _("Role switched successfully."); $class = "success"; } } } print "<div class='{$class}'>"; print $switchReturnMessage; print "</div>"; } print "<p>"; print _("You have multiple roles within the system. Use the list below to switch role:"); print "</p>"; print "<ul>"; for ($i = 0; $i < count($_SESSION[$guid]["gibbonRoleIDAll"]); $i++) { if ($_SESSION[$guid]["gibbonRoleIDAll"][$i][0] == $_SESSION[$guid]["gibbonRoleIDCurrent"]) { print "<li><a href='roleSwitcherProcess.php?gibbonRoleID=" . $_SESSION[$guid]["gibbonRoleIDAll"][$i][0] . "'>" . _($_SESSION[$guid]["gibbonRoleIDAll"][$i][1]) . "</a> <i>" . _('(Active)') . "</i></li>"; } else { print "<li><a href='roleSwitcherProcess.php?gibbonRoleID=" . $_SESSION[$guid]["gibbonRoleIDAll"][$i][0] . "'>" . _($_SESSION[$guid]["gibbonRoleIDAll"][$i][1]) . "</a></li>"; } } print "</ul>"; } } if ($_SESSION[$guid]["sidebarExtra"] != "" and $_SESSION[$guid]["sidebarExtraPosition"] == "bottom") { print "<div class='sidebarExtra'>"; print $_SESSION[$guid]["sidebarExtra"]; print "</div>"; } }