function printClassGroupTable($guid, $gibbonCourseClassID, $columns, $connection2) { try { $dataClassGroup = array("gibbonCourseClassID" => $gibbonCourseClassID); $sqlClassGroup = "SELECT * FROM gibbonCourseClassPerson INNER JOIN gibbonPerson ON gibbonCourseClassPerson.gibbonPersonID=gibbonPerson.gibbonPersonID WHERE gibbonCourseClassID=:gibbonCourseClassID AND status='Full' AND (dateStart IS NULL OR dateStart<='" . date("Y-m-d") . "') AND (dateEnd IS NULL OR dateEnd>='" . date("Y-m-d") . "') AND (NOT role='Student - Left') AND (NOT role='Teacher - Left') ORDER BY role DESC, surname, preferredName"; $resultClassGroup = $connection2->prepare($sqlClassGroup); $resultClassGroup->execute($dataClassGroup); } catch (PDOException $e) { } print "<table class='noIntBorder' cellspacing='0' style='width:100%'>"; $count = 0; while ($rowClassGroup = $resultClassGroup->fetch()) { if ($count % $columns == 0) { print "<tr>"; } print "<td style='width:20%; text-align: center; vertical-align: top'>"; //Alerts, if permission allows print getAlertBar($guid, $connection2, $rowClassGroup["gibbonPersonID"], $rowClassGroup["privacy"]); //User photo print getUserPhoto($guid, $rowClassGroup["image_240"], 75); //HEY SHORTY IT'S YOUR BIRTHDAY! $daysUntilNextBirthday = daysUntilNextBirthday($rowClassGroup["dob"]); if ($daysUntilNextBirthday == 0) { print "<img title='" . sprintf(_('%1$s birthday today!'), $rowClassGroup["preferredName"] . "'s") . "' style='z-index: 99; margin: -20px 0 0 74px; width: 25px; height: 25px' src='" . $_SESSION[$guid]["absoluteURL"] . "/themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/gift_pink.png'/>"; } else { if ($daysUntilNextBirthday > 0 and $daysUntilNextBirthday < 8) { print "<img title='{$daysUntilNextBirthday} "; if ($daysUntilNextBirthday != 1) { print sprintf(_('days until %1$s birthday!'), $rowClassGroup["preferredName"] . "'s"); } else { print sprintf(_('day until %1$s birthday!'), $rowClassGroup["preferredName"] . "'s"); } print "' style='z-index: 99; margin: -20px 0 0 74px; width: 25px; height: 25px' src='" . $_SESSION[$guid]["absoluteURL"] . "/themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/gift.png'/>"; } } if ($rowClassGroup["role"] == "Student") { print "<div style='padding-top: 5px'><b><a href='index.php?q=/modules/Students/student_view_details.php&gibbonPersonID=" . $rowClassGroup["gibbonPersonID"] . "'>" . formatName("", $rowClassGroup["preferredName"], $rowClassGroup["surname"], "Student") . "</a></b><br/>"; } else { print "<div style='padding-top: 5px'><b>" . formatName($rowClassGroup["title"], $rowClassGroup["preferredName"], $rowClassGroup["surname"], "Staff") . "</b><br/>"; } print "<i>" . $rowClassGroup["role"] . "</i><br/><br/></div>"; print "</td>"; if ($count % $columns == $columns - 1) { print "</tr>"; } $count++; } for ($i = 0; $i < $columns - $count % $columns; $i++) { print "<td></td>"; } if ($count % $columns != 0) { print "</tr>"; } print "</table>"; }
} else { $include = $_SESSION[$guid]["absolutePath"] . "/modules/" . $options["sourceModuleName"] . "/" . $options["sourceModuleInclude"]; if (!file_exists($include)) { print "<div class='error'>"; print _("The selected page cannot be displayed due to a hook error."); print "</div>"; } else { include $include; } } } } //Set sidebar $_SESSION[$guid]["sidebarExtra"] = ""; //Show alerts $alert = getAlertBar($guid, $connection2, $gibbonPersonID, $row["privacy"], "", FALSE, TRUE); $_SESSION[$guid]["sidebarExtra"] .= "<div style='background-color: none; font-size: 12px; margin: 3px 0 0px 0; width: 240px; text-align: left; height: 40px; padding: 5px 10px;'>"; if ($alert == "") { $_SESSION[$guid]["sidebarExtra"] .= "<b>" . _('No Current Alerts') . "</b>"; } else { $_SESSION[$guid]["sidebarExtra"] .= $alert; } $_SESSION[$guid]["sidebarExtra"] .= "</div>"; $_SESSION[$guid]["sidebarExtra"] .= getUserPhoto($guid, $row["image_240"], 240); //PERSONAL DATA MENU ITEMS $_SESSION[$guid]["sidebarExtra"] .= "<h4>" . _('Personal') . "</h4>"; $_SESSION[$guid]["sidebarExtra"] .= "<ul class='moduleMenu'>"; $style = ""; if ($subpage == "Overview") { $style = "style='font-weight: bold'"; }
if ($resultAtt->rowCount() > 0) { $rowAtt = $resultAtt->fetch(); if ($rowAtt["type"] == "Absent" or $rowAtt["type"] == "Left - Early" or $rowAtt["type"] == "Left" or $rowAtt["type"] == "Present - Offsite") { $status = "Absent"; } } } } if ($status == "Absent" or $status == "Left - Early" or $status == "Left" or $status == "Present - Offsite") { $_SESSION[$guid]["sidebarExtra"] .= "<td style='border: 1px solid #CC0000; background-color: #F6CECB; width:20%; text-align: center; vertical-align: top'>"; } else { $_SESSION[$guid]["sidebarExtra"] .= "<td style='border: 1px solid #rgba (1,1,1,0); width:20%; text-align: center; vertical-align: top'>"; } //Alerts, if permission allows if ($row["role"] == "Teacher" and $teacher == TRUE) { $_SESSION[$guid]["sidebarExtra"] .= getAlertBar($guid, $connection2, $rowClassGroup["gibbonPersonID"], $rowClassGroup["privacy"], "id='confidentialPlan{$count}'"); } //Get photos $_SESSION[$guid]["sidebarExtra"] .= "<div>"; $_SESSION[$guid]["sidebarExtra"] .= getUserPhoto($guid, $rowClassGroup["image_75"], 75); if ($row["role"] == "Teacher" and $teacher == TRUE) { if ($rowClassGroup["role"] == "Student") { try { $dataLike = array("gibbonPlannerEntryID" => $row["gibbonPlannerEntryID"], "gibbonPersonID" => $rowClassGroup["gibbonPersonID"]); $sqlLike = "SELECT * FROM gibbonBehaviour WHERE type='Positive' AND gibbonPlannerEntryID=:gibbonPlannerEntryID AND gibbonPersonID=:gibbonPersonID"; $resultLike = $connection2->prepare($sqlLike); $resultLike->execute($dataLike); } catch (PDOException $e) { } //HEY SHORTY IT'S YOUR BIRTHDAY! $daysUntilNextBirthday = daysUntilNextBirthday($rowClassGroup["dob"]);