$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);
Example #3
0
     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>";
 }
Example #5
0
        //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"] . "'>";
Example #7
0
     }
 }
 $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
Example #9
0
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;
}
Example #10
0
    } 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>";
Example #12
0
 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;