all Scheduler views redesigned

This commit is contained in:
sebastian 2005-03-22 03:08:08 +00:00
parent 05004a6f80
commit 9cdd2cbd8a
5 changed files with 150 additions and 186 deletions

View file

@ -1,88 +1,65 @@
{$SCHEDULER->buildDay()} {$SCHEDULER->buildDay()}
{assign var="_scale" value=$SCHEDULER->getDayTimingScale()} {assign var="_scale" value=$SCHEDULER->getDayTimingScale()}
<div class="content">
<div class="container_elements">
<h1>##Daily View##</h1>
<div class="clearer">&nbsp;</div>
<p>{$SCHEDULER->curr.monthname} {$SCHEDULER->curr.day}, {$SCHEDULER->curr.year}</p>
<table border=1> <form name="SCHEDULER">
<table class="scheduler_day" style="width: 606px;">
{* Tag vor/zurück, code um heutigen Tag abzufragen
<tr> <tr>
<th><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&day=--')"><<</a></th> <th><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&day=--')"><<</a></th>
<th colspan="3" {if $SCHEDULER->curr.isToday} bgcolor="grey"{/if}>{$SCHEDULER->curr.dayname}, {$SCHEDULER->curr.year}-{$SCHEDULER->curr.month}-{$SCHEDULER->curr.day}</th> <th colspan="3" {if $SCHEDULER->curr.isToday} bgcolor="grey"{/if}>{$SCHEDULER->curr.dayname}, {$SCHEDULER->curr.year}-{$SCHEDULER->curr.month}-{$SCHEDULER->curr.day}</th>
<th><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&day=%2B%2B')">>></a></th> <th><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&day=%2B%2B')">>></a></th>
</tr> </tr>
*}
<tr class="blue_head">
{* Multi-action checkboxen, die brauchen wir aber höchstens bei den Einträgen um mehere auf einmal zu löschen ?
<td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('SCHEDULER')"></td>
*}
<td style="width: 95px">Time</td>
<td style="width: 481px; border-right: 0;">Show Info</td>
</tr>
{assign var="_entrys" value=$SCHEDULER->getDayEntrys()} {assign var="_entrys" value=$SCHEDULER->getDayEntrys()}
{foreach from=$_scale item="_hour"} {foreach from=$_scale item="_hour"}
{assign var="_year" value=$_Day.year} {assign var="_year" value=$_Day.year}
{assign var="_month" value=$_Day.month} {assign var="_month" value=$_Day.month}
<tr> {* jede Reiehe entspr. einer Stunde *} <tr class="blue2" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')">
<td>{$_hour}</td> {* linke spalte mit Uhrzeit *} {* <td style="border-left: 1px solid #ccc;"><input type="checkbox" class="checkbox" /></td> *}
<td>{$_hour|string_format:"%02d"}:00</td>
<td style="border-right: 1px solid #ccc;">
<td bgcolor="grey" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')">
{if is_array($_entrys[$_hour])} {if is_array($_entrys[$_hour])}
{foreach from=$_entrys[$_hour] item="i"} {* hier werden die Einträge welche in der jeweil. h beginnen durchlaufen *} {foreach from=$_entrys[$_hour] item="i"} {* hier werden die Einträge welche in der jeweil. h beginnen durchlaufen *}
<div style="border-style: dotted"> {$i.title}:
{$i.title}
<br>
{$i.start}-{$i.end} {$i.start}-{$i.end}
<br>
{$i.creator} {$i.creator}
{/foreach}
{/if}
</td>
</tr>
{/foreach}
</table>
</form>
{* Multiaction buttons
<div class="container_button" style="float: right; margin-top: 10px;">
<input type="button" class="button_large" value="Edit Playlist" />
<input type="button" class="button_large" value="Delete Playlist" />
<input type="button" class="button_large" value="Add Playlist" />
</div> </div>
{/foreach} <div class="clearer">&nbsp;</div>
{/if}
</td>
</tr>
{/foreach}
</table>
{* timing-ansich
{assign var="_divisor" value=180}
{assign var="_minwidth" value=10}
<table border=1>
<tr>
<td valign="top">
<b>{$SCHEDULER->curr.year}-{$SCHEDULER->curr.month}-{$SCHEDULER->curr.day}</b></a>
{assign var="_oneday" value=$SCHEDULER->getDayTiming($SCHEDULER->curr.year, $SCHEDULER->curr.month, $SCHEDULER->curr.day)}
<table border="0" cellspacing="0" cellpadding="0">
{foreach from=$_oneday item="i"}
<tr height="{$SCHEDULER->_oneOrMore($i.length/$_divisor)}" style="font-family: monospace" valign="top">
{if is_array($i.entry)}
<td bgcolor="#ffcacb" width="600" height="{$SCHEDULER->_oneOrMore($i.length/$_divisor)}" {include file="scheduler/contextmenu.tpl"}>
{if $i.length/$_divisor > $_minwidth}
<small>
<b>{$i.entry.title}</b>
{$i.entry.start|regex_replace:"/[0-9]+T/":""}-{$i.entry.end|regex_replace:"/[0-9]+T/":""}
{$i.entry.creator}
</small>
{/if}
</td>
{else}
<td bgcolor="#97bacf" width="600" height="{$SCHEDULER->_oneOrMore($i.length/$_divisor)}">
</td>
{/if}
</tr>
{/foreach}
</table>
</td>
</tr>
</table>
*} *}
</div>
</div>

