re-hash browse buttons

git-svn-id: file:///root/webif/svn/pkg/webif/trunk@3459 2a923420-c742-0410-a762-8d5b09965624
This commit is contained in:
hummypkg 2017-01-03 19:04:58 +00:00
parent 1c8a3d87da
commit fce45667fc
14 changed files with 257 additions and 274 deletions

View File

@ -1,7 +1,7 @@
Package: webif
Priority: optional
Section: web
Version: 1.3.4-12
Version: 1.3.4-13
Architecture: mipsel
Maintainer: af123@hpkg.tv
Depends: tcpfix,webif-channelicons(>=1.1.24),lighttpd(>=1.4.39-1),jim(>=0.77),jim-oo(>=0.77),jim-sqlite3(>=0.76),jim-cgi(>=0.7-1),jim-binary(>=0.76),service-control(>=2.3),busybox(>=1.20.2-1),lsof(>=4.87),epg(>=1.2.5),hmt(>=2.0.10),ssmtp,cron-daemon(>=1.18.3-3),at(>=3.1.18),anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.1.9),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),hwctl,nugget(>=0.95),sqlite3(>=3.15.1)

View File

@ -79,11 +79,11 @@ puts {
</ul>
<ul id=doptmenu class=contextMenu style="width: 250px">
<li class=delete><a href=#delete>Delete</a></li>
<li class=cut><a href=#cut>Cut to clipboard</a></li>
<li class=pwcopy><a href=#copy>Copy to clipboard</a></li>
<li class=pwpaste><a href=#paste>Paste to folder</a></li>
<li class="separator rename"><a href=#rename>Rename</a></li>
<li class=delete><a class=notself href=#delete>Delete</a></li>
<li class=cut><a class=notself href=#cut>Cut to clipboard</a></li>
<li class=pwcopy><a class=notself href=#copy>Copy to clipboard</a></li>
<li class=pwpaste><a class=notself href=#paste>Paste to folder</a></li>
<li class="separator rename"><a class=notself href=#rename>Rename</a></li>
<li class=separator><a href=#resetnew>Reset new flag</a></li>
<li class="separator compress"><a href=#shrink>Auto-Shrink</a></li>
<li class=compressr><a href=#shrinkr>Recursive Auto-Shrink</a></li>
@ -378,24 +378,3 @@ Please wait...
</div>
}
set queueactions(decrypt) "Decryption"
set queueactions(shrink) "Shrink"
set queueactions(mp3) "Audio-Extraction"
set queueactions(mpg) "Conversion to MPG"
eval_plugins queueactions
puts {
<div id=selectoverlay title="Selected files" class=hidden>
<button id=so_delete>Delete</button>
<button id=so_queue>Queue for</button>
<select id=so_queueactions>
}
foreach {k v} $queueactions {
puts "<option value=$k>$v</option>"
}
puts {
</select>
<button id=so_dequeue>De-queue</button>
</div>
}

View File

