if ($repeat == "Weekly" and $repeatWeekly >= 2 and $repeatWeekly <= 20) { $continue = TRUE; $failCount = 0; $successCount = 0; $count = 0; while ($continue) { $dateTemp = date('Y-m-d', strtotime($date) + 86400 * 7 * $count); if (isSchoolOpen($guid, $dateTemp, $connection2)) { $available = TRUE; $successCount++; $failCount = 0; if ($successCount >= $repeatWeekly) { $continue = FALSE; } //Print days if (isSpaceFree($guid, $connection2, $gibbonSpaceID, $dateTemp, $timeStart, $timeEnd) == TRUE) { ?> <tr class='current'> <td> <b><?php print dateConvertBack($guid, $dateTemp); ?> </b><br/> <span style="font-size: 90%"><i></i></span> </td> <td class="right"> <input checked type='checkbox' name='dates[]' value='<?php print $dateTemp; ?> '> </td>
} else { //Lock tables try { $sql = "LOCK TABLE gibbonDaysOfWeek WRITE, gibbonSchoolYear WRITE, gibbonSchoolYearSpecialDay WRITE, gibbonSchoolYearTerm WRITE, gibbonTTColumnRow WRITE, gibbonTTDay WRITE, gibbonTTDayDate WRITE, gibbonTTDayRowClass WRITE, gibbonTTSpaceBooking WRITE, gibbonTTSpaceChange WRITE"; $result = $connection2->query($sql); } catch (PDOException $e) { //Fail 2 $URL .= "&duplicateReturn=fail2"; header("Location: {$URL}"); break; } $failCount = 0; $available = ""; //Scroll through all dates foreach ($dates as $date) { $available = isSpaceFree($guid, $connection2, $gibbonSpaceID, $date, $timeStart, $timeEnd); if ($available == FALSE) { $failCount++; } else { //Write to database try { $data = array("gibbonSpaceID" => $gibbonSpaceID, "date" => $date, "timeStart" => $timeStart, "timeEnd" => $timeEnd, "gibbonPersonID" => $_SESSION[$guid]["gibbonPersonID"]); $sql = "INSERT INTO gibbonTTSpaceBooking SET gibbonSpaceID=:gibbonSpaceID, date=:date, timeStart=:timeStart, timeEnd=:timeEnd, gibbonPersonID=:gibbonPersonID"; $result = $connection2->prepare($sql); $result->execute($data); } catch (PDOException $e) { $failCount++; } } } $successCount = count($dates) - $failCount;