View file

@ -36,35 +36,4 @@
{/if} {/if}
{/foreach} {/foreach}
</div> </div>
{* </div>
<table border=1>
<tr>
{foreach from=$SCHEDULER->Week item="_Weekday"}
<th>{$_Weekday.label.full}</th>
{/foreach}
</tr>
{foreach from=$SCHEDULER->Month item="_Day"}
{if $_Day.isSelected}
{assign var="percentage" value=$SCHEDULER->getDayUsagePercentage($_Day.year, $_Day.month, $_Day.day)}
{else}
{assign var="percentage" value="0"}
{/if}
{if $_Day.isFirst}
<tr>
{/if}
<td width="80" {if $_Day.isToday} bgcolor="grey"{/if}>
<a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&year={$_Day.year}&month={$_Day.month}&day={$_Day.day}')"><b>{$_Day.day}</b>
<div><img src="img/percentage_red.png" width="{if $percentage>50}{$percentage}{elseif $percentage>0}{$percentage+2}{else}0{/if}%" height="10" border="0"><img src="img/percentage_blue.png" width="{if $percentage>50}{$null-$percentage+100}{elseif $percentage>0}{$NULL-$percentage-2+100}{else}100{/if}%" height="10" border="0"></div>
</td>
{if $_Day.isLast}
</tr>
{/if}
{/foreach}
</table>
*}

View file

@ -1,58 +1,70 @@
{$SCHEDULER->buildWeek()} {$SCHEDULER->buildWeek()}
{assign var="_scale" value=$SCHEDULER->getDayTimingScale()} {assign var="_scale" value=$SCHEDULER->getDayTimingScale()}
<table border="1"> <div class="content" style="width: auto;">
<!-- start scheduler -->
<div class="container_elements" style="width: 790px;">
<div class="head_scheduler" style=""><h1>##Weekly View##</h1></div>
{*
<div class="container_button_scheduler">
<input type="button" class="button_large" value="Start Scheduler" />
<input type="button" class="button_large" value="Stop Scheduler" />
</div>
*}
<div class="clearer">&nbsp;</div>
<p>{$SCHEDULER->curr.week}. ##KW## {$SCHEDULER->curr.year}</p>
<table class="scheduler_week">
<tr> <tr>
<td rowspan="26" valign="top"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=--')"><<</a> </td> {* Link Woche zurück <a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=--')"><<</a> *}
<td></td> <th class="firstrow"></th>
{foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnamen angezeigt *} {foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnamen angezeigt *}
<th width="100"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&day={$_Day.day}&month={$_Day.month}&year={$_Day.year}')">{$_Day.label.full}</a></th> <th class="date"></th>
<th class="day"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&day={$_Day.day}&month={$_Day.month}&year={$_Day.year}')">{$_Day.label.full}</a></th>
{/foreach} {/foreach}
<td rowspan="26" valign="top"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=%2B%2B')">>></a></td> {* Link Woche vor <a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=%2B%2B')">>></a> *}
</tr> </tr>
<tr> <tr>
<td></td> <td class="firstrow_secondcol"></td>
{foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnummern angezeigt *} {foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnummern angezeigt *}
<td {if $_Day.isToday} bgcolor="grey"{/if}> <td class="date_secondcol" {* {if $_Day.isToday} bgcolor="grey"{/if} *}>
<a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&day={$_Day.day}&month={$_Day.month}&year={$_Day.year}')"><b>{$_Day.day}</b></a> <a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&day={$_Day.day}&month={$_Day.month}&year={$_Day.year}')"><b>{$_Day.day}</b></a>
</td> </td>
<td class="day_secondcol"></td>
{/foreach} {/foreach}
</tr> </tr>
{assign var="_entrys" value=$SCHEDULER->getWeekEntrys()} {assign var="_entrys" value=$SCHEDULER->getWeekEntrys()}
{foreach from=$_scale item="_hour"} {foreach from=$_scale item="_hour"}
{assign var="_year" value=$_Day.year} {assign var="_year" value=$_Day.year}
{assign var="_month" value=$_Day.month} {assign var="_month" value=$_Day.month}
<tr> {* jede Reiehe entspr. einer Stunde *} <tr>
<td>{$_hour}</td> {* linke spalte mit Uhrzeit *} <td class="firstrow">{$_hour}</td>
{foreach from=$SCHEDULER->Week item="_day"} {foreach from=$SCHEDULER->Week item="_day"}
{* jede Zelle entpr. einem Tag (natürlich nur einer h davon) *}
<td bgcolor="grey" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')">
{if is_array($_entrys[$_day.day][$_hour])} {if is_array($_entrys[$_day.day][$_hour])}
{foreach from=$_entrys[$_day.day][$_hour] item="i"} {* hier werden die Einträge welche in der jeweil. h beginnen durchlaufen *} <td class="date_full" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')"></td>
<div style="border-style: dotted"> <td class="day_full" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')">
{$i.title} {foreach from=$_entrys[$_day.day][$_hour] item="i"}
<br> <h2>{$i.title|truncate:12}</h2>
{$i.start}-{$i.end} <p>{$i.start|truncate:5:""} - {$i.end|truncate:5:""}</p>
<br> <p>{$i.creator}</p>
{$i.creator}
</div>
{/foreach} {/foreach}
{/if}
</td> </td>
{else}
<td class="date" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')"></td>
<td class="day" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')"></td>
{/if}
{/foreach} {/foreach}
</tr> </tr>
{/foreach} {/foreach}
</table> </table>
</div>
<div class="clearer">&nbsp;</div>
</div>
<!-- end playlist editor -->
</div>

