Termine auf Prepared Statements umgebaut
Kalender, Terminliste, Terminformular und Terminzettel laufen ueber db_abfrage() mit Platzhaltern; das Anlegen einer mehrtaegigen Terminreihe liegt in einer Transaktion. Die Logik steckt jetzt in incs/termin.php, sites/termin*.php rufen sie nur noch auf. Dabei behoben: - SQL-Injektion ueber die Suchbegriffe der Terminliste, ueber die Mehrfachauswahl (Ankreuzfelder del<N>/erl<N> gingen roh in DELETE bzw. UPDATE), ueber die Wiedervorlage-Tage (INTERVAL $folgedays DAY) und ueber ?action=terminshow&id=... in maketerminarray(), maketerminadresse(), maketelnrn() und makegooglestring() - gespeichertes XSS: Beschreibung, Notiz, Termintyp, Ort, Kundenname und Mitarbeiterfarbe im Kalender, in der Terminliste und im Formular - "or $err=error(...)" stand innerhalb des Abfrage-Strings, dadurch wurden die Nebenzeilen einer Terminreihe beim Loeschen nie entfernt - die Abfrage zum Folgetermin las eine Spalte typ_id, die es in termin nicht gibt; Typ und Wiedervorlage fehlten deshalb beim Bearbeiten - ein Folgetermin wurde mit termtime='' und termdauer='' angelegt, ein Termin ohne Folgetermin mit followed_by='' - im strikten Modus Fehler - ein Termin ohne Datum landete auf dem 01.01.1970 und gab dabei "NICHTTERMINIERT!!" mitten in die Seite aus - die Ueberschneidungspruefung verglich ab dem zweiten Tag gegen das Ende des ersten Tages - eine unbekannte Registerkarte der Terminliste ergab ein leeres WHERE und damit einen SQL-Fehler; jetzt gilt die Standardansicht - terminshow.php pruefte den Typ mit = statt == - der Kalender haengt nicht mehr an der Locale de_DE (strftime) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
{/if}
|
||||
<h2>Termin für Kunde Nummer:</h2>
|
||||
<span class='big'>{$kunde.partner_id}</span><br />
|
||||
{$kunde.vname} {$kunde.nname} {$kunde.firma}<br />{$kunde.str} {$kunde.hnr}<br />{$kunde.plz} {$kunde.ort}
|
||||
{$kunde.vname|escape} {$kunde.nname|escape} {$kunde.firma|escape}<br />{$kunde.str|escape} {$kunde.hnr|escape}<br />{$kunde.plz|escape} {$kunde.ort|escape}
|
||||
{/if}
|
||||
{if $user}
|
||||
{$termin.user = $user}
|
||||
@@ -45,10 +45,10 @@
|
||||
</select><br />
|
||||
{/if}
|
||||
<label>Beschreibung:</label>
|
||||
<input name='head' id='head' maxlength='100' value='{$termin.head}' />
|
||||
<input name='head' id='head' maxlength='100' value='{$termin.head|escape}' />
|
||||
<br />
|
||||
<label kundeclass='artlabel'>Notizen:</label>
|
||||
<textarea class='bigtextarea' id='text' name='text'>{$termin.text}</textarea><p>
|
||||
<textarea class='bigtextarea' id='text' name='text'>{$termin.text|escape}</textarea><p>
|
||||
<label class='checktext'><input type="checkbox" id='done' name="done" value="1" {if $termin.done == 1}checked="checked"{/if} />Termin ist erledigt</label>
|
||||
</p>
|
||||
<br />
|
||||
|
||||
+15
-15
@@ -50,9 +50,9 @@
|
||||
{foreach $weekday.fulldaytermine as $key=>$termin}
|
||||
<a href='?action=terminshow&id={$termin.main_id}'>
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: 1em;height: {$height}em;top: {$start}em;left: {$shift + $dayXpos}em;background-color: {$users.{$termin.user}.color};'
|
||||
title='{$termin.typ}<br />{$termin.head} - <b>{$termin.uservname} {$termin.usernname}</b><br /> Ganztags<br />{if {$termin.ort}}<b>In {$termin.ort}{if $termin.ortsteil}-{$termin.ortsteil}{/if}</b><br />{/if}{if {$termin.vname} || {$termin.nname} || {$termin.firma}}Bei {$termin.vname} {$termin.nname} {$termin.firma}{/if}'>
|
||||
<span class='rotate' style='padding-top: {$shift}em;'>{$termin.typ|substr:0:3}.</span>
|
||||
style='width: 1em;height: {$height}em;top: {$start}em;left: {$shift + $dayXpos}em;background-color: {$users.{$termin.user}.color|escape};'
|
||||
title='{$termin.typ|escape}<br />{$termin.head|escape} - <b>{$termin.uservname|escape} {$termin.usernname|escape}</b><br /> Ganztags<br />{if {$termin.ort}}<b>In {$termin.ort|escape}{if $termin.ortsteil}-{$termin.ortsteil|escape}{/if}</b><br />{/if}{if {$termin.vname} || {$termin.nname} || {$termin.firma}}Bei {$termin.vname|escape} {$termin.nname|escape} {$termin.firma|escape}{/if}'>
|
||||
<span class='rotate' style='padding-top: {$shift}em;'>{$termin.typ|substr:0:3|escape}.</span>
|
||||
</div>
|
||||
</a>
|
||||
{$shift = $shift+1.1}
|
||||
@@ -107,19 +107,19 @@
|
||||
|
||||
{if {$termin.typ} != 'Arbeitsleistung'}
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: {$width-0.3}em;height: {$height}em;top: {$start}em;left: {$dayXpos+ 0.1 + $shift}em;background-color: {$users.{$termin.user}.color}'
|
||||
style='width: {$width-0.3}em;height: {$height}em;top: {$start}em;left: {$dayXpos+ 0.1 + $shift}em;background-color: {$users.{$termin.user}.color|escape}'
|
||||
title='
|
||||
{$termin.typ}<br />{$termin.head} - <b>{$termin.uservname} {$termin.usernname}</b><br />
|
||||
{$termin.typ|escape}<br />{$termin.head|escape} - <b>{$termin.uservname|escape} {$termin.usernname|escape}</b><br />
|
||||
Um {$termin.termtime|date_format:'%k:%M'}Uhr<br />Dauer {if {$termin.termdauer|date_format:'%k'} > 0} {$termin.termdauer|date_format:'%k'}h{/if}
|
||||
{if {$termin.termdauer|date_format:'%M'} > 0}{$termin.termdauer|date_format:'%M'}min{/if}<br />
|
||||
<b>In {$termin.ort}{if $termin.ortsteil}-{$termin.ortsteil}{/if}</b><br />
|
||||
Bei {$termin.vname} {$termin.nname} {$termin.firma}'>
|
||||
<b>In {$termin.ort|escape}{if $termin.ortsteil}-{$termin.ortsteil|escape}{/if}</b><br />
|
||||
Bei {$termin.vname|escape} {$termin.nname|escape} {$termin.firma|escape}'>
|
||||
{else}
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: {$width-0.3}em;height: {$height}em;top: {$start}em;left: {$dayXpos+ 0.1 + $shift}em;background-color: {if $termin.done}#CFC{else}{$users.{$termin.user}.color}{/if};'
|
||||
title='{$termin.typ} - {$termin.firma} {$termin.vname} {$termin.nname}<br /> <b>{$termin.projectname}</b> <br /> {$termin.head}<br /> <b>Dauer: </b>{$termin.termdauer|string_format:"%.1f"}h'>
|
||||
style='width: {$width-0.3}em;height: {$height}em;top: {$start}em;left: {$dayXpos+ 0.1 + $shift}em;background-color: {if $termin.done}#CFC{else}{$users.{$termin.user}.color|escape}{/if};'
|
||||
title='{$termin.typ|escape} - {$termin.firma|escape} {$termin.vname|escape} {$termin.nname|escape}<br /> <b>{$termin.projectname|escape}</b> <br /> {$termin.head|escape}<br /> <b>Dauer: </b>{$termin.termdauer|string_format:"%.1f"}h'>
|
||||
{/if}
|
||||
<span class='rotate'>{$termin.typ|substr:0:3}.</span>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3|escape}.</span>
|
||||
</div>
|
||||
</a>
|
||||
{/foreach}
|
||||
@@ -133,9 +133,9 @@
|
||||
{$width = 9}
|
||||
{$start = $ma_nr + 0.5}
|
||||
<div class='mabox'
|
||||
style='width: {$width}em;height: {$height}em;top: {$start}em;left: {$dayXpos+ 0.5}em;background-color: {$mitarb.color};'
|
||||
title='{$mitarb.vname} {$mitarb.nname} - Anwesend {if {$mitarb.complete} == 0} aber noch nicht ausgestempelt{/if}<br />'>
|
||||
{if {$mitarb.complete} == 0}<font color='#aa0000'>{else}<font color='#000000'>{/if}{$mitarb.vname} {$mitarb.nname|substr:0:1}.</font>
|
||||
style='width: {$width}em;height: {$height}em;top: {$start}em;left: {$dayXpos+ 0.5}em;background-color: {$mitarb.color|escape};'
|
||||
title='{$mitarb.vname|escape} {$mitarb.nname|escape} - Anwesend {if {$mitarb.complete} == 0} aber noch nicht ausgestempelt{/if}<br />'>
|
||||
{if {$mitarb.complete} == 0}<font color='#aa0000'>{else}<font color='#000000'>{/if}{$mitarb.vname|escape} {$mitarb.nname|substr:0:1|escape}.</font>
|
||||
</div>
|
||||
</a>
|
||||
{/foreach}
|
||||
@@ -169,9 +169,9 @@
|
||||
</div>
|
||||
{foreach $users as $user}
|
||||
{if $user.openvacation < 0}
|
||||
<a href='?action=terminadd&user={$user.id}' style="color: #000;" title='Urlaub eintragen'><span class='legendcolbox' style='background-color: {$user.color}'>{$user.vname} {$user.nname} <font color='#cc0000'><b>({$user.openvacation})</b></font></span></a>
|
||||
<a href='?action=terminadd&user={$user.id}' style="color: #000;" title='Urlaub eintragen'><span class='legendcolbox' style='background-color: {$user.color|escape}'>{$user.vname|escape} {$user.nname|escape} <font color='#cc0000'><b>({$user.openvacation|escape})</b></font></span></a>
|
||||
{else}
|
||||
<a href='?action=terminadd&user={$user.id}' style="color: #000;" title='Urlaub eintragen'><span class='legendcolbox' style='background-color: {$user.color}'>{$user.vname} {$user.nname} <b>({$user.openvacation})</b></span></a>
|
||||
<a href='?action=terminadd&user={$user.id}' style="color: #000;" title='Urlaub eintragen'><span class='legendcolbox' style='background-color: {$user.color|escape}'>{$user.vname|escape} {$user.nname|escape} <b>({$user.openvacation|escape})</b></span></a>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<br />
|
||||
|
||||
@@ -104,9 +104,9 @@
|
||||
{$start = 4 + ($terminstart - 420)/15}
|
||||
<a href='?action=terminshow&id={$termin.main_id}'>
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: 1em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user}.color}'
|
||||
title='{$termin.typ}<br />{$termin.head} - <b>{$termin.uservname} {$termin.usernname}</b><br /> Ganztags<br />{if {$termin.ort}}<b>In {$termin.ort}{if $termin.ortsteil}-{$termin.ortsteil}{/if}</b><br />{/if}{if {$termin.vname} || {$termin.nname} || {$termin.firma}}Bei {$termin.vname} {$termin.nname} {$termin.firma}{/if}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3}.</span>
|
||||
style='width: 1em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user}.color|escape}'
|
||||
title='{$termin.typ|escape}<br />{$termin.head|escape} - <b>{$termin.uservname|escape} {$termin.usernname|escape}</b><br /> Ganztags<br />{if {$termin.ort}}<b>In {$termin.ort|escape}{if $termin.ortsteil}-{$termin.ortsteil|escape}{/if}</b><br />{/if}{if {$termin.vname} || {$termin.nname} || {$termin.firma}}Bei {$termin.vname|escape} {$termin.nname|escape} {$termin.firma|escape}{/if}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3|escape}.</span>
|
||||
</div>
|
||||
{else}
|
||||
{$terminlength = ({$termin.termdauer|date_format:"%H"}*60 + {$termin.termdauer|date_format:"%M"})}
|
||||
@@ -124,24 +124,24 @@
|
||||
{$start = 4 + ($terminstart - 420)/15}
|
||||
{if {$termin.typ} != 'Arbeitsleistung'}
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: {$width}em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user}.color}'
|
||||
style='width: {$width}em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user}.color|escape}'
|
||||
title='
|
||||
{$termin.typ}<br />{$termin.head} - <b>{$termin.uservname} {$termin.usernname}</b><br />
|
||||
{$termin.typ|escape}<br />{$termin.head|escape} - <b>{$termin.uservname|escape} {$termin.usernname|escape}</b><br />
|
||||
Um {$termin.termtime|date_format:'%k:%M'}Uhr<br />Dauer {if {$termin.termdauer|date_format:'%k'} > 0} {$termin.termdauer|date_format:'%k'}h{/if}
|
||||
{if {$termin.termdauer|date_format:'%M'} > 0}{$termin.termdauer|date_format:'%M'}min{/if}<br />
|
||||
<b>In {$termin.ort}{if $termin.ortsteil}-{$termin.ortsteil}{/if}</b><br />
|
||||
Bei {$termin.vname} {$termin.nname} {$termin.firma}'>
|
||||
<b>In {$termin.ort|escape}{if $termin.ortsteil}-{$termin.ortsteil|escape}{/if}</b><br />
|
||||
Bei {$termin.vname|escape} {$termin.nname|escape} {$termin.firma|escape}'>
|
||||
{else}
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: {$width/3}em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {if $termin.done}#CFC{else}{$users.{$termin.user}.color}{/if}'
|
||||
style='width: {$width/3}em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {if $termin.done}#CFC{else}{$users.{$termin.user}.color|escape}{/if}'
|
||||
title='
|
||||
{$termin.typ} -
|
||||
{$termin.firma} {$termin.vname} {$termin.nname}<br />
|
||||
<b>{$termin.projectname}</b> <br />
|
||||
{$termin.head}<br />
|
||||
{$termin.typ|escape} -
|
||||
{$termin.firma|escape} {$termin.vname|escape} {$termin.nname|escape}<br />
|
||||
<b>{$termin.projectname|escape}</b> <br />
|
||||
{$termin.head|escape}<br />
|
||||
<b>Dauer: </b>{if {$termin.termdauer} > 1} {$termin.termdauer|string_format:"%.1f"}h{/if}<br />
|
||||
{/if}
|
||||
<span class='rotate'>{$termin.typ|substr:0:3}.</span>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3|escape}.</span>
|
||||
</div>
|
||||
{/if}
|
||||
</a>
|
||||
@@ -154,9 +154,9 @@
|
||||
{$height = ($terminlength/15)}
|
||||
{$start = 4 + ($terminstart - 420)/15}
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: 1em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user2}.color}'
|
||||
title='{$termin.typ}<br />{$termin.head} - <b>{$termin.uservname2} {$termin.usernname2}</b><br /> Ganztags<br />{if {$termin.ort}}<b>In {$termin.ort}{if $termin.ortsteil}-{$termin.ortsteil}{/if}</b><br />{/if}{if {$termin.vname} || {$termin.nname} || {$termin.firma}}Bei {$termin.vname} {$termin.nname} {$termin.firma}{/if}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3}.</span>
|
||||
style='width: 1em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user2}.color|escape}'
|
||||
title='{$termin.typ|escape}<br />{$termin.head|escape} - <b>{$termin.uservname2|escape} {$termin.usernname2|escape}</b><br /> Ganztags<br />{if {$termin.ort}}<b>In {$termin.ort|escape}{if $termin.ortsteil}-{$termin.ortsteil|escape}{/if}</b><br />{/if}{if {$termin.vname} || {$termin.nname} || {$termin.firma}}Bei {$termin.vname|escape} {$termin.nname|escape} {$termin.firma|escape}{/if}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3|escape}.</span>
|
||||
</div>
|
||||
{else}
|
||||
{$terminlength = ({$termin.termdauer|date_format:"%H"}*60 + {$termin.termdauer|date_format:"%M"})}
|
||||
@@ -164,9 +164,9 @@
|
||||
{$height = ($terminlength/15)}
|
||||
{$start = 4 + ($terminstart - 420)/15}
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: {$width}em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user2}.color}'
|
||||
title='{$termin.typ}<br />{$termin.head} - <b>{$termin.uservname2} {$termin.usernname2}</b><br /> Um {$termin.termtime|date_format:'%k:%M'}Uhr<br />Dauer {if {$termin.termdauer|date_format:'%k'} > 0} {$termin.termdauer|date_format:'%k'}h{/if} {if {$termin.termdauer|date_format:'%M'} > 0}{$termin.termdauer|date_format:'%M'}min{/if}<br /> <b>In {$termin.ort}{if $termin.ortsteil}-{$termin.ortsteil}{/if}</b><br />Bei {$termin.vname} {$termin.nname} {$termin.firma}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3}.</span>
|
||||
style='width: {$width}em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user2}.color|escape}'
|
||||
title='{$termin.typ|escape}<br />{$termin.head|escape} - <b>{$termin.uservname2|escape} {$termin.usernname2|escape}</b><br /> Um {$termin.termtime|date_format:'%k:%M'}Uhr<br />Dauer {if {$termin.termdauer|date_format:'%k'} > 0} {$termin.termdauer|date_format:'%k'}h{/if} {if {$termin.termdauer|date_format:'%M'} > 0}{$termin.termdauer|date_format:'%M'}min{/if}<br /> <b>In {$termin.ort|escape}{if $termin.ortsteil}-{$termin.ortsteil|escape}{/if}</b><br />Bei {$termin.vname|escape} {$termin.nname|escape} {$termin.firma|escape}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3|escape}.</span>
|
||||
</div>
|
||||
{/if}
|
||||
</a>
|
||||
@@ -180,9 +180,9 @@
|
||||
{$height = ($terminlength/15)}
|
||||
{$start = 4 + ($terminstart - 420)/15}
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: 1em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user3}.color}'
|
||||
title='{$termin.typ}<br />{$termin.head} - <b>{$termin.uservname3} {$termin.usernname3}</b><br /> Ganztags<br />{if {$termin.ort}}<b>In {$termin.ort}{if $termin.ortsteil}-{$termin.ortsteil}{/if}</b><br />{/if}{if {$termin.vname} || {$termin.nname} || {$termin.firma}}Bei {$termin.vname} {$termin.nname} {$termin.firma}{/if}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3}.</span>
|
||||
style='width: 1em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user3}.color|escape}'
|
||||
title='{$termin.typ|escape}<br />{$termin.head|escape} - <b>{$termin.uservname3|escape} {$termin.usernname3|escape}</b><br /> Ganztags<br />{if {$termin.ort}}<b>In {$termin.ort|escape}{if $termin.ortsteil}-{$termin.ortsteil|escape}{/if}</b><br />{/if}{if {$termin.vname} || {$termin.nname} || {$termin.firma}}Bei {$termin.vname|escape} {$termin.nname|escape} {$termin.firma|escape}{/if}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3|escape}.</span>
|
||||
</div>
|
||||
{else}
|
||||
{$terminlength = ({$termin.termdauer|date_format:"%H"}*60 + {$termin.termdauer|date_format:"%M"})}
|
||||
@@ -190,9 +190,9 @@
|
||||
{$height = ($terminlength/15)}
|
||||
{$start = 4 + ($terminstart - 420)/15}
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: {$width}em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user3}.color}'
|
||||
title='{$termin.typ}<br />{$termin.head} - <b>{$termin.uservname3} {$termin.usernname3}</b><br /> Um {$termin.termtime|date_format:'%k:%M'}Uhr<br />Dauer {if {$termin.termdauer|date_format:'%k'} > 0} {$termin.termdauer|date_format:'%k'}h{/if} {if {$termin.termdauer|date_format:'%M'} > 0}{$termin.termdauer|date_format:'%M'}min{/if}<br /> <b>In {$termin.ort}{if $termin.ortsteil}-{$termin.ortsteil}{/if}</b><br />Bei {$termin.vname} {$termin.nname} {$termin.firma}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3}.</span>
|
||||
style='width: {$width}em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user3}.color|escape}'
|
||||
title='{$termin.typ|escape}<br />{$termin.head|escape} - <b>{$termin.uservname3|escape} {$termin.usernname3|escape}</b><br /> Um {$termin.termtime|date_format:'%k:%M'}Uhr<br />Dauer {if {$termin.termdauer|date_format:'%k'} > 0} {$termin.termdauer|date_format:'%k'}h{/if} {if {$termin.termdauer|date_format:'%M'} > 0}{$termin.termdauer|date_format:'%M'}min{/if}<br /> <b>In {$termin.ort|escape}{if $termin.ortsteil}-{$termin.ortsteil|escape}{/if}</b><br />Bei {$termin.vname|escape} {$termin.nname|escape} {$termin.firma|escape}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3|escape}.</span>
|
||||
</div>
|
||||
{/if}
|
||||
</a>
|
||||
@@ -206,9 +206,9 @@
|
||||
{$height = ($terminlength/15)}
|
||||
{$start = 4 + ($terminstart - 420)/15}
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: 1em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user4}.color}'
|
||||
title='{$termin.typ}<br />{$termin.head} - <b>{$termin.uservname4} {$termin.usernname4}</b><br /> Ganztags<br />{if {$termin.ort}}<b>In {$termin.ort}{if $termin.ortsteil}-{$termin.ortsteil}{/if}</b><br />{/if}{if {$termin.vname} || {$termin.nname} || {$termin.firma}}Bei {$termin.vname} {$termin.nname} {$termin.firma}{/if}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3}.</span>
|
||||
style='width: 1em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user4}.color|escape}'
|
||||
title='{$termin.typ|escape}<br />{$termin.head|escape} - <b>{$termin.uservname4|escape} {$termin.usernname4|escape}</b><br /> Ganztags<br />{if {$termin.ort}}<b>In {$termin.ort|escape}{if $termin.ortsteil}-{$termin.ortsteil|escape}{/if}</b><br />{/if}{if {$termin.vname} || {$termin.nname} || {$termin.firma}}Bei {$termin.vname|escape} {$termin.nname|escape} {$termin.firma|escape}{/if}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3|escape}.</span>
|
||||
</div>
|
||||
{else}
|
||||
{$terminlength = ({$termin.termdauer|date_format:"%H"}*60 + {$termin.termdauer|date_format:"%M"})}
|
||||
@@ -216,9 +216,9 @@
|
||||
{$height = ($terminlength/15)}
|
||||
{$start = 4 + ($terminstart - 420)/15}
|
||||
<div class='{if $termin.done == 1}doneterminbox{else}terminbox{/if}'
|
||||
style='width: {$width}em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user4}.color}'
|
||||
title='{$termin.typ}<br />{$termin.head} - <b>{$termin.uservname4} {$termin.usernname4}</b><br /> Um {$termin.termtime|date_format:'%k:%M'}Uhr<br />Dauer {if {$termin.termdauer|date_format:'%k'} > 0} {$termin.termdauer|date_format:'%k'}h{/if} {if {$termin.termdauer|date_format:'%M'} > 0}{$termin.termdauer|date_format:'%M'}min{/if}<br /> <b>In {$termin.ort}{if $termin.ortsteil}-{$termin.ortsteil}{/if}</b><br />Bei {$termin.vname} {$termin.nname} {$termin.firma}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3}.</span>
|
||||
style='width: {$width}em;height: {$height}em;top: {$start}em;left: {$shift}em;background-color: {$users.{$termin.user4}.color|escape}'
|
||||
title='{$termin.typ|escape}<br />{$termin.head|escape} - <b>{$termin.uservname4|escape} {$termin.usernname4|escape}</b><br /> Um {$termin.termtime|date_format:'%k:%M'}Uhr<br />Dauer {if {$termin.termdauer|date_format:'%k'} > 0} {$termin.termdauer|date_format:'%k'}h{/if} {if {$termin.termdauer|date_format:'%M'} > 0}{$termin.termdauer|date_format:'%M'}min{/if}<br /> <b>In {$termin.ort|escape}{if $termin.ortsteil}-{$termin.ortsteil|escape}{/if}</b><br />Bei {$termin.vname|escape} {$termin.nname|escape} {$termin.firma|escape}'>
|
||||
<span class='rotate'>{$termin.typ|substr:0:3|escape}.</span>
|
||||
</div>
|
||||
{/if}
|
||||
</a>
|
||||
@@ -251,7 +251,7 @@
|
||||
<br />
|
||||
|
||||
{foreach $users as $user}
|
||||
<a href='?action=terminadd&user={$user.id}' style="color: #000;" title='Urlaub eintragen'><span class='legendcolbox' style='background-color: {$user.color}'>{$user.vname} {$user.nname}</span></a>
|
||||
<a href='?action=terminadd&user={$user.id}' style="color: #000;" title='Urlaub eintragen'><span class='legendcolbox' style='background-color: {$user.color|escape}'>{$user.vname|escape} {$user.nname|escape}</span></a>
|
||||
{/foreach}
|
||||
<br />
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{include file="heading.tpl" heading="Terminanzeige"}
|
||||
<h2><div class='fifty'>Ohne Anfahrt:</div><div class='fifty'>Mit Anfahrt:</div></h2>
|
||||
<iframe src='{$pdffile}' width='40%' height='600px'></iframe>
|
||||
<iframe src='{$pdffile2}' width='40%' height='600px'></iframe>
|
||||
<iframe src='{$pdffile|escape}' width='40%' height='600px'></iframe>
|
||||
<iframe src='{$pdffile2|escape}' width='40%' height='600px'></iframe>
|
||||
|
||||
Reference in New Issue
Block a user