rendered paste body<?php require_once "inc/authorize.php";require_once "inc/header.php";// Hur många veckor framöver ska visas?isset($_GET["forth"]) ? $sizeOfWeeks = $_GET["forth"] : $sizeOfWeeks = WEEKS_FORTH;isset($_GET["view"]) ? null : $_GET["view"] = "teachers"; // Initierar start- och slutdatum för veckorna som ska visas i schemat if (isset($_GET["week"]) && isset($_GET["year"])) { $thisWeek = $_GET["week"]; $thisYear = $_GET["year"]; } else { $thisWeek = date("W"); $thisYear = date("Y"); }/* Visar datum-panel, där användaren kan bestämma hur schemat ska visas */viewDatePanel();// Om man ska skriva ut schemat, visa ett meddelande om att förhandsgranska innan utskriftif (basename($_SERVER["PHP_SELF"]) == "schemeprint.php" && isset($_GET["print"])) { echo '<div id="printMessage"> <u>OBS!</u><br /> <span style="color: #000">Välj förhandsgranska i menyn istället för att skriva ut schemat direkt, då inställningarna för skrivaren kan vara inställda för att skriva ut i "stående" format.</span> (Detta meddelande kommer inte att synas på själva utskriften) </div> <img src="img/totski.gif" width="152" height="94" border="0" alt="Totalskidskolan" id="logo" />';}// Iteration för ett antal veckor framöverfor ($i = 0; $i < $sizeOfWeeks; $i++) { // Sätter start- och slutdatum för veckan som körs igenom $arrayWeekDates = getDateInWeek($thisWeek, $thisYear); // Listar efter passtiderna if ($_GET["view"] != "teachers") { echo ' <table cellspacing="1" cellpadding="2" border="1" class="fullWidth"> <caption>v.'. $thisWeek .', '. date("d/m", strtotime($arrayWeekDates[0])) .' - '. date("d/m", strtotime($arrayWeekDates[6])) .' ('. date("Y", strtotime($arrayWeekDates[0])) .')</caption> <thead> <tr> <th colspan="4"> </td> <th colspan="7">Veckodag</th> <th colspan="3"> </th> </tr> <tr> <th>Veckoansvarig</td> <th>Tid</th> <th>Skidlärare</th> <th>Gäst</th> <th>M</th> <th>Ti</th> <th>O</th> <th>To</th> <th>F</th> <th class="red">L</th> <th class="red">S</th> <th>Åker</th> <th>Hyr</th> <th>Övrigt</th> </tr> </thead> <tbody'; /* Iteration för de pass som är inbokade för nuvarande vecka */ $query = fmysql_query("SELECT pw.passWeekID, CONCAT(fromTime,'-',tilTime) passTime FROM pass_times p, pass_weeks pw WHERE pw.fromDate='". $arrayWeekDates[0] ."' AND pw.tilDate='". $arrayWeekDates[6] ."' AND p.passID=pw.passID GROUP BY p.passID ORDER BY p.fromTime"); if (mysql_num_rows($query) > 0) { for ($j = 0; list($passWeekID, $passTime) = mysql_fetch_row($query); $j++) { echo '<tr>'; // Veckoansvarig skidärare if ($j == 0) { $query2 = fmysql_query("SELECT CONCAT(t.firstName,' ', lastName) fullName FROM teachers_responsible tr, teachers t WHERE tr.teacherID=t.teacherID AND fromDate='". $arrayWeekDates[0] ."' AND tilDate='". $arrayWeekDates[6] ."'"); list ($teacherName) = mysql_fetch_row($query2); if ($teacherName != "") echo '<td rowspan="99">'. $teacherName .'</td>'; else echo '<td rowspan="99" class="red">Obestämt</td>'; } // Starttid-Sluttid echo '<td>'. $passTime .'</td>'; /* Hämtar de gäster som bokats in för aktuell tidpunkt */ $query3 = fmysql_query("SELECT gb.guestBookingID, g.guestID, teacherBookingID, CONCAT(g.firstName,' ',g.lastName) fullName, g.info, gb.fromDate, gb.tilDate FROM guests g, guests_booking gb, pass_weeks pw WHERE g.guestID=gb.guestID AND gb.passWeekID=pw.passWeekID AND gb.passWeekID='". $passWeekID ."' AND (gb.fromDate BETWEEN '". $arrayWeekDates[0] ."' AND '". $arrayWeekDates[6] ."') AND (gb.tilDate BETWEEN '". $arrayWeekDates[0] ."' AND '". $arrayWeekDates[6] ."') ORDER BY g.lastName, g.firstName"); if (mysql_num_rows($query3) > 0) { for ($k = 0; list($guestBookingID, $guestID, $teacherBookingID, $fullName, $info, $fromDate, $tilDate) = mysql_fetch_row($query3); $k++) { if ($k != 0) echo '<td> </td>'; /* Hämtar eventuell bokad skidlärare */ $query4 = fmysql_query("SELECT CONCAT(firstName,' ',lastName) fullName FROM teachers where teacherID='". $teacherBookingID ."'"); list ($teacherName) = mysql_fetch_row($query4); //echo "<strong>" . $teacherBookingID . "</strong><br>"; if ($teacherName != "") echo '<td>'. $teacherName .'</td>'; else echo '<td class="red">Obokad</td>'; echo '<td>'. $fullName .'</td>'; // Veckodagarna for ($l = 0; $l < count($arrayWeekDates); $l++) { if (strtotime($arrayWeekDates[$l]) - strtotime($fromDate) >= 0 && strtotime($tilDate) - strtotime($arrayWeekDates[$l]) >= 0) { echo '<td style="padding: 0; background: #111; text-align: center; vertical-align: middle;"><img src="img/blackdot.gif" width="15" height="15" alt="" /></td>'; } else { echo '<td> </td>'; } } // Åker echo '<td>'; $query2 = fmysql_query("SELECT r.name FROM rides r, guests_rides gr WHERE r.rideID=gr.rideID AND gr.guestID='". $guestID ."'"); while (list ($rideName) = mysql_fetch_row($query2)) echo $rideName. ', '; echo ' </td> <td> </td> <td>'. $info .'</td> </tr>'; } } else { for ($n = 0; $n < 12; $n++) echo '<td> </td>'; echo '</tr>'; } // loop-gäster } // loop-pass } // Listar sorterat efter skidlärarna istället } else { echo ' <table cellspacing="1" cellpadding="2" border="1" style="width: 100%;"> <caption>v.'. $thisWeek .', '. date("d/m", strtotime($arrayWeekDates[0])) .' - '. date("d/m", strtotime($arrayWeekDates[6])) .' ('. date("Y", strtotime($arrayWeekDates[0])) .')</caption> <thead> <tr> <th colspan="3"> </td> <th colspan="7">Veckodag</th> <th colspan="3"> </th> </tr> <tr> <th>Skidlärare</td> <th>Tid</th> <th>Gäst</th> <th>M</th> <th>Ti</th> <th>O</th> <th>To</th> <th>F</th> <th class="red">L</th> <th class="red">S</th> <th>Åker</th> <th>Hyr</th> <th>Övrigt</th> </tr> </thead> <tbody>'; // Hämtar veckoansvarig om sådan finns $sql = "SELECT t.teacherID, CONCAT(t.firstName,' ',t.lastName) fullName FROM teachers t, teachers_booking tb WHERE t.teacherID=tb.teacherID AND tb.teacherID=(SELECT teacherID FROM teachers_responsible tr WHERE (tr.fromDate BETWEEN '". $arrayWeekDates[0] ."' AND '". $arrayWeekDates[6] ."') AND (tr.tilDate BETWEEN '". $arrayWeekDates[0] ."' AND '". $arrayWeekDates[6] ."')) GROUP BY t.teacherID"; $query = fmysql_query($sql); $responsibleTeacherFound = false; // Annars körs bara de "vanliga" skidlärarna igenom $sql = "SELECT t.teacherID, CONCAT(t.firstName,' ',t.lastName) fullName FROM teachers t, teachers_booking tb, guests_booking gb WHERE t.teacherID=tb.teacherID AND t.teacherID!='". $responsibleTeacherID ."' AND tb.teacherBookingID=gb.teacherBookingID AND (gb.fromDate BETWEEN '". $arrayWeekDates[0] ."' AND '". $arrayWeekDates[6] ."') AND (gb.tilDate BETWEEN '". $arrayWeekDates[0] ."' AND '". $arrayWeekDates[6] ."') GROUP BY t.teacherID ORDER BY fullName"; if (mysql_num_rows($query) == 0) $query = fmysql_query($sql); else $responsibleTeacherFound = true; // Hämtar alla inbokade skidlärare for ($j = 0; list ($teacherID, $teacherName) = mysql_fetch_row($query); $prevPassTime = "", $j++, $responsibleTeacherFound = false) { // Om veckoansvarig fanns, börja lista alla andra skidlärare efter första varvet if ($j == 0 && $responsibleTeacherFound) { $responsibleTeacherID = $teacherID;; $sql = "SELECT t.teacherID, CONCAT(t.firstName,' ',t.lastName) fullName FROM teachers t, teachers_booking tb, guests_booking gb WHERE t.teacherID=tb.teacherID AND t.teacherID!='". $responsibleTeacherID ."' AND tb.teacherBookingID=gb.teacherBookingID AND (gb.fromDate BETWEEN '". $arrayWeekDates[0] ."' AND '". $arrayWeekDates[6] ."') AND (gb.tilDate BETWEEN '". $arrayWeekDates[0] ."' AND '". $arrayWeekDates[6] ."') GROUP BY t.teacherID ORDER BY fullName"; $query = fmysql_query($sql); } $sizeOfBookedGuests = mysql_num_rows(fmysql_query("SELECT null FROM guests_booking gb, teachers_booking tb WHERE gb.teacherBookingID=tb.teacherBookingID AND tb.teacherID='". $teacherID ."' AND (gb.fromDate BETWEEN '". $arrayWeekDates[0] ."' AND '". $arrayWeekDates[6] ."') AND (gb.tilDate BETWEEN '". $arrayWeekDates[0] ."' AND '". $arrayWeekDates[6] ."')")); echo '<tr> <td rowspan="'. ($sizeOfBookedGuests+1) .'">'; if ($responsibleTeacherFound) echo '<strong>Veckoansvarig: </strong>'; echo $teacherName; echo '</td>'; $query2 = fmysql_query("SELECT tb.teacherBookingID FROM teachers_booking tb, pass_times p, pass_weeks pw WHERE p.passID=pw.passID AND pw.passWeekID=tb.passWeekID AND tb.teacherID='". $teacherID ."' ORDER BY p.fromTime ASC"); $sumOfBookings = 0; while (list ($teacherBookingID) = mysql_fetch_row($query2)) { $query3 = fmysql_query("SELECT CONCAT(p.fromTime,'-',p.tilTime) passTime, g.guestID, CONCAT(g.firstName,' ',g.lastName) fullName, g.info, gb.fromDate, gb.tilDate FROM pass_times p, pass_weeks pw, guests g, guests_booking gb WHERE gb.teacherBookingID='". $teacherBookingID ."' AND g.guestID=gb.guestID AND p.passID=pw.passID AND pw.passWeekID=gb.passWeekID AND pw.fromDate='". $arrayWeekDates[0] ."' AND pw.tilDate='". $arrayWeekDates[6] ."' ORDER BY gb.fromDate, gb.tilDate"); if (mysql_num_rows($query3) > 0) $sumOfBookings++; while (list ($passTime, $guestID, $guestName, $info, $fromDate, $tilDate) = mysql_fetch_row($query3)) { // Skriver ut pass-tiden om det är första gången den listas, annars visas bara en tom ruta echo '<tr>'; if ($passTime != $prevPassTime) echo '<td>'. $passTime .'</td>'; else echo '<td> </td>'; echo '<td>'. $guestName .'</td>'; // Veckodagarna for ($l = 0; $l < count($arrayWeekDates); $l++) { if (strtotime($arrayWeekDates[$l]) - strtotime($fromDate) >= 0 && strtotime($tilDate) - strtotime($arrayWeekDates[$l]) >= 0) { echo '<td style="padding: 0; background: #111; text-align: center; vertical-align: middle;"><img src="img/blackdot.gif" width="15" height="15" alt="" /></td>'; } else { echo '<td> </td>'; } } // Åker echo '<td>'; $query5 = fmysql_query("SELECT r.name FROM rides r, guests_rides gr WHERE r.rideID=gr.rideID AND gr.guestID='". $guestID ."'"); while (list ($rideName) = mysql_fetch_row($query5)) echo $rideName. ', '; echo ' </td> <td> </td> <td>'. $info .'</td>'; // För kontroll av passtiden $prevPassTime = $passTime; } } //echo $sumOfBookings; if ($sumOfBookings == 0) for ($n = 0; $n < 12; $n++) echo '<td> </td>'; echo '</tr>'; } // lärare inbokade för nuvarande veckan } // $_get["skidlärare"] // Uppdaterar vilken vecka som ska köras igenom (ex. v52=>1, 2005=>2006) if ($thisWeek == 52) { $thisWeek = 1; $thisYear++; } else { $thisWeek++; } // Om schemeprint, så ska en skriv-ut-knapp visas if (basename($_SERVER["PHP_SELF"]) == "schemeprint.php" && !isset($_GET["print"])) echo '<tr> <td colspan="25"> <form action="schemeprint.php?week='. $_GET["week"] .'&year='. $_GET["year"] .'&view='. $_GET["view"] .'&print" method="post"> <input type="submit" value="Skriv ut" /> </form> </td> </tr>'; echo '</tbody> </table>';}if (basename($_SERVER["PHP_SELF"]) != "schemeprint.php") require_once "inc/footer.php";?>