diff options
author | Christian Pointner <equinox@helsinki.at> | 2015-03-19 22:11:15 (GMT) |
---|---|---|
committer | Christian Pointner <equinox@helsinki.at> | 2015-03-19 22:16:10 (GMT) |
commit | 259e1c7a81ea9a096c227a6bc44114a7a9cf3a50 (patch) | |
tree | 051c708e449b5e5afb6ba25bce169b280045f254 /js/shows.js | |
parent | d7795f99ed3fb52564fa6d2340d928ae9b191e5b (diff) |
implemented a more secure directory structure
Diffstat (limited to 'js/shows.js')
-rw-r--r-- | js/shows.js | 317 |
1 files changed, 0 insertions, 317 deletions
diff --git a/js/shows.js b/js/shows.js deleted file mode 100644 index cbf4d73..0000000 --- a/js/shows.js +++ /dev/null @@ -1,317 +0,0 @@ -var shows_currentid; -var shows_list = []; -var shows_current; -var shows_group_carts = {}; -var shows_log_carts = []; - - -function shows_deleteCart(cart) { - data = { COMMAND: 13, LOGIN_NAME: auth_username, PASSWORD: auth_token, CART_NUMBER: cart }; - $.post("/rd-bin/rdxport.cgi", data, null, "xml").done(function() { shows_updateGroupCartInfo(cart); }); -} - -function shows_importAddCut(cart, dz, file) { - data = { COMMAND: 10, LOGIN_NAME: auth_username, PASSWORD: auth_token, CART_NUMBER: cart }; - $.post("/rd-bin/rdxport.cgi", data, null, "xml").done(function() { dz.processQueue(); }) - .fail(function(xhr, status, err) { shows_importFileUploadError(cart, dz, file, err, xhr); }); -} - -function shows_importAddCart(cart, dz, file) { - data = { COMMAND: 12, LOGIN_NAME: auth_username, PASSWORD: auth_token, - GROUP_NAME: shows_current.group.name, TYPE: 'audio', CART_NUMBER: cart }; - $.post("/rd-bin/rdxport.cgi", data, null, "xml").done(function() { shows_importAddCut(cart, dz, file); }) - .fail(function(xhr, status, err) { shows_importFileUploadError(cart, dz, file, err, xhr); }); -} - -function shows_importCartCancel(cart, dz) { - shows_deleteCart(cart); - dz.off("error"); - dz.disable(); -} - -function shows_importFileUploadError(cart, dz, file, msg, xhr) { - alertbox.error('app-shows', "Import Fehler", $('<div>').append($('<pre>').text(msg)).html()); - shows_deleteCart(cart); - dz.disable(); -} - -function shows_importFileUploadSuccess(cart, dz, file) { - shows_updateGroupCartInfo(cart); - dz.disable(); -} - -function shows_importUpdateProgress(file, stats) { - var bytes_str = Number((file.upload.bytesSent/1024)/1024).toFixed(1) + " von " + - Number((file.upload.total/1024)/1024).toFixed(1) + " MB"; - stats.find('.file-bytes').text(bytes_str); - stats.find('.progress .bar').css("width", file.upload.progress + "%"); -} - -function shows_importCartConfirm(cart, dz) { - $('#shows-upload').modal('hide'); - var cart_row = $('#show-cart-' + cart) - cart_row.next().remove(); - cart_row.find('.btn').attr('disabled','disabled'); - var dz_stat = shows_getDzStat(false); - dz_stat.find('button').unbind('click').click(function() { shows_importCartCancel(cart, dz); }); - cart_row.after(dz_stat); - - dz.off("error"); - files = dz.getAcceptedFiles(); - dz_stat.find('.file-name').text(files[0].name); - shows_importUpdateProgress(files[0], dz_stat); - dz.on("uploadprogress", function(file) { shows_importUpdateProgress(file, dz_stat); }); - dz.on("success", function(file) { shows_importFileUploadSuccess(cart, dz, file); }); - dz.on("error", function(file, msg, xhr) { shows_importFileUploadError(cart, this, file, msg, xhr); }); - shows_importAddCart(cart, dz, files[0]); -} - -function shows_createImportForm(cart) { - return $('<form>').attr("action", "/rd-bin/rdxport.cgi").attr("method", "post").attr("enctype", "multipart/form-data") - .append($('<input>').attr("type", "hidden").attr("name", "COMMAND").attr("value", 2)) - .append($('<input>').attr("type", "hidden").attr("name", "LOGIN_NAME").attr("value", auth_username)) - .append($('<input>').attr("type", "hidden").attr("name", "PASSWORD").attr("value", auth_token)) - .append($('<input>').attr("type", "hidden").attr("name", "CART_NUMBER").attr("value", cart)) - .append($('<input>').attr("type", "hidden").attr("name", "CUT_NUMBER").attr("value", 1)) - .append($('<input>').attr("type", "hidden").attr("name", "CHANNELS").attr("value", 2)) - .append($('<input>').attr("type", "hidden").attr("name", "NORMALIZATION_LEVEL").attr("value", shows_current.normlevel)) - .append($('<input>').attr("type", "hidden").attr("name", "AUTOTRIM_LEVEL").attr("value", shows_current.trimlevel)) - .append($('<input>').attr("type", "hidden").attr("name", "USE_METADATA").attr("value", 1)); -} - -function shows_importFileAdded(dz, file, cart) { - $(dz.getAcceptedFiles()).each(function(idx, elem) { dz.removeFile(elem); }); - $('#shows-upload div.modal-body').css("background-image", "url('/img/audio_file.png')") - $('#shows-upload div.modal-header h3').text(file.name) - $('#shows-upload-confirm').removeAttr('disabled').unbind('click').click(function() { shows_importCartConfirm(cart, dz); }); -} - -function shows_importFileSelectError(dz, file, msg) { - $('#shows-upload div.modal-header h3').text("Datei auswählen...") - $('#shows-upload div.modal-body').css("background-image", "url('/img/dz-backdrop.png')"); - $('#shows-upload-confirm').attr('disabled','disabled').unbind('click'); - dz.removeFile(file); -} - -function shows_importCart(cart) { - var form = shows_createImportForm(cart); - $('#shows-upload div.modal-header h3').text("Datei auswählen...") - $('#shows-upload div.modal-body').empty().append(form).css("background-image", "url('/img/dz-backdrop.png')"); - $('#shows-upload-confirm').attr('disabled','disabled').unbind('click'); - var dz = form.dropzone({ url: "/rd-bin/rdxport.cgi", prallelUploads: 1, maxFilesize: 2048, paramName: 'FILENAME', - uploadMultiple: false, clickable: true, createImageThumbnails: false, - acceptedFiles: ".flac,.wav,.ogg,.mp3", autoProcessQueue: false, init: function() { - this.on("addedfile", function(file) { shows_importFileAdded(this, file, cart); }); - this.on("error", function(file, msg) { shows_importFileSelectError(this, file, msg); }); - }}); - - $('#shows-upload').modal({ keyboard: true }); -} - -// <td> -// <button class="btn btn-info btn-mini disabled"><i class="icon-arrow-up icon-white"></i></button> -// <button class="btn btn-info btn-mini disabled"><i class="icon-arrow-down icon-white"></i></button> -// <button class="btn btn-danger btn-mini"><i class="icon-trash icon-white"></i> Löschen</button> -// </td> -// <td> -// <button class="btn btn-info btn-mini"><i class="icon-arrow-up icon-white"></i></button> -// <button class="btn btn-info btn-mini disabled"><i class="icon-arrow-down icon-white"></i></button> -// <button class="btn btn-success btn-mini"><i class="icon-upload icon-white"></i> Importieren</button> -// </td> - -function shows_getDzStat(empty) { - if(empty) { - return $('<tr>').append($('<td colspan=6>').css("border", 0) - .css("height", 0) - .css("margin", 0) - .css("padding", 0)); - } else { - var progress_bar = '<div class="progress progress-striped"><div class="bar" style="width: 0%;"></div></div>'; - var cancel_button = '<button class="btn btn-danger btn-mini">' + - '<i class="icon-remove icon-white"></i> Abbrechen</button>'; - - return $('<tr>').append($('<td>').addClass('file-name').text('-')) - .append($('<td>').addClass('file-bytes').text('??.? von ??.? MB')) - .append($('<td colspan=3>').append(progress_bar)) - .append($('<td>').append(cancel_button)); - } -} - -function shows_updateGroupCartInfo(cart) { - data = { COMMAND: 7, LOGIN_NAME: auth_username, PASSWORD: auth_token, CART_NUMBER: cart, INCLUDE_CUTS: 1 }; - var defer = $.post("/rd-bin/rdxport.cgi", data, shows_updateGroupCartList, "xml") - .fail(function() { delete shows_group_carts[cart]; shows_redrawCartEntry(cart); }); - - $.when(defer).done(function() { shows_redrawCartEntry(cart); }); -} - -function shows_redrawCartEntry(cart) { - $('#show-cart-' + cart).replaceWith(shows_newCartEntry(cart)); - $('#show-cart-' + cart).next().replaceWith(shows_getDzStat(true)); -} - -function shows_newCartEntry(elem) { - var cart_exists = shows_group_carts[elem] ? 1 : 0; - var cart = {}; - cart.title = cart_exists ? shows_group_carts[elem].title : '-'; - cart.length = cart_exists ? shows_group_carts[elem].length : '-'; - cart.imported = cart_exists ? format_datetime(shows_group_carts[elem].imported) : '-'; - cart.playcnt = cart_exists ? shows_group_carts[elem].playcnt : '-'; - cart.lastplayed = cart_exists ? format_datetime(shows_group_carts[elem].lastplayed) : '-'; - - var buttons = cart_exists ? - '<button class="btn btn-danger btn-mini" onclick="shows_deleteCart(' + elem + ');">' + - '<i class="icon-trash icon-white"></i> Löschen</button>' : - '<button class="btn btn-success btn-mini" onclick="shows_importCart(' + elem + ');">' + - '<i class="icon-upload icon-white"></i> Importieren</button>'; - - return $('<tr>').append($('<td rowspan=2>').text(elem)) - .append($('<td>').text(cart.title)) - .append($('<td>').text(msToTimeString(cart.length))) - .append($('<td>').text(cart.imported)) - .append($('<td>').text(cart.playcnt)) - .append($('<td>').text(cart.lastplayed)) - .append($('<td>').append(buttons)).attr("id", "show-cart-" + elem); -} - -function shows_udpateCartListing() { - $('#show-carts tbody').find('tr').remove(); - shows_log_carts.forEach(function(elem) { - $('#show-carts > tbody:last').append(shows_newCartEntry(elem)) - .append(shows_getDzStat(true)); - }); -} - -function shows_updateGroupCartList(data, status, req) { - var cartlist = $(data).find("cartList"); - var carts = cartlist.children(); - carts.each(function() { - var cut = $(this).find("cutList").get(0); - number = $(this).find('number').text(), - cart = { - title: $(this).find('title').text(), - length: Number($(cut).find('length').text()), - imported: new Date($(cut).find('originDatetime').text()), - playcnt: $(cut).find('playCounter').text(), - lastplayed: new Date($(cut).find('lastPlayDatetime').text()), - }; - cart.imported = isNaN(cart.imported) ? '-' : cart.imported; - cart.lastplayed = isNaN(cart.lastplayed) ? '-' : cart.lastplayed; - shows_group_carts[number] = cart; - } - ); -} - -function shows_updateLogCartList(data, status, req) { - var loglist = $(data).find("logList"); - var loglines = loglist.children(); - loglines.each(function() { - var number = $(this).find('cartNumber').text(); - if(number >= shows_current.group.lowcart && number <= shows_current.group.highcart) { - shows_log_carts.push(number); - } - } - ); -} - -function shows_showSelected() { - shows_currentid = $('#show-selector option:selected').attr('value'); - sessionStorage.setItem("shows_currentid", shows_currentid); - shows_current = $.grep(shows_list, function(elem) { return elem.id == shows_currentid; })[0]; - - if(shows_current) { - $('#show-title').text(shows_current.title); - $('#show-dow').text(weekday[shows_current.dow]); - $('#show-rhythm').text(shows_current.rhythm); - $('#show-starttime').text(shows_current.starttime); - $('#show-length').text(shows_current.length + ' Min.'); - - shows_log_carts = []; - data = { COMMAND: 22, LOGIN_NAME: auth_username, PASSWORD: auth_token, NAME: shows_current.log }; - lcd = $.post("/rd-bin/rdxport.cgi", data, shows_updateLogCartList, "xml"); - - shows_group_carts = {}; - data = { COMMAND: 6, LOGIN_NAME: auth_username, PASSWORD: auth_token, GROUP_NAME: shows_current.group.name, INCLUDE_CUTS: 1 }; - gcd = $.post("/rd-bin/rdxport.cgi", data, shows_updateGroupCartList, "xml"); - - $.when(lcd, gcd).done( - function(lcres, gcres) { - if(lcres[1] == 'success' && gcres[1] == 'success') { - shows_udpateCartListing(); - } - } - ); - } -} - -function shows_updateList(data, status, req) { - shows_list = []; - $('#show-selector').find('option').remove(); - var dblist = $(data).find("dropboxList"); - var dbs = dblist.children(); - dbs.each(function() { - type = $(this).find('type').text(); - if(type == 'show') { - var show = { - id: $(this).find('show-id').text(), - title: $(this).find('show-title').text(), - dow: $(this).find('show-dayofweek').text(), - rhythm: $(this).find('show-rhythm').text(), - starttime: $(this).find('show-starttime').text(), - length: $(this).find('show-length').text(), - log: $(this).find('show-log').text(), - group: { - name: $(this).find('group').text(), - lowcart: $(this).find('group-low-cart').text(), - highcart: $(this).find('group-high-cart').text(), - }, - normlevel: $(this).find('normalization-level').text(), - trimlevel: $(this).find('autotrim-level').text(), - } - - var name = show.title + ' (' + show.rhythm + ', ' + weekday[show.dow] + ', ' + show.starttime + ', ' + show.length + ' Min.)'; - $('#show-selector').append($('<option>').attr('value',show.id).text(name)); - - shows_list.push(show); - } - } - ); - $('#show-selector').val(shows_currentid); - shows_showSelected(); -} - -function shows_drawCurrentWeek() { - var weekspan = $('#current-week').removeClass().addClass('label'); - switch(get_rd_week()) { - case 1: - weekspan.addClass('label-info').text('Woche 1'); - break; - case 2: - weekspan.addClass('label-warning').text('Woche 2'); - break; - case 3: - weekspan.addClass('label-success').text('Woche 3'); - break; - case 4: - weekspan.addClass('label-important').text('Woche 4'); - break; - default: - weekspan.addClass('label-inverse').text('Fehler'); - } -} - -function shows_init() { - shows_currentid = sessionStorage.getItem("shows_currentid"); - shows_list = []; - data = { LOGIN_NAME: auth_username, PASSWORD: auth_token }; - $.post("/rh-bin/listdropboxes.cgi", data, shows_updateList, "xml") - shows_drawCurrentWeek(); -} - -function shows_cleanup() { - sessionStorage.removeItem("shows_currentid"); - delete shows_currentid; - shows_list = []; - shows_group_carts = {}; - shows_log_carts = []; -} |