print "</form>";
 }
 //SHOW CURRENT TIMETABLE IN EDIT VIEW
 print "<a name='tt'></a>";
 print "<h2>";
 print "Current Timetable View";
 print "</h2>";
 $gibbonTTID = NULL;
 if (isset($_GET["gibbonTTID"])) {
     $gibbonTTID = $_GET["gibbonTTID"];
 }
 $ttDate = NULL;
 if (isset($_POST["ttDate"])) {
     $ttDate = dateConvertToTimestamp(dateConvert($guid, $_POST["ttDate"]));
 }
 $tt = renderTT($guid, $connection2, $gibbonPersonID, $gibbonTTID, FALSE, $ttDate, "/modules/Timetable Admin/courseEnrolment_manage_byPerson_edit.php", "&gibbonPersonID={$gibbonPersonID}&gibbonSchoolYearID={$gibbonSchoolYearID}&type={$type}#tt", FALSE, TRUE);
 if ($tt != FALSE) {
     print $tt;
 } else {
     print "<div class='error'>";
     print _("There are no records to display.");
     print "</div>";
 }
 //SHOW OLD ENROLMENT RECORDS
 print "<h2>";
 print "Old Enrolment";
 print "</h2>";
 try {
     $data = array("gibbonSchoolYearID" => $gibbonSchoolYearID, "gibbonPersonID" => $gibbonPersonID);
     $sql = "SELECT gibbonCourseClass.gibbonCourseClassID, gibbonCourse.name, gibbonCourse.nameShort AS course, gibbonCourseClass.nameShort AS class, role FROM gibbonCourse JOIN gibbonCourseClass ON (gibbonCourse.gibbonCourseID=gibbonCourseClass.gibbonCourseID) JOIN gibbonCourseClassPerson ON (gibbonCourseClassPerson.gibbonCourseClassID=gibbonCourseClass.gibbonCourseClassID) WHERE gibbonSchoolYearID=:gibbonSchoolYearID AND gibbonPersonID=:gibbonPersonID AND role LIKE '%left' ORDER BY course, class";
     $result = $connection2->prepare($sql);
Ejemplo n.º 2
0
         print "</div>";
     } else {
         if (isActionAccessible($guid, $connection2, "/modules/Timetable Admin/courseEnrolment_manage_byPerson_edit.php") == TRUE) {
             $role = getRoleCategory($row["gibbonRoleIDPrimary"], $connection2);
             if ($role == "Student" or $role == "Staff") {
                 print "<div class='linkTop'>";
                 print "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Timetable Admin/courseEnrolment_manage_byPerson_edit.php&gibbonPersonID={$gibbonPersonID}&gibbonSchoolYearID=" . $_SESSION[$guid]["gibbonSchoolYearID"] . "&type={$role}'>" . _('Edit') . "<img style='margin: 0 0 -4px 5px' title='" . _('Edit') . "' src='./themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/config.png'/></a> ";
                 print "</div>";
             }
         }
         include "./modules/Timetable/moduleFunctions.php";
         $ttDate = NULL;
         if (isset($_POST["ttDate"])) {
             $ttDate = dateConvertToTimestamp(dateConvert($guid, $_POST["ttDate"]));
         }
         $tt = renderTT($guid, $connection2, $gibbonPersonID, "", FALSE, $ttDate, "/modules/Students/student_view_details.php", "&gibbonPersonID={$gibbonPersonID}&search={$search}&allStudents={$allStudents}&subpage=Timetable");
         if ($tt != FALSE) {
             print $tt;
         } else {
             print "<div class='error'>";
             print _("There are no records to display.");
             print "</div>";
         }
     }
 } else {
     if ($subpage == "External Assessment") {
         if (isActionAccessible($guid, $connection2, "/modules/External Assessment/externalAssessment_details.php") == FALSE) {
             print "<div class='error'>";
             print _("Your request failed because you do not have access to this action.");
             print "</div>";
         } else {
Ejemplo n.º 3
0
    $ttDate = "";
    if ($_POST["ttDate"] != "") {
        $ttDate = dateConvertToTimestamp(dateConvert($guid, $_POST["ttDate"]));
    }
    if ($_POST["fromTT"] == "Y") {
        if ($_POST["schoolCalendar"] == "on" or $_POST["schoolCalendar"] == "Y") {
            $_SESSION[$guid]["viewCalendarSchool"] = "Y";
        } else {
            $_SESSION[$guid]["viewCalendarSchool"] = "N";
        }
        if ($_POST["personalCalendar"] == "on" or $_POST["personalCalendar"] == "Y") {
            $_SESSION[$guid]["viewCalendarPersonal"] = "Y";
        } else {
            $_SESSION[$guid]["viewCalendarPersonal"] = "N";
        }
        if ($_POST["spaceBookingCalendar"] == "on" or $_POST["spaceBookingCalendar"] == "Y") {
            $_SESSION[$guid]["viewCalendarSpaceBooking"] = "Y";
        } else {
            $_SESSION[$guid]["viewCalendarSpaceBooking"] = "N";
        }
    }
    $tt = renderTT($guid, $connection2, $_SESSION[$guid]["gibbonPersonID"], $id, FALSE, $ttDate);
    if ($tt != FALSE) {
        $output .= $tt;
    } else {
        $output .= "<div class='error'>";
        $output .= _("There is no information for the date specified.");
        $output .= "</div>";
    }
}
print $output;
Ejemplo n.º 4
0
                 } else {
                     if (isActionAccessible($guid, $connection2, "/modules/Timetable Admin/courseEnrolment_manage_byPerson_edit.php") == TRUE) {
                         print "<div class='linkTop'>";
                         print "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Timetable Admin/courseEnrolment_manage_byPerson_edit.php&gibbonPersonID={$gibbonPersonID}&gibbonSchoolYearID=" . $_SESSION[$guid]["gibbonSchoolYearID"] . "&type=Staff&allUsers='>" . _('Edit') . "<img style='margin: 0 0 -4px 5px' title='" . _('Edit') . "' src='./themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/config.png'/></a> ";
                         print "</div>";
                     }
                     include "./modules/Timetable/moduleFunctions.php";
                     $ttDate = "";
                     if (isset($_POST["ttDate"])) {
                         $ttDate = dateConvertToTimestamp(dateConvert($guid, $_POST["ttDate"]));
                     }
                     $gibbonTTID = NULL;
                     if (isset($_GET["gibbonTTID"])) {
                         $gibbonTTID = $_GET["gibbonTTID"];
                     }
                     $tt = renderTT($guid, $connection2, $gibbonPersonID, $gibbonTTID, FALSE, $ttDate, "/modules/Staff/staff_view_details.php", "&gibbonPersonID={$gibbonPersonID}&subpage=Timetable&search={$search}");
                     if ($tt != FALSE) {
                         print $tt;
                     } else {
                         print "<div class='error'>";
                         print _("The selected record does not exist, or you do not have access to it.");
                         print "</div>";
                     }
                 }
             }
         }
     }
 }
 //Set sidebar
 $_SESSION[$guid]["sidebarExtra"] = "";
 //Show pic
