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">
<tr> <table class="scheduler_day" style="width: 606px;">
<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><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&day=%2B%2B')">>></a></th>
</tr>
{assign var="_entrys" value=$SCHEDULER->getDayEntrys()} {* Tag vor/zurück, code um heutigen Tag abzufragen
{foreach from=$_scale item="_hour"} <tr>
<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><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&day=%2B%2B')">>></a></th>
</tr>
*}
{assign var="_year" value=$_Day.year} <tr class="blue_head">
{assign var="_month" value=$_Day.month}
<tr> {* jede Reiehe entspr. einer Stunde *} {* Multi-action checkboxen, die brauchen wir aber höchstens bei den Einträgen um mehere auf einmal zu löschen ?
<td>{$_hour}</td> {* linke spalte mit Uhrzeit *} <td style="width: 30px"><input type="checkbox" name="all" onClick="collector_switchAll('SCHEDULER')"></td>
*}
<td bgcolor="grey" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')">
{if is_array($_entrys[$_hour])}
{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}
<br>
{$i.start}-{$i.end}
<br>
{$i.creator}
</div>
{/foreach}
{/if}
</td>
<td style="width: 95px">Time</td>
<td style="width: 481px; border-right: 0;">Show Info</td>
</tr> </tr>
{/foreach} {assign var="_entrys" value=$SCHEDULER->getDayEntrys()}
</table> {foreach from=$_scale item="_hour"}
{assign var="_year" value=$_Day.year}
{assign var="_month" value=$_Day.month}
<tr class="blue2" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')">
{* <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;">
{if is_array($_entrys[$_hour])}
{foreach from=$_entrys[$_hour] item="i"} {* hier werden die Einträge welche in der jeweil. h beginnen durchlaufen *}
{$i.title}:
{$i.start}-{$i.end}
{$i.creator}
{* timing-ansich {/foreach}
{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} {/if}
</td> </td>
{else}
<td bgcolor="#97bacf" width="600" height="{$SCHEDULER->_oneOrMore($i.length/$_divisor)}">
</td>
{/if}
</tr> </tr>
{/foreach}
</table>
</td> {/foreach}
</tr> </table>
</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 class="clearer">&nbsp;</div>
*}
</div>
</div>

View file

@ -2,69 +2,38 @@
{$SCHEDULER->buildWeek()} {$SCHEDULER->buildWeek()}
<!-- start scheduler --> <!-- start scheduler -->
<div class="content"> <div class="content">
<div class="container_elements"> <div class="container_elements">
<h1>##Monthly View##</h1> <h1>##Monthly View##</h1>
<table class="scheduler_month"> <table class="scheduler_month">
<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> <tr>
{/if} {foreach from=$SCHEDULER->Week item="_Weekday"}
<th>{$_Weekday.label.full}</th>
{/foreach}
</tr>
<td {if $_Day.isToday} class="today"{/if}> {foreach from=$SCHEDULER->Month item="_Day"}
<p><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&year={$_Day.year}&month={$_Day.month}&day={$_Day.day}')">{$_Day.day}</a></p> {if $_Day.isSelected}
<div class="scala"> {assign var="percentage" value=$SCHEDULER->getDayUsagePercentage($_Day.year, $_Day.month, $_Day.day)}
<div class="scala_in" style="width: {$percentage}px;"></div> <!-- fullsize 96px, multiple of 24 --> {else}
</div> {assign var="percentage" value="0"}
</td> {/if}
{if $_Day.isLast} {if $_Day.isFirst}
<tr>
{/if}
<td {if $_Day.isToday} class="today"{/if}>
<p><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&year={$_Day.year}&month={$_Day.month}&day={$_Day.day}')">{$_Day.day}</a></p>
<div class="scala">
<div class="scala_in" style="width: {$percentage}px;"></div> <!-- fullsize 96px, multiple of 24 -->
</div>
</td>
{if $_Day.isLast}
</tr> </tr>
{/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>
<tr> {*
<td rowspan="26" valign="top"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=--')"><<</a> </td> <div class="container_button_scheduler">
<td></td> <input type="button" class="button_large" value="Start Scheduler" />
{foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnamen angezeigt *} <input type="button" class="button_large" value="Stop Scheduler" />
<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> </div>
{/foreach} *}
<td rowspan="26" valign="top"><a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=%2B%2B')">>></a></td>
</tr>
<tr> <div class="clearer">&nbsp;</div>
<td></td> <p>{$SCHEDULER->curr.week}. ##KW## {$SCHEDULER->curr.year}</p>
{foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnummern angezeigt *}
<td {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>
</td>
{/foreach}
</tr>
<table class="scheduler_week">
<tr>
{* Link Woche zurück <a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=--')"><<</a> *}
<th class="firstrow"></th>
{foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnamen angezeigt *}
<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}
{* Link Woche vor <a href="#" onClick="hpopup('{$UI_HANDLER}?act=SCHEDULER.set&week=%2B%2B')">>></a> *}
</tr>
{assign var="_entrys" value=$SCHEDULER->getWeekEntrys()} <tr>
{foreach from=$_scale item="_hour"} <td class="firstrow_secondcol"></td>
{foreach from=$SCHEDULER->Week item="_Day"} {* hier werden die Tagesnummern angezeigt *}
<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>
</td>
<td class="day_secondcol"></td>
{/foreach}
</tr>
{assign var="_year" value=$_Day.year} {assign var="_entrys" value=$SCHEDULER->getWeekEntrys()}
{assign var="_month" value=$_Day.month} {foreach from=$_scale item="_hour"}
{assign var="_year" value=$_Day.year}
{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"} {if is_array($_entrys[$_day.day][$_hour])}
{* jede Zelle entpr. einem Tag (natürlich nur einer h davon) *} <td class="date_full" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')"></td>
<td bgcolor="grey" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')"> <td class="day_full" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')">
{foreach from=$_entrys[$_day.day][$_hour] item="i"}
{if is_array($_entrys[$_day.day][$_hour])} <h2>{$i.title|truncate:12}</h2>
{foreach from=$_entrys[$_day.day][$_hour] item="i"} {* hier werden die Einträge welche in der jeweil. h beginnen durchlaufen *} <p>{$i.start|truncate:5:""} - {$i.end|truncate:5:""}</p>
<div style="border-style: dotted"> <p>{$i.creator}</p>
{$i.title} {/foreach}
<br> </td>
{$i.start}-{$i.end} {else}
<br> <td class="date" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')"></td>
{$i.creator} <td class="day" onContextmenu="return contextmenu('year={$_day.year}&month={$_day.month}&day={$_day.day}&hour={$_hour}', 'SCHEDULER.addItem')"></td>
</div> {/if}
{/foreach} {/foreach}
{/if} </tr>
</td>
{/foreach} {/foreach}
</tr>
{/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;