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; } }); var seenRender = function (data, type, full) { return moment(data, "X").fromNow(); }; var seenCreatedCell = function (td, cellData, rowData, row, col) { if (cellData !== null) { $(td).attr('title', moment(cellData, "X").format(date_format + ' ' + time_format)); } }; user_ip_table_options = { "destroy": true, "language": { "search": "Search: ", "lengthMenu": "Show _MENU_ entries per page", "info": "Showing _START_ to _END_ of _TOTAL_ results", "infoEmpty": "Showing 0 to 0 of 0 entries", "infoFiltered": "(filtered from _MAX_ total entries)", "emptyTable": "No data in table", "loadingRecords": ' Loading items...' }, "stateSave": true, "stateDuration": 0, "pagingType": "full_numbers", "processing": false, "serverSide": true, "pageLength": 25, "order": [ 0, 'desc'], "autoWidth": false, "scrollX": true, "columnDefs": [ { "targets": [0], "data": "last_seen", "render": seenRender, "createdCell": seenCreatedCell, "searchable": false, "width": "12%", "className": "no-wrap" }, { "targets": [1], "data": "first_seen", "render": seenRender, "createdCell": seenCreatedCell, "searchable": false, "width": "12%", "className": "no-wrap" }, { "targets": [2], "data": "ip_address", "createdCell": function (td, cellData, rowData, row, col) { if (cellData) { isPrivateIP(cellData).then(function () { $(td).html(cellData || 'n/a'); }, function () { external_ip = ''; $(td).html('' + external_ip + cellData + ''); }); } else { $(td).html('n/a'); } }, "width": "12%", "className": "no-wrap modal-control-ip" }, { "targets": [3], "data": "platform", "createdCell": function (td, cellData, rowData, row, col) { if (cellData !== '') { $(td).html(cellData); } }, "width": "12%", "className": "no-wrap" }, { "targets": [4], "data": "player", "createdCell": function (td, cellData, rowData, row, col) { if (cellData !== '') { var transcode_dec = ''; if (rowData['transcode_decision'] === 'transcode') { transcode_dec = ''; } else if (rowData['transcode_decision'] === 'copy') { transcode_dec = ''; } else if (rowData['transcode_decision'] === 'direct play') { transcode_dec = ''; } $(td).html('
'); } }, "width": "12%", "className": "no-wrap modal-control" }, { "targets": [5], "data": "last_played", "createdCell": function (td, cellData, rowData, row, col) { if (cellData !== '') { var icon = ''; var icon_title = ''; var parent_info = ''; var media_type = ''; var thumb_popover = ''; var fallback = (rowData['live']) ? 'poster-live' : 'poster'; if (rowData['media_type'] === 'movie') { icon = (rowData['live']) ? 'fa-broadcast-tower' : 'fa-film'; icon_title = (rowData['live']) ? 'Live TV' : 'Movie'; if (rowData['year']) { parent_info = ' (' + rowData['year'] + ')'; } media_type = ''; thumb_popover = '' + cellData + parent_info + ''; $(td).html(''); } else if (rowData['media_type'] === 'episode') { icon = (rowData['live']) ? 'fa-broadcast-tower' : 'fa-television'; icon_title = (rowData['live']) ? 'Live TV' : 'Episode'; if (!isNaN(parseInt(rowData['parent_media_index'])) && !isNaN(parseInt(rowData['media_index']))) { parent_info = ' (' + short_season(rowData['parent_title']) + ' · E' + rowData['media_index'] + ')'; } else if (rowData['live'] && rowData['originally_available_at']) { parent_info = ' (' + rowData['originally_available_at'] + ')'; } media_type = ''; thumb_popover = '' + cellData + parent_info + ''; $(td).html(''); } else if (rowData['media_type'] === 'track') { if (rowData['parent_title']) { parent_info = ' (' + rowData['parent_title'] + ')'; } media_type = ''; thumb_popover = '' + cellData + parent_info + ''; $(td).html(''); } else if (rowData['media_type']) { $(td).html('' + cellData + ''); } } else { $(td).html('n/a'); } }, "width": "30%", "className": "datatable-wrap" }, { "targets": [6], "data": "play_count", "searchable": false, "width": "10%", "className": "no-wrap" } ], "drawCallback": function (settings) { // Jump to top of page // $('html,body').scrollTop(0); $('#ajaxMsg').fadeOut(); // Create the tooltips. $('body').tooltip({ selector: '[data-toggle="tooltip"]', container: 'body' }); $('body').popover({ selector: '[data-toggle="popover"]', html: true, container: 'body', trigger: 'hover', placement: 'right', template: '