$URL .= "&addReturn=fail2"; header("Location: {$URL}"); break; } if ($result->rowCount() > 0) { //Fail 4 $URL .= "&addReturn=fail4"; header("Location: {$URL}"); } else { //Check publicRegistrationMinimumAge $publicRegistrationMinimumAge = getSettingByScope($connection2, 'User Admin', 'publicRegistrationMinimumAge'); $ageFail = FALSE; if ($publicRegistrationMinimumAge == "") { $ageFail = TRUE; } else { if ($publicRegistrationMinimumAge > 0 and $publicRegistrationMinimumAge > getAge(dateConvertToTimestamp($dob), TRUE, TRUE)) { $ageFail = TRUE; } } if ($ageFail == TRUE) { //Fail 5 $URL .= "&addReturn=fail5"; header("Location: {$URL}"); } else { //Write to database try { $data = array("surname" => $surname, "firstName" => $firstName, "preferredName" => $preferredName, "officialName" => $officialName, "gender" => $gender, "dob" => $dob, "email" => $email, "username" => $username, "passwordStrong" => $passwordStrong, "passwordStrongSalt" => $salt, "status" => $status, "gibbonRoleIDPrimary" => $gibbonRoleIDPrimary, "gibbonRoleIDAll" => $gibbonRoleIDAll); $sql = "INSERT INTO gibbonPerson SET surname=:surname, firstName=:firstName, preferredName=:preferredName, officialName=:officialName, gender=:gender, dob=:dob, email=:email, username=:username, password='', passwordStrong=:passwordStrong, passwordStrongSalt=:passwordStrongSalt, status=:status, gibbonRoleIDPrimary=:gibbonRoleIDPrimary, gibbonRoleIDAll=:gibbonRoleIDAll"; $result = $connection2->prepare($sql); $result->execute($data); } catch (PDOException $e) {
print "<input name='address' value='" . $_GET["q"] . "' type='hidden'>"; print "</fieldset>"; 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);
print "<td colspan=6>"; print $specials[$specialCount][2]; print "</td>"; print "</tr>"; $specialCount++; } //COLOR ROW BY STATUS! if ($lesson[8] != "School Closure") { print "<tr class={$rowNum}>"; print "<td {$style}>"; print "<b>Lesson " . ($classCount + 1) . "</b>"; print "</td>"; print "<td {$style}>"; print "<b>" . dateConvertBack($guid, $lesson["1"]) . "</b><br/>"; print date("l", dateConvertToTimestamp($lesson["1"])) . "<br/>"; print date("F", dateConvertToTimestamp($lesson["1"])) . "<br/>"; if ($lesson[8] == "Timing Change") { print "<u>" . $lesson[8] . "</u><br/><i>(" . substr($lesson[9], 0, 5) . "-" . substr($lesson[10], 0, 5) . ")</i>"; } print "</td>"; print "<td {$style}>"; print $lesson["4"] . "<br/>"; print "<span style='font-size: 85%; font-style: italic'>" . substr($lesson["2"], 0, 5) . " - " . substr($lesson["3"], 0, 5) . "</span>"; print "</td>"; print "<td {$style}>"; if ($lesson["0"] == "Planned") { print "<b>" . $lesson["5"] . "</b><br/>"; $unit = getUnit($connection2, $lesson[11], $lesson[13], $lesson[14]); if (isset($unit[0])) { print "<span style='font-size: 85%; font-style: italic'>"; print $unit[0];
$color = "#c00"; $extraStyle = "color: #c00; background-color: #F6CECB; "; } else { $color = "#390"; $extraStyle = "color: #390; background-color: #D4F6DC; "; } } print "<td style='" . $extraStyle . "height: 25px; width: 20%'>"; if ($link != "") { print "<a style='text-decoration: none; color: {$color}' href='{$link}'>"; print date("d", dateConvertToTimestamp($last5SchoolDays[$i])) . "<br/>"; print "<span style='font-size: 65%'>" . date("M", dateConvertToTimestamp($last5SchoolDays[$i])) . "</span>"; print "</a>"; } else { print date("d", dateConvertToTimestamp($last5SchoolDays[$i])) . "<br/>"; print "<span style='font-size: 65%'>" . date("M", dateConvertToTimestamp($last5SchoolDays[$i])) . "</span>"; } print "</td>"; } } print "</tr>"; print "</table>"; print "</td>"; if ($count % $columns == $columns - 1) { print "</tr>"; } $count++; } for ($i = 0; $i < $columns - $count % $columns; $i++) { print "<td></td>"; }
//We are currently in term if ($resultTerm->rowCount() > 0) { $rowTerm = $resultTerm->fetch(); $listingStart = date("Y-m-d", dateConvertToTimestamp($rowTerm["lastDay"]) - 1209600); try { $dataTerm2 = array("gibbonSchoolYearID" => $_SESSION[$guid]["gibbonSchoolYearID"], "sequenceNumber" => $rowTerm["sequenceNumber"]); $sqlTerm2 = "SELECT * FROM gibbonSchoolYearTerm WHERE gibbonSchoolYearID=:gibbonSchoolYearID AND sequenceNumber>:sequenceNumber ORDER BY sequenceNumber"; $resultTerm2 = $connection2->prepare($sqlTerm2); $resultTerm2->execute($dataTerm2); } catch (PDOException $e) { print "<div class='error'>" . $e->getMessage() . "</div>"; } //There is another term coming up if ($resultTerm2->rowCount() > 0) { $rowTerm2 = $resultTerm2->fetch(); $listingEnd = date("Y-m-d", dateConvertToTimestamp($rowTerm2["firstDay"]) + 1209600); $programStart = $rowTerm2["firstDay"]; $programEnd = $rowTerm2["lastDay"]; } } ?> <tr> <td> <b><?php print _('Listing Start Date'); ?> *</b><br/> <span style="font-size: 90%"><i><?php print _('Format:'); ?>
if ($lesson[8] != "School Closure") { print "<tr class={$rowNum}>"; print "<td {$style}>"; print "<b>Lesson " . ($classCount + 1) . "</b>"; print "</td>"; print "<td {$style}>"; print dateConvertBack($guid, $lesson["1"]) . "<br/>"; if ($lesson[8] == "Timing Change") { print "<u>" . $lesson[8] . "</u><br/><i>(" . substr($lesson[9], 0, 5) . "-" . substr($lesson[10], 0, 5) . ")</i>"; } print "</td>"; print "<td {$style}>"; print date("D", dateConvertToTimestamp($lesson["1"])); print "</td>"; print "<td {$style}>"; print date("M", dateConvertToTimestamp($lesson["1"])); print "</td>"; print "<td {$style}>"; print $lesson["4"] . "<br/>"; print substr($lesson["2"], 0, 5) . " - " . substr($lesson["3"], 0, 5); print "</td>"; print "<td {$style}>"; if ($lesson["0"] == "Planned") { print $lesson["5"] . "<br/>"; } print "</td>"; print "<td {$style}>"; if ($lesson["0"] == "Unplanned") { print "<input name='deploy{$count}' type='checkbox'>"; print "<input name='date{$count}' type='hidden' value='" . $lesson["1"] . "'>"; print "<input name='timeStart{$count}' type='hidden' value='" . $lesson["2"] . "'>";
} } $cells = count($lessons); if ($cells < 1) { print "<div class='error'>"; print _("There are no records to display."); print "</div>"; } else { $deployCount = 0; $blockCount2 = $blockCount; for ($i = 0; $i < $cells; $i++) { print "<div id='lessonInner{$i}' style='min-height: 60px; border: 1px solid #333; width: 100%; margin-bottom: 45px; float: left; padding: 2px; background-color: #F7F0E3'>"; $length = (strtotime($lessons[$i][0] . " " . $lessons[$i][2]) - strtotime($lessons[$i][0] . " " . $lessons[$i][1])) / 60; print "<div id='sortable{$i}' style='min-height: 60px; font-size: 120%; font-style: italic'>"; print "<div id='head{$i}' class='head' style='height: 54px; font-size: 85%; padding: 3px'>"; print "<b>" . ($i + 1) . ". " . date("D jS M, Y", dateConvertToTimestamp($lessons[$i][0])) . "</b><br/>"; print "<span style='font-size: 80%'><i>" . $lessons[$i][3] . " (" . substr($lessons[$i][1], 0, 5) . " - " . substr($lessons[$i][2], 0, 5) . ")</i></span>"; print "<input type='hidden' name='order[]' value='lessonHeader-{$i}' >"; print "<input type='hidden' name='date{$i}' value='" . $lessons[$i][0] . "' >"; print "<input type='hidden' name='timeStart{$i}' value='" . $lessons[$i][1] . "' >"; print "<input type='hidden' name='timeEnd{$i}' value='" . $lessons[$i][2] . "' >"; print "<div style='text-align: right; float: right; margin-top: -17px; margin-right: 3px'>"; print "<span style='font-size: 80%'><i>" . _('Add Block:') . "</i></span><br/>"; print "<script type='text/javascript'>"; print "\$(document).ready(function(){"; print "\$(\"#blockAdd{$i}\").change(function(){"; print "if (\$(\"#blockAdd{$i}\").val()!='') {"; print "\$(\"#sortable{$i}\").append('<div id=\\'blockOuter' + count + '\\' class=\\'blockOuter\\'><div class=\\'odd\\' style=\\'text-align: center; font-size: 75%; height: 60px; border: 1px solid #d8dcdf; margin: 0 0 5px\\' id=\\'block{$i}\\' style=\\'padding: 0px\\'><img style=\\'margin: 10px 0 5px 0\\' src=\\'" . $_SESSION[$guid]["absoluteURL"] . "/themes/Default/img/loading.gif\\' alt=\\'Loading\\' onclick=\\'return false;\\' /><br/>Loading</div></div>');"; print "\$(\"#blockOuter\" + count).load(\"" . $_SESSION[$guid]["absoluteURL"] . "/modules/Planner/units_add_blockAjax.php?mode=workingDeploy&gibbonUnitID={$gibbonUnitID}&gibbonUnitBlockID=\" + \$(\"#blockAdd{$i}\").val(),\"id=\" + count) ;"; print "count++ ;"; print "}";
$profession = $_POST['profession']; $employer = $_POST['employer']; $jobTitle = $_POST['jobTitle']; $graduatingYear = $_POST['graduatingYear']; $formerRole = $_POST['formerRole']; if ($surname == '' or $firstName == '' or $officialName == '' or $gender == '' or $dob == '' or $email == '' or $formerRole == '') { //Fail 3 $URL .= '&return=error3'; header("Location: {$URL}"); } else { //Check publicRegistrationMinimumAge $publicRegistrationMinimumAge = getSettingByScope($connection2, 'User Admin', 'publicRegistrationMinimumAge'); $ageFail = false; if ($publicRegistrationMinimumAge == '') { $ageFail = true; } elseif ($publicRegistrationMinimumAge > 0 and $publicRegistrationMinimumAge > getAge(dateConvertToTimestamp($dob), true, true)) { $ageFail = true; } if ($ageFail == true) { //Fail 5 $URL .= '&return=error5'; header("Location: {$URL}"); } else { //Write to database try { $data = array('title' => $title, 'surname' => $surname, 'firstName' => $firstName, 'officialName' => $officialName, 'maidenName' => $maidenName, 'gender' => $gender, 'username' => $username, 'dob' => $dob, 'email' => $email, 'address1Country' => $address1Country, 'profession' => $profession, 'employer' => $employer, 'jobTitle' => $jobTitle, 'graduatingYear' => $graduatingYear, 'formerRole' => $formerRole); $sql = 'INSERT INTO alumniAlumnus SET title=:title, surname=:surname, firstName=:firstName, officialName=:officialName, maidenName=:maidenName, gender=:gender, username=:username, dob=:dob, email=:email, address1Country=:address1Country, profession=:profession, employer=:employer, jobTitle=:jobTitle, graduatingYear=:graduatingYear, formerRole=:formerRole'; $result = $connection2->prepare($sql); $result->execute($data); } catch (PDOException $e) { //Fail 2
function isSchoolOpen($guid, $date, $connection2, $allYears = "") { //Set test variables $isInTerm = FALSE; $isSchoolDay = FALSE; $isSchoolOpen = FALSE; //Turn $date into UNIX timestamp and extract day of week $timestamp = dateConvertToTimestamp($date); $dayOfWeek = date("D", $timestamp); //See if date falls into a school term try { $data = array(); $sqlWhere = ""; if ($allYears != TRUE) { $data[$_SESSION[$guid]["gibbonSchoolYearID"]] = $_SESSION[$guid]["gibbonSchoolYearID"]; $sqlWhere = " AND gibbonSchoolYear.gibbonSchoolYearID=:" . $_SESSION[$guid]["gibbonSchoolYearID"]; } $sql = "SELECT gibbonSchoolYearTerm.firstDay, gibbonSchoolYearTerm.lastDay FROM gibbonSchoolYearTerm, gibbonSchoolYear WHERE gibbonSchoolYearTerm.gibbonSchoolYearID=gibbonSchoolYear.gibbonSchoolYearID {$sqlWhere}"; $result = $connection2->prepare($sql); $result->execute($data); } catch (PDOException $e) { } while ($row = $result->fetch()) { if ($date >= $row["firstDay"] and $date <= $row["lastDay"]) { $isInTerm = TRUE; } } //See if date's day of week is a school day if ($isInTerm == TRUE) { try { $data = array("nameShort" => $dayOfWeek); $sql = "SELECT * FROM gibbonDaysOfWeek WHERE nameShort=:nameShort AND schoolDay='Y'"; $result = $connection2->prepare($sql); $result->execute($data); } catch (PDOException $e) { } if ($result->rowCount() > 0) { $isSchoolDay = TRUE; } } //See if there is a special day if ($isInTerm == TRUE and $isSchoolDay == TRUE) { try { $data = array("date" => $date); $sql = "SELECT * FROM gibbonSchoolYearSpecialDay WHERE type='School Closure' AND date=:date"; $result = $connection2->prepare($sql); $result->execute($data); } catch (PDOException $e) { } if ($result->rowCount() < 1) { $isSchoolOpen = TRUE; } } return $isSchoolOpen; }
} else { $extra = _("View Messages") . " (" . $date . ")"; } print "<div class='trail'>"; print "<div class='trailHead'><a href='" . $_SESSION[$guid]["absoluteURL"] . "'>" . _("Home") . "</a> > <a href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/" . getModuleName($_GET["q"]) . "/" . getModuleEntry($_GET["q"], $connection2, $guid) . "'>" . _(getModuleName($_GET["q"])) . "</a> > </div><div class='trailEnd'>{$extra}</div>"; print "</div>"; print "<div class='linkTop' style='height: 27px'>"; print "<div style='text-align: left; width: 40%; float: left;'>"; print "<form method='post' action='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Messenger/messageWall_view.php'>"; print "<input name='date' maxlength=10 value='" . date($_SESSION[$guid]["i18n"]["dateFormatPHP"], dateConvertToTimestamp(dateConvert($guid, $date)) - 24 * 60 * 60) . "' type='hidden' style='width:100px; float: none; margin-right: 4px;'>"; ?> <input class='buttonLink' style='min-width: 30px; margin-top: 0px; float: left' type='submit' value='Previous Day'> <?php print "</form>"; print "<form method='post' action='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Messenger/messageWall_view.php'>"; print "<input name='date' maxlength=10 value='" . date($_SESSION[$guid]["i18n"]["dateFormatPHP"], dateConvertToTimestamp(dateConvert($guid, $date)) + 24 * 60 * 60) . "' type='hidden' style='width:100px; float: none; margin-right: 4px;'>"; ?> <input class='buttonLink' style='min-width: 30px; margin-top: 0px; float: left' type='submit' value='Next Day'> <?php print "</form>"; print "</div>"; print "<div style='width: 40%; float: right'>"; print "<form method='post' action='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Messenger/messageWall_view.php'>"; print "<input name='date' id='date' maxlength=10 value='" . $date . "' type='text' style='width:100px; float: none; margin-right: 4px;'>"; ?> <script type="text/javascript"> var date=new LiveValidation('date'); date.add( Validate.Format, {pattern: <?php if ($_SESSION[$guid]["i18n"]["dateFormatRegEx"] == "") { print "/^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\\d\\d\$/i"; } else {
} $count++; //COLOR ROW BY STATUS! print "<tr class={$rowNum}>"; print "<td>"; print $row["name"]; print "</td>"; print "<td>"; print formatName("", $row["preferredName"], $row["surname"], "Student", true); print "</td>"; print "<td>"; print $row["gender"]; print "</td>"; print "<td>"; if (is_null($row["dob"]) == FALSE and $row["dob"] != "0000-00-00") { print getAge(dateConvertToTimestamp($row["dob"]), TRUE) . "<br/>"; print "<span style='font-style: italic; font-size: 85%'>" . dateConvertBack($guid, $row["dob"]) . "</span>"; } print "</td>"; print "<td>"; if ($row["citizenship1"] != "") { print $row["citizenship1"] . "<br/>"; } if ($row["citizenship2"] != "") { print $row["citizenship2"] . "<br/>"; } print "</td>"; print "<td>"; print $row["transport"]; print "</td>"; print "<td>";
print "<a onclick='return confirm(\"Are you sure you want to jump to this lesson? Any unsaved changes will be lost.\")' style='font-weight: bold; font-style: normal; color: #333' href='" . $_SESSION[$guid]["absoluteURL"] . "/index.php?q=/modules/Planner/planner_view_full.php&viewBy=class&gibbonCourseClassID=" . $rowLessons["gibbonCourseClassID"] . "&gibbonPlannerEntryID=" . $rowLessons["gibbonPlannerEntryID"] . "'>" . ($i + 1) . ". " . $rowLessons["name"] . "</a> <a onclick='return confirm(\"" . _('Are you sure you want to delete this record? Any unsaved changes will be lost.') . "\")' href='" . $_SESSION[$guid]["absoluteURL"] . "/modules/" . $_SESSION[$guid]["module"] . "/units_edit_working_lessonDelete.php?gibbonUnitID={$gibbonUnitID}&gibbonSchoolYearID={$gibbonSchoolYearID}&gibbonCourseID={$gibbonCourseID}&gibbonCourseClassID={$gibbonCourseClassID}&gibbonUnitClassID={$gibbonUnitClassID}&address=" . $_GET["q"] . "&gibbonPlannerEntryID=" . $rowLessons["gibbonPlannerEntryID"] . "'><img title='" . _('Delete') . "' src='./themes/" . $_SESSION[$guid]["gibbonThemeName"] . "/img/garbage.png'/ style='position: absolute; margin: -1px 0px 2px 10px'></a><br/>"; try { $dataTT = array("date" => $rowLessons["date"], "timeStart" => $rowLessons["timeStart"], "timeEnd" => $rowLessons["timeEnd"], "gibbonCourseClassID" => $gibbonCourseClassID); $sqlTT = "SELECT timeStart, timeEnd, date, gibbonTTColumnRow.name AS period, gibbonTTDayRowClassID, gibbonTTDayDateID FROM gibbonTTDayRowClass JOIN gibbonTTColumnRow ON (gibbonTTDayRowClass.gibbonTTColumnRowID=gibbonTTColumnRow.gibbonTTColumnRowID) JOIN gibbonTTColumn ON (gibbonTTColumnRow.gibbonTTColumnID=gibbonTTColumn.gibbonTTColumnID) JOIN gibbonTTDay ON (gibbonTTDayRowClass.gibbonTTDayID=gibbonTTDay.gibbonTTDayID) JOIN gibbonTTDayDate ON (gibbonTTDayDate.gibbonTTDayID=gibbonTTDay.gibbonTTDayID) WHERE date=:date AND timeStart=:timeStart AND timeEnd=:timeEnd AND gibbonCourseClassID=:gibbonCourseClassID ORDER BY date, timestart"; $resultTT = $connection2->prepare($sqlTT); $resultTT->execute($dataTT); } catch (PDOException $e) { print "<div class='error'>" . $e->getMessage() . "</div>"; } if ($resultTT->rowCount() == 1) { $rowTT = $resultTT->fetch(); print "<span style='font-size: 80%'><i>" . date("D jS M, Y", dateConvertToTimestamp($rowLessons["date"])) . "<br/>" . $rowTT["period"] . " (" . substr($rowLessons["timeStart"], 0, 5) . " - " . substr($rowLessons["timeEnd"], 0, 5) . ")</i></span>"; } else { print "<span style='font-size: 80%'><i>"; if ($rowLessons["date"] != "") { print date("D jS M, Y", dateConvertToTimestamp($rowLessons["date"])) . "<br/>"; print substr($rowLessons["timeStart"], 0, 5) . " - " . substr($rowLessons["timeEnd"], 0, 5) . "</i>"; } else { print "Date not set<br/>"; } print "</span>"; } print "<input type='hidden' name='order[]' value='lessonHeader-{$i}' >"; print "<input type='hidden' name='date{$i}' value='" . $rowLessons["date"] . "' >"; print "<input type='hidden' name='timeStart{$i}' value='" . $rowLessons["timeStart"] . "' >"; print "<input type='hidden' name='timeEnd{$i}' value='" . $rowLessons["timeEnd"] . "' >"; print "<input type='hidden' name='gibbonPlannerEntryID{$i}' value='" . $rowLessons["gibbonPlannerEntryID"] . "' >"; print "<div style='text-align: right; float: right; margin-top: -33px; margin-right: 3px'>"; print "<span style='font-size: 80%'><i>" . _('Add Block:') . "</i></span><br/>"; print "<script type='text/javascript'>"; print "\$(document).ready(function(){";
} $dateEnd = $dateStart; if ($_POST["dateEnd"] != "") { $dateEnd = dateConvert($guid, $_POST["dateEnd"]); } $today = date("Y-m-d"); //Check to see if date is in the future and is a school day. if ($dateStart == "" or $dateStart <= $today or $dateEnd != "" and $dateEnd < $dateStart) { //Fail 3 $URL .= "&updateReturn=fail3"; header("Location: {$URL}"); } else { //Scroll through days $partialFail = FALSE; $dateStartStamp = dateConvertToTimestamp($dateStart); $dateEndStamp = dateConvertToTimestamp($dateEnd); for ($i = $dateStartStamp; $i <= $dateEndStamp; $i = $i + 86400) { $date = date("Y-m-d", $i); if (isSchoolOpen($guid, $date, $connection2)) { //Only add if school is open on this day //Check for record on same day try { $data = array("gibbonPersonID" => $gibbonPersonID, "date" => "{$date}%"); $sql = "SELECT * FROM gibbonAttendanceLogPerson WHERE gibbonPersonID=:gibbonPersonID AND date LIKE :date ORDER BY date DESC"; $result = $connection2->prepare($sql); $result->execute($data); } catch (PDOException $e) { $partialFail = TRUE; } if ($result->rowCount() > 0) { $partialFail = TRUE;