---
# System prepended metadata

title: horizontaler Wochenkalender mit Termininfo

---

# horizontaler Wochenkalender mit Termininfo

```htmlmixed=
<html>
<body>
	<head></head>
	
<cfif Not IsDefined("AktuellesDatum")>
	<cfset AktuellesDatum = now()>
</cfif>

<cfset ErsterTagDerWoche = CreateDate(Year(AktuellesDatum),Month(AktuellesDatum), Day(AktuellesDatum) - (DayOfWeek(AktuellesDatum)) + CreateTimeSpan(2,0,0,0))>

<cfset AktuelleWoche = Week(ErsterTagDerWoche - CreateTimeSpan(4,0,0,0))>

<h1> DYNAMISCHER WOCHENKALENDER MIT TERMINNAMEN </h1>

<cfset vorWoche = DateAdd("ww",1,(ErsterTagDerWoche))>
<cfset zuruckWoche = DateAdd("ww",-1,(ErsterTagDerWoche))>

<cffile action="read" file="Termine.txt" variable="Termine">
<cfset aTermine = ListToArray(Termine, "#Chr(10)##Chr(13)#")>
<cfset WocheTermine = ArrayNew(1)>

<cfset StartDatum = ErsterTagDerWoche>
<cfset ZielDatum =  DateAdd("d", 6, ErsterTagDerWoche)>

<cfset d="10041987">

<cfloop array = "#aTermine#" index="Row">
	<cfset TerminRow = ListToArray(Row, ";;")>
	<cfset loopDateDiff = DateDiff("d", ErsterTagDerWoche, CreateDate(TerminRow[1],TerminRow[2],TerminRow[3]))>
	<cfif loopDateDiff GTE 0 AND loopDateDiff LTE 6>
		<cfset WocheTermine.append(ListToArray(Row, ";;"))> 
	</cfif>
</cfloop>

<style>
  .kalender-table-border {
   border-width: 10px;
   border-style: solid;
  }

  .kalender-table-cell {
   vertical-align: middle;
   text-align: center;
   padding: 20px;
   border: 1px solid black;
   width: 70px;
  }
  
  .kalender-termin-gefunden {
   background: lightgrey;
  }
   
   .kalender-heutigerTag {
   border-width: 5px;
   border-style: solid;
   background: yellow;
  }
</style>

<table>
	<head>
	<caption> <h3> Horizontaler Wochenkalender </h3> </caption>
	</head>
		<body>
		<tr> <td></td>
			<cfloop from=6 to=22 index="Uhrzeit">
				<cfoutput><td><b>#Uhrzeit#:00 Uhr</b></td></cfoutput>
			</cfloop>
		</tr>
		<tr>
			<cfloop from="#StartDatum#" to="#ZielDatum#" index="loopDate" step="#CreateTimeSpan(1,0,0,0)#">
			<!-- PRÜFVARABLE OB ALLE TERMINE SCHON ÜBERPRÜFT WURDEN-->
				<cfoutput>
				<cfif Day(loopDate) EQ Day(now()) AND Month(loopDate) EQ Month(now()) AND Year(loopDate) EQ Year(now())>
					<td class="kalender-heutigerTag kalender-table-cell"> <b>#DayofWeekAsString(DayOfWeek(loopDate))# <br> #NumberFormat(Day(loopDate),"00")#-#NumberFormat(Month(loopDate),"00")#-#NumberFormat(Year(loopDate),"0000")# </b> </td>
				<cfelse>
					<td class="kalender-table-cell"><b>#DayofWeekAsString(DayOfWeek(loopDate))# <br> #NumberFormat(Day(loopDate),"00")#-#NumberFormat(Month(loopDate),"00")#-#NumberFormat(Year(loopDate),"0000")# </b><br><br></td>
				</cfif>
				<cfloop from=6 to=22 index="Uhrzeit">
					<cfset i=0> 
					<cfloop array="#WocheTermine#" index="Row">
						<cfset TERMIN_GEFUNDEN=0>

						<cfif Day(loopDate) EQ Row[3] AND Month(loopDate) EQ Row[2] AND Year(loopDate) EQ Row[1] AND Uhrzeit EQ Row[6]>
							<cfset TERMIN_GEFUNDEN = 1>
						</cfif>

						<cfif Uhrzeit EQ Row[6] AND TERMIN_GEFUNDEN EQ 1>
							<td class="kalender-termin-gefunden kalender-table-cell"> #Row[5]# </td> <cfbreak>
						<cfelseif i EQ ArrayLen(WocheTermine) AND TERMIN_GEFUNDEN EQ 0>
							<td class="kalender-table-cell">...........</td>
							<cfbreak>
						</cfif>
						<cfset i=i+1>
					</cfloop>
					
					<cfif ArrayIsEmpty(WocheTermine) EQ 1>
						<td class="kalender-table-cell">...........</td>
						<cfif Uhrzeit EQ 22>
							<cfbreak>
						</cfif>
					<cfelseif TERMIN_GEFUNDEN EQ 0>
						<td class="kalender-table-cell">...........</td>
						<cfif Uhrzeit EQ 22>
							<cfbreak>
						</cfif>
					</cfif>
				</cfloop>
			</cfoutput>
			<br>
		</tr>
			</cfloop>
	</body>
</table>
	
<table>
	<tr>
		<td>
			<form method="post" action name="FormWeiter">
				<cfoutput>
					<input type="hidden" name="AktuellesDatum" value="#vorWoche#">
					<input type="submit" value="Vor">
				</cfoutput>
			</form>
		</td>
		<td>
			<form method="post" action name="FormZuruck">
				<cfoutput>
					<input type="hidden" name="AktuellesDatum" value="#zuruckWoche#">
					<input type="submit" value="Zurück">
				</cfoutput>
			</form>
		</td>
			<td class="kalender-table-border"> 
				<cfif ArrayIsEmpty(WocheTermine) EQ 1>
					Keine Termine in dieser Woche!
				<cfelse>	
					<br><b>Kommende Termine:</b>
					<br>
					<cfloop array="#WocheTermine#" index="Termin">
						<cfoutput><b>#Termin[1]#-#Termin[2]#-#Termin[3]#:</b> #NumberFormat(Termin[6],"00")#:00 Uhr -- #Termin[4]# - #Termin[5]#<br></cfoutput>
					</cfloop>
				</cfif>
			</td>
			<td>
				<a href="/kalender_monatsansicht.cfm"> Hier gehts zur Monatsansicht! <br>
				 <a href="/kalender_wochenansicht.cfm"> Hier gehts zur Wochenansicht! 
			</td>
	</tr>
</table>	
	
</body>
</html>
```