Ejemplo n.º 5
0
function getParentalDashboardContents($connection2, $guid, $gibbonPersonID)
{
    $return = FALSE;
    $alert = getAlert($connection2, 02);
    $entryCount = 0;
    //PREPARE PLANNER SUMMARY
    $plannerOutput = "<span style='font-size: 85%; font-weight: bold'>" . _('Today\'s Classes') . "</span> . <span style='font-size: 70%'><a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Planner/planner.php&search=" . $gibbonPersonID . "'>" . _('View Planner') . "</a></span>";
    if (isset($_GET["updateReturn"])) {
        $updateReturn = $_GET["updateReturn"];
    } else {
        $updateReturn = "";
    }
    $updateReturnMessage = "";
    $class = "error";
    if (!($updateReturn == "")) {
        if ($updateReturn == "fail0") {
            $updateReturnMessage = _("Your request failed because you do not have access to this action.");
        } else {
            if ($updateReturn == "fail1") {
                $updateReturnMessage = _("Your request failed because your inputs were invalid.");
            } else {
                if ($updateReturn == "fail2") {
                    $updateReturnMessage = _("Your request failed due to a database error.");
                } else {
                    if ($updateReturn == "success0") {
                        $updateReturnMessage = _("Your request was completed successfully.");
                        $class = "success";
                    }
                }
            }
        }
        $plannerOutput .= "<div class='{$class}'>";
        $plannerOutput .= $updateReturnMessage;
        $plannerOutput .= "</div>";
    }
    $classes = FALSE;
    $date = date("Y-m-d");
    if (isSchoolOpen($guid, $date, $connection2) == TRUE and isActionAccessible($guid, $connection2, "/modules/Planner/planner.php") and $_SESSION[$guid]["username"] != "") {
        try {
            $data = array("gibbonSchoolYearID" => $_SESSION[$guid]["gibbonSchoolYearID"], "date" => $date, "gibbonPersonID" => $gibbonPersonID, "date2" => $date, "gibbonPersonID2" => $gibbonPersonID);
            $sql = "(SELECT gibbonPlannerEntry.gibbonPlannerEntryID, gibbonUnitID, gibbonHookID, gibbonPlannerEntry.gibbonCourseClassID, gibbonCourse.nameShort AS course, gibbonCourseClass.nameShort AS class, gibbonPlannerEntry.name, timeStart, timeEnd, viewableStudents, viewableParents, homework, homeworkSubmission, homeworkCrowdAssess, role, date, summary, gibbonPlannerEntryStudentHomework.homeworkDueDateTime AS myHomeworkDueDateTime FROM gibbonPlannerEntry JOIN gibbonCourseClass ON (gibbonPlannerEntry.gibbonCourseClassID=gibbonCourseClass.gibbonCourseClassID) JOIN gibbonCourseClassPerson ON (gibbonCourseClass.gibbonCourseClassID=gibbonCourseClassPerson.gibbonCourseClassID) JOIN gibbonCourse ON (gibbonCourse.gibbonCourseID=gibbonCourseClass.gibbonCourseID) LEFT JOIN gibbonPlannerEntryStudentHomework ON (gibbonPlannerEntryStudentHomework.gibbonPlannerEntryID=gibbonPlannerEntry.gibbonPlannerEntryID AND gibbonPlannerEntryStudentHomework.gibbonPersonID=gibbonCourseClassPerson.gibbonPersonID) WHERE gibbonSchoolYearID=:gibbonSchoolYearID AND date=:date AND gibbonCourseClassPerson.gibbonPersonID=:gibbonPersonID AND NOT role='Student - Left' AND NOT role='Teacher - Left') UNION (SELECT gibbonPlannerEntry.gibbonPlannerEntryID, gibbonUnitID, gibbonHookID, gibbonPlannerEntry.gibbonCourseClassID, gibbonCourse.nameShort AS course, gibbonCourseClass.nameShort AS class, gibbonPlannerEntry.name, timeStart, timeEnd, viewableStudents, viewableParents, homework, homeworkSubmission, homeworkCrowdAssess, role, date, summary, NULL AS myHomeworkDueDateTime FROM gibbonPlannerEntry JOIN gibbonCourseClass ON (gibbonPlannerEntry.gibbonCourseClassID=gibbonCourseClass.gibbonCourseClassID) JOIN gibbonPlannerEntryGuest ON (gibbonPlannerEntryGuest.gibbonPlannerEntryID=gibbonPlannerEntry.gibbonPlannerEntryID) JOIN gibbonCourse ON (gibbonCourse.gibbonCourseID=gibbonCourseClass.gibbonCourseID) WHERE date=:date2 AND gibbonPlannerEntryGuest.gibbonPersonID=:gibbonPersonID2) ORDER BY date, timeStart";
            $result = $connection2->prepare($sql);
            $result->execute($data);
        } catch (PDOException $e) {
            $plannerOutput .= "<div class='error'>" . $e->getMessage() . "</div>";
        }
        if ($result->rowCount() > 0) {
            $classes = TRUE;
            $plannerOutput .= "<table cellspacing='0' style='margin: 3px 0px; width: 100%'>";
            $plannerOutput .= "<tr class='head'>";
            $plannerOutput .= "<th>";
            $plannerOutput .= _("Class") . "<br/>";
            $plannerOutput .= "</th>";
            $plannerOutput .= "<th>";
            $plannerOutput .= _("Lesson") . "<br/>";
            $plannerOutput .= "<span style='font-size: 85%; font-weight: normal; font-style: italic'>" . _("Summary") . "</span>";
            $plannerOutput .= "</th>";
            $plannerOutput .= "<th>";
            $plannerOutput .= _("Homework");
            $plannerOutput .= "</th>";
            $plannerOutput .= "<th>";
            $plannerOutput .= _("Like");
            $plannerOutput .= "</th>";
            $plannerOutput .= "<th>";
            $plannerOutput .= _("Action");
            $plannerOutput .= "</th>";
            $plannerOutput .= "</tr>";
            $count2 = 0;
            $rowNum = "odd";
            while ($row = $result->fetch()) {
                if ($count2 % 2 == 0) {
                    $rowNum = "even";
                } else {
                    $rowNum = "odd";
                }
                $count2++;
                //Highlight class in progress
                if (date("H:i:s") > $row["timeStart"] and date("H:i:s") < $row["timeEnd"] and $date == date("Y-m-d")) {
                    $rowNum = "current";
                }
                //COLOR ROW BY STATUS!
                $plannerOutput .= "<tr class={$rowNum}>";
                $plannerOutput .= "<td>";
                $plannerOutput .= "<b>" . $row["course"] . "." . $row["class"] . "</b><br/>";
                $plannerOutput .= "</td>";
                $plannerOutput .= "<td>";
                $plannerOutput .= $row["name"] . "<br/>";
                $unit = getUnit($connection2, $row["gibbonUnitID"], $row["gibbonHookID"], $row["gibbonCourseClassID"]);
                if (isset($unit[0])) {
                    $plannerOutput .= $unit[0];
                    if ($unit[1] != "") {
                        $plannerOutput .= "<br/><i>" . $unit[1] . " " . _('Unit') . "</i><br/>";
                    }
                }
                $plannerOutput .= "<span style='font-size: 85%; font-weight: normal; font-style: italic'>";
                $plannerOutput .= $row["summary"];
                $plannerOutput .= "</span>";
                $plannerOutput .= "</td>";
                $plannerOutput .= "<td>";
                if ($row["homework"] == "N" and $row["myHomeworkDueDateTime"] == "") {
                    $plannerOutput .= _("No");
                } else {
                    if ($row["homework"] == "Y") {
                        $plannerOutput .= _("Yes") . ": " . _("Teacher Recorded") . "<br/>";
                        if ($row["homeworkSubmission"] == "Y") {
                            $plannerOutput .= "<span style='font-size: 85%; font-style: italic'>+" . _("Submission") . "</span><br/>";
                            if ($row["homeworkCrowdAssess"] == "Y") {
                                $plannerOutput .= "<span style='font-size: 85%; font-style: italic'>+" . _("Crowd Assessment") . "</span><br/>";
                            }
                        }
                    }
                    if ($row["myHomeworkDueDateTime"] != "") {
                        $plannerOutput .= _("Yes") . ": " . _("Student Recorded") . "</br>";
                    }
                }
                $plannerOutput .= "</td>";
                $plannerOutput .= "<td>";
                $likesGiven = countLikesByContextAndGiver($connection2, "Planner", "gibbonPlannerEntryID", $row["gibbonPlannerEntryID"], $_SESSION[$guid]["gibbonPersonID"]);
                if ($likesGiven != 1) {
                    $plannerOutput .= "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/modules/Planner/plannerProcess.php?gibbonPlannerEntryID=" . $row["gibbonPlannerEntryID"] . "&address=/modules/Planner/planner.php&viewBy=date&date={$date}&gibbonPersonID=" . $gibbonPersonID . "&returnToIndex=Y'><img src='" . $_SESSION[$guid]["absoluteURL"] . "/themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/like_off.png'></a>";
                } else {
                    $plannerOutput .= "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/modules/Planner/plannerProcess.php?gibbonPlannerEntryID=" . $row["gibbonPlannerEntryID"] . "&address=/modules/Planner/planner.php&viewBy=date&date={$date}&gibbonPersonID=" . $gibbonPersonID . "&returnToIndex=Y'><img src='" . $_SESSION[$guid]["absoluteURL"] . "/themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/like_on.png'></a>";
                }
                $plannerOutput .= "</td>";
                $plannerOutput .= "<td>";
                $plannerOutput .= "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Planner/planner_view_full.php&search=" . $gibbonPersonID . "&viewBy=date&gibbonPlannerEntryID=" . $row["gibbonPlannerEntryID"] . "&date={$date}&width=1000&height=550'><img title='" . _('View') . "' src='./themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/plus.png'/></a> ";
                $plannerOutput .= "</td>";
                $plannerOutput .= "</tr>";
            }
            $plannerOutput .= "</table>";
        }
    }
    if ($classes == FALSE) {
        $plannerOutput .= "<div style='margin-top: 2px' class='warning'>";
        $plannerOutput .= _("There are no records to display.");
        $plannerOutput .= "</div>";
    }
    //PREPARE RECENT GRADES
    $gradesOutput = "<div style='margin-top: 20px'><span style='font-size: 85%; font-weight: bold'>" . _('Recent Grades') . "</span> . <span style='font-size: 70%'><a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Markbook/markbook_view.php&search=" . $gibbonPersonID . "'>" . _('View Markbook') . "</a></span></div>";
    $grades = FALSE;
    //Get alternative header names
    $attainmentAlternativeName = getSettingByScope($connection2, "Markbook", "attainmentAlternativeName");
    $attainmentAlternativeNameAbrev = getSettingByScope($connection2, "Markbook", "attainmentAlternativeNameAbrev");
    $effortAlternativeName = getSettingByScope($connection2, "Markbook", "effortAlternativeName");
    $effortAlternativeNameAbrev = getSettingByScope($connection2, "Markbook", "effortAlternativeNameAbrev");
    try {
        $dataEntry = array("gibbonSchoolYearID" => $_SESSION[$guid]["gibbonSchoolYearID"], "gibbonPersonID" => $gibbonPersonID);
        $sqlEntry = "SELECT *, gibbonMarkbookColumn.comment AS commentOn, gibbonMarkbookColumn.uploadedResponse AS uploadedResponseOn, gibbonMarkbookEntry.comment AS comment FROM gibbonMarkbookEntry JOIN gibbonMarkbookColumn ON (gibbonMarkbookEntry.gibbonMarkbookColumnID=gibbonMarkbookColumn.gibbonMarkbookColumnID) JOIN gibbonCourseClass ON (gibbonMarkbookColumn.gibbonCourseClassID=gibbonCourseClass.gibbonCourseClassID) JOIN gibbonCourse ON (gibbonCourse.gibbonCourseID=gibbonCourseClass.gibbonCourseID) WHERE gibbonSchoolYearID=:gibbonSchoolYearID AND gibbonPersonIDStudent=:gibbonPersonID AND complete='Y' AND completeDate<='" . date("Y-m-d") . "' AND viewableParents='Y' ORDER BY completeDate DESC LIMIT 0, 3";
        $resultEntry = $connection2->prepare($sqlEntry);
        $resultEntry->execute($dataEntry);
    } catch (PDOException $e) {
        $gradesOutput .= "<div class='error'>" . $e->getMessage() . "</div>";
    }
    if ($resultEntry->rowCount() > 0) {
        $showParentAttainmentWarning = getSettingByScope($connection2, "Markbook", "showParentAttainmentWarning");
        $showParentEffortWarning = getSettingByScope($connection2, "Markbook", "showParentEffortWarning");
        $grades = TRUE;
        $gradesOutput .= "<table cellspacing='0' style='margin: 3px 0px; width: 100%'>";
        $gradesOutput .= "<tr class='head'>";
        $gradesOutput .= "<th style='width: 120px'>";
        $gradesOutput .= _("Assessment");
        $gradesOutput .= "</th>";
        $gradesOutput .= "<th style='width: 75px'>";
        if ($attainmentAlternativeName != "") {
            $gradesOutput .= $attainmentAlternativeName;
        } else {
            $gradesOutput .= _('Attainment');
        }
        $gradesOutput .= "</th>";
        $gradesOutput .= "<th style='width: 75px'>";
        if ($effortAlternativeName != "") {
            $gradesOutput .= $effortAlternativeName;
        } else {
            $gradesOutput .= _('Effort');
        }
        $gradesOutput .= "</th>";
        $gradesOutput .= "<th>";
        $gradesOutput .= _("Comment");
        $gradesOutput .= "</th>";
        $gradesOutput .= "<th style='width: 75px'>";
        $gradesOutput .= _("Submission");
        $gradesOutput .= "</th>";
        $gradesOutput .= "</tr>";
        $count3 = 0;
        while ($rowEntry = $resultEntry->fetch()) {
            if ($count3 % 2 == 0) {
                $rowNum = "even";
            } else {
                $rowNum = "odd";
            }
            $count3++;
            $gradesOutput .= "<a name='" . $rowEntry["gibbonMarkbookEntryID"] . "'></a>";
            $gradesOutput .= "<tr class={$rowNum}>";
            $gradesOutput .= "<td>";
            $gradesOutput .= "<span title='" . htmlPrep($rowEntry["description"]) . "'>" . $rowEntry["name"] . "</span><br/>";
            $gradesOutput .= "<span style='font-size: 90%; font-style: italic; font-weight: normal'>";
            $gradesOutput .= _("Marked on") . " " . dateConvertBack($guid, $rowEntry["completeDate"]) . "<br/>";
            $gradesOutput .= "</span>";
            $gradesOutput .= "</td>";
            if ($rowEntry["attainment"] == "N" or $rowEntry["gibbonScaleIDAttainment"] == "" and $rowEntry["gibbonRubricIDAttainment"] == "") {
                $gradesOutput .= "<td class='dull' style='color: #bbb; text-align: center'>";
                $gradesOutput .= _('N/A');
                $gradesOutput .= "</td>";
            } else {
                $gradesOutput .= "<td style='text-align: center'>";
                $attainmentExtra = "";
                try {
                    $dataAttainment = array("gibbonScaleID" => $rowEntry["gibbonScaleIDAttainment"]);
                    $sqlAttainment = "SELECT * FROM gibbonScale WHERE gibbonScaleID=:gibbonScaleID";
                    $resultAttainment = $connection2->prepare($sqlAttainment);
                    $resultAttainment->execute($dataAttainment);
                } catch (PDOException $e) {
                }
                if ($resultAttainment->rowCount() == 1) {
                    $rowAttainment = $resultAttainment->fetch();
                    $attainmentExtra = "<br/>" . _($rowAttainment["usage"]);
                }
                $styleAttainment = "style='font-weight: bold'";
                if ($rowEntry["attainmentConcern"] == "Y" and $showParentAttainmentWarning == "Y") {
                    $styleAttainment = "style='color: #" . $alert["color"] . "; font-weight: bold; border: 2px solid #" . $alert["color"] . "; padding: 2px 4px; background-color: #" . $alert["colorBG"] . "'";
                } else {
                    if ($rowEntry["attainmentConcern"] == "P" and $showParentAttainmentWarning == "Y") {
                        $styleAttainment = "style='color: #390; font-weight: bold; border: 2px solid #390; padding: 2px 4px; background-color: #D4F6DC'";
                    }
                }
                $gradesOutput .= "<div {$styleAttainment}>" . $rowEntry["attainmentValue"];
                if ($rowEntry["gibbonRubricIDAttainment"] != "") {
                    $gradesOutput .= "<a class='thickbox' href='" . $_SESSION[$guid]["absoluteURL"] . "/fullscreen.php?q=/modules/Markbook/markbook_view_rubric.php&gibbonRubricID=" . $rowEntry["gibbonRubricIDAttainment"] . "&gibbonCourseClassID=" . $rowEntry["gibbonCourseClassID"] . "&gibbonMarkbookColumnID=" . $rowEntry["gibbonMarkbookColumnID"] . "&gibbonPersonID=" . $gibbonPersonID . "&mark=FALSE&type=attainment&width=1100&height=550'><img style='margin-bottom: -3px; margin-left: 3px' title='View Rubric' src='./themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/rubric.png'/></a>";
                }
                $gradesOutput .= "</div>";
                if ($rowEntry["attainmentValue"] != "") {
                    $gradesOutput .= "<div class='detailItem' style='font-size: 75%; font-style: italic; margin-top: 2px'><b>" . htmlPrep(_($rowEntry["attainmentDescriptor"])) . "</b>" . _($attainmentExtra) . "</div>";
                }
                $gradesOutput .= "</td>";
            }
            if ($rowEntry["effort"] == "N" or $rowEntry["gibbonScaleIDEffort"] == "" and $rowEntry["gibbonRubricIDEffort"] == "") {
                $gradesOutput .= "<td class='dull' style='color: #bbb; text-align: center'>";
                $gradesOutput .= _('N/A');
                $gradesOutput .= "</td>";
            } else {
                $gradesOutput .= "<td style='text-align: center'>";
                $effortExtra = "";
                try {
                    $dataEffort = array("gibbonScaleID" => $rowEntry["gibbonScaleIDEffort"]);
                    $sqlEffort = "SELECT * FROM gibbonScale WHERE gibbonScaleID=:gibbonScaleID";
                    $resultEffort = $connection2->prepare($sqlEffort);
                    $resultEffort->execute($dataEffort);
                } catch (PDOException $e) {
                }
                if ($resultEffort->rowCount() == 1) {
                    $rowEffort = $resultEffort->fetch();
                    $effortExtra = "<br/>" . _($rowEffort["usage"]);
                }
                $styleEffort = "style='font-weight: bold'";
                if ($rowEntry["effortConcern"] == "Y" and $showParentEffortWarning == "Y") {
                    $styleEffort = "style='color: #" . $alert["color"] . "; font-weight: bold; border: 2px solid #" . $alert["color"] . "; padding: 2px 4px; background-color: #" . $alert["colorBG"] . "'";
                }
                $gradesOutput .= "<div {$styleEffort}>" . $rowEntry["effortValue"];
                if ($rowEntry["gibbonRubricIDEffort"] != "") {
                    $gradesOutput .= "<a class='thickbox' href='" . $_SESSION[$guid]["absoluteURL"] . "/fullscreen.php?q=/modules/Markbook/markbook_view_rubric.php&gibbonRubricID=" . $rowEntry["gibbonRubricIDEffort"] . "&gibbonCourseClassID=" . $rowEntry["gibbonCourseClassID"] . "&gibbonMarkbookColumnID=" . $rowEntry["gibbonMarkbookColumnID"] . "&gibbonPersonID=" . $gibbonPersonID . "&mark=FALSE&type=effort&width=1100&height=550'><img style='margin-bottom: -3px; margin-left: 3px' title='View Rubric' src='./themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/rubric.png'/></a>";
                }
                $gradesOutput .= "</div>";
                if ($rowEntry["effortValue"] != "") {
                    $gradesOutput .= "<div class='detailItem' style='font-size: 75%; font-style: italic; margin-top: 2px'><b>" . htmlPrep(_($rowEntry["effortDescriptor"])) . "</b>" . _($effortExtra) . "</div>";
                }
                $gradesOutput .= "</td>";
            }
            if ($rowEntry["commentOn"] == "N" and $rowEntry["uploadedResponseOn"] == "N") {
                $gradesOutput .= "<td class='dull' style='color: #bbb; text-align: left'>";
                $gradesOutput .= _('N/A');
                $gradesOutput .= "</td>";
            } else {
                $gradesOutput .= "<td>";
                if ($rowEntry["comment"] != "") {
                    if (strlen($rowEntry["comment"]) > 50) {
                        $gradesOutput .= "<script type='text/javascript'>";
                        $gradesOutput .= "\$(document).ready(function(){";
                        $gradesOutput .= "\$(\".comment-{$entryCount}-{$gibbonPersonID}\").hide();";
                        $gradesOutput .= "\$(\".show_hide-{$entryCount}-{$gibbonPersonID}\").fadeIn(1000);";
                        $gradesOutput .= "\$(\".show_hide-{$entryCount}-{$gibbonPersonID}\").click(function(){";
                        $gradesOutput .= "\$(\".comment-{$entryCount}-{$gibbonPersonID}\").fadeToggle(1000);";
                        $gradesOutput .= "});";
                        $gradesOutput .= "});";
                        $gradesOutput .= "</script>";
                        $gradesOutput .= "<span>" . substr($rowEntry["comment"], 0, 50) . "...<br/>";
                        $gradesOutput .= "<a title='" . _('View Description') . "' class='show_hide-{$entryCount}-{$gibbonPersonID}' onclick='return false;' href='#'>" . _('Read more') . "</a></span><br/>";
                    } else {
                        $gradesOutput .= $rowEntry["comment"];
                    }
                    $gradesOutput .= "<br/>";
                }
                if ($rowEntry["response"] != "") {
                    $gradesOutput .= "<a title='" . _('Uploaded Response') . "' href='" . $_SESSION[$guid]["absoluteURL"] . "/" . $rowEntry["response"] . "'>" . _('Uploaded Response') . "</a><br/>";
                }
                $gradesOutput .= "</td>";
            }
            if ($rowEntry["gibbonPlannerEntryID"] == 0) {
                $gradesOutput .= "<td class='dull' style='color: #bbb; text-align: left'>";
                $gradesOutput .= _('N/A');
                $gradesOutput .= "</td>";
            } else {
                try {
                    $dataSub = array("gibbonPlannerEntryID" => $rowEntry["gibbonPlannerEntryID"]);
                    $sqlSub = "SELECT * FROM gibbonPlannerEntry WHERE gibbonPlannerEntryID=:gibbonPlannerEntryID AND homeworkSubmission='Y'";
                    $resultSub = $connection2->prepare($sqlSub);
                    $resultSub->execute($dataSub);
                } catch (PDOException $e) {
                    $gradesOutput .= "<div class='error'>" . $e->getMessage() . "</div>";
                }
                if ($resultSub->rowCount() != 1) {
                    $gradesOutput .= "<td class='dull' style='color: #bbb; text-align: left'>";
                    $gradesOutput .= _('N/A');
                    $gradesOutput .= "</td>";
                } else {
                    $gradesOutput .= "<td>";
                    $rowSub = $resultSub->fetch();
                    try {
                        $dataWork = array("gibbonPlannerEntryID" => $rowEntry["gibbonPlannerEntryID"], "gibbonPersonID" => $gibbonPersonID);
                        $sqlWork = "SELECT * FROM gibbonPlannerEntryHomework WHERE gibbonPlannerEntryID=:gibbonPlannerEntryID AND gibbonPersonID=:gibbonPersonID ORDER BY count DESC";
                        $resultWork = $connection2->prepare($sqlWork);
                        $resultWork->execute($dataWork);
                    } catch (PDOException $e) {
                        $gradesOutput .= "<div class='error'>" . $e->getMessage() . "</div>";
                    }
                    if ($resultWork->rowCount() > 0) {
                        $rowWork = $resultWork->fetch();
                        if ($rowWork["status"] == "Exemption") {
                            $linkText = _("Exemption");
                        } else {
                            if ($rowWork["version"] == "Final") {
                                $linkText = _("Final");
                            } else {
                                $linkText = _("Draft") . " " . $rowWork["count"];
                            }
                        }
                        $style = "";
                        $status = "On Time";
                        if ($rowWork["status"] == "Exemption") {
                            $status = _("Exemption");
                        } else {
                            if ($rowWork["status"] == "Late") {
                                $style = "style='color: #ff0000; font-weight: bold; border: 2px solid #ff0000; padding: 2px 4px'";
                                $status = _("Late");
                            }
                        }
                        if ($rowWork["type"] == "File") {
                            $gradesOutput .= "<span title='" . $rowWork["version"] . ". {$status}. " . sprintf(_('Submitted at %1$s on %2$s'), substr($rowWork["timestamp"], 11, 5), dateConvertBack($guid, substr($rowWork["timestamp"], 0, 10))) . "' {$style}><a href='" . $_SESSION[$guid]["absoluteURL"] . "/" . $rowWork["location"] . "'>{$linkText}</a></span>";
                        } else {
                            if ($rowWork["type"] == "Link") {
                                $gradesOutput .= "<span title='" . $rowWork["version"] . ". {$status}. " . sprintf(_('Submitted at %1$s on %2$s'), substr($rowWork["timestamp"], 11, 5), dateConvertBack($guid, substr($rowWork["timestamp"], 0, 10))) . "' {$style}><a target='_blank' href='" . $rowWork["location"] . "'>{$linkText}</a></span>";
                            } else {
                                $gradesOutput .= "<span title='{$status}. " . sprintf(_('Recorded at %1$s on %2$s'), substr($rowWork["timestamp"], 11, 5), dateConvertBack($guid, substr($rowWork["timestamp"], 0, 10))) . "' {$style}>{$linkText}</span>";
                            }
                        }
                    } else {
                        if (date("Y-m-d H:i:s") < $rowSub["homeworkDueDateTime"]) {
                            $gradesOutput .= "<span title='Pending'>" . _('Pending') . "</span>";
                        } else {
                            if ($row["dateStart"] > $rowSub["date"]) {
                                $gradesOutput .= "<span title='" . _('Student joined school after assessment was given.') . "' style='color: #000; font-weight: normal; border: 2px none #ff0000; padding: 2px 4px'>" . _('NA') . "</span>";
                            } else {
                                if ($rowSub["homeworkSubmissionRequired"] == "Compulsory") {
                                    $gradesOutput .= "<div style='color: #ff0000; font-weight: bold; border: 2px solid #ff0000; padding: 2px 4px; margin: 2px 0px'>" . _('Incomplete') . "</div>";
                                } else {
                                    $gradesOutput .= _("Not submitted online");
                                }
                            }
                        }
                    }
                    $gradesOutput .= "</td>";
                }
            }
            $gradesOutput .= "</tr>";
            if (strlen($rowEntry["comment"]) > 50) {
                $gradesOutput .= "<tr class='comment-{$entryCount}-{$gibbonPersonID}' id='comment-{$entryCount}-{$gibbonPersonID}'>";
                $gradesOutput .= "<td colspan=6>";
                $gradesOutput .= $rowEntry["comment"];
                $gradesOutput .= "</td>";
                $gradesOutput .= "</tr>";
            }
            $entryCount++;
        }
        $gradesOutput .= "</table>";
    }
    if ($grades == FALSE) {
        $gradesOutput .= "<div style='margin-top: 2px' class='warning'>";
        $gradesOutput .= _("There are no records to display.");
        $gradesOutput .= "</div>";
    }
    //PREPARE UPCOMING DEADLINES
    $deadlinesOutput = "<div style='margin-top: 20px'><span style='font-size: 85%; font-weight: bold'>" . _('Upcoming Deadlines') . "</span> . <span style='font-size: 70%'><a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Planner/planner_deadlines.php&search=" . $gibbonPersonID . "'>" . _('View All Deadlines') . "</a></span></div>";
    $deadlines = FALSE;
    try {
        $data = array("gibbonSchoolYearID" => $_SESSION[$guid]["gibbonSchoolYearID"], "gibbonPersonID" => $gibbonPersonID);
        $sql = "\n\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\tUNION\n\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\tORDER BY homeworkDueDateTime, type";
        $result = $connection2->prepare($sql);
        $result->execute($data);
    } catch (PDOException $e) {
        $deadlinesOutput .= "<div class='error'>" . $e->getMessage() . "</div>";
    }
    if ($result->rowCount() > 0) {
        $deadlines = TRUE;
        $deadlinesOutput .= "<ol style='margin-left: 15px'>";
        while ($row = $result->fetch()) {
            $diff = (strtotime(substr($row["homeworkDueDateTime"], 0, 10)) - strtotime(date("Y-m-d"))) / 86400;
            $style = "style='padding-right: 3px;'";
            if ($diff < 2) {
                $style = "style='padding-right: 3px; border-right: 10px solid #cc0000'";
            } else {
                if ($diff < 4) {
                    $style = "style='padding-right: 3px; border-right: 10px solid #D87718'";
                }
            }
            $deadlinesOutput .= "<li {$style}>";
            $deadlinesOutput .= "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Planner/planner_view_full.php&search=" . $gibbonPersonID . "&gibbonPlannerEntryID=" . $row["gibbonPlannerEntryID"] . "&viewBy=date&date={$date}&width=1000&height=550'>" . $row["course"] . "." . $row["class"] . "</a> ";
            $deadlinesOutput .= "<span style='font-style: italic'>" . sprintf(_('Due at %1$s on %2$s'), substr($row["homeworkDueDateTime"], 11, 5), dateConvertBack($guid, substr($row["homeworkDueDateTime"], 0, 10)));
            $deadlinesOutput .= "</li>";
        }
        $deadlinesOutput .= "</ol>";
    }
    if ($deadlines == FALSE) {
        $deadlinesOutput .= "<div style='margin-top: 2px' class='warning'>";
        $deadlinesOutput .= _("There are no records to display.");
        $deadlinesOutput .= "</div>";
    }
    //PREPARE TIMETABLE
    $timetable = FALSE;
    $timetableOutput = "";
    if (isActionAccessible($guid, $connection2, "/modules/Timetable/tt_view.php")) {
        $date = date("Y-m-d");
        if (isset($_POST["ttDate"])) {
            $date = dateConvert($guid, $_POST["ttDate"]);
        }
        $params = "";
        if ($classes != FALSE or $grades != FALSE or $deadlines != FALSE) {
            $params = "&tab=1";
        }
        $timetableOutputTemp = renderTT($guid, $connection2, $gibbonPersonID, NULL, NULL, dateConvertToTimestamp($date), "", $params, TRUE);
        if ($timetableOutputTemp != FALSE) {
            $timetable = TRUE;
            $timetableOutput .= $timetableOutputTemp;
        }
    }
    //PREPARE ACTIVITIES
    $activities = FALSE;
    $activitiesOutput = FALSE;
    if (!isActionAccessible($guid, $connection2, "/modules/Activities/activities_view.php")) {
        $activitiesOutput .= "<div class='error'>";
        $activitiesOutput .= _("Your request failed because you do not have access to this action.");
        $activitiesOutput .= "</div>";
    } else {
        $activities = TRUE;
        $activitiesOutput .= "<div class='linkTop'>";
        $activitiesOutput .= "<a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Activities/activities_view.php'>" . _('View Available Activities') . "</a>";
        $activitiesOutput .= "</div>";
        $dateType = getSettingByScope($connection2, 'Activities', 'dateType');
        if ($dateType == "Term") {
            $maxPerTerm = getSettingByScope($connection2, 'Activities', 'maxPerTerm');
        }
        try {
            $dataYears = array("gibbonPersonID" => $gibbonPersonID);
            $sqlYears = "SELECT * FROM gibbonStudentEnrolment JOIN gibbonSchoolYear ON (gibbonStudentEnrolment.gibbonSchoolYearID=gibbonSchoolYear.gibbonSchoolYearID) WHERE gibbonSchoolYear.status='Current' AND gibbonPersonID=:gibbonPersonID ORDER BY sequenceNumber DESC";
            $resultYears = $connection2->prepare($sqlYears);
            $resultYears->execute($dataYears);
        } catch (PDOException $e) {
            $activitiesOutput .= "<div class='error'>" . $e->getMessage() . "</div>";
        }
        if ($resultYears->rowCount() < 1) {
            $activitiesOutput .= "<div class='error'>";
            $activitiesOutput .= _("There are no records to display.");
            $activitiesOutput .= "</div>";
        } else {
            $yearCount = 0;
            while ($rowYears = $resultYears->fetch()) {
                $yearCount++;
                try {
                    $data = array("gibbonPersonID" => $gibbonPersonID, "gibbonSchoolYearID" => $rowYears["gibbonSchoolYearID"]);
                    $sql = "SELECT gibbonActivity.*, gibbonActivityStudent.status, NULL AS role FROM gibbonActivity JOIN gibbonActivityStudent ON (gibbonActivity.gibbonActivityID=gibbonActivityStudent.gibbonActivityID) WHERE gibbonActivityStudent.gibbonPersonID=:gibbonPersonID AND gibbonSchoolYearID=:gibbonSchoolYearID AND active='Y' ORDER BY name";
                    $result = $connection2->prepare($sql);
                    $result->execute($data);
                } catch (PDOException $e) {
                    $activitiesOutput .= "<div class='error'>" . $e->getMessage() . "</div>";
                }
                if ($result->rowCount() < 1) {
                    $activitiesOutput .= "<div class='error'>";
                    $activitiesOutput .= _("There are no records to display.");
                    $activitiesOutput .= "</div>";
                } else {
                    $activitiesOutput .= "<table cellspacing='0' style='width: 100%'>";
                    $activitiesOutput .= "<tr class='head'>";
                    $activitiesOutput .= "<th>";
                    $activitiesOutput .= _("Activity");
                    $activitiesOutput .= "</th>";
                    $options = getSettingByScope($connection2, "Activities", "activityTypes");
                    if ($options != "") {
                        $activitiesOutput .= "<th>";
                        $activitiesOutput .= _("Type");
                        $activitiesOutput .= "</th>";
                    }
                    $activitiesOutput .= "<th>";
                    if ($dateType != "Date") {
                        $activitiesOutput .= _("Term");
                    } else {
                        $activitiesOutput .= _("Dates");
                    }
                    $activitiesOutput .= "</th>";
                    $activitiesOutput .= "<th>";
                    $activitiesOutput .= _("Status");
                    $activitiesOutput .= "</th>";
                    $activitiesOutput .= "</tr>";
                    $count = 0;
                    $rowNum = "odd";
                    while ($row = $result->fetch()) {
                        if ($count % 2 == 0) {
                            $rowNum = "even";
                        } else {
                            $rowNum = "odd";
                        }
                        $count++;
                        //COLOR ROW BY STATUS!
                        $activitiesOutput .= "<tr class={$rowNum}>";
                        $activitiesOutput .= "<td>";
                        $activitiesOutput .= $row["name"];
                        $activitiesOutput .= "</td>";
                        if ($options != "") {
                            $activitiesOutput .= "<td>";
                            $activitiesOutput .= trim($row["type"]);
                            $activitiesOutput .= "</td>";
                        }
                        $activitiesOutput .= "<td>";
                        if ($dateType != "Date") {
                            $terms = getTerms($connection2, $_SESSION[$guid]["gibbonSchoolYearID"], true);
                            $termList = "";
                            for ($i = 0; $i < count($terms); $i = $i + 2) {
                                if (is_numeric(strpos($row["gibbonSchoolYearTermIDList"], $terms[$i]))) {
                                    $termList .= $terms[$i + 1] . "<br/>";
                                }
                            }
                            $activitiesOutput .= $termList;
                        } else {
                            if (substr($row["programStart"], 0, 4) == substr($row["programEnd"], 0, 4)) {
                                if (substr($row["programStart"], 5, 2) == substr($row["programEnd"], 5, 2)) {
                                    $activitiesOutput .= date("F", mktime(0, 0, 0, substr($row["programStart"], 5, 2))) . " " . substr($row["programStart"], 0, 4);
                                } else {
                                    $activitiesOutput .= date("F", mktime(0, 0, 0, substr($row["programStart"], 5, 2))) . " - " . date("F", mktime(0, 0, 0, substr($row["programEnd"], 5, 2))) . "<br/>" . substr($row["programStart"], 0, 4);
                                }
                            } else {
                                $activitiesOutput .= date("F", mktime(0, 0, 0, substr($row["programStart"], 5, 2))) . " " . substr($row["programStart"], 0, 4) . " -<br/>" . date("F", mktime(0, 0, 0, substr($row["programEnd"], 5, 2))) . " " . substr($row["programEnd"], 0, 4);
                            }
                        }
                        $activitiesOutput .= "</td>";
                        $activitiesOutput .= "<td>";
                        if ($row["status"] != "") {
                            $activitiesOutput .= $row["status"];
                        } else {
                            $activitiesOutput .= "<i>" . _('NA') . "</i>";
                        }
                        $activitiesOutput .= "</td>";
                        $activitiesOutput .= "</tr>";
                    }
                    $activitiesOutput .= "</table>";
                }
            }
        }
    }
    //GET HOOKS INTO DASHBOARD
    $hooks = array();
    try {
        $dataHooks = array();
        $sqlHooks = "SELECT * FROM gibbonHook WHERE type='Parental Dashboard'";
        $resultHooks = $connection2->prepare($sqlHooks);
        $resultHooks->execute($dataHooks);
    } catch (PDOException $e) {
        print "<div class='error'>" . $e->getMessage() . "</div>";
    }
    if ($resultHooks->rowCount() > 0) {
        $count = 0;
        while ($rowHooks = $resultHooks->fetch()) {
            $options = unserialize($rowHooks["options"]);
            //Check for permission to hook
            try {
                $dataHook = array("gibbonRoleIDCurrent" => $_SESSION[$guid]["gibbonRoleIDCurrent"], "sourceModuleName" => $options["sourceModuleName"]);
                $sqlHook = "SELECT gibbonHook.name, gibbonModule.name AS module, gibbonAction.name AS action FROM gibbonHook JOIN gibbonModule ON (gibbonHook.gibbonModuleID=gibbonModule.gibbonModuleID) JOIN gibbonAction ON (gibbonAction.gibbonModuleID=gibbonModule.gibbonModuleID) JOIN gibbonPermission ON (gibbonPermission.gibbonActionID=gibbonAction.gibbonActionID) WHERE gibbonAction.gibbonModuleID=(SELECT gibbonModuleID FROM gibbonModule WHERE gibbonPermission.gibbonRoleID=:gibbonRoleIDCurrent AND name=:sourceModuleName) AND gibbonHook.type='Parental Dashboard'  AND gibbonAction.name='" . $options["sourceModuleAction"] . "' AND gibbonModule.name='" . $options["sourceModuleName"] . "' ORDER BY name";
                $resultHook = $connection2->prepare($sqlHook);
                $resultHook->execute($dataHook);
            } catch (PDOException $e) {
            }
            if ($resultHook->rowCount() == 1) {
                $rowHook = $resultHook->fetch();
                $hooks[$count]["name"] = $rowHooks["name"];
                $hooks[$count]["sourceModuleName"] = $rowHook["module"];
                $hooks[$count]["sourceModuleInclude"] = $options["sourceModuleInclude"];
                $count++;
            }
        }
    }
    if ($classes == FALSE and $grades == FALSE and $deadlines == FALSE and $timetable == FALSE and $activities == FALSE and count($hooks) < 1) {
        $return .= "<div class='warning'>";
        $return .= _("There are no records to display.");
        $return .= "</div>";
    } else {
        $defaultTab = 0;
        if (isset($_GET["tab"])) {
            $defaultTab = $_GET["tab"];
        }
        $return .= "<script type='text/javascript'>";
        $return .= "\$(function() {";
        $return .= "\$( \"#" . $gibbonPersonID . "tabs\" ).tabs({";
        $return .= "active: " . $defaultTab . ",";
        $return .= "ajaxOptions: {";
        $return .= "error: function( xhr, status, index, anchor ) {";
        $return .= "\$( anchor.hash ).html(";
        $return .= "\"Couldn't load this tab.\" );";
        $return .= "}";
        $return .= "}";
        $return .= "});";
        $return .= "});";
        $return .= "</script>";
        $return .= "<div id='" . $gibbonPersonID . "tabs' style='margin: 0 0'>";
        $return .= "<ul>";
        if ($classes != FALSE or $grades != FALSE or $deadlines != FALSE) {
            $return .= "<li><a href='#tabs1'>" . _('Learning Overview') . "</a></li>";
        }
        if ($timetable != FALSE) {
            $return .= "<li><a href='#tabs2'>" . _('Timetable') . "</a></li>";
        }
        if ($activities != FALSE) {
            $return .= "<li><a href='#tabs3'>" . _('Activities') . "</a></li>";
        }
        $tabCountExtra = 3;
        foreach ($hooks as $hook) {
            $tabCountExtra++;
            $return .= "<li><a href='#tabs" . $tabCountExtra . "'>" . _($hook["name"]) . "</a></li>";
        }
        $return .= "</ul>";
        if ($classes != FALSE or $grades != FALSE or $deadlines != FALSE) {
            $return .= "<div id='tabs1'>";
            $return .= $plannerOutput;
            $return .= $gradesOutput;
            $return .= $deadlinesOutput;
            $return .= "</div>";
        }
        if ($timetable != FALSE) {
            $return .= "<div id='tabs2'>";
            $return .= $timetableOutput;
            $return .= "</div>";
        }
        if ($activities != FALSE) {
            $return .= "<div id='tabs3'>";
            $return .= $activitiesOutput;
            $return .= "</div>";
        }
        $tabCountExtra = 3;
        foreach ($hooks as $hook) {
            $tabCountExtra++;
            $return .= "<div style='min-height: 100px' id='tabs" . $tabCountExtra . "'>";
            $include = $_SESSION[$guid]["absolutePath"] . "/modules/" . $hook["sourceModuleName"] . "/" . $hook["sourceModuleInclude"];
            if (!file_exists($include)) {
                $return .= "<div class='error'>";
                $return .= _("The selected page cannot be displayed due to a hook error.");
                $return .= "</div>";
            } else {
                $return .= (include $include);
            }
            $return .= "</div>";
        }
        $return .= "</div>";
    }
    return $return;
}
Ejemplo n.º 6
0
            $ttDate = NULL;
            if (isset($_POST["ttDate"])) {
                $ttDate = dateConvertToTimestamp(dateConvert($guid, $_POST["ttDate"]));
            }
            if (isset($_POST["fromTT"])) {
                if ($_POST["fromTT"] == "Y") {
                    if (@$_POST["schoolCalendar"] == "on" or @$_POST["schoolCalendar"] == "Y") {
                        $_SESSION[$guid]["viewCalendarSchool"] = "Y";
                    } else {
                        $_SESSION[$guid]["viewCalendarSchool"] = "N";
                    }
                    if (@$_POST["personalCalendar"] == "on" or @$_POST["personalCalendar"] == "Y") {
                        $_SESSION[$guid]["viewCalendarPersonal"] = "Y";
                    } else {
                        $_SESSION[$guid]["viewCalendarPersonal"] = "N";
                    }
                }
            }
            $tt = renderTT($guid, $connection2, $gibbonPersonID, $gibbonTTID, FALSE, $ttDate, "/modules/Timetable/tt_view.php", "&gibbonPersonID={$gibbonPersonID}&allUsers={$allUsers}");
            if ($tt != FALSE) {
                print $tt;
            } else {
                print "<div class='error'>";
                print _("There are no records to display.");
                print "</div>";
            }
            //Set sidebar
            $_SESSION[$guid]["sidebarExtra"] = getUserPhoto($guid, $row["image_240"], 240);
        }
    }
}