diff --git a/CONTROL/control b/CONTROL/control
index df5717c..4bb80ad 100644
--- a/CONTROL/control
+++ b/CONTROL/control
@@ -1,10 +1,10 @@
Package: webif
Priority: optional
Section: web
-Version: 1.2.8-16
+Version: 1.2.9-0
Architecture: mipsel
Maintainer: af123@hpkg.tv
-Depends: tcpfix,webif-channelicons(>=1.1.20),lighttpd(>=1.4.39-1),jim(>=0.76-1),jim-oo,jim-sqlite3(>=0.76),jim-cgi(>=0.7-1),jim-binary(>=0.76),service-control(>=2.1),busybox(>=1.20.2-1),lsof(>=4.87),epg(>=1.2.1-1),hmt(>=2.0.9),ssmtp,cron-daemon(>=1.18.3-3),at(>=3.1.18),anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.0.2),webif-charts(>=1.2-1),stripts(>=1.2.5-3),tmenu(>=1.08),ffmpeg,id3v2,multienv(>=1.6),tcpping(>=1.1),e2fsprogs,wireless-tools(>=29-1),dbupdate,recmon(>=2.0.7)
+Depends: tcpfix,webif-channelicons(>=1.1.20),lighttpd(>=1.4.39-1),jim(>=0.76-2),jim-oo,jim-sqlite3(>=0.76),jim-cgi(>=0.7-1),jim-binary(>=0.76),service-control(>=2.1),busybox(>=1.20.2-1),lsof(>=4.87),epg(>=1.2.1-1),hmt(>=2.0.9),ssmtp,cron-daemon(>=1.18.3-3),at(>=3.1.18),anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.0.2),webif-charts(>=1.2-1),stripts(>=1.2.5-3),tmenu(>=1.08),ffmpeg,id3v2,multienv(>=1.6),tcpping(>=1.1),e2fsprogs,wireless-tools(>=29-1),dbupdate,recmon(>=2.0.7)
Suggests:
Description: An evolving web interface for the Humax.
Tags: http://hummy.tv/forum/threads/6484/
diff --git a/CONTROL/postinst b/CONTROL/postinst
index e89aee5..815198f 100755
--- a/CONTROL/postinst
+++ b/CONTROL/postinst
@@ -29,7 +29,7 @@ fi
ana=$PKG_ROOT/etc/anacrontab
egrep -v 'backup/backup.jim|bin/diskattrs' $ana > $tmpf
cat $tmpf - << EOM > $ana
-1 8 sched_backup /mod/webif/html/backup/backup.jim
+1 8 sched_backup /mod/webif/html/sched/backup/backup.jim
1 5 diskattrs /mod/webif/lib/bin/diskattrs
EOM
diff --git a/webif/cgi-bin/epg/info.jim b/webif/cgi-bin/epg/info.jim
index e40804e..e74d769 100755
--- a/webif/cgi-bin/epg/info.jim
+++ b/webif/cgi-bin/epg/info.jim
@@ -25,14 +25,20 @@ if {[[settings] chanchangenc]} {
$record process_sched
if {[$record get sched_type] < 1} {
- set tuners [system tuners]
- set conflicts [rsv conflicts [$record get start] [$record get duration]]
- if {$conflicts >= $tuners} {
+ set conflicts [rsv checkconflict \
+ [$record get start] [$record get duration] \
+ [system tuners]]
+ if {[llength $conflicts]} {
puts {
-This event conflicts with items in your scheduled recording list.
-
+This event conflicts with the following items in your scheduled recording list.
+
}
+ foreach x $conflicts {
+ puts "- $x
\n"
+ }
+
+ puts ""
}
}
diff --git a/webif/cgi-bin/epg/schedule.jim b/webif/cgi-bin/epg/schedule.jim
index d40c313..7343f05 100755
--- a/webif/cgi-bin/epg/schedule.jim
+++ b/webif/cgi-bin/epg/schedule.jim
@@ -27,7 +27,7 @@ if {[$event percent] > 0} {
}
set r [rsv construct $event $type]
-if {[catch {$r insert} msg]} {
+if {[catch {$r insert pending 1} msg]} {
puts "Error encountered while scheduling: $msg"
} else {
puts "Successfully scheduled [$event get name]"
diff --git a/webif/cgi-bin/xepg.js b/webif/cgi-bin/xepg.js
deleted file mode 100644
index 65b3854..0000000
--- a/webif/cgi-bin/xepg.js
+++ /dev/null
@@ -1,38 +0,0 @@
-$(function() {
-
-$('#epgswitch').button().click(function() {
- window.location = '/epg/list.jim';
-});
-
-$('button.nav').click(function() {
- window.location = '/cgi-bin/xepg.jim?stt=' + $(this).attr('tt') +
- '&pos=' + $('#xegrid').scrollTop();
-});
-
-$('#xepg_dp').datepicker({
- buttonImage: '/img/cal.gif',
- buttonImageOnly: true,
- showOn: 'button',
- dateFormat: '@',
- minDate: 0,
- maxDate: 8,
- onSelect: function(val, sel) {
- var stt = $(this).attr('stt');
- // Extract date part
- dval = Math.round(val / 86400000.0);
- // Extract current time part
- var tm = ~~(stt % 86400);
-
- var ret = dval * 86400 + tm;
-
- window.location = '/cgi-bin/xepg.jim?stt=' + ret;
- }
-});
-
-$('img.ui-datepicker-trigger').hover(
- function() { $(this).css('cursor', 'pointer'); },
- function() { $(this).css('cursor', 'auto'); }
-);
-
-});
-
diff --git a/webif/html/backup/backup.js b/webif/html/backup/backup.js
deleted file mode 100755
index 418e580..0000000
--- a/webif/html/backup/backup.js
+++ /dev/null
@@ -1,69 +0,0 @@
-
-function refresh_files()
-{
- $('#backup_files').load('files.jim', function() {
- $('input.restore').change(function() {
- $('#restore_button').removeAttr('disabled')
- .button('option', 'disabled', false);
- $('#delete_button').removeAttr('disabled')
- .button('option', 'disabled', false);
- $('#view_button').removeAttr('disabled')
- .button('option', 'disabled', false);
- });
- });
-}
-
-$(document).ready(function() {
- $('button').button();
-
- refresh_files();
-
- $('#backup_button').click(function() {
- $('#backup_working').slideDown();
- $('#results').load('backup.jim?' +
- $('#backup_name').serialize(), function() {
- $('#results').slideDown(function() {
- $('#backup_working').slideUp();
- refresh_files();
- });
- });
- });
- $('#delete_button').click(function() {
- var backup = $('input.restore:checked').val();
- if (confirm('Confirm deletion of ' + backup))
- {
- $('#results').load('delete.jim?' +
- $('input.restore').serialize(), function() {
- $('#results').slideDown(function() {
- refresh_files();
- });
- });
- }
- });
- $('#view_button').click(function() {
- var backup = $('input.restore:checked').val();
- $('#results').load('view.jim?' +
- $('input.restore').serialize(), function() {
- $('#results').slideDown(function() {
- refresh_files();
- });
- });
- });
- $('#restore_button').click(function() {
- var backup = $('input.restore:checked').val();
- if (confirm('!!!!!!!!!!!!!!!!!!!!!!!!! PLEASE CONFIRM !!!!!!!!!!!!!!!!!!!!!!!!!\n\nAre you sure you wish to erase all scheduled recordings and favourite channels and then restore them from\n' + backup + '?'))
- {
- $('#restore_working').slideDown();
- $('#results').load('restore.jim?' +
- $('input.restore').serialize(), function() {
- $('#results').slideDown(function() {
- $('#restore_working').slideUp();
- refresh_files();
- $('#restore_warning').slideDown();
- $('#restart_block').slideDown('slow');
- });
- });
- }
- });
-});
-
diff --git a/webif/html/css/style.css b/webif/html/css/style.css
index 259cddf..c4da7aa 100644
--- a/webif/html/css/style.css
+++ b/webif/html/css/style.css
@@ -109,7 +109,7 @@ div.warningbox
top: -2px;
left: -2px;
font-weight: bold;
- z-index: 30;
+ #z-index: 30;
box-shadow: 2px 2px 11px #666;
-moz-box-shadow: 2px 2px 11px #666;
-webkit-box-shadow: 2px 2px 11px #666;
@@ -174,22 +174,22 @@ table.keyval td
pre, .pre, .prelike
{
- font-family: Consolas, 'Courier New', Courier, monospace;
- color: black;
- background: #f9d9b0 url('/img/prebg.png') repeat-x top;
+ font-family: Consolas, 'Courier New', Courier, monospace;
+ color: black;
+ background: #f9d9b0 url('/img/prebg.png') repeat-x top;
line-height: 1.24;
- padding: 3px 8px;
- margin: 0 5em 1em 5em;
- border-color: #f9d9b0;
- border-bottom: 1px solid #f9bc6d;
- border-top-left-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- -moz-border-radius-topleft: 4px;
- -khtml-border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- -moz-border-radius-topright: 4px;
- -khtml-border-top-right-radius: 4px;
+ padding: 3px 8px;
+ margin: 0 5em 1em 5em;
+ border-color: #f9d9b0;
+ border-bottom: 1px solid #f9bc6d;
+ border-top-left-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ -khtml-border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ -khtml-border-top-right-radius: 4px;
}
pre, .pre
@@ -291,7 +291,7 @@ tr.blueshade > td, .blueshade
.pinkshade
{
- background: #ffccff;
+ background: #ffccff !important;
color: black;
}
@@ -312,12 +312,18 @@ tr.blueshade > td, .blueshade
color: black;
}
-.orangeshade
+tr.orangeshade > td, .orangeshade
{
- background: #ffeeaa;
+ background: #ff8040 !important;
color: black;
}
+tr.purpleshade > td, .purpleshade
+{
+ background: #7e587e !important;
+ color: white;
+}
+
.redshade
{
background: #ff4000;
@@ -594,3 +600,56 @@ img.rollimg
clear: right;
}
+/* Minimal tabs */
+
+#minimaltabbar
+{
+ background: transparent;
+ border: none;
+ padding: 0 0 0 0;
+ position: relative;
+ top: -40px;
+}
+
+#minimaltabbar .ui-widget-header
+{
+ background: transparent;
+ border: none;
+ border-bottom: 1px solid #c0c0c0;
+ -moz-border-radius: 0px;
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+}
+
+#minimaltabbar .ui-tabs-nav
+{
+ margin-bottom: 15px;
+}
+
+#minimaltabbar .ui-tabs-nav .ui-state-default
+{
+ background: transparent;
+ border: none;
+}
+
+#minimaltabbar .ui-tabs-nav .ui-state-active
+{
+ background: transparent url(/img/uiTabsArrow.png) no-repeat bottom center;
+ border: none;
+}
+
+#minimaltabbar .ui-tabs-nav .ui-state-default a
+{
+ color: #c0c0c0;
+}
+
+#minimaltabbar .ui-tabs-nav .ui-state-active a
+{
+ color: #000000;
+}
+
+#minimaltabbar .ui-tabs-panel
+{
+ padding: 0 0 0 0;
+}
+
diff --git a/webif/html/epg/list.jim b/webif/html/epg/list.jim
index 14e4d9e..467e5c6 100755
--- a/webif/html/epg/list.jim
+++ b/webif/html/epg/list.jim
@@ -53,7 +53,7 @@ puts {
diff --git a/webif/html/epg/service.jim b/webif/html/epg/service.jim
index dd2ec82..4a25a60 100755
--- a/webif/html/epg/service.jim
+++ b/webif/html/epg/service.jim
@@ -21,7 +21,7 @@ require epg_popup
set service [cgi_get service 4170]
set records [epg dbfetch dump \
-service $service \
- -sort "strftime('%%H%%J', start, 'unixepoch'), strftime('%%M', start, 'unixepoch')" \
+ -sort "strftime('%%H%%J', start, 'unixepoch', 'localtime'), strftime('%%M', start, 'unixepoch')" \
-debug 0
]
diff --git a/webif/html/go b/webif/html/go
index 870ab69..f9a8603 100755
--- a/webif/html/go
+++ b/webif/html/go
@@ -12,7 +12,7 @@ if {[dict exists $env HTTP_COOKIE]} {
set settings [settings]
if {[$settings epg_style] eq "grid"} {
- set epglink "/cgi-bin/xepg.jim"
+ set epglink "/xepg/"
} else {
set epglink "/epg/list.jim"
}
diff --git a/webif/html/img/uiTabsArrow.png b/webif/html/img/uiTabsArrow.png
new file mode 100644
index 0000000..e6791d6
Binary files /dev/null and b/webif/html/img/uiTabsArrow.png differ
diff --git a/webif/html/js/epg_popup.js b/webif/html/js/epg_popup.js
index 93082b0..8431a45 100644
--- a/webif/html/js/epg_popup.js
+++ b/webif/html/js/epg_popup.js
@@ -3,9 +3,9 @@ $(function() {
{
$('#epginfo_extra').load('/cgi-bin/epg/schedule.jim?' +
'service=' +
- encodeURIComponent($('#dialogue').attr('xs')) +
+ encodeURIComponent($('#epgpopup_dialogue').attr('xs')) +
'&event=' +
- encodeURIComponent($('#dialogue').attr('xe')) +
+ encodeURIComponent($('#epgpopup_dialogue').attr('xe')) +
'&type=' + type, function() {
$('#restart_block').slideDown('slow');
});
@@ -24,14 +24,14 @@ $(function() {
{"Record Series": function() { doschedule(2) }},
$buttons2);
- var $dialog = $('#dialogue').dialog({
+ var $dialog = $('#epgpopup_dialogue').dialog({
title: "Programme Details",
modal: false, autoOpen: false,
height: 500, width: 700,
show: 'scale', hide: 'fade',
draggable: true, resizable: true,
buttons: $buttons1,
- close: function(e,u) { $('#dialogue').empty().html(
+ close: function(e,u) { $('#epgpopup_dialogue').empty().html(
'
'); }
});
@@ -51,15 +51,15 @@ $(function() {
var url = '/cgi-bin/epg/info.jim?service=' +
o.attr('xs') + '&event=' +
o.attr('xe') + '&bare=1';
- $('#dialogue')
+ $('#epgpopup_dialogue')
.html('
Loading details...' +
' Please wait...')
.load(url, function() {
- $('#dialogue a.event').click(function(e) {
+ $('#epgpopup_dialogue a.event').click(function(e) {
epgpopup(e, $(this));
});
});
- $('#dialogue')
+ $('#epgpopup_dialogue')
.attr('xs', o.attr('xs'))
.attr('xe', o.attr('xe'));
$dialog.dialog('open');
diff --git a/webif/html/js/icons.js b/webif/html/js/icons.js
new file mode 100644
index 0000000..85c286b
--- /dev/null
+++ b/webif/html/js/icons.js
@@ -0,0 +1,32 @@
+function schedule_icons(reckind, rsvtype, repeat)
+{
+ var icons = [];
+
+ switch (rsvtype)
+ {
+ case 1: icons.push("175_1_00_Reservation_Watch"); break;
+ case 2: icons.push("175_1_00_Reservation_Watch"); break;
+ case 3: icons.push("175_1_11_Reservation_Record"); break;
+ case 4: icons.push("175_1_11_Reservation_Record"); break;
+ case 5: icons.push("745_1_10_Video_2Live"); break;
+ case 6: icons.push("745_1_11_Video_1REC"); break;
+ case 7: icons.push("345_6_08_ST_Ad_Hoc"); break;
+ }
+
+ switch (reckind)
+ {
+ case 2: icons.push("178_1_26_Icon_Split"); break;
+ case 4: icons.push("175_1_11_Series_Record"); break;
+ default:
+ switch (repeat)
+ {
+ case 1: icons.push("521_1_00_RP_Daily_C"); break;
+ case 2: icons.push("521_1_00_RP_Weekly_C"); break;
+ case 3: icons.push("521_1_00_RP_Weekdays_C"); break;
+ case 4: icons.push("521_1_00_RP_Weekend_C"); break;
+ }
+ }
+
+ return icons;
+}
+
diff --git a/webif/html/lib/footer.jim b/webif/html/lib/footer.jim
index 3eab055..b1f1c03 100755
--- a/webif/html/lib/footer.jim
+++ b/webif/html/lib/footer.jim
@@ -5,10 +5,9 @@ puts {