summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranbr <vdr07@deltab.de>2015-09-06 17:32:44 +0200
committeranbr <vdr07@deltab.de>2015-09-06 17:32:44 +0200
commitd036005d73407887872b9321ae51fe8f7ee6f9a5 (patch)
tree6993c71f63e55089318edba271e3f9299c441f54
parent27436744df70f9ecd42a9ecdbef448cc65271706 (diff)
downloadxxv-d036005d73407887872b9321ae51fe8f7ee6f9a5.tar.gz
xxv-d036005d73407887872b9321ae51fe8f7ee6f9a5.tar.bz2
EPG: Show event duration on search results
-rw-r--r--lib/Tools.pm13
-rw-r--r--lib/XXV/MODULES/CHRONICLE.pm10
-rw-r--r--lib/XXV/MODULES/EPG.pm28
-rw-r--r--skins/deltab/now.tmpl8
-rw-r--r--skins/deltab/program.tmpl7
-rw-r--r--skins/deltab/search.tmpl7
-rw-r--r--skins/html/bloecke/event_links.tmpl4
-rw-r--r--skins/html/now.tmpl25
-rw-r--r--skins/html/program.tmpl23
-rw-r--r--skins/html/search.tmpl16
-rw-r--r--skins/jason/chronicle.js13
-rw-r--r--skins/jason/jason.css10
-rw-r--r--skins/jason/locale/lang-de.js4
-rw-r--r--skins/jason/locale/lang-en.js4
-rw-r--r--skins/jason/locale/lang-it.js4
-rw-r--r--skins/jason/now.js40
-rw-r--r--skins/jason/program.js16
-rw-r--r--skins/jason/search.js13
-rw-r--r--skins/stone/now.tmpl12
-rw-r--r--skins/stone/program.tmpl8
-rw-r--r--skins/stone/search.tmpl9
-rw-r--r--skins/stone_flat/now.tmpl17
-rw-r--r--skins/stone_flat/program.tmpl7
-rw-r--r--skins/stone_flat/search.tmpl7
-rw-r--r--skins/xstyle/bloecke/percentbar.tmpl4
-rw-r--r--skins/xstyle/now.tmpl10
-rw-r--r--skins/xstyle/program.tmpl21
-rw-r--r--skins/xstyle/search.tmpl20
28 files changed, 234 insertions, 126 deletions
diff --git a/lib/Tools.pm b/lib/Tools.pm
index 5a1bcc0..14e5155 100644
--- a/lib/Tools.pm
+++ b/lib/Tools.pm
@@ -37,7 +37,7 @@ use constant FRAMESPERSECOND => 25;
&deleteDir &getip &convert &int &entities &reentities &bench &fmttime
&getDataByTable &getDataById &getDataBySearch &getDataByFields &touch &url
&con_err &con_msg &text2frame &frame2hms &gettext &setcharset &resolv_symlink
- &connectDB &findttf
+ &connectDB &findttf &fmtSec2Time
);
@@ -52,6 +52,17 @@ sub fmttime {
return $ret;
}
+# ------------------
+sub fmtSec2Time {
+# ------------------
+ my $time = shift || 0;
+
+ my $min = ($time / 60) % 60;
+ my $hour = CORE::int($time/3600);
+
+ return sprintf('%d:%02d', $hour, $min);
+}
+
use constant MONTHS => qw/Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec/;
use constant WEEKDAYS => qw/Sun Mon Tue Wed Thu Fri Sat/;
# ------------------
diff --git a/lib/XXV/MODULES/CHRONICLE.pm b/lib/XXV/MODULES/CHRONICLE.pm
index ac6d499..18db980 100644
--- a/lib/XXV/MODULES/CHRONICLE.pm
+++ b/lib/XXV/MODULES/CHRONICLE.pm
@@ -188,7 +188,8 @@ SELECT SQL_CACHE
UNIX_TIMESTAMP(starttime) as \'$f{'day'}\',
DATE_FORMAT(starttime, '%H:%i') as \'$f{'start'}\',
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) + duration), '%H:%i') as \'$f{'stop'}\'
- ,description as _description
+ ,duration as __duration
+ ,description as __description
FROM CHRONICLE
ORDER BY starttime
|;
@@ -227,7 +228,7 @@ ORDER BY starttime
unless($console->typ eq 'AJAX') {
map {
- $_->[3] = datum($_->[3],'weekday');
+ $_->[3] = datum($_->[3],'weekday');
} @$erg;
unshift(@$erg, $fields);
}
@@ -270,7 +271,8 @@ SELECT SQL_CACHE
UNIX_TIMESTAMP(starttime) as \'$f{'day'}\',
DATE_FORMAT(starttime, '%H:%i') as \'$f{'start'}\',
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) + duration), '%H:%i') as \'$f{'stop'}\'
- ,description as _description
+ ,duration as __duration
+ ,description as __description
FROM CHRONICLE
|;
$sql .= sprintf("WHERE %s ORDER BY starttime",$query->{query});
@@ -311,7 +313,7 @@ FROM CHRONICLE
unless($console->typ eq 'AJAX') {
map {
- $_->[3] = datum($_->[3],'weekday');
+ $_->[3] = datum($_->[3],'weekday');
} @$erg;
unshift(@$erg, $fields);
}
diff --git a/lib/XXV/MODULES/EPG.pm b/lib/XXV/MODULES/EPG.pm
index fba4569..b3be04c 100644
--- a/lib/XXV/MODULES/EPG.pm
+++ b/lib/XXV/MODULES/EPG.pm
@@ -716,6 +716,7 @@ sub search {
'channel' => gettext('Channel'),
'start' => gettext('Start'),
'stop' => gettext('Stop'),
+ 'duration' => gettext('Duration'),
'day' => gettext('Day')
);
@@ -728,6 +729,7 @@ sub search {
c.hash as __position,
DATE_FORMAT(e.starttime, '%H:%i') as \'$f{'start'}\',
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(e.starttime) + e.duration), '%H:%i') as \'$f{'stop'}\',
+ e.duration as \'$f{'duration'}\',
UNIX_TIMESTAMP(e.starttime) as \'$f{'day'}\',
IF(CHAR_LENGTH(e.description)>77,RPAD(LEFT(e.description,77),80,'.'),e.description) as __Description,
IF(e.vpstime!=0,DATE_FORMAT(e.vpstime, '%H:%i'),'') as __PDC,
@@ -798,7 +800,8 @@ sub search {
unless($console->typ eq 'AJAX') {
map {
- $_->[7] = datum($_->[7],'weekday');
+ $_->[7] = fmtSec2Time($_->[7]);
+ $_->[8] = datum($_->[8],'weekday');
} @$erg;
unshift(@$erg, $fields);
@@ -844,8 +847,7 @@ sub program {
'id' => gettext('Service'),
'title' => gettext('Title'),
'start' => gettext('Start'),
- 'stop' => gettext('Stop'),
- 'day' => gettext('Day')
+ 'stop' => gettext('Stop')
);
my $sql = qq|
@@ -855,7 +857,8 @@ SELECT SQL_CACHE
e.subtitle as __Subtitle,
DATE_FORMAT(e.starttime, '%H:%i') as \'$f{'start'}\',
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(e.starttime) + e.duration), '%H:%i') as \'$f{'stop'}\',
- UNIX_TIMESTAMP(e.starttime) as \'$f{'day'}\',
+ e.duration as __duration,
+ UNIX_TIMESTAMP(e.starttime) as __day,
IF(CHAR_LENGTH(e.description)>77,RPAD(LEFT(e.description,77),80,'.'),e.description) as __Description,
IF(e.vpstime!=0,DATE_FORMAT(e.vpstime, '%H:%i'),'') as __PDC,
( SELECT
@@ -925,7 +928,8 @@ order by
unless($console->typ eq 'AJAX') {
map {
- $_->[5] = datum($_->[5],'weekday');
+ $_->[5] = fmtSec2Time($_->[5]);
+ $_->[6] = datum($_->[6],'weekday');
} @$erg;
unshift(@$erg, $fields);
@@ -1138,6 +1142,7 @@ SELECT SQL_CACHE
g.name as __Channelgroup,
DATE_FORMAT(e.starttime, "%H:%i") as \'$f{'Start'}\',
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) + e.duration), "%H:%i") as \'$f{'Stop'}\',
+ e.duration as __duration,
IF(CHAR_LENGTH(e.description)>77,RPAD(LEFT(e.description,77),80,'.'),e.description) as __Description,
999 as __Percent,
( SELECT
@@ -1238,9 +1243,9 @@ ORDER BY g.pos, c.pos, c.vid
my $fields = $sth->{'NAME'};
my $erg = $sth->fetchall_arrayref();
unless($console->typ eq 'AJAX') {
-# map {
-# $_->[5] = datum($_->[5],'short');
-# } @$erg;
+ map {
+ $_->[8] = fmtSec2Time($_->[8]);
+ } @$erg;
unshift(@$erg, $fields);
}
@@ -1294,6 +1299,7 @@ SELECT SQL_CACHE
g.name as __Channelgroup,
DATE_FORMAT(e.starttime, "%H:%i") as \'$f{'Start'}\',
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) + e.duration), "%H:%i") as \'$f{'Stop'}\',
+ e.duration as __duration,
IF(CHAR_LENGTH(e.description)>77,RPAD(LEFT(e.description,77),80,'.'),e.description) as __Description,
(unix_timestamp(e.starttime) + e.duration - unix_timestamp())/e.duration*100 as \'$f{'Percent'}\',
( SELECT
@@ -1398,9 +1404,9 @@ ORDER BY g.pos, c.pos, c.vid
my $fields = $sth->{'NAME'};
my $erg = $sth->fetchall_arrayref();
unless($console->typ eq 'AJAX') {
-# map {
-# $_->[5] = datum($_->[5],'short');
-# } @$erg;
+ map {
+ $_->[8] = fmtSec2Time($_->[8]);
+ } @$erg;
unshift(@$erg, $fields);
}
diff --git a/skins/deltab/now.tmpl b/skins/deltab/now.tmpl
index 859c09b..8df7d24 100644
--- a/skins/deltab/now.tmpl
+++ b/skins/deltab/now.tmpl
@@ -108,10 +108,10 @@
<?% IF verbose;"<!-- Item: ";FOREACH x IN zeile;loop.count - 1;":";x.replace("-"," ");"|";END;"-->";END %?>
<tr<?% " class='two'" IF loop.count mod 2 == 0 %?>>
<?% id=zeile.0;title=zeile.1;subtitle=zeile.2;sender=zeile.3;
- channel=zeile.4;group=zeile.5;start=zeile.6;stop=zeile.7;
- description=zeile.8;duration=zeile.9;
- timerid=zeile.10;recording=zeile.11;running=zeile.12;
- pdc=zeile.13; %?>
+ channel=zeile.4;group=zeile.5;start=zeile.6;stop=zeile.7;duration=zeile.8;
+ description=zeile.9;progress=zeile.10;
+ timerid=zeile.11;recording=zeile.12;running=zeile.13;
+ pdc=zeile.14; %?>
<?% IF old.defined && group != old %?>
</tr>
</table>
diff --git a/skins/deltab/program.tmpl b/skins/deltab/program.tmpl
index f1d8784..9398d41 100644
--- a/skins/deltab/program.tmpl
+++ b/skins/deltab/program.tmpl
@@ -67,7 +67,7 @@
<h1><?% gettext("Program guide for") %?>&nbsp;<?% channel %?></h1>
<?% ELSE %?>
<?% fields = data.shift %?>
-<h1><?% gettext("Program guide for") %?>&nbsp;<?% channel %?> - <?% data.first.5 %?></h1>
+<h1><?% gettext("Program guide for") %?>&nbsp;<?% channel %?> - <?% data.first.6 %?></h1>
<table summary="" width="100%">
<tr>
<th></th>
@@ -77,9 +77,8 @@
<?% FOREACH zeile IN data %?>
<?% IF verbose;"<!-- Item: ";FOREACH x IN zeile;loop.count - 1;":";x.replace("-"," ");"|";END;"-->";END %?>
- <?% id=zeile.0;title=zeile.1;subtitle=zeile.2;start=zeile.3;stop=zeile.4;
- description=zeile.6;pdc=zeile.7;timerid=zeile.8;recording=zeile.9;running=zeile.10;
- day = zeile.5 %?>
+ <?% id=zeile.0;title=zeile.1;subtitle=zeile.2;start=zeile.3;stop=zeile.4;duration=zeile.5;day = zeile.6;
+ description=zeile.7;pdc=zeile.8;timerid=zeile.9;recording=zeile.10;running=zeile.11; %?>
<?% IF old.defined && day != old %?>
<tr>
<td colspan="12" align="left">
diff --git a/skins/deltab/search.tmpl b/skins/deltab/search.tmpl
index 8a1ae27..3720d34 100644
--- a/skins/deltab/search.tmpl
+++ b/skins/deltab/search.tmpl
@@ -65,7 +65,7 @@
<h1><?% gettext("Search text") %?> : <?% cgi.param('data') %?></h1>
<?% ELSE %?>
<?% fields = data.shift %?>
-<h1><?% gettext("Search text") %?> : <?% cgi.param('data') %?> - <?% data.first.7 %?></h1>
+<h1><?% gettext("Search text") %?> : <?% cgi.param('data') %?> - <?% data.first.8 %?></h1>
<table summary="" width="100%">
<tr>
<th width="180"></th>
@@ -76,9 +76,8 @@
<?% FOREACH zeile IN data %?>
<?% IF verbose;"<!-- Item: ";FOREACH x IN zeile;loop.count - 1;":";x.replace("-"," ");"|";END;"-->";END %?>
<?% id=zeile.0;title=zeile.1;subtitle=zeile.2;sender=zeile.3;
- channel=zeile.4;start=zeile.5;stop=zeile.6;description=zeile.8;
- pdc=zeile.9;timerid=zeile.10;recording=zeile.11;running=zeile.12;
- day = zeile.7 %?>
+ channel=zeile.4;start=zeile.5;stop=zeile.6;duration=zeile.7;day=zeile.8;description=zeile.9;
+ pdc=zeile.10;timerid=zeile.11;recording=zeile.12;running=zeile.13 %?>
<?% IF old.defined && day != old %?>
<tr>
<td colspan="12" align="left">
diff --git a/skins/html/bloecke/event_links.tmpl b/skins/html/bloecke/event_links.tmpl
index 952831a..9fe21a3 100644
--- a/skins/html/bloecke/event_links.tmpl
+++ b/skins/html/bloecke/event_links.tmpl
@@ -3,8 +3,8 @@
<a href="?cmd=display&data=<?% epgId %?>" title='<?% gettext("Detailed program information") %?>'><img src="images/view_event.png" /></a><?% umbruch %?>
<?% END %?>
<a href="?cmd=search&amp;data=<?% url( data.1 ) %?>"><img src="images/repeat.png" title="<?% gettext("Search for repeats") %?>" /></a><?% umbruch %?>
- <?% IF data.10 && allow('tedit') %?>
-<a href="?cmd=tedit&amp;data=<?% data.10 %?>"><img src="images/record_blue.png" title="<?% gettext("Edit this timer") %?>" /></a><?% umbruch %?>
+ <?% IF data.11 && allow('tedit') %?>
+<a href="?cmd=tedit&amp;data=<?% data.11 %?>"><img src="images/record_blue.png" title="<?% gettext("Edit this timer") %?>" /></a><?% umbruch %?>
<?% ELSIF allow('tnew') %?>
<a href="?cmd=tnew&amp;data=<?% data.0 %?>"><img src="images/record.png" title="<?% gettext("To record") %?>" name='recordlink' id='<?% data.0 %?>' /></a><?% umbruch %?>
<?% END %?>
diff --git a/skins/html/now.tmpl b/skins/html/now.tmpl
index ea4a8f3..23ec346 100644
--- a/skins/html/now.tmpl
+++ b/skins/html/now.tmpl
@@ -52,7 +52,7 @@
<?% END %?>
</tr>
<?% FOREACH zeile IN data %?>
- <?% id=zeile.0;title=zeile.1;subtitle=zeile.2;sender=zeile.3;channel=zeile.4;group=zeile.5;start=zeile.6;stop=zeile.7;desc=zeile.8;duration=zeile.9 %?>
+ <?% id=zeile.0;title=zeile.1;subtitle=zeile.2;sender=zeile.3;channel=zeile.4;group=zeile.5;start=zeile.6;stop=zeile.7;duration=zeile.8;desc=zeile.9;progress=zeile.10;timerid=zeile.11;recording=zeile.12;running=zeile.13; %?>
<?% IF group != old %?>
<tr><td colspan="6" bgcolor='#DDDDDD'>
<b><?% group %?></b>
@@ -60,10 +60,10 @@
<?% END %?>
<tr class="<?% myclass %?>" <?% IF (loop.count mod 2) == 0 %?>bgcolor='#F5F5F5'<?% END %?>>
<td><nobr>
- <?% IF zeile.11 %?><b><?% END %?>
+ <?% IF recording %?><b><?% END %?>
<a href="?cmd=search&amp;data=<?% url( title ) %?>">[<?% gettext("Rep") %?>]</a>
- <?% IF zeile.10 && allow('tedit') %?>
- <a href="?cmd=tedit&amp;data=<?% zeile.10 %?>">[<?% gettext("Edit") %?>]</a><br>
+ <?% IF timerid && allow('tedit') %?>
+ <a href="?cmd=tedit&amp;data=<?% timerid %?>">[<?% gettext("Edit") %?>]</a><br>
<?% ELSIF allow('tnew') %?>
<a href="?cmd=tnew&amp;data=<?% id %?>"><span name='recordlink' id='<?% id %?>' class='normal'>[<?% gettext("Rec") %?>]</span></a><br>
<?% END %?>
@@ -72,27 +72,26 @@
<?% END %?>
</td>
<td>
- <?% IF zeile.11 %?><b><?% END %?>
+ <?% IF recording %?><b><?% END %?>
<?% INCLUDE bloecke/tooltip.tmpl cmd="display" eventid=id linkid=id ttp_offset=0 %?><?% title %?></a>
<?% IF subtitle != "" %?>
<br><small><?% subtitle %?></small>
<?% END %?>
</td>
<td>
- <?% IF zeile.11 %?><b><?% END %?>
+ <?% IF recording %?><b><?% END %?>
<a href="?cmd=program&amp;data=<?% channel %?>"><?% sender %?></a>
</td>
- <td><?% IF zeile.11 %?><b><?% END %?><?% start %?><?% IF zeile.11 %?></b><?% END %?></td>
- <td><?% IF zeile.11 %?><b><?% END %?><?% stop %?><?% IF zeile.11 %?></b><?% END %?></td>
- <?% UNLESS duration > 100 OR duration <= 0 %?>
+ <td><?% IF recording %?><b><?% END %?><?% start %?><?% IF recording %?></b><?% END %?></td>
+ <td><?% IF recording %?><b><?% END %?><?% stop %?><?% IF recording %?></b><?% END %?></td>
+ <?% UNLESS progress > 100 OR progress <= 0 %?>
<td width="100" valign='bottom'><nobr>
- <?% per = ( (100 - duration) + 0.999 ) div 1 ; per = (per > 100 ? 100 : per) %?>
+ <?% per = ( (100 - progress) + 0.999 ) div 1 ; per = (per > 100 ? 100 : per) %?>
<?% per2 = 100 - per %?>
- <?% text = per div 1 | format("<br><font size='1'>${per}%%</font>") %?>
<table width="100%" cellspacing='0' cellpadding='0'>
<tr>
- <td bgcolor="#dedede"><img src='images/blank.png' width="<?% per %?>" height='1' hspace=0 vspace=0><?% IF zeile.11 %?><b><?% END %?><?% (per > 19 ? text : "&nbsp;") %?></td>
- <td bgcolor="#ffffff"><img src='images/blank.png' width="<?% per2 %?>" height='1' hspace=0 vspace=0><?% IF zeile.11 %?><b><?% END %?><?% (per < 20 ? text : "") %?></td>
+ <td bgcolor="#dedede"><img src='images/blank.png' width="<?% per %?>" height='1' hspace=0 vspace=0><?% IF recording %?><b><?% END %?><?% (per > 19 ? duration : "&nbsp;") %?></td>
+ <td bgcolor="#ffffff"><img src='images/blank.png' width="<?% per2 %?>" height='1' hspace=0 vspace=0><?% IF recording %?><b><?% END %?><?% (per < 20 ? duration : "") %?></td>
<tr>
</table>
</td>
diff --git a/skins/html/program.tmpl b/skins/html/program.tmpl
index 8770556..b4721b4 100644
--- a/skins/html/program.tmpl
+++ b/skins/html/program.tmpl
@@ -54,13 +54,13 @@
<?% fields = data.shift %?>
<tr>
<?% FOREACH field IN fields %?>
- <?% NEXT IF field.match('^__') || loop.count == 6 %?>
+ <?% NEXT IF field.match('^__') %?>
<th><?% field %?></th>
<?% END %?>
</tr>
<?% FOREACH zeile IN data %?>
<?% c = 0 %?>
- <?% day = zeile.5 %?>
+ <?% day = zeile.6 %?>
<?% IF !oldday.defined || day != oldday %?>
<tr><td colspan="<?% zeile.size %?>" bgcolor='#DDDDDD'>
<b><?% day %?></b>
@@ -72,8 +72,8 @@
<?% IF c == 1; # Id Field %?>
<td>
<a href="?cmd=search&amp;data=<?% url( zeile.1 ) %?>">[<?% gettext("Rep") %?>]</a>
- <?% IF zeile.10 && allow('tedit') %?>
- <a href="?cmd=tedit&amp;data=<?% zeile.10 %?>"><b><span name='recordlink' id='<?% zeile.0 %?>' class='normal'>[<?% gettext("Edit this timer") %?>]</span></b></a>
+ <?% IF zeile.9 && allow('tedit') %?>
+ <a href="?cmd=tedit&amp;data=<?% zeile.9 %?>"><b><span name='recordlink' id='<?% zeile.0 %?>' class='normal'>[<?% gettext("Edit this timer") %?>]</span></b></a>
<?% ELSIF allow('tnew') %?>
<a href="?cmd=tnew&amp;data=<?% zeile.0 %?>"><span name='recordlink' id='<?% zeile.0 %?>' class='normal'>[<?% gettext("To record") %?>]</span></a>
<?% END %?>
@@ -82,8 +82,8 @@
</td>
<?% ELSIF c == 2; # Text Field %?>
<td>
- <?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=field subtitle=zeile.2 desc=zeile.6 eventid=zeile.0 linkid=zeile.0 ttp_offset=0 %?>
- <?% IF zeile.11 %?>
+ <?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=field subtitle=zeile.2 desc=zeile.7 eventid=zeile.0 linkid=zeile.0 ttp_offset=0 %?>
+ <?% IF zeile.12 %?>
<b><?% field %?></b>
<?% ELSE %?>
<?% field %?>
@@ -91,16 +91,17 @@
<?% IF zeile.2.length > 0 %?>
<br><small><?% zeile.2 %?></small>
<?% END %?>
- <?% IF zeile.6.length > 0 %?>
- <br><small><em><?% chop(zeile.6,80) | replace('<br />',' ') %?></em></small>
+ <?% IF zeile.7.length > 0 %?>
+ <br><small><em><?% chop(zeile.7,80) | replace('<br />',' ') %?></em></small>
<?% END %?>
</a>
</td>
<?% ELSIF c == 3; # Subtitle Field %?>
- <?% ELSIF c == 6; # Day Field %?>
- <?% ELSIF c >= 7; # Desc Field %?>
+ <?% ELSIF c == 6; # Duration Field %?>
+ <?% ELSIF c == 7; # Day Field %?>
+ <?% ELSIF c >= 8; # Desc Field %?>
<?% ELSE %?>
- <?% IF zeile.11 %?>
+ <?% IF zeile.12 %?>
<td><b><?% field %?></b></td>
<?% ELSE %?>
<td><?% field %?></td>
diff --git a/skins/html/search.tmpl b/skins/html/search.tmpl
index 5c4e45f..1e88edb 100644
--- a/skins/html/search.tmpl
+++ b/skins/html/search.tmpl
@@ -111,13 +111,13 @@
<th></th>
<?% END %?>
<?% FOREACH field IN fields %?>
- <?% NEXT IF field.match('^__') || loop.count == 8 || loop.count == 9 %?>
+ <?% NEXT IF field.match('^__') || loop.count == 9 || loop.count == 10 %?>
<th><?% field %?></th>
<?% END %?>
</tr>
<?% FOREACH zeile IN data %?>
<?% c = -1 %?>
- <?% day = zeile.7 %?>
+ <?% day = zeile.8 %?>
<?% IF !oldday.defined || day != oldday %?>
<tr><td colspan="<?% zeile.size %?>" bgcolor='#DDDDDD'>
<b><?% day %?></b>
@@ -130,7 +130,7 @@
<?% IF c == 0; # Id Field %?>
<?% IF enableform %?>
<td>
- <?% IF !zeile.10 %?>
+ <?% IF !zeile.11 %?>
<input type="checkbox" value="<?% zeile.0 %?>" name="<?% zeile.1 %?><?% IF zeile.2 != "";"~";zeile.2;END %?>" />
<?% END %?>
</td>
@@ -140,7 +140,7 @@
</td>
<?% ELSIF c == 1; # Text Field %?>
<td>
- <?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=field subtitle=zeile.2 desc=zeile.8 eventid=zeile.0 linkid=zeile.0 ttp_offset=0 %?>
+ <?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=field subtitle=zeile.2 desc=zeile.9 eventid=zeile.0 linkid=zeile.0 ttp_offset=0 %?>
<?% IF zeile.11 %?>
<b><?% field %?></b>
<?% ELSE %?>
@@ -149,8 +149,8 @@
<?% IF zeile.2 != "" %?>
<br><small><?% zeile.2 %?></small>
<?% END %?>
- <?% IF zeile.8.length > 0 %?>
- <br><small><em><?% chop(zeile.8,80) | replace('<br />',' ') %?></em></small>
+ <?% IF zeile.9.length > 0 %?>
+ <br><small><em><?% chop(zeile.9,80) | replace('<br />',' ') %?></em></small>
<?% END %?>
</a>
</td>
@@ -158,8 +158,8 @@
<td>
<a href="?cmd=program&amp;data=<?% zeile.4 %?>"><?% field %?></a>
</td>
- <?% ELSIF c == 7; # Day Field %?>
- <?% ELSIF c == 8; # Desc Field %?>
+ <?% ELSIF c == 8; # Day Field %?>
+ <?% ELSIF c == 9; # Desc Field %?>
<?% ELSE %?>
<td><?% field %?></td>
<?% END %?>
diff --git a/skins/jason/chronicle.js b/skins/jason/chronicle.js
index 52b68da..40a9bda 100644
--- a/skins/jason/chronicle.js
+++ b/skins/jason/chronicle.js
@@ -20,6 +20,7 @@ Ext.xxv.chronicleStore = function() {
{name: 'day', type:'date', dateFormat:'timestamp'},
{name: 'start', type: 'string'},
{name: 'stop', type: 'string'},
+ {name: 'duration', type: 'int' },
{name: 'description', type: 'string'}
]
})
@@ -58,11 +59,18 @@ Ext.xxv.ChronicleGrid = function(viewer) {
},{
header: this.szColStart
,dataIndex: 'start'
- ,width: 50
+ ,width: 30
},{
header: this.szColStop
,dataIndex: 'stop'
- ,width: 50
+ ,width: 30
+ },{
+ header: this.szColDuration
+ ,dataIndex: 'duration'
+ ,width: 30
+ ,renderer: function (v, m, r) {
+ return SecondsToHMS(v);
+ }
}
];
@@ -117,6 +125,7 @@ Ext.extend(Ext.xxv.ChronicleGrid, Ext.grid.EditorGridPanel, {
,szColChannel : "Channel"
,szColStart : "Start"
,szColStop : "Stop"
+ ,szColDuration : "Duration"
,szColDayFormat : "l, m/d/Y"
,szLoadException : "Couldn't get data from chronicle!\r\n{0}"
,szDeleteSuccess : "Data from chronicle deleted successful.\r\n{0}"
diff --git a/skins/jason/jason.css b/skins/jason/jason.css
index e4a02a8..cfe3189 100644
--- a/skins/jason/jason.css
+++ b/skins/jason/jason.css
@@ -568,3 +568,13 @@ object#audio-player { display:inline; }
height:200px;
width:200px;
}
+
+.now .x-progress-text {
+ text-align:left !important;
+ font-size:10px;
+ padding:0 3px !important;
+}
+
+.now .x-progress-bar {
+ height:14px;
+}
diff --git a/skins/jason/locale/lang-de.js b/skins/jason/locale/lang-de.js
index 4cd649a..9dff7d1 100644
--- a/skins/jason/locale/lang-de.js
+++ b/skins/jason/locale/lang-de.js
@@ -93,6 +93,7 @@ Ext.xxv.ChronicleGrid.prototype.szColDay = "Datum";
Ext.xxv.ChronicleGrid.prototype.szColChannel = "Kanal";
Ext.xxv.ChronicleGrid.prototype.szColStart = "Beginn";
Ext.xxv.ChronicleGrid.prototype.szColStop = "Ende";
+Ext.xxv.ChronicleGrid.prototype.szColDuration = "Dauer";
Ext.xxv.ChronicleGrid.prototype.szColDayFormat = "l, d.m.Y";
Ext.xxv.ChronicleGrid.prototype.szLoadException = "Konnte keine Daten der Chronik holen!\r\n{0}";
Ext.xxv.ChronicleGrid.prototype.szDeleteSuccess = "Eintrag der Chronik erfolgreich gelöscht.\r\n{0}";
@@ -114,6 +115,7 @@ Ext.xxv.NowGrid.prototype.szColChannel = "Kanal";
Ext.xxv.NowGrid.prototype.szColGrpName = "Gruppe der Kanäle";
Ext.xxv.NowGrid.prototype.szColStart = "Beginn";
Ext.xxv.NowGrid.prototype.szColStop = "Ende";
+Ext.xxv.NowGrid.prototype.szColDuration = "Dauer";
Ext.xxv.NowGrid.prototype.szLoadException = "Konnte keine Daten holen!\r\n{0}";
Ext.xxv.NowGrid.prototype.szRecordSuccess = "Timer erfolgreich erstellt.\r\n{0}";
Ext.xxv.NowGrid.prototype.szRecordFailure = "Konnte Timer nicht erstellen!\r\n{0}";
@@ -130,6 +132,7 @@ Ext.xxv.programGrid.prototype.szColTitle = "Titel";
Ext.xxv.programGrid.prototype.szColDay = "Datum";
Ext.xxv.programGrid.prototype.szColStart = "Beginn";
Ext.xxv.programGrid.prototype.szColStop = "Ende";
+Ext.xxv.programGrid.prototype.szColDuration = "Dauer";
Ext.xxv.programGrid.prototype.szColDayFormat = "l, d.m.Y";
Ext.xxv.programGrid.prototype.szLoadException = "Konnte keine Programmdaten holen!\r\n{0}";
@@ -142,6 +145,7 @@ Ext.xxv.searchGrid.prototype.szColChannel = "Kanal";
Ext.xxv.searchGrid.prototype.szColDay = "Datum";
Ext.xxv.searchGrid.prototype.szColStart = "Beginn";
Ext.xxv.searchGrid.prototype.szColStop = "Ende";
+Ext.xxv.searchGrid.prototype.szColDuration = "Dauer";
Ext.xxv.searchGrid.prototype.szColDayFormat = "l, d.m.Y";
Ext.xxv.searchGrid.prototype.szLoadException = "Konnte keine Wiederholung finden!\r\n{0}";
diff --git a/skins/jason/locale/lang-en.js b/skins/jason/locale/lang-en.js
index 2e1ceb1..d25e6bc 100644
--- a/skins/jason/locale/lang-en.js
+++ b/skins/jason/locale/lang-en.js
@@ -93,6 +93,7 @@ Ext.xxv.ChronicleGrid.prototype.szColDay = "Day";
Ext.xxv.ChronicleGrid.prototype.szColChannel = "Channel";
Ext.xxv.ChronicleGrid.prototype.szColStart = "Start";
Ext.xxv.ChronicleGrid.prototype.szColStop = "Stop";
+Ext.xxv.ChronicleGrid.prototype.szColDuration = "Duration";
Ext.xxv.ChronicleGrid.prototype.szColDayFormat = "l, m/d/Y";
Ext.xxv.ChronicleGrid.prototype.szLoadException = "Couldn't get data from chronicle!\r\n{0}";
Ext.xxv.ChronicleGrid.prototype.szDeleteSuccess = "Data from chronicle deleted successful.\r\n{0}";
@@ -114,6 +115,7 @@ Ext.xxv.NowGrid.prototype.szColChannel = "Channel";
Ext.xxv.NowGrid.prototype.szColGrpName = "Group of channel";
Ext.xxv.NowGrid.prototype.szColStart = "Start";
Ext.xxv.NowGrid.prototype.szColStop = "Stop";
+Ext.xxv.NowGrid.prototype.szColDuration = "Duration";
Ext.xxv.NowGrid.prototype.szLoadException = "Couldn't get data!\r\n{0}";
Ext.xxv.NowGrid.prototype.szRecordSuccess = "Timer created successful.\r\n{0}";
Ext.xxv.NowGrid.prototype.szRecordFailure = "Couldn't create timer!\r\n{0}";
@@ -130,6 +132,7 @@ Ext.xxv.programGrid.prototype.szColTitle = "Title";
Ext.xxv.programGrid.prototype.szColDay = "Day";
Ext.xxv.programGrid.prototype.szColStart = "Start";
Ext.xxv.programGrid.prototype.szColStop = "Stop";
+Ext.xxv.programGrid.prototype.szColDuration = "Duration";
Ext.xxv.programGrid.prototype.szColDayFormat = "l, m/d/Y";
Ext.xxv.programGrid.prototype.szLoadException = "Couldn't get program data!\r\n{0}";
@@ -142,6 +145,7 @@ Ext.xxv.searchGrid.prototype.szColChannel = "Channel";
Ext.xxv.searchGrid.prototype.szColDay = "Day";
Ext.xxv.searchGrid.prototype.szColStart = "Start";
Ext.xxv.searchGrid.prototype.szColStop = "Stop";
+Ext.xxv.searchGrid.prototype.szColDuration = "Duration";
Ext.xxv.searchGrid.prototype.szColDayFormat = "l, m/d/Y";
Ext.xxv.searchGrid.prototype.szLoadException = "Couldn't find data!\r\n{0}";
diff --git a/skins/jason/locale/lang-it.js b/skins/jason/locale/lang-it.js
index 920c9a1..cc80693 100644
--- a/skins/jason/locale/lang-it.js
+++ b/skins/jason/locale/lang-it.js
@@ -93,6 +93,7 @@ Ext.xxv.ChronicleGrid.prototype.szColDay = "Giorno";
Ext.xxv.ChronicleGrid.prototype.szColChannel = "Canale";
Ext.xxv.ChronicleGrid.prototype.szColStart = "Inizio";
Ext.xxv.ChronicleGrid.prototype.szColStop = "Fine";
+Ext.xxv.ChronicleGrid.prototype.szColDuration = "Durata";
Ext.xxv.ChronicleGrid.prototype.szColDayFormat = "l, m/d/Y";
Ext.xxv.ChronicleGrid.prototype.szLoadException = "Impossibile recuperare dati della cronologia!\r\n{0}";
Ext.xxv.ChronicleGrid.prototype.szDeleteSuccess = "Eliminazione dati cronologia riuscita.\r\n{0}";
@@ -114,6 +115,7 @@ Ext.xxv.NowGrid.prototype.szColChannel = "Canale";
Ext.xxv.NowGrid.prototype.szColGrpName = "Gruppo del canale";
Ext.xxv.NowGrid.prototype.szColStart = "Inizio";
Ext.xxv.NowGrid.prototype.szColStop = "Fine";
+Ext.xxv.NowGrid.prototype.szColDuration = "Durata";
Ext.xxv.NowGrid.prototype.szLoadException = "Impossibile recuperare i dati!\r\n{0}";
Ext.xxv.NowGrid.prototype.szRecordSuccess = "Creazione timer riuscita.\r\n{0}";
Ext.xxv.NowGrid.prototype.szRecordFailure = "Impossibile creare timer!\r\n{0}";
@@ -130,6 +132,7 @@ Ext.xxv.programGrid.prototype.szColTitle = "Titolo";
Ext.xxv.programGrid.prototype.szColDay = "Giorno";
Ext.xxv.programGrid.prototype.szColStart = "Inizio";
Ext.xxv.programGrid.prototype.szColStop = "Fine";
+Ext.xxv.programGrid.prototype.szColDuration = "Durata";
Ext.xxv.programGrid.prototype.szColDayFormat = "l, m/d/Y";
Ext.xxv.programGrid.prototype.szLoadException = "Impossibile recuperare dati del programma!\r\n{0}";
@@ -142,6 +145,7 @@ Ext.xxv.searchGrid.prototype.szColChannel = "Canale";
Ext.xxv.searchGrid.prototype.szColDay = "Giorno";
Ext.xxv.searchGrid.prototype.szColStart = "Inizio";
Ext.xxv.searchGrid.prototype.szColStop = "Fine";
+Ext.xxv.searchGrid.prototype.szColDuration = "Durata";
Ext.xxv.searchGrid.prototype.szColDayFormat = "l, m/d/Y";
Ext.xxv.searchGrid.prototype.szLoadException = "Impossibile trovare i dati!\r\n{0}";
diff --git a/skins/jason/now.js b/skins/jason/now.js
index dd01ce6..0b3e68b 100644
--- a/skins/jason/now.js
+++ b/skins/jason/now.js
@@ -20,8 +20,9 @@ Ext.xxv.NowStore = function() {
,{name: 'grpname', type: 'string'}
,{name: 'start', type: 'string' }
,{name: 'stop', type: 'string' }
+ ,{name: 'duration', type: 'int' }
,{name: 'description', type: 'string'}
- ,{name: 'prozent', type: 'string'}
+ ,{name: 'progress', type: 'string'}
,{name: 'timerid', type: 'string'}
,{name: 'timeractiv', type: 'string'}
,{name: 'running', type: 'string'}
@@ -48,6 +49,13 @@ Ext.xxv.NowStore = function() {
});
};
+SecondsToHM = function(t) {
+ var s = t % 60;
+ var m = parseInt(t / 60) % 60;
+ var h = parseInt(t / 3600);
+ return h + ":" + pad(m);
+};
+
Ext.xxv.NowGrid = function(viewer) {
this.viewer = viewer;
@@ -112,11 +120,34 @@ Ext.xxv.NowGrid = function(viewer) {
},{
header: this.szColStart,
dataIndex: 'start',
- width: 50
+ width: 30
},{
header: this.szColStop,
dataIndex: 'stop',
- width: 50
+ width: 30
+ },{
+ header: this.szColDuration,
+ dataIndex: 'duration',
+ width: 30,
+ renderer: function (v, m, r) {
+
+ var follow = r.store.baseParams.cmd != 'n' || r.store.baseParams.data;
+ if(follow) {
+ return SecondsToHM(v);
+ } else {
+ var id = Ext.id();
+ (function() {
+ var bar = new Ext.ProgressBar({
+ height: 14
+ ,renderTo: id
+ ,value: ((100 - r.data.progress) / 100)
+ ,text: SecondsToHM(v)
+ ,cls:'now'
+ });
+ }).defer(25);
+ return (String.format('<div id="{0}"></div>', id));
+ }
+ }
}
];
@@ -179,6 +210,7 @@ Ext.extend(Ext.xxv.NowGrid, Ext.grid.GridPanel, {
,szColGrpName : "Group of channel"
,szColStart : "Start"
,szColStop : "Stop"
+ ,szColDuration : "Duration"
,szLoadException : "Couldn't get data!\r\n{0}"
,szRecordSuccess : "Timer created successful.\r\n{0}"
,szRecordFailure : "Couldn't create timer!\r\n{0}"
@@ -186,7 +218,7 @@ Ext.extend(Ext.xxv.NowGrid, Ext.grid.GridPanel, {
,szDeleteSuccess : "Timer deleted successful.\r\n{0}"
,szDeleteFailure : "Couldn't delete timer!\r\n{0}"
,szDetailsFailure : "Couldn't update details of event!\r\n{0}"
-
+ ,stateful: true
,onLoadException : function( scope, o, arg, e) {
var msg = '';
if(e && e.message && typeof(e.message) == 'string') {
diff --git a/skins/jason/program.js b/skins/jason/program.js
index 621947c..b5bc72a 100644
--- a/skins/jason/program.js
+++ b/skins/jason/program.js
@@ -18,6 +18,7 @@ Ext.xxv.programStore = function(data) {
,{name: 'subtitle', type: 'string'}
,{name: 'start', type: 'string' }
,{name: 'stop', type: 'string' }
+ ,{name: 'duration', type: 'int' }
,{name: 'day', type:'date', dateFormat:'timestamp'}
,{name: 'description', type: 'string'}
,{name: 'vps', type:'date', dateFormat:'timestamp'}
@@ -66,12 +67,20 @@ Ext.xxv.programGrid = function(viewer, record) {
},{
header: this.szColStart,
dataIndex: 'start',
- width: 50
+ width: 30
},{
header: this.szColStop,
dataIndex: 'stop',
- width: 50
- }];
+ width: 30
+ },{
+ header: this.szColDuration
+ ,dataIndex: 'duration'
+ ,width: 30
+ ,renderer: function (v, m, r) {
+ return SecondsToHM(v);
+ }
+ }
+ ];
var cm = new Ext.grid.ColumnModel(this.columns);
cm.defaultSortable = true;
@@ -129,6 +138,7 @@ Ext.extend(Ext.xxv.programGrid, Ext.grid.GridPanel, {
,szColDay : "Day"
,szColStart : "Start"
,szColStop : "Stop"
+ ,szColDuration : "Duration"
,szColDayFormat : "l, m/d/Y"
,szLoadException : "Couldn't get program data!\r\n{0}"
diff --git a/skins/jason/search.js b/skins/jason/search.js
index 6446301..f63c6ac 100644
--- a/skins/jason/search.js
+++ b/skins/jason/search.js
@@ -19,6 +19,7 @@ Ext.xxv.searchStore = function(lookup) {
,{name: 'pos', type: 'int'}
,{name: 'start', type: 'string' }
,{name: 'stop', type: 'string' }
+ ,{name: 'duration', type: 'int' }
,{name: 'day', type: 'date', convert : function(x){ return new Date(x * 1000);} }
,{name: 'description', type: 'string'}
,{name: 'vps', type: 'string' }
@@ -71,11 +72,18 @@ Ext.xxv.searchGrid = function(viewer, lookup) {
},{
header: this.szColStart,
dataIndex: 'start',
- width: 50
+ width: 30
},{
header: this.szColStop,
dataIndex: 'stop',
- width: 50
+ width: 30
+ },{
+ header: this.szColDuration
+ ,dataIndex: 'duration'
+ ,width: 30
+ ,renderer: function (v, m, r) {
+ return SecondsToHM(v);
+ }
}
];
@@ -119,6 +127,7 @@ Ext.extend(Ext.xxv.searchGrid, Ext.grid.GridPanel, {
,szColDay : "Day"
,szColStart : "Start"
,szColStop : "Stop"
+ ,szColDuration : "Duration"
,szColDayFormat : "l, m/d/Y"
,szLoadException : "Couldn't find data!\r\n{0}"
diff --git a/skins/stone/now.tmpl b/skins/stone/now.tmpl
index 46ebfce..c3d99fc 100644
--- a/skins/stone/now.tmpl
+++ b/skins/stone/now.tmpl
@@ -92,7 +92,9 @@
<?% start %?>&nbsp;-&nbsp;<?% stop %?>
<?% IF pdc && pdc != start %?> (<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?>
<br />
- <?% PROCESS dur d=duration %?>
+ <?% gettext("Duration") %?>&nbsp;:&nbsp;<?% duration %?>
+ <br />
+ <?% PROCESS dur d=progress %?>
</td>
<td class="push">
<?% INCLUDE widgets/tooltip.inc cmd="display" eventid=id linkid=id ttp_offset=-200 %?>
@@ -135,10 +137,10 @@
<?% FOREACH zeile IN data %?>
<?% IF verbose;"<!-- Item: ";FOREACH x IN zeile;loop.count - 1;":";x.replace("-"," ");"|";END;"-->";END %?>
<?% id=zeile.0;title=zeile.1;subtitle=zeile.2;sender=zeile.3;
- channel=zeile.4;group=zeile.5;start=zeile.6;stop=zeile.7;
- description=zeile.8;duration=zeile.9;
- timerid=zeile.10;recording=zeile.11;running=zeile.12;
- pdc=zeile.13; %?>
+ channel=zeile.4;group=zeile.5;start=zeile.6;stop=zeile.7;duration=zeile.8;
+ description=zeile.9;progress=zeile.10;
+ timerid=zeile.11;recording=zeile.12;running=zeile.13;
+ pdc=zeile.14; %?>
<?% IF old.defined && group != old %?>
<div class="areaclose"></div>
<h2><?% group %?></h2>
diff --git a/skins/stone/program.tmpl b/skins/stone/program.tmpl
index 79e7684..0cda1e9 100644
--- a/skins/stone/program.tmpl
+++ b/skins/stone/program.tmpl
@@ -76,6 +76,7 @@
<?% start %?>&nbsp;-&nbsp;<?% stop %?>
<?% IF pdc && pdc != start %?> (<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?>
<br />
+ <?% gettext("Duration") %?>&nbsp;:&nbsp;<?% duration %?>
</font>
</td>
<td class="fieldinline push">
@@ -115,12 +116,11 @@
<h1><?% gettext("Program guide for") %?>&nbsp;<?% channel %?></h1>
<?% ELSE %?>
<?% fields = data.shift %?>
-<h1><?% gettext("Program guide for") %?>&nbsp;<?% channel %?> - <?% data.first.5 %?></h1>
+<h1><?% gettext("Program guide for") %?>&nbsp;<?% channel %?> - <?% data.first.6 %?></h1>
<?% FOREACH zeile IN data %?>
<?% IF verbose;"<!-- Item: ";FOREACH x IN zeile;loop.count - 1;":";x.replace("-"," ");"|";END;"-->";END %?>
- <?% id=zeile.0;title=zeile.1;subtitle=zeile.2;start=zeile.3;stop=zeile.4;
- description=zeile.6;pdc=zeile.7;timerid=zeile.8;recording=zeile.9;running=zeile.10;
- day = zeile.5 %?>
+ <?% id=zeile.0;title=zeile.1;subtitle=zeile.2;start=zeile.3;stop=zeile.4;duration=zeile.5;day = zeile.6;
+ description=zeile.7;pdc=zeile.8;timerid=zeile.9;recording=zeile.10;running=zeile.11; %?>
<?% IF old.defined && day != old %?>
<div class="areaclose"></div>
<h2><?% day %?></h2>
diff --git a/skins/stone/search.tmpl b/skins/stone/search.tmpl
index f32e1cc..938121e 100644
--- a/skins/stone/search.tmpl
+++ b/skins/stone/search.tmpl
@@ -81,6 +81,9 @@
<td class="fieldinline" style="white-space: nowrap">
<font class="description<?% IF state != "";" ";state;END %?>">
<?% start %?>&nbsp;-&nbsp;<?% stop %?>
+ <?% IF pdc && pdc != start %?> (<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?>
+ <br />
+ <?% gettext("Duration") %?>&nbsp;:&nbsp;<?% duration %?>
</font>
</td>
<td class="fieldinline push">
@@ -102,13 +105,13 @@
<h1><?% gettext("Search text") %?> : <?% cgi.param('data') %?></h1>
<?% ELSE %?>
<?% fields = data.shift %?>
-<h1><?% gettext("Search text") %?> : <?% cgi.param('data') %?> - <?% data.first.7 %?></h1>
+<h1><?% gettext("Search text") %?> : <?% cgi.param('data') %?> - <?% data.first.8 %?></h1>
<form name="searchlist" action="">
<?% FOREACH zeile IN data %?>
<?% IF verbose;"<!-- Item: ";FOREACH x IN zeile;loop.count - 1;":";x.replace("-"," ");"|";END;"-->";END %?>
<?% id=zeile.0;title=zeile.1;subtitle=zeile.2;sender=zeile.3;
- channel=zeile.4;start=zeile.5;stop=zeile.6;day=zeile.7;description=zeile.8;
- pdc=zeile.9;timerid=zeile.10;recording=zeile.11;running=zeile.12 %?>
+ channel=zeile.4;start=zeile.5;stop=zeile.6;duration=zeile.7;day=zeile.8;description=zeile.9;
+ pdc=zeile.10;timerid=zeile.11;recording=zeile.12;running=zeile.13 %?>
<?% IF old.defined && day != old %?>
<div class="areaclose"></div>
<h2><?% day %?></h2>
diff --git a/skins/stone_flat/now.tmpl b/skins/stone_flat/now.tmpl
index 5c03ee6..fb73c1c 100644
--- a/skins/stone_flat/now.tmpl
+++ b/skins/stone_flat/now.tmpl
@@ -68,10 +68,13 @@
</a>
</td>
<td class="fieldinline<?% IF state != "";" ";state;END %?>" style="text-align:right">
- <?% IF pdc && pdc != start %?> (<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?>
- <?% start %?>&nbsp;-&nbsp;<?% stop %?>
+ <?% IF pdc && pdc != start %?>(<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?>
+ &nbsp;<br/>
+ <?% start %?>&nbsp;-&nbsp;<?% stop %?>&nbsp;
+ </td>
+ <td class="fieldinline" style="white-space: nowrap"><?% PROCESS dur d=progress %?>
+ <br/><?% gettext("Duration") %?>&nbsp;:&nbsp;<?% duration %?>
</td>
- <td class="fieldinline" style="white-space: nowrap"><?% PROCESS dur d=duration %?></td>
<td class="fieldinline push">
<?% INCLUDE widgets/tooltip.inc cmd="display" eventid=id linkid=id ttp_offset=-300 %?>
<?% PROCESS RowButtons %?>
@@ -130,10 +133,10 @@
<?% FOREACH zeile IN data %?>
<?% IF verbose;"<!-- Item: ";FOREACH x IN zeile;loop.count - 1;":";x.replace("-"," ");"|";END;"-->";END %?>
<?% id=zeile.0;title=zeile.1;subtitle=zeile.2;sender=zeile.3;
- channel=zeile.4;group=zeile.5;start=zeile.6;stop=zeile.7;
- description=zeile.8;duration=zeile.9;
- timerid=zeile.10;recording=zeile.11;running=zeile.12;
- pdc=zeile.13; %?>
+ channel=zeile.4;group=zeile.5;start=zeile.6;stop=zeile.7;duration=zeile.8;
+ description=zeile.9;progress=zeile.10;
+ timerid=zeile.11;recording=zeile.12;running=zeile.13;
+ pdc=zeile.14; %?>
<?% IF old.defined && group != old %?>
</table>
</td>
diff --git a/skins/stone_flat/program.tmpl b/skins/stone_flat/program.tmpl
index 5c57190..03cb820 100644
--- a/skins/stone_flat/program.tmpl
+++ b/skins/stone_flat/program.tmpl
@@ -45,7 +45,7 @@
<tr<?% ' class="two"' IF z mod 2 == 0 %?>>
<td class="fieldinline<?% IF state != "";" ";state;END %?>"><?% start %?>&nbsp;-&nbsp;<?% stop %?>
<?% IF pdc && pdc != start %?> (<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?>
- </td>
+ <br/><?% gettext("Duration") %?>&nbsp;:&nbsp;<?% duration %?></td>
<td class="fieldinline">
<a id="E<?% id %?>" href="javascript:popup('display','<?% id %?>',620,670,0)" class="fieldinline">
<font class="title<?% IF state != "";" ";state;END %?>"><?% chop(title,45) %?></font>
@@ -93,9 +93,8 @@
<?% z = 0 %?>
<?% FOREACH zeile IN data %?>
<?% IF verbose;"<!-- Item: ";FOREACH x IN zeile;loop.count - 1;":";x.replace("-"," ");"|";END;"-->";END %?>
- <?% id=zeile.0;title=zeile.1;subtitle=zeile.2;start=zeile.3;stop=zeile.4;
- description=zeile.6;pdc=zeile.7;timerid=zeile.8;recording=zeile.9;running=zeile.10;
- day = zeile.5 %?>
+ <?% id=zeile.0;title=zeile.1;subtitle=zeile.2;start=zeile.3;stop=zeile.4;duration=zeile.5;day = zeile.6;
+ description=zeile.7;pdc=zeile.8;timerid=zeile.9;recording=zeile.10;running=zeile.11; %?>
<?% IF !old.defined || day != old %?>
<?% IF old.defined %?>
</table>
diff --git a/skins/stone_flat/search.tmpl b/skins/stone_flat/search.tmpl
index 5866392..8442fc7 100644
--- a/skins/stone_flat/search.tmpl
+++ b/skins/stone_flat/search.tmpl
@@ -54,6 +54,8 @@
<td class="fieldinline<?% IF state != "";" ";state;END %?>" style="white-space: nowrap; text-align: right;">
<?% IF pdc && pdc != start %?> (<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?>
<?% start %?>&nbsp;-&nbsp;<?% stop %?>
+ <br />
+ <?% gettext("Duration") %?>&nbsp;:&nbsp;<?% duration %?>
</td>
<td class="fieldinline push">
<?% INCLUDE widgets/tooltip.inc cmd="display" eventid=id linkid=id ttp_offset=-300 %?>
@@ -79,9 +81,8 @@
<?% FOREACH zeile IN data %?>
<?% IF verbose;"<!-- Item: ";FOREACH x IN zeile;loop.count - 1;":";x.replace("-"," ");"|";END;"-->";END %?>
<?% id=zeile.0;title=zeile.1;subtitle=zeile.2;sender=zeile.3;
- channel=zeile.4;start=zeile.5;stop=zeile.6;description=zeile.8;
- pdc=zeile.9;timerid=zeile.10;recording=zeile.11;running=zeile.12;
- day = zeile.7 %?>
+ channel=zeile.4;start=zeile.5;stop=zeile.6;duration=zeile.7;day=zeile.8;description=zeile.9;
+ pdc=zeile.10;timerid=zeile.11;recording=zeile.12;running=zeile.13 %?>
<?% IF !old.defined || day != old %?>
<?% IF old.defined %?>
</table>
diff --git a/skins/xstyle/bloecke/percentbar.tmpl b/skins/xstyle/bloecke/percentbar.tmpl
index 67322c2..ca9d653 100644
--- a/skins/xstyle/bloecke/percentbar.tmpl
+++ b/skins/xstyle/bloecke/percentbar.tmpl
@@ -9,9 +9,9 @@
%?>
<div align="center" style='position:absolute'>
- <img src="<?% ground %?>" width="<?% barwidth %?>" title='<?% percent div 1 %?>%'>
+ <img src="<?% ground %?>" width="<?% barwidth %?>" title='<?% title %?>'>
<div style='position:absolute; top:0px; left:0px; clip:rect(0px, <?% ( percent * barexp ) div 1 %?>px, 50px, 0px)'>
- <img src="<?% over %?>" width="<?% barwidth %?>" title='<?% percent div 1 %?>%'>
+ <img src="<?% over %?>" width="<?% barwidth %?>" title='<?% title %?>'>
</div>
<?% IF barwidth > 200 %?>
<div style='position:absolute; top:10px; right:<?% 15 %?>px; color:#FFFFFF;font-weight:bold'>
diff --git a/skins/xstyle/now.tmpl b/skins/xstyle/now.tmpl
index 3992a93..0d9d47f 100644
--- a/skins/xstyle/now.tmpl
+++ b/skins/xstyle/now.tmpl
@@ -53,7 +53,7 @@
<?% END %?>
</tr>
<?% FOREACH zeile IN data %?>
- <?% id=zeile.0;title=zeile.1;subtitle=zeile.2;sender=zeile.3;channel=zeile.4;group=zeile.5;start=zeile.6;stop=zeile.7;desc=zeile.8;duration=zeile.9 %?>
+ <?% id=zeile.0;title=zeile.1;subtitle=zeile.2;sender=zeile.3;channel=zeile.4;group=zeile.5;start=zeile.6;stop=zeile.7;duration=zeile.8;desc=zeile.9;progress=zeile.10 %?>
<?% IF group != old %?>
<tr><td colspan="6" bgcolor='#DDDDDD'>
<b><?% group %?></b>
@@ -61,7 +61,7 @@
<?% END %?>
<tr class="<?% myclass %?>" <?% IF (loop.count mod 2) == 0 %?>bgcolor='#F5F5F5'<?% END %?>>
<td><nobr>
- <?% INCLUDE 'bloecke/event_links.tmpl' data=zeile switch=1 timerid=zeile.10 level=zeile.14 %?>
+ <?% INCLUDE 'bloecke/event_links.tmpl' data=zeile switch=1 timerid=zeile.11 level=zeile.15 %?>
</td>
<td>
<?% IF zeile.11 %?><b><?% END %?>
@@ -76,10 +76,10 @@
</td>
<td><?% IF zeile.11 %?><b><?% END %?><?% start %?><?% IF zeile.11 %?></b><?% END %?></td>
<td><?% IF zeile.11 %?><b><?% END %?><?% stop %?><?% IF zeile.11 %?></b><?% END %?></td>
- <?% UNLESS duration > 100 OR duration <= 0 %?>
+ <?% UNLESS progress > 100 OR progress <= 0 %?>
<td width="100" valign='bottom'><nobr>
- <?% per = (100 - duration) + 0.999 div 1; per = (per > 100 ? 100 : per) %?>
- <?% INCLUDE 'bloecke/percentbar.tmpl' barwidth=100 percent=per color_switch=1 %?>
+ <?% per = (100 - progress) + 0.999 div 1; per = (per > 100 ? 100 : per) %?>
+ <?% INCLUDE 'bloecke/percentbar.tmpl' barwidth=100 percent=per color_switch=1 title=duration %?>
</td>
<?% END %?>
</tr>
diff --git a/skins/xstyle/program.tmpl b/skins/xstyle/program.tmpl
index 4c341cc..c28bb41 100644
--- a/skins/xstyle/program.tmpl
+++ b/skins/xstyle/program.tmpl
@@ -33,13 +33,13 @@
<?% fields = data.shift %?>
<tr>
<?% FOREACH field IN fields %?>
- <?% NEXT IF field.match('^__') || loop.count == 6 %?>
+ <?% NEXT IF field.match('^__') %?>
<th><?% field %?></th>
<?% END %?>
</tr>
<?% FOREACH zeile IN data %?>
<?% c = 0 %?>
- <?% day = zeile.5 %?>
+ <?% day = zeile.6 %?>
<?% IF !oldday.defined || day != oldday %?>
<tr><td colspan="<?% zeile.size %?>" bgcolor='#DDDDDD'>
<b><?% day %?></b>
@@ -50,12 +50,12 @@
<?% c = c + 1 %?>
<?% IF c == 1; # Id Field %?>
<td>
- <?% INCLUDE 'bloecke/event_links.tmpl' data=zeile timerid=zeile.10 level=zeile.13 %?>
+ <?% INCLUDE 'bloecke/event_links.tmpl' data=zeile timerid=zeile.11 level=zeile.14 %?>
</td>
<?% ELSIF c == 2; # Text Field %?>
<td>
- <?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=field subtitle=zeile.2 desc=zeile.6 eventid=zeile.0 linkid=zeile.0 ttp_offset=0 %?>
- <?% IF zeile.11 %?>
+ <?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=field subtitle=zeile.2 desc=zeile.7 eventid=zeile.0 linkid=zeile.0 ttp_offset=0 %?>
+ <?% IF zeile.12 %?>
<b><?% field %?></b>
<?% ELSE %?>
<?% field %?>
@@ -64,15 +64,16 @@
<br><small><?% zeile.2 %?></small>
<?% END %?>
</a>
- <?% IF zeile.6.length > 0 %?>
- <br><small><em><?% chop(zeile.6,80) | replace('<br />',' ') %?></em></small>
+ <?% IF zeile.7.length > 0 %?>
+ <br><small><em><?% chop(zeile.7,80) | replace('<br />',' ') %?></em></small>
<?% END %?>
</td>
<?% ELSIF c == 3; # Subtitle Field %?>
- <?% ELSIF c == 6; # Day Field %?>
- <?% ELSIF c >= 7; # Desc Field %?>
+ <?% ELSIF c == 6; # Duration Field %?>
+ <?% ELSIF c == 7; # Day Field %?>
+ <?% ELSIF c >= 8; # Desc Field %?>
<?% ELSE %?>
- <?% IF zeile.11 %?>
+ <?% IF zeile.12 %?>
<td><b><?% field %?></b></td>
<?% ELSE %?>
<td><?% field %?></td>
diff --git a/skins/xstyle/search.tmpl b/skins/xstyle/search.tmpl
index 7af19f2..c830e7b 100644
--- a/skins/xstyle/search.tmpl
+++ b/skins/xstyle/search.tmpl
@@ -119,13 +119,13 @@
<th></th>
<?% END %?>
<?% FOREACH field IN fields %?>
- <?% NEXT IF field.match('^__') || loop.count == 8 || loop.count == 9 %?>
+ <?% NEXT IF field.match('^__') || loop.count == 9 || loop.count == 10 %?>
<th><?% field %?></th>
<?% END %?>
</tr>
<?% FOREACH zeile IN data %?>
<?% c = -1 %?>
- <?% day = zeile.7 %?>
+ <?% day = zeile.8 %?>
<?% IF !oldday.defined || day != oldday %?>
<tr><td colspan="<?% zeile.size %?>" bgcolor='#DDDDDD'>
<b><?% day %?></b>
@@ -138,18 +138,18 @@
<?% IF c == 0; # Id Field %?>
<?% IF enableform %?>
<td>
- <?% IF !zeile.10 %?>
+ <?% IF !zeile.11 %?>
<input type="checkbox" value="<?% zeile.0 %?>" name="<?% zeile.1 %?><?% IF zeile.2 != "";"~";zeile.2;END %?>" />
<?% END %?>
</td>
<?% END %?>
<td>
- <?% INCLUDE 'bloecke/event_links.tmpl' data=zeile timerid=zeile.10 level=zeile.15 %?>
+ <?% INCLUDE 'bloecke/event_links.tmpl' data=zeile timerid=zeile.11 level=zeile.16 %?>
</td>
<?% ELSIF c == 1; # Text Field %?>
<td>
- <?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=field subtitle=zeile.2 desc=zeile.8 eventid=zeile.0 linkid=zeile.0 ttp_offset=0 %?>
- <?% IF zeile.11 %?>
+ <?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=field subtitle=zeile.2 desc=zeile.9 eventid=zeile.0 linkid=zeile.0 ttp_offset=0 %?>
+ <?% IF zeile.12 %?>
<b><?% field %?></b>
<?% ELSE %?>
<?% field %?>
@@ -157,8 +157,8 @@
<?% IF zeile.2 != "" %?>
<br><small><?% zeile.2 %?></small>
<?% END %?>
- <?% IF zeile.8.length > 0 %?>
- <br><small><em><?% chop(zeile.8,80) | replace('<br />',' ') %?></em></small>
+ <?% IF zeile.9.length > 0 %?>
+ <br><small><em><?% chop(zeile.9,80) | replace('<br />',' ') %?></em></small>
<?% END %?>
</a>
</td>
@@ -166,8 +166,8 @@
<td>
<a href="?cmd=program&amp;data=<?% zeile.4 %?>"><?% field %?></a>
</td>
- <?% ELSIF c == 7; # Day Field %?>
- <?% ELSIF c == 8; # Desc Field %?>
+ <?% ELSIF c == 8; # Day Field %?>
+ <?% ELSIF c == 9; # Desc Field %?>
<?% ELSE %?>
<td><?% field %?></td>
<?% END %?>