@ -43,9 +43,10 @@ switch $action {
<img border=0 src=/img/close.png height=16></a>"
puts "</span>"
}
puts "</div>"
puts "</div><div class=clipbuttons>"
puts "<button id=paste>Paste to current folder</button>"
puts "<button id=clipclear>Empty clipboard</button>"
puts "</div>"
}
add {
if {[set path [cgi_get path]] eq "0"} {

View File

@ -31,7 +31,8 @@ if {$type eq "ts"} {
<td class=va>
"
if {[file exists "[file rootname $file].thm"]} {
puts "<img class=\"bmp va\" src=\"/browse/bmp.jim?file=$file\">"
puts "<img class=\"bmp va\"
src=\"/browse/bmp.jim?file=[cgi_quote_url $file]\">"
}
if {[dict exists $idata thumb]} {

View File

@ -64,7 +64,7 @@ proc directory {file bfile tbfile} {
puts "<input class=\"fs fsdir\" type=checkbox>"
puts "<a class=dbf
href=\"$::env(SCRIPT_NAME)?dir=[cgi_quote_url $file]\"
file=\"[cgi_quote_url $file]\">"
file=\"[cgi_quote_html $file]\">"
puts "$bfile</a><span class=filesize id=\"$tbfile\">
</span>"
@ -169,7 +169,7 @@ proc entry {file} {{i 0}} {
<img class=va border=0 src=/img/$img.png>
<input class=\"$fscl\" type=checkbox>
<a class=bf title=\"$synopsis\"
file=\"[cgi_quote_url $file]\" type=$type href=#>
file=\"[cgi_quote_html $file]\" type=$type href=#>
$bfile
</a>
"
@ -269,7 +269,17 @@ puts "
"
browse breadcrumb $dir
puts "<span class=filesize id=dirsize></span>"
lassign [dir iconset $dir] icons attrs
puts "
<span class=filesize id=dirsize></span>
<span id=diriconset>[join $icons ""]</span>
<a href=#>
<img class=\"dopt self va\" border=0 width=45 [join $attrs " "]
src=/images/181_1_00_Help5_OPT_Plus.png>
</a>
<div class=\"results blood\" style=\"margin: 0 0 0 5em\"></div>
"
puts "</legend>"
if {[system has tvdb] && [string length $dir] > [string length $mroot]} {
@ -364,30 +374,13 @@ File Clipboard
</fieldset>
}
puts "<div class=brow>"
# Always-active buttons.
puts {
<button id=copy>Copy</button>
<button id=cut>Cut</button>
<button id=delete>Delete</button>
<div class=buttonrow>
<button id=newdir>New Folder</button>
<div id=deletewait class=blood style="display: none">
<img src=/img/loading.gif>Deleting may take some time, please be patient...
</div>
}
# Join
if {$nicesplice} {
puts { <button id=join>Join</button> }
}
# Queue
puts { <button id=queue>View Queue</button> }
# De-duplicate
puts {
<button id=dedup>De-duplicate/tidy this folder</button>
<button id=dedup><img src=/img/dedup.png width=16>
De-duplicate/tidy this folder</button>
<button id=queue><img src=/img/queueps.png class=qb> View Queue</button>
}
# Streamer file
@ -400,11 +393,43 @@ if {[file exists /mnt/hd3/Streamer_down_file]} {
</button>
}
}
puts "</div>"
# Buttons dependent on selection
puts {
<div class=buttonrow>
<button id=copy class=onesel>Copy</button>
<button id=cut class=onesel>Cut</button>
<button id=delete class=onesel>Delete</button>
}
# Join
if {$nicesplice} {
puts { <button id=join class=tstwosel>Join</button> }
}
# Queue
set queueactions(decrypt) "Decryption"
set queueactions(shrink) "Shrink"
set queueactions(mp3) "Audio-Extraction"
set queueactions(mpg) "Conversion to MPG"
eval_plugins queueactions
puts {
<button id=so_queue class=tsonesel><img src=/img/queueps.png class=qb>
Queue for</button>
<select id=so_queueactions
class="tsonesel text ui-widget-content ui-corner-all">
}
foreach {k v} $queueactions {
puts "<option value=$k>$v</option>"
}
puts {
</select>
}
# Plugin buttons
if {[llength $plugins(buttons)]} {
puts "</div><div class=brow style=\"margin-top: 3px\">"
puts "</div><div class=buttonrow>"
foreach plugin $plugins(buttons) {
lassign $plugin tag options
puts "

View File

@ -59,7 +59,8 @@ else
$('#doptmenu,#dooptmenu').disableContextMenuItems('#paste');
}
$('#clipclear').button().click(function() {
$('#clipclear').button({icons: {primary: "ui-icon-cancel"}})
.click(function() {
$.get('/browse/clipboard.jim?act=clear', function() {
reloadclipboard();
});
@ -72,7 +73,7 @@ $('a.clipdel').click(function() {
});
});
$('#paste').button()
$('#paste').button({icons: {primary: "ui-icon-clipboard"}})
.click(function() {
disableall();
pastedialogue();
@ -159,45 +160,29 @@ function delete_callback(file, dir, id)
.html('<img src=/img/loading.gif>Deleting, please wait...')
.slideDown('slow')
.load('/browse/delete.jim', {
'dir': dir,
'files': [decodeURIComponent(file)]
'dir': dir,
'files': [file]
}, function() {
$(el).delay(3000).slideUp(300, function() {
$(el).remove();
$(el).delay(3000).slideUp(300, function() {
$(el).remove();
});
});
});
}
function lock_callback(file, type, id)
{
var url = '/browse/lock.jim?file=' + file;
$.get(url, function() { blockpage(); window.location.reload(true); });
}
function enc_callback(file, type, id)
{
var url = '/browse/enc.jim?file=' + file;
$.get(url, function() { blockpage(); window.location.reload(true); });
$.get('/browse/lock.jim', {file: file}, function() {
blockpage();
window.location.reload(true);
});
}
function new_callback(file, type, id)
{
var url = '/browse/new.jim?file=' + file;
$.get(url, function() { blockpage(); window.location.reload(true); });
}
function thumbnail_callback(file, type, id)
{
var el = 'div.bf#' + id;
var results = el + ' .results';
$(results)
.html('<img src=/img/loading.gif>Generating thumbnail, ' +
'please wait...')
.slideDown('slow')
.load('/browse/thumbnail.jim?file=' + file)
.delay(3000)
.slideUp('slow');
$('div.bf#' + id + ' img.opt').attr('thmok', 1);
$.get('/browse/new.jim', {file: file}, function() {
blockpage();
window.location.reload(true);
});
}
function rename_submit()
@ -264,7 +249,7 @@ function confirm_action(action, callback, file, type, id)
});
$('#confirm').empty().html(
'Are you sure you wish to ' + action + '<br>' +
'<i>' + decodeURIComponent(bfile) + '</i> ?'
'<i>' + bfile + '</i> ?'
);
$confirm.dialog('open');
}
@ -273,17 +258,6 @@ function preparemenu(el, menu)
{
if (el.attr('type') == 'ts')
{
// if (el.attr('def') == 'HD')
// {
// $(menu).enableContextMenuItems('#enc');
// if (el.attr('encd') == 1)
// $(menu).changeContextMenuItem('#enc',
// 'Remove Enc');
// else
// $(menu).changeContextMenuItem('#enc',
// 'Set Enc');
// }
if (el.attr('bx') > 0)
$(menu).enableContextMenuItems('#crop');
else
@ -351,7 +325,6 @@ function preparemenu(el, menu)
{
$(menu).enableContextMenuItems('#delete');
$(menu).disableContextMenuItems('#lock');
//$(menu).disableContextMenuItems('#enc');
$(menu).disableContextMenuItems('#new');
}
@ -406,7 +379,15 @@ function preparedmenu(el, menu)
fixdmenu(el, menu, 'autodecrypt', '#decrypt', 'Auto-decrypt', 1);
fixdmenu(el, menu, 'autompg', '#mpg', 'Auto-mpg', 0);
fixdmenu(el, menu, 'automp3', '#mp3', 'Auto-audio', 0);
//fixdmenu(el, menu, 'autoexpire', '#expire', 'Auto-expire', 0);
$('#doptmenu a.notself').each(function() {
var href = $(this).attr('href');
if (el.hasClass('self'))
$(menu).disableContextMenuItems(href);
else
$(menu).enableContextMenuItems(href);
});
$.each(plugins.dmenu_prepare, function(k,v) {
plugins.dmenu_prepare[k](el, menu);
});
@ -414,14 +395,14 @@ function preparedmenu(el, menu)
function flagdir(file, flag, iconset, output, options)
{
var url = '/browse/flagdir.jim?dir=' + file +
'&flag=' + flag;
$(output).slideDown().load(url, function() {
$(output).slideDown().load('/browse/flagdir.jim', {
dir: file,
flag: flag
}, function() {
$(iconset)
.empty()
.html('<img src=/img/loading.gif> Updating...')
.load('/browse/iconset.jim?file=' + file);
.load('/browse/iconset.jim', { file: file });
if ($(options).attr(flag) == '1')
$(options).attr(flag, 0);
else
@ -432,6 +413,7 @@ function flagdir(file, flag, iconset, output, options)
var menuclick = function(action, el, pos)
{
var file = $(el).parent().prevAll('a.bf').last().attr('file');
var efile = encodeURIComponent(file);
var bfile = file.replace(/.*\/|\.[^.]*$/g, '');
bfile = bfile.replace(/[\x00-\x1f]+/g, '');
var type = $(el).attr('type');
@ -444,12 +426,16 @@ var menuclick = function(action, el, pos)
break;
case 'copy':
if (!confirm('Are you sure? Copying recordings takes a long time!'))
if (!confirm('Are you sure? ' +
'Copying recordings takes a long time!'))
break;
// Fallthrough
case 'cut':
$.get('/browse/clipboard.jim?act=add&mode=' + action +
'&path=' + file, function() {
$.get('/browse/clipboard.jim', {
act: 'add',
mode: action,
path: file
}, function() {
reloadclipboard();
});
break;
@ -459,19 +445,14 @@ var menuclick = function(action, el, pos)
file, type, id);
break;
// case 'enc':
// confirm_action('change the ENC flag on', enc_callback,
// file, type, id);
// break;
case 'new':
confirm_action('change the New flag on', new_callback,
file, type, id);
break;
case 'rename':
$('#rename').val(decodeURIComponent(bfile));
$('#renamefile').val(decodeURIComponent(file));
$('#rename').val(bfile);
$('#renamefile').val(file);
$('#rename_title').val('');
$('#rename_synopsis').val('');
@ -480,8 +461,8 @@ var menuclick = function(action, el, pos)
if (type == 'ts')
{
$.getJSON('/browse/epgtitle.jim?file=' +
file, epginfo_callback);
$.getJSON('/browse/epgtitle.jim',
{file: file}, epginfo_callback);
}
$('#renameform').dialog('open');
@ -489,53 +470,53 @@ var menuclick = function(action, el, pos)
case 'thm':
window.location.href = '/browse/thumbnail/index.jim?file=' +
file;
efile;
break;
case 'vthm':
$('#thmbmp').attr('src', '/browse/bmp.jim?file=' + file);
$('#thmbmp').attr('src', '/browse/bmp.jim?file=' + efile);
$('#bmpdialogue').dialog('open');
break;
case 'bmarks':
window.location.href = '/browse/bookmarks/?file=' +
file;
efile;
break;
case 'download':
window.location.href = '/browse/download.jim?file=' +
file + '&base=' +
efile + '&base=' +
encodeURIComponent(document.URL.match(/:\/\/(.[^/]+)/)[1]);
break;
case 'crop':
window.location.href = '/browse/crop/crop.jim?file=' +
file;
efile;
break;
case 'strip':
window.location.href = '/browse/strip/strip.jim?file=' +
file;
efile;
break;
case 'chunk':
window.location.href = '/browse/chunk/chunk.jim?file=' +
file;
efile;
break;
case 'decrypt':
window.location.href =
'/browse/decrypt/decrypt.jim?file=' + file;
'/browse/decrypt/decrypt.jim?file=' + efile;
break;
case 'audio':
window.location.href = '/browse/audio/audio.jim?file=' +
file;
efile;
break;
case 'mpg':
window.location.href = '/browse/mpg/mpg.jim?file=' +
file;
efile;
break;
default:
@ -574,30 +555,42 @@ var omenuclick = function(action, el, pos)
var dmenuclick = function(action, el, pos)
{
var direl = $(el).parent().parent();
var file = $(el).parent().prevAll('a.dbf').last().attr('file');
var iconset = $(el).parent().prevAll('span.iconset').last();
var file, iconset, direl;
if (el.hasClass('self'))
{
file = dir;
iconset = $('#diriconset');
}
else
{
file = $(el).parent().prevAll('a.dbf').last().attr('file');
iconset = $(el).parent().prevAll('span.iconset').last();
direl = $(el).parent().parent();
}
var results = $(el).parent().next('div.results');
var efile = encodeURIComponent(file);
var bfile = file.replace(/.*\//g, '');
bfile = bfile.replace(/[\x00-\x1f]+/g, '');
var results = $(el).parent().next('div.results');
switch (action)
{
case 'paste':
pastedialogue();
$('#pwfeedback').load(
'/browse/clipboard.jim?act=paste&dir=' +
file, function() {
$('#pwfeedback').load('/browse/clipboard.jim', {
act: 'paste',
dir: file
}, function() {
$('#pwdialogue').dialog('close');
reloadclipboard();
});
break;
case 'delete':
if (confirm('Are you sure you wish to delete "' +
decodeURIComponent(file) +
'" and all files within it?'))
file + '" and all files within it?'))
{
$(results)
.html('<img src=/img/loading.gif>' +
@ -605,7 +598,7 @@ var dmenuclick = function(action, el, pos)
.slideDown('slow')
.load('/browse/delete.jim', {
'dir': dir,
'files': [decodeURIComponent(file)]
'files': [file]
}, function() {
$(direl).delay(3000).slideUp(300, function() {
$(direl).remove();
@ -615,24 +608,28 @@ var dmenuclick = function(action, el, pos)
break;
case 'copy':
if (!confirm('Are you sure? Copying directories can take a very long time!'))
if (!confirm('Are you sure? ' +
'Copying directories can take a very long time!'))
break;
// Fallthrough
case 'cut':
$.get('/browse/clipboard.jim?act=add&mode=' + action +
'&path=' + file, function() {
$.get('/browse/clipboard.jim', {
act: 'add',
mode: action,
path: file
}, function() {
reloadclipboard();
});
break;
case 'rename':
$('#drename').val(decodeURIComponent(bfile));
$('#drenameorig').val(decodeURIComponent(file));
$('#drename').val(bfile);
$('#drenameorig').val(file);
$('#drenameform').dialog('open');
break;
case 'expire':
$('#aexpiry_ldir').val(decodeURIComponent(file));
$('#aexpiry_ldir').val(file);
// Initialise form with default values
$('#aexpiry_days').val("");
@ -644,8 +641,10 @@ var dmenuclick = function(action, el, pos)
$('#aexpiry_working').hide('fast');
$('#aexpiry_loading').show('fast');
$.getJSON('/browse/aexpiry.jim?act=fetch&dir=' + file,
function(data) {
$.getJSON('/browse/aexpiry.jim', {
act: 'fetch',
dir: file
}, function(data) {
$.each(data, function(key, val) {
if (key == 'days')
$('#aexpiry_days').val(val);
@ -695,9 +694,9 @@ var dmenuclick = function(action, el, pos)
break;
case 'resetnew':
var url = '/browse/resetnew.jim?dir=' + file;
blockpage();
$.get(url, function() { window.location.reload(true); });
$.get('/browse/resetnew.jim', { dir: file },
function() { window.location.reload(true); });
break;
default:
@ -709,6 +708,17 @@ var dmenuclick = function(action, el, pos)
}
};
function update_diriconset()
{
$('#diriconset')
.empty()
.html('<img src=/img/loading.gif> Updating...')
.load('/browse/iconset.jim', {file: dir});
}
//////////////////////////////////////////////////////////////////////
/// Start page loaded functions.
$(function() {
$('textarea').keydown(function(e) {
@ -784,7 +794,7 @@ function doplay()
window.location = '/play/play.jim?' +
'dir=' + encodeURIComponent(dir) +
'&file=' + file;
'&file=' + encodeURIComponent(file);
}
// Bind dialogue open to filenames.
@ -795,9 +805,10 @@ $('a.bf').click(function(e) {
var type = $(this).attr('type');
var opt = $(this).nextAll('a').find('img.opt');
var url = '/browse/file.jim?file=' + file
+ '&type=' + type;
$dialog.load(url);
$dialog.load('/browse/file.jim', {
file: file,
type: type
});
$dialog.attr('file', file);
$dialog.attr('type', type);
@ -880,14 +891,6 @@ $('#bmpdialogue').dialog({
close: function() { $('#thmbmp').attr('src', 'about:blank'); }
});
// Selection overlay
$seloverlay = $('#selectoverlay').dialog({
modal: false, autoOpen: false,
height: 85, width: 485,
show: 'fade', hide: 'fade',
draggable: true, resizable: false
});
// Create re-usable confirmation dialogue.
$confirm = $('#confirm').dialog({
modal: true, autoOpen: false,
@ -896,6 +899,9 @@ $confirm = $('#confirm').dialog({
draggable: false, resizable: false
});
// Load iconset
//update_diriconset();
// Load folder sizes
$.getJSON('/browse/sizes.jim', {dir: dir}, folder_size_callback);
@ -913,7 +919,7 @@ if ($('img.mp3icon'))
alt = 'MPEG-1 Audio Layer III (MP3)';
else
alt = type;
$('a.bf[file$="/' + encodeURIComponent(file) + '"]')
$('a.bf[file$="/' + file + '"]')
.siblings('img.mp3icon')
.attr('src', '/img/mp3_' + type + '.png')
.attr('alt', alt).attr('title', alt);
@ -945,9 +951,8 @@ $('#save_stream').button().click(function() {
$('#savestream_name').val('').enable();
$('#savestreamform').dialog('open');
$('#savestream_detail').load(
'/browse/ffmpeg.jim?file=' +
encodeURIComponent($('#save_stream').attr('file')),
$('#savestream_detail').load('/browse/ffmpeg.jim',
{file: $('#save_stream').attr('file')},
function() {
$('#savestream_retrieving').hide();
$('#savestream_detail').show();
@ -964,7 +969,7 @@ $('#deselectall').click(function(e) {
$('input.fs:checked').prop('checked', false).trigger('change');
});
$('#join').button().disable()
$('#join').button({icons: {primary: "ui-icon-video"}})
.click(function() {
var files = new Array();
var els = $('input.fsts:checked + a').each(function() {
@ -975,7 +980,7 @@ $('#join').button().disable()
files.join();
});
$('#delete').button().disable()
$('#delete').button({icons: {primary: "ui-icon-trash"}})
.click(function() {
var files = new Array();
var els = $('input.fs:checked + a').each(function() {
@ -989,7 +994,6 @@ $('#delete').button().disable()
if (confirm(str))
{
disableall();
$('#deletewait').slideDown('slow');
$('#pwdialogue').dialog({
title: "Deleting",
@ -1014,7 +1018,9 @@ $('#delete').button().disable()
}
});
$('#copy,#cut').button().disable()
$('#copy').button({icons: {primary: "ui-icon-copy"}});
$('#cut').button({icons: {primary: "ui-icon-scissors"}});
$('#copy,#cut')
.click(function() {
var files = new Array();
var els = $('input.fs:checked + a').each(function() {
@ -1033,11 +1039,12 @@ $('#copy,#cut').button().disable()
'path': files
}, function() {
reloadclipboard();
$('input.fs:checked').prop('checked', false);
$('input.fs:checked').prop('checked', false).trigger('change');
});
});
$('#newdir').button().click(function() {
$('#newdir').button({icons: {primary: "ui-icon-folder-collapsed"}})
.click(function() {
$('#newdirform').dialog({
autoOpen: true,
height: 'auto', width: 'auto',
@ -1060,73 +1067,23 @@ $('button.plugin').button().on('click', function() {
$('input.fs').change(function() {
var num = $('input.fs:checked').size();
if (num > 0)
$('#delete,#cut,#copy').enable();
$('.onesel').enable();
else
$('#delete,#cut,#copy').disable();
$('.onesel').disable();
var num = $('input.fsts:checked').size();
if (num > 1)
$('#join').enable();
else
$('#join').disable();
if (num > 0)
{
$seloverlay
.dialog('option', 'position', {
my: "left top",
at: "right bottom",
of: this
})
.dialog('option', 'title', 'Selected files: ' + num)
.dialog('open')
.find('span.selcount').text(num);
}
$('.tsonesel').enable();
else
{
$seloverlay.dialog('close');
}
$('.tsonesel').disable();
if (num > 1)
$('.tstwosel').enable();
else
$('.tstwosel').disable();
});
$('#so_delete').button()
.click(function() {
var files = new Array();
var els = $('input.fs:checked + a').each(function() {
files.push(decodeURIComponent($(this).attr('file')));
});
//console.log("%o", files);
var str = 'Are you sure you want to delete ' + files.length +
' file';
if (files.length != 1) str += 's';
str += '?';
if (confirm(str))
{
disableall();
$('#deletewait').slideDown('slow');
$('#pwdialogue').dialog({
title: "Deleting",
modal: true, autoOpen: true,
height: 'auto', width: 'auto',
show: 'scale', hide: 'fade',
draggable: false, resizable: false,
closeOnEscape: false,
open: function() {
$('.ui-dialog-titlebar-close').hide();
}
});
$('#pwfeedback').load(
'/browse/delete.jim', {
'dir': dir,
'files': files
}, function() {
$('#pwdialogue').dialog('close');
blockpage();
window.location.reload(true);
});
}
});
$('.onesel,.tsonesel,.tstwosel').disable();
$('input.fs').first().trigger('change');
$('#so_queue').button()
.click(function() {
@ -1161,37 +1118,6 @@ $('#so_queue').button()
});
});
$('#so_dequeue').button()
.click(function() {
var files = new Array();
var els = $('input.fs:checked + a').each(function() {
files.push(decodeURIComponent($(this).attr('file')));
});
disableall();
$('#pwdialogue').dialog({
title: "De-queuing",
modal: true, autoOpen: true,
height: 'auto', width: 'auto',
show: 'scale', hide: 'fade',
draggable: false, resizable: false,
closeOnEscape: false,
open: function() {
$('.ui-dialog-titlebar-close').hide();
}
});
$('#pwfeedback').load(
'/browse/dequeue.jim', {
'dir': dir,
'files': files
}, function() {
$('#pwdialogue').dialog('close');
blockpage();
window.location.reload(true);
});
});
var streamsize = 0;

View File

@ -1,8 +1,14 @@
div.brow
div.buttonrow
{
float: left;
clear: left;
margin-top: 3px;
}
div.clipbuttons
{
margin-top: 3px;
}
div.cliplist span
@ -10,8 +16,17 @@ div.cliplist span
display: block;
}
#clipclear
img.qb
{
margin-top: 1em;
height: 14px;
position: relative;
top: 3px;
}
#diriconset
{
font-style: italic;
font-size: 0.7em;
color: #ff4000;
}

View File

@ -36,7 +36,8 @@ function select_episode()
});
}
$('#tvdbsetseries').button().on('click', function(e) {
$('#tvdbsetseries').button({icons:{primary:"ui-icon-link"}})
.on('click', function(e) {
e.stopPropagation();
val = $('#tvdbseriesname').text();
if (!val)

View File

@ -672,3 +672,8 @@ img.rollimg
padding: 0 0 0 0;
}
a.breadcrumb:hover
{
color: #008080;
}

View File

@ -119,17 +119,18 @@ $('#qresubmit').button({icons:{primary:"ui-icon-refresh"}})
$('#selnone').button({icons:{primary:"ui-icon-close"}})
.on('click', function() {
$('#queuetab input:checkbox').prop('checked', false);
$('#queuetab input:checkbox').prop('checked', false).trigger('change');
});
$('#selall').button({icons:{primary:"ui-icon-check"}})
.on('click', function() {
$('#queuetab input:checkbox').prop('checked', true);
$('#queuetab input:checkbox').prop('checked', true).trigger('change');
});
$('#selcomplete').button({icons:{primary:"ui-icon-stop"}})
.on('click', function() {
$('#queuetab input:checkbox[status="COMPLETE"]').prop('checked', true);
$('#queuetab input:checkbox[status="COMPLETE"]').prop('checked', true)
.trigger('change');
});
$('#refresh').button({icons:{primary:"ui-icon-refresh"}})

View File

@ -3,18 +3,37 @@
if {[file exists /mod/tmp/notify.log]} {
source /mod/webif/lib/setup
require cat
puts "
<div id=sysnotify class=warningbox style=\"width: 90%\"><center>
puts {
<div id=sysnotify class=warningbox style="width: 90%"><center>
!! WARNING !!
<br><br>
You have pending system notifications:
<br><br>
</center>
<pre>
"
cat /mod/tmp/notify.log
}
set lines {}
set seen {}
foreach line [split [file read /mod/tmp/notify.log] "\n"] {
set rest [lassign [split $line -] date]
if {[dict exists $seen $rest]} {
incr seen($rest)
} else {
set seen($rest) 1
}
set lines($rest) "$line"
set mul $seen($rest)
if {$mul > 1} {
append lines($rest) " ($mul instances)"
}
}
foreach {line msg} $lines {
puts $msg
}
puts {
</pre>
<center>

View File

@ -179,7 +179,7 @@ proc {browse breadcrumb} {dir} {
foreach part [split $dir /] {
if {$stub eq "/"} { set name $part } else { set name "/$part" }
append stub $name
puts "<a href=\"/go/browse?dir=[cgi_quote_url $stub]\">$name</a>"
puts "<a class=breadcrumb href=\"/go/browse?dir=[cgi_quote_url $stub]\">$name</a>"
}
}

View File

@ -163,6 +163,14 @@ proc {queue status} {ts} {
return $q
}
proc {queue check} {ts {q "all"}} {
set queues [split [queue status $ts] ,]
if {$q eq "any" && [llength $queues]} {
return 1
}
return $($q in $queues)
}
proc {queue all} {} {
set db [queue dbhandle]

View File

@ -15,6 +15,8 @@ set verlist {
2010-365-4 2010-365-5 -1
2010-365-5 2010-365-4 1
2010-365-5 2010-365-5 0
2010-366-5 2010-365-5 1
2011-365-5 2010-365-5 1
}
foreach {a b e} $verlist {