var date_format = 'YYYY-MM-DD'; var time_format = 'hh:mm a'; $.ajax({ url: 'get_date_formats', type: 'GET', success: function(data) { date_format = data.date_format; time_format = data.time_format; } }); history_table_options = { "destroy": true, "language": { "search": "Search: ", "lengthMenu":"Show _MENU_ entries per page", "info":"Showing _START_ to _END_ of _TOTAL_ history items", "infoEmpty":"Showing 0 to 0 of 0 entries", "infoFiltered":"(filtered from _MAX_ total entries)", "emptyTable": "No data in table", }, "pagingType": "bootstrap", "stateSave": true, "processing": false, "serverSide": true, "pageLength": 25, "order": [ 0, 'desc'], "columnDefs": [ { "targets": [0], "data":"date", "createdCell": function (td, cellData, rowData, row, col) { if (rowData['stopped'] === null) { $(td).html('Currently watching...'); } else { $(td).html(moment(cellData,"X").format(date_format)); } }, "searchable": false, "className": "no-wrap" }, { "targets": [1], "data":"friendly_name", "createdCell": function (td, cellData, rowData, row, col) { if (cellData !== '') { if (rowData['user_id']) { $(td).html('' + cellData + ''); } else { $(td).html('' + cellData + ''); } } else { $(td).html(cellData); } }, "className": "no-wrap hidden-xs" }, { "targets": [2], "data":"player", "createdCell": function (td, cellData, rowData, row, col) { if (cellData !== '') { $(td).html(' '+cellData); } }, "className": "modal-control no-wrap hidden-sm hidden-xs" }, { "targets": [3], "data":"ip_address", "createdCell": function (td, cellData, rowData, row, col) { if (cellData) { if (isPrivateIP(cellData)) { if (cellData != '') { $(td).html(cellData); } else { $(td).html('n/a'); } } else { $(td).html(' ' + cellData +''); } } else { $(td).html('n/a'); } }, "className": "no-wrap hidden-xs modal-control-ip" }, { "targets": [4], "data":"full_title", "createdCell": function (td, cellData, rowData, row, col) { if (cellData !== '') { if (rowData['media_type'] === 'movie' || rowData['media_type'] === 'episode') { var transcode_dec = ''; if (rowData['video_decision'] === 'transcode') { transcode_dec = ' '; } $(td).html('
' + cellData + '
' + transcode_dec + '
'); } else if (rowData['media_type'] === 'track') { $(td).html('
' + cellData + '
'); } else { $(td).html('' + cellData + ''); } } } }, { "targets": [5], "data":"started", "createdCell": function (td, cellData, rowData, row, col) { if (cellData === null) { $(td).html('n/a'); } else { $(td).html(moment(cellData,"X").format(time_format)); } }, "searchable": false, "className": "no-wrap hidden-sm hidden-xs" }, { "targets": [6], "data":"paused_counter", "render": function ( data, type, full ) { if (data !== null) { return Math.round(moment.duration(data, 'seconds').as('minutes')) + ' mins'; } else { return '0 mins'; } }, "searchable": false, "className": "no-wrap hidden-xs" }, { "targets": [7], "data":"stopped", "createdCell": function (td, cellData, rowData, row, col) { if (cellData === null) { $(td).html('n/a'); } else { $(td).html(moment(cellData,"X").format(time_format)); } }, "searchable": false, "className": "no-wrap hidden-md hidden-xs" }, { "targets": [8], "data":"duration", "render": function ( data, type, full ) { if (data !== null) { return Math.round(moment.duration(data, 'seconds').as('minutes')) + ' mins'; } else { return data; } }, "searchable": false, "className": "no-wrap hidden-xs" }, { "targets": [9], "data":"percent_complete", "render": function ( data, type, full ) { if (data > 80) { return '' } else if (data > 40) { return '' } else { return '' } }, "searchable": false, "orderable": false, "className": "no-wrap hidden-md hidden-xs", "width": "10px" } ], "drawCallback": function (settings) { // Jump to top of page // $('html,body').scrollTop(0); $('#ajaxMsg').fadeOut(); // Create the tooltips. $('.info-modal').each(function() { $(this).tooltip(); }); }, "preDrawCallback": function(settings) { var msg = "
 Fetching rows...
"; showMsg(msg, false, false, 0) } } $('#history_table').on('click', 'td.modal-control', function () { var tr = $(this).parents('tr'); var row = history_table.row( tr ); var rowData = row.data(); function showStreamDetails() { $.ajax({ url: 'get_stream_data', data: {row_id: rowData['id'], user: rowData['friendly_name']}, cache: false, async: true, complete: function(xhr, status) { $("#info-modal").html(xhr.responseText); } }); } showStreamDetails(); }); $('#history_table').on('click', 'td.modal-control-ip', function () { var tr = $(this).parents('tr'); var row = history_table.row( tr ); var rowData = row.data(); function getUserLocation(ip_address) { if (isPrivateIP(ip_address)) { return "n/a" } else { $.ajax({ url: 'get_ip_address_details', data: {ip_address: ip_address}, async: true, complete: function(xhr, status) { $("#ip-info-modal").html(xhr.responseText); } }); } } getUserLocation(rowData['ip_address']); });