diff options
| author | anbr <vdr07@deltab.de> | 2015-09-06 17:32:44 +0200 |
|---|---|---|
| committer | anbr <vdr07@deltab.de> | 2015-09-06 17:32:44 +0200 |
| commit | d036005d73407887872b9321ae51fe8f7ee6f9a5 (patch) | |
| tree | 6993c71f63e55089318edba271e3f9299c441f54 | |
| parent | 27436744df70f9ecd42a9ecdbef448cc65271706 (diff) | |
| download | xxv-d036005d73407887872b9321ae51fe8f7ee6f9a5.tar.gz xxv-d036005d73407887872b9321ae51fe8f7ee6f9a5.tar.bz2 | |
EPG: Show event duration on search results
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") %?> <?% channel %?></h1> <?% ELSE %?> <?% fields = data.shift %?> -<h1><?% gettext("Program guide for") %?> <?% channel %?> - <?% data.first.5 %?></h1> +<h1><?% gettext("Program guide for") %?> <?% 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&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&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&data=<?% data.11 %?>"><img src="images/record_blue.png" title="<?% gettext("Edit this timer") %?>" /></a><?% umbruch %?> <?% ELSIF allow('tnew') %?> <a href="?cmd=tnew&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&data=<?% url( title ) %?>">[<?% gettext("Rep") %?>]</a> - <?% IF zeile.10 && allow('tedit') %?> - <a href="?cmd=tedit&data=<?% zeile.10 %?>">[<?% gettext("Edit") %?>]</a><br> + <?% IF timerid && allow('tedit') %?> + <a href="?cmd=tedit&data=<?% timerid %?>">[<?% gettext("Edit") %?>]</a><br> <?% ELSIF allow('tnew') %?> <a href="?cmd=tnew&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&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 : " ") %?></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 : " ") %?></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&data=<?% url( zeile.1 ) %?>">[<?% gettext("Rep") %?>]</a> - <?% IF zeile.10 && allow('tedit') %?> - <a href="?cmd=tedit&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&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&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&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 %?> - <?% stop %?> <?% IF pdc && pdc != start %?> (<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?> <br /> - <?% PROCESS dur d=duration %?> + <?% gettext("Duration") %?> : <?% 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 %?> - <?% stop %?> <?% IF pdc && pdc != start %?> (<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?> <br /> + <?% gettext("Duration") %?> : <?% duration %?> </font> </td> <td class="fieldinline push"> @@ -115,12 +116,11 @@ <h1><?% gettext("Program guide for") %?> <?% channel %?></h1> <?% ELSE %?> <?% fields = data.shift %?> -<h1><?% gettext("Program guide for") %?> <?% channel %?> - <?% data.first.5 %?></h1> +<h1><?% gettext("Program guide for") %?> <?% 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 %?> - <?% stop %?> + <?% IF pdc && pdc != start %?> (<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?> + <br /> + <?% gettext("Duration") %?> : <?% 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 %?> - <?% stop %?> + <?% IF pdc && pdc != start %?>(<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?> + <br/> + <?% start %?> - <?% stop %?> + </td> + <td class="fieldinline" style="white-space: nowrap"><?% PROCESS dur d=progress %?> + <br/><?% gettext("Duration") %?> : <?% 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 %?> - <?% stop %?> <?% IF pdc && pdc != start %?> (<?% gettext("PDC") %?>:<?% pdc %?>) <?% END %?> - </td> + <br/><?% gettext("Duration") %?> : <?% 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 %?> - <?% stop %?> + <br /> + <?% gettext("Duration") %?> : <?% 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&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 %?> |