View file

@ -9,7 +9,7 @@ class uiCalendar
function buildDecade() function buildDecade()
{ {
if (is_array($this->Decade)) return TRUE; if (is_array($this->Decade)) return;
for ($Year = $this->curr['year']-5; $Year<=$this->curr['year']+5; $Year++) { for ($Year = $this->curr['year']-5; $Year<=$this->curr['year']+5; $Year++) {
$this->Decade[] = array( $this->Decade[] = array(
@ -23,6 +23,8 @@ class uiCalendar
function buildYear() function buildYear()
{ {
if (is_array($this->Year)) return;
require_once 'Calendar/Year.php'; require_once 'Calendar/Year.php';
require_once 'Calendar/Month.php'; require_once 'Calendar/Month.php';
@ -44,7 +46,7 @@ class uiCalendar
function buildMonth() function buildMonth()
{ {
if (is_array($this->Month)) return TRUE; if (is_array($this->Month)) return;
require_once 'Calendar/Month/Weekdays.php'; require_once 'Calendar/Month/Weekdays.php';
require_once 'Calendar/Day.php'; require_once 'Calendar/Day.php';
@ -74,7 +76,7 @@ class uiCalendar
function buildWeek() function buildWeek()
{ {
if (is_array($this->Week)) return FALSE; if (is_array($this->Week)) return;
require_once 'Calendar/Week.php'; require_once 'Calendar/Week.php';
@ -100,7 +102,7 @@ class uiCalendar
function buildDay() function buildDay()
{ {
if (is_array($this->Day)) return FALSE; if (is_array($this->Day)) return;
require_once 'Calendar/Day.php'; require_once 'Calendar/Day.php';
@ -126,7 +128,7 @@ class uiCalendar
function buildHour() function buildHour()
{ {
if (is_array($this->Hour)) return FALSE; if (is_array($this->Hour)) return;
require_once 'Calendar/Hour.php'; require_once 'Calendar/Hour.php';

View file

@ -8,9 +8,11 @@ class uiScheduler extends uiCalendar
$this->curr['view'] = 'month'; $this->curr['view'] = 'month';
$this->curr['year'] = strftime("%Y"); $this->curr['year'] = strftime("%Y");
$this->curr['month'] = strftime("%m"); $this->curr['month'] = strftime("%m");
$this->curr['week'] = strftime("%V");
$this->curr['day'] = strftime("%d"); $this->curr['day'] = strftime("%d");
$this->curr['hour'] = strftime("%H"); $this->curr['hour'] = strftime("%H");
$this->curr['dayname'] = strftime("%A"); $this->curr['dayname'] = strftime("%A");
$this->curr['monthname']= strftime("%B");
$this->curr['isToday'] = TRUE; $this->curr['isToday'] = TRUE;
} }
@ -59,9 +61,11 @@ class uiScheduler extends uiCalendar
$this->curr['year'] = strftime("%Y", $stampTarget); $this->curr['year'] = strftime("%Y", $stampTarget);
$this->curr['month'] = strftime("%m", $stampTarget); $this->curr['month'] = strftime("%m", $stampTarget);
$this->curr['week'] = strftime("%V", $stampTarget);
$this->curr['day'] = strftime("%d", $stampTarget); $this->curr['day'] = strftime("%d", $stampTarget);
$this->curr['hour'] = strftime("%H", $stampTarget); $this->curr['hour'] = strftime("%H", $stampTarget);
$this->curr['dayname'] = strftime("%A", $stampTarget); $this->curr['dayname'] = strftime("%A", $stampTarget);
$this->curr['monthname']= strftime("%B", $stampTarget);
if ($this->curr['year'] == strftime("%Y") && $this->curr['month'] == strftime("%m") && $this->curr['day'] == strftime("%d")) if ($this->curr['year'] == strftime("%Y") && $this->curr['month'] == strftime("%m") && $this->curr['day'] == strftime("%d"))
$this->curr['isToday'] = TRUE; $this->curr['isToday'] = TRUE;