All pastes #382706 Raw Edit

Something

public php v1 · immutable
·published 2007-03-05 21:12 UTC
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">&nbsp;</td>					<th colspan="7">Veckodag</th>					<th colspan="3">&nbsp;</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>&nbsp;</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>&nbsp;</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 '&nbsp;</td>								<td>&nbsp;</td>								<td>'. $info .'</td>							</tr>';						}											} else {						for ($n = 0; $n < 12; $n++)							echo '<td>&nbsp;</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">&nbsp;</td>						<th colspan="7">Veckodag</th>						<th colspan="3">&nbsp;</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>&nbsp;</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>&nbsp;</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 '&nbsp;</td>								<td>&nbsp;</td>								<td>'. $info .'</td>';																// För kontroll av passtiden								$prevPassTime = $passTime;						}													}										//echo $sumOfBookings;					if ($sumOfBookings == 0)						for ($n = 0; $n < 12; $n++)							echo '<td>&nbsp;</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";?>