Merge branch 'devel' of dev.sourcefabric.org:airtime into devel
This commit is contained in:
commit
a5e7c0197f
106 changed files with 8649 additions and 1389 deletions
|
@ -29,7 +29,7 @@
|
|||
}
|
||||
.source-info-block li {
|
||||
list-style-type:none;
|
||||
font-size:11px;
|
||||
font-size:10px;
|
||||
color:#bdbdbd;
|
||||
margin:0;
|
||||
height:15px;
|
||||
|
|
|
@ -97,6 +97,21 @@ select {
|
|||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.edit-current-user {
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
.edit-current-user label {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.stream-player-label {
|
||||
padding-left: 8px !important;
|
||||
}
|
||||
.jp-stream form {
|
||||
margin-left: 7px !important;
|
||||
}
|
||||
|
||||
.override_help_icon, .icecast_metadata_help_icon {
|
||||
cursor: help;
|
||||
position: relative;
|
||||
|
@ -109,7 +124,8 @@ select {
|
|||
}
|
||||
|
||||
.airtime_auth_help_icon, .custom_auth_help_icon, .stream_username_help_icon,
|
||||
.playlist_type_help_icon, .master_username_help_icon, .repeat_tracks_help_icon{
|
||||
.playlist_type_help_icon, .master_username_help_icon, .repeat_tracks_help_icon,
|
||||
.admin_username_help_icon {
|
||||
cursor: help;
|
||||
position: relative;
|
||||
display:inline-block; zoom:1;
|
||||
|
@ -1390,6 +1406,14 @@ h2#scheduled_playlist_name span {
|
|||
padding: 4px 0 8px;
|
||||
}
|
||||
|
||||
.user-form-label {
|
||||
width: 30% !important;
|
||||
}
|
||||
|
||||
.user-form-element {
|
||||
width: 65% !important;
|
||||
}
|
||||
|
||||
.simple-formblock dd.block-display {
|
||||
width: 100%;
|
||||
}
|
||||
|
@ -1972,6 +1996,9 @@ span.errors.sp-errors{
|
|||
.small-icon.show-empty {
|
||||
background:url(images/icon_alert_cal_alt.png) no-repeat 0 0;
|
||||
}
|
||||
.small-icon.show-partial-filled {
|
||||
background:url(images/icon_alert_cal_alt.png) no-repeat 0 0;
|
||||
}
|
||||
.medium-icon {
|
||||
display:block;
|
||||
width:25px;
|
||||
|
@ -2001,9 +2028,12 @@ span.errors.sp-errors{
|
|||
.medium-icon.finishedplaying {
|
||||
background:url(images/icon_finishedplaying_m.png) no-repeat 0 0;
|
||||
}
|
||||
.preferences, .manage-folders {
|
||||
.preferences {
|
||||
width: 500px;
|
||||
}
|
||||
.manage-folders {
|
||||
width: 610px;
|
||||
}
|
||||
|
||||
.stream-config {
|
||||
width: 1100px;
|
||||
|
@ -2941,17 +2971,52 @@ dd .stream-status {
|
|||
}
|
||||
|
||||
.edit-user-global dt {
|
||||
width: 90px;
|
||||
width: 150px;
|
||||
float: left;
|
||||
margin-top: 4px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
.edit-user-global dd {
|
||||
width: 230px;
|
||||
width: 340px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.edit-user-global input {
|
||||
width: 170px;
|
||||
.edit-user-global input, .edit-user-global select {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
|
||||
.jp-container a#popup-link {
|
||||
width: 104px;
|
||||
border: 1px solid black;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
margin-top:3px;
|
||||
text-align: center;
|
||||
right: 16px;
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
color: #FF5D1A
|
||||
}
|
||||
|
||||
#popup-share {
|
||||
display:none;
|
||||
position: fixed;
|
||||
width:360px;
|
||||
height: 26px;
|
||||
margin-left:8px;
|
||||
margin-right: 150px;
|
||||
margin-top: 0px;
|
||||
border:1px solid black;
|
||||
background-color:#282828;
|
||||
padding:10px;
|
||||
z-index:102;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
#popup-share-link {
|
||||
width: 320px;
|
||||
}
|
||||
|
|
|
@ -453,52 +453,27 @@ function setCurrentUserPseudoPassword() {
|
|||
$(document).ready(function() {
|
||||
if ($('#master-panel').length > 0)
|
||||
init();
|
||||
|
||||
var timer;
|
||||
|
||||
$('.tipsy').live('mouseover', function() {
|
||||
clearTimeout(timer);
|
||||
});
|
||||
|
||||
$('.tipsy').live('mouseout', function() {
|
||||
timer = setTimeout("$('#current-user').tipsy('hide')", 500);
|
||||
});
|
||||
|
||||
$('#current-user').bind('mouseover', function() {
|
||||
setCurrentUserPseudoPassword();
|
||||
|
||||
$('#current-user').live('click', function() {
|
||||
$.ajax({
|
||||
url: baseUrl+'/user/edit-user/format/json',
|
||||
success: function(json) {
|
||||
$('#current-user').tipsy({
|
||||
gravity: 'n',
|
||||
html: true,
|
||||
fade: true,
|
||||
opacity: 0.9,
|
||||
trigger: 'manual',
|
||||
title: function() {
|
||||
return json.html;
|
||||
}
|
||||
});
|
||||
},
|
||||
cache: false,
|
||||
complete: function() {
|
||||
$('#current-user').tipsy('show');
|
||||
setCurrentUserPseudoPassword();
|
||||
}
|
||||
url: baseUrl+'/user/edit-user/format/json'
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$('#current-user').bind('mouseout', function() {
|
||||
timer = setTimeout("$('#current-user').tipsy('hide')", 500);
|
||||
});
|
||||
|
||||
|
||||
$('#cu_save_user').live('click', function() {
|
||||
var data = $('#current-user-form').serialize();
|
||||
$.post(baseUrl+'/user/edit-user', {format: 'json', data: data}, function(data) {
|
||||
var json = $.parseJSON(data);
|
||||
$('.tipsy-inner').empty().append(json.html);
|
||||
$('.edit-current-user').parent().empty().append(json.html);
|
||||
setCurrentUserPseudoPassword();
|
||||
setTimeout(removeSuccessMsg, 5000);
|
||||
});
|
||||
});
|
||||
|
||||
// When the 'Listen' button is clicked we set the width
|
||||
// of the share button to the width of the 'Live Stream'
|
||||
// text. This differs depending on the language setting
|
||||
$('#popup-link').css('width', $('.jp-container h1').css('width'));
|
||||
|
||||
});
|
||||
|
|
|
@ -558,20 +558,18 @@ var AIRTIME = (function(AIRTIME) {
|
|||
// add the play function to the library_type td
|
||||
$(nRow).find('td.library_type').click(function(){
|
||||
if (aData.ftype === 'playlist' && aData.length !== '0.0'){
|
||||
playlistIndex = $(this).parent().attr('id').substring(3); // remove
|
||||
// the
|
||||
// pl_
|
||||
playlistIndex = $(this).parent().attr('id').substring(3);
|
||||
open_playlist_preview(playlistIndex, 0);
|
||||
} else if (aData.ftype === 'audioclip') {
|
||||
if (isAudioSupported(aData.mime)) {
|
||||
open_audio_preview(aData.ftype, aData.audioFile, aData.track_title, aData.artist_name);
|
||||
}
|
||||
} else if (aData.ftype == 'stream') {
|
||||
open_audio_preview(aData.ftype, aData.audioFile, aData.track_title, aData.artist_name);
|
||||
if (isAudioSupported(aData.mime)) {
|
||||
open_audio_preview(aData.ftype, aData.audioFile, aData.track_title, aData.artist_name);
|
||||
}
|
||||
} else if (aData.ftype == 'block' && aData.bl_type == 'static') {
|
||||
blockIndex = $(this).parent().attr('id').substring(3); // remove
|
||||
// the
|
||||
// bl_
|
||||
blockIndex = $(this).parent().attr('id').substring(3);
|
||||
open_block_preview(blockIndex, 0);
|
||||
}
|
||||
return false;
|
||||
|
@ -915,6 +913,16 @@ var AIRTIME = (function(AIRTIME) {
|
|||
soundcloud.view.callback = callback;
|
||||
}
|
||||
}
|
||||
// add callbacks for duplicate menu items.
|
||||
if (oItems.duplicate !== undefined) {
|
||||
var url = oItems.duplicate.url;
|
||||
callback = function() {
|
||||
$.post(url, {format: "json", id: data.id }, function(json){
|
||||
oTable.fnStandingRedraw();
|
||||
});
|
||||
};
|
||||
oItems.duplicate.callback = callback;
|
||||
}
|
||||
// remove 'Add to smart block' option if the current
|
||||
// block is dynamic
|
||||
if ($('input:radio[name=sp_type]:checked').val() === "1") {
|
||||
|
@ -1043,6 +1051,9 @@ function addQtipToSCIcons(){
|
|||
my: "left top",
|
||||
viewport: $(window)
|
||||
},
|
||||
style: {
|
||||
classes: "ui-tooltip-dark file-md-long"
|
||||
},
|
||||
show: {
|
||||
ready: true // Needed to make it show on first mouseover
|
||||
// event
|
||||
|
@ -1072,6 +1083,9 @@ function addQtipToSCIcons(){
|
|||
my: "left top",
|
||||
viewport: $(window)
|
||||
},
|
||||
style: {
|
||||
classes: "ui-tooltip-dark file-md-long"
|
||||
},
|
||||
show: {
|
||||
ready: true // Needed to make it show on first mouseover
|
||||
// event
|
||||
|
@ -1101,6 +1115,9 @@ function addQtipToSCIcons(){
|
|||
my: "left top",
|
||||
viewport: $(window)
|
||||
},
|
||||
style: {
|
||||
classes: "ui-tooltip-dark file-md-long"
|
||||
},
|
||||
show: {
|
||||
ready: true // Needed to make it show on first mouseover
|
||||
// event
|
||||
|
|
|
@ -94,17 +94,25 @@ var AIRTIME = (function(AIRTIME) {
|
|||
"oTableTools": {
|
||||
"sSwfPath": baseUrl+"/js/datatables/plugin/TableTools/swf/copy_cvs_xls_pdf.swf",
|
||||
"aButtons": [
|
||||
"copy",
|
||||
{
|
||||
"sExtends": "csv",
|
||||
"fnClick": setFlashFileName
|
||||
},
|
||||
{
|
||||
"sExtends": "pdf",
|
||||
"fnClick": setFlashFileName
|
||||
},
|
||||
"print"
|
||||
]
|
||||
{
|
||||
"sExtends": "copy",
|
||||
"fnComplete": function(nButton, oConfig, oFlash, text) {
|
||||
var lines = text.split('\n').length,
|
||||
len = this.s.dt.nTFoot === null ? lines-1 : lines-2,
|
||||
plural = (len==1) ? "" : "s";
|
||||
alert(sprintf($.i18n._('Copied %s row%s to the clipboard'), len, plural));
|
||||
}
|
||||
},
|
||||
{
|
||||
"sExtends": "csv",
|
||||
"fnClick": setFlashFileName
|
||||
},
|
||||
{
|
||||
"sExtends": "pdf",
|
||||
"fnClick": setFlashFileName
|
||||
},
|
||||
"print"
|
||||
]
|
||||
}
|
||||
});
|
||||
oTable.fnSetFilteringDelay(350);
|
||||
|
|
|
@ -80,20 +80,6 @@ function setMsAuthenticationFieldsReadonly(ele) {
|
|||
}
|
||||
}
|
||||
|
||||
function setSliderForReplayGain(){
|
||||
$( "#slider-range-max" ).slider({
|
||||
range: "max",
|
||||
min: 0,
|
||||
max: 10,
|
||||
value: $("#rg_modifier_value").html(),
|
||||
slide: function( event, ui ) {
|
||||
$( "#replayGainModifier" ).val( ui.value );
|
||||
$("#rg_modifier_value").html(ui.value);
|
||||
}
|
||||
});
|
||||
$( "#replayGainModifier" ).val( $( "#slider-range-max" ).slider( "value" ) );
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$('.collapsible-header').live('click',function() {
|
||||
|
@ -111,7 +97,6 @@ $(document).ready(function() {
|
|||
$('#content').empty().append(json.html);
|
||||
setTimeout(removeSuccessMsg, 5000);
|
||||
showErrorSections();
|
||||
setSliderForReplayGain();
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -121,6 +106,4 @@ $(document).ready(function() {
|
|||
setSystemFromEmailReadonly();
|
||||
setConfigureMailServerListener();
|
||||
setEnableSystemEmailsListener();
|
||||
|
||||
setSliderForReplayGain();
|
||||
});
|
||||
|
|
|
@ -39,8 +39,8 @@ function restrictOggBitrate(ele, on){
|
|||
div.find("select[id$=data-bitrate]").find("option[value='24']").attr("disabled","disabled");
|
||||
div.find("select[id$=data-bitrate]").find("option[value='32']").attr("disabled","disabled");
|
||||
}else{
|
||||
div.find("select[id$=data-bitrate]").find("option[value='24']").attr("disabled","");
|
||||
div.find("select[id$=data-bitrate]").find("option[value='32']").attr("disabled","");
|
||||
div.find("select[id$=data-bitrate]").find("option[value='24']").removeAttr("disabled");
|
||||
div.find("select[id$=data-bitrate]").find("option[value='32']").removeAttr("disabled");
|
||||
}
|
||||
}
|
||||
function hideForShoutcast(ele){
|
||||
|
@ -231,7 +231,7 @@ function setupEventListeners() {
|
|||
}
|
||||
})
|
||||
|
||||
$('.toggle legend').live('click',function() {
|
||||
$('.toggle legend').click(function() {
|
||||
$(this).parent().toggleClass('closed');
|
||||
return false;
|
||||
});
|
||||
|
@ -355,6 +355,27 @@ function setupEventListeners() {
|
|||
},
|
||||
})
|
||||
|
||||
$(".admin_username_help_icon").qtip({
|
||||
content: {
|
||||
text: $.i18n._("This is the admin username and password for Icecast/SHOUTcast to get listener statistics.")
|
||||
},
|
||||
hide: {
|
||||
delay: 500,
|
||||
fixed: true
|
||||
},
|
||||
style: {
|
||||
border: {
|
||||
width: 0,
|
||||
radius: 4
|
||||
},
|
||||
classes: "ui-tooltip-dark ui-tooltip-rounded"
|
||||
},
|
||||
position: {
|
||||
my: "left bottom",
|
||||
at: "right center"
|
||||
},
|
||||
})
|
||||
|
||||
$(".master_username_help_icon").qtip({
|
||||
content: {
|
||||
text: $.i18n._("If your live streaming client does not ask for a username, this field should be 'source'.")
|
||||
|
@ -375,6 +396,25 @@ function setupEventListeners() {
|
|||
at: "right center"
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
function setSliderForReplayGain(){
|
||||
$( "#slider-range-max" ).slider({
|
||||
range: "max",
|
||||
min: -10,
|
||||
max: 10,
|
||||
value: $("#rg_modifier_value").html(),
|
||||
slide: function( event, ui ) {
|
||||
$( "#replayGainModifier" ).val( ui.value );
|
||||
$("#rg_modifier_value").html(ui.value);
|
||||
}
|
||||
});
|
||||
$( "#replayGainModifier" ).val( $( "#slider-range-max" ).slider( "value" ) );
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
setupEventListeners();
|
||||
setSliderForReplayGain();
|
||||
|
||||
$('#stream_save').live('click', function(){
|
||||
var confirm_pypo_restart_text = $.i18n._("If you change the username or password values for an enabled stream the playout engine will be rebooted and your listeners will hear silence for 5-10 seconds. Changing the following fields will NOT cause a reboot: Stream Label (Global Settings), and Switch Transition Fade(s), Master Username, and Master Password (Input Stream Settings). If Airtime is recording, and if the change causes a playout engine restart, the recording will be interrupted.");
|
||||
|
@ -386,12 +426,9 @@ function setupEventListeners() {
|
|||
var json = $.parseJSON(data);
|
||||
$('#content').empty().append(json.html);
|
||||
setupEventListeners();
|
||||
setSliderForReplayGain();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
setupEventListeners();
|
||||
});
|
||||
|
||||
|
|
|
@ -252,40 +252,28 @@ function eventRender(event, element, view) {
|
|||
} else if (view.name === 'month' && event.record === 1 && event.soundcloud_id === -3) {
|
||||
$(element).find(".fc-event-title").after('<span id="'+event.id+'" class="small-icon recording"></span><span id="'+event.id+'" class="small-icon sc-error"></span>');
|
||||
}
|
||||
|
||||
//add scheduled show content empty icon
|
||||
//addIcon = checkEmptyShowStatus(event);
|
||||
//if (!addIcon) {
|
||||
if (view.name === 'agendaDay' || view.name === 'agendaWeek') {
|
||||
if (event.show_empty === 1 && event.record === 0 && event.rebroadcast === 0) {
|
||||
if (event.soundcloud_id === -1) {
|
||||
$(element)
|
||||
.find(".fc-event-time")
|
||||
.before('<span id="'+event.id+'" title="'+$.i18n._("Show is empty")+'" class="small-icon show-empty"></span>');
|
||||
} else if (event.soundcloud_id > 0) {
|
||||
|
||||
} else if (event.soundcloud_id === -2) {
|
||||
|
||||
} else if (event.soundcloud_id === -3) {
|
||||
|
||||
}
|
||||
}
|
||||
} else if (view.name === 'month') {
|
||||
if (event.show_empty === 1 && event.record === 0 && event.rebroadcast === 0) {
|
||||
if (event.soundcloud_id === -1) {
|
||||
$(element)
|
||||
.find(".fc-event-title")
|
||||
.after('<span id="'+event.id+'" title="'+$.i18n._("Show is empty")+'" class="small-icon show-empty"></span>');
|
||||
} else if (event.soundcloud_id > 0) {
|
||||
|
||||
} else if (event.soundcloud_id === -2) {
|
||||
|
||||
} else if (event.soundcloud_id === -3) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (view.name === 'agendaDay' || view.name === 'agendaWeek') {
|
||||
if (event.show_empty === 1 && event.record === 0 && event.rebroadcast === 0) {
|
||||
$(element)
|
||||
.find(".fc-event-time")
|
||||
.before('<span id="'+event.id+'" class="small-icon show-empty"></span>');
|
||||
} else if (event.show_partial_filled === true) {
|
||||
$(element)
|
||||
.find(".fc-event-time")
|
||||
.before('<span id="'+event.id+'" class="small-icon show-partial-filled"></span>');
|
||||
}
|
||||
//}
|
||||
} else if (view.name === 'month') {
|
||||
if (event.show_empty === 1 && event.record === 0 && event.rebroadcast === 0) {
|
||||
$(element)
|
||||
.find(".fc-event-title")
|
||||
.after('<span id="'+event.id+'" title="'+$.i18n._("Show is empty")+'" class="small-icon show-empty"></span>');
|
||||
} else if (event.show_partial_filled === true) {
|
||||
$(element)
|
||||
.find(".fc-event-title")
|
||||
.after('<span id="'+event.id+'" title="'+$.i18n._("Show is partially filled")+'" class="small-icon show-partial-filled"></span>');
|
||||
}
|
||||
}
|
||||
|
||||
//rebroadcast icon
|
||||
if((view.name === 'agendaDay' || view.name === 'agendaWeek') && event.rebroadcast === 1) {
|
||||
|
@ -300,7 +288,7 @@ function eventRender(event, element, view) {
|
|||
function eventAfterRender( event, element, view ) {
|
||||
|
||||
$(element).find(".small-icon").live('mouseover',function(){
|
||||
addQtipToSCIcons($(this));
|
||||
addQtipsToIcons($(this));
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -418,7 +406,8 @@ function getCurrentShow(){
|
|||
});
|
||||
}
|
||||
|
||||
function addQtipToSCIcons(ele){
|
||||
|
||||
function addQtipsToIcons(ele){
|
||||
var id = $(ele).attr("id");
|
||||
|
||||
if($(ele).hasClass("progress")){
|
||||
|
@ -435,6 +424,9 @@ function addQtipToSCIcons(ele){
|
|||
my: "left top",
|
||||
viewport: $(window)
|
||||
},
|
||||
style: {
|
||||
classes: "ui-tooltip-dark file-md-long"
|
||||
},
|
||||
show: {
|
||||
ready: true // Needed to make it show on first mouseover event
|
||||
}
|
||||
|
@ -446,7 +438,7 @@ function addQtipToSCIcons(ele){
|
|||
ajax: {
|
||||
url: baseUrl+"/Library/get-upload-to-soundcloud-status",
|
||||
type: "post",
|
||||
data: ({format: "json", id : id, type: "file"}),
|
||||
data: ({format: "json", id : id, type: "show"}),
|
||||
success: function(json, status){
|
||||
this.set('content.text', $.i18n._("The soundcloud id for this file is: ")+json.sc_id);
|
||||
}
|
||||
|
@ -461,6 +453,9 @@ function addQtipToSCIcons(ele){
|
|||
my: "left top",
|
||||
viewport: $(window)
|
||||
},
|
||||
style: {
|
||||
classes: "ui-tooltip-dark file-md-long"
|
||||
},
|
||||
show: {
|
||||
ready: true // Needed to make it show on first mouseover event
|
||||
}
|
||||
|
@ -488,6 +483,9 @@ function addQtipToSCIcons(ele){
|
|||
my: "left top",
|
||||
viewport: $(window)
|
||||
},
|
||||
style: {
|
||||
classes: "ui-tooltip-dark file-md-long"
|
||||
},
|
||||
show: {
|
||||
ready: true // Needed to make it show on first mouseover event
|
||||
}
|
||||
|
@ -506,45 +504,36 @@ function addQtipToSCIcons(ele){
|
|||
my: "left top",
|
||||
viewport: $(window)
|
||||
},
|
||||
style: {
|
||||
classes: "ui-tooltip-dark file-md-long"
|
||||
},
|
||||
show: {
|
||||
ready: true // Needed to make it show on first mouseover event
|
||||
}
|
||||
});
|
||||
} else if ($(ele).hasClass("show-partial-filled")){
|
||||
$(ele).qtip({
|
||||
content: {
|
||||
text: $.i18n._("This show is not completely filled with content.")
|
||||
},
|
||||
position:{
|
||||
adjust: {
|
||||
resize: true,
|
||||
method: "flip flip"
|
||||
},
|
||||
at: "right center",
|
||||
my: "left top",
|
||||
viewport: $(window)
|
||||
},
|
||||
style: {
|
||||
classes: "ui-tooltip-dark file-md-long"
|
||||
},
|
||||
show: {
|
||||
ready: true // Needed to make it show on first mouseover event
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* This functions does two things:
|
||||
* 1. Checks if each event(i.e. a show) is over and removes the show empty icon if it is
|
||||
* 2. Else, if an event is passed in, it checks if the event(i.e. a show) is over
|
||||
* This gets checked when we are deciding if the show-empty icon should be added
|
||||
* at the beginning of an event render callback.
|
||||
*/
|
||||
/*
|
||||
function checkEmptyShowStatus(e) {
|
||||
var currDate = new Date();
|
||||
var endTime;
|
||||
|
||||
if (e === undefined) {
|
||||
var events = $('#schedule_calendar').fullCalendar('clientEvents');
|
||||
|
||||
$.each(events, function(i, event){
|
||||
endTime = event.end;
|
||||
$emptyIcon = $("span[id="+event.id+"][class='small-icon show-empty']");
|
||||
if (currDate.getTime() > endTime.getTime() && $emptyIcon.length === 1) {
|
||||
$emptyIcon.remove();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
endTime = e.end;
|
||||
var showOver = false;
|
||||
if (currDate.getTime() > endTime.getTime()) {
|
||||
showOver = true;
|
||||
}
|
||||
return showOver;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
//Alert the error and reload the page
|
||||
//this function is used to resolve concurrency issue
|
||||
function alertShowErrorAndReload(){
|
||||
|
@ -555,7 +544,6 @@ function alertShowErrorAndReload(){
|
|||
$(document).ready(function(){
|
||||
setInterval( "checkSCUploadStatus()", 5000 );
|
||||
setInterval( "getCurrentShow()", 5000 );
|
||||
//setInterval( "checkEmptyShowStatus()", 5000 );
|
||||
});
|
||||
|
||||
var view_name;
|
||||
|
|
|
@ -122,7 +122,7 @@ $(document).ready(function() {
|
|||
case 'P':
|
||||
$(this).attr('id', 'user-type-P');
|
||||
$(this).attr('user-rights',
|
||||
$.i18n._('Progam Managers can do the following:')+'<br><br>'+
|
||||
$.i18n._('Program Managers can do the following:')+'<br><br>'+
|
||||
$.i18n._('View schedule')+'<br>'+
|
||||
$.i18n._('View and manage show content')+'<br>'+
|
||||
$.i18n._('Schedule shows')+'<br>'+
|
||||
|
@ -193,4 +193,7 @@ $(document).ready(function() {
|
|||
});
|
||||
});
|
||||
|
||||
$("dt[id$='label']").addClass('user-form-label');
|
||||
$("dd[id$='element']").addClass('user-form-element');
|
||||
|
||||
});
|
||||
|
|
23
airtime_mvc/public/js/datatables/i18n/it_IT.txt
Normal file
23
airtime_mvc/public/js/datatables/i18n/it_IT.txt
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"sEmptyTable": "Nessun dato presente nella tabella",
|
||||
"sInfo": "Vista da _START_ a _END_ di _TOTAL_ elementi",
|
||||
"sInfoEmpty": "Vista da 0 a 0 di 0 elementi",
|
||||
"sInfoFiltered": "(filtrati da _MAX_ elementi totali)",
|
||||
"sInfoPostFix": "",
|
||||
"sInfoThousands": ",",
|
||||
"sLengthMenu": "Visualizza _MENU_ elementi",
|
||||
"sLoadingRecords": "Caricamento...",
|
||||
"sProcessing": "Elaborazione...",
|
||||
"sSearch": "",
|
||||
"sZeroRecords": "La ricerca non ha portato alcun risultato.",
|
||||
"oPaginate": {
|
||||
"sFirst": "Inizio",
|
||||
"sPrevious": "Precedente",
|
||||
"sNext": "Successivo",
|
||||
"sLast": "Fine"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": attiva per ordinare la colonna in ordine crescente",
|
||||
"sSortDescending": ": attiva per ordinare la colonna in ordine decrescente"
|
||||
}
|
||||
}
|
17
airtime_mvc/public/js/datatables/i18n/zh_CN.txt
Normal file
17
airtime_mvc/public/js/datatables/i18n/zh_CN.txt
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"sProcessing": "处理中...",
|
||||
"sLengthMenu": "显示 _MENU_ 项结果",
|
||||
"sZeroRecords": "没有匹配结果",
|
||||
"sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
|
||||
"sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
|
||||
"sInfoFiltered": "(由 _MAX_ 项结果过滤)",
|
||||
"sInfoPostFix": "",
|
||||
"sSearch": "",
|
||||
"sUrl": "",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "上页",
|
||||
"sNext": "下页",
|
||||
"sLast": "末页"
|
||||
}
|
||||
}
|
|
@ -20,5 +20,6 @@ plupload.addI18n({
|
|||
'IO error.': 'Ein/Ausgabe-Fehler',
|
||||
'Stop Upload': 'Hochladen stoppen',
|
||||
'Start upload': 'Hochladen',
|
||||
'%d files queued': '%d Dateien in der Warteschlange'
|
||||
'%d files queued': '%d Dateien in der Warteschlange',
|
||||
"Error: Invalid file extension: " : $.i18n._("Error: Invalid file extension: ")
|
||||
});
|
||||
|
|
|
@ -22,5 +22,6 @@ plupload.addI18n({
|
|||
'Add Files': 'Add Files',
|
||||
'Start Upload': 'Start Upload',
|
||||
'Start upload': 'Start upload',
|
||||
'%d files queued': '%d files queued'
|
||||
'%d files queued': '%d files queued',
|
||||
"Error: Invalid file extension: " : $.i18n._("Error: Invalid file extension: ")
|
||||
});
|
|
@ -22,5 +22,6 @@ plupload.addI18n({
|
|||
'Add Files': 'Add Files',
|
||||
'Start Upload': 'Start Upload',
|
||||
'Start upload': 'Start upload',
|
||||
'%d files queued': '%d files queued'
|
||||
'%d files queued': '%d files queued',
|
||||
"Error: Invalid file extension: " : $.i18n._("Error: Invalid file extension: ")
|
||||
});
|
|
@ -21,5 +21,6 @@ plupload.addI18n({
|
|||
'Stop Upload': 'Detener Subida.',
|
||||
'Add Files': 'Agregar Archivos',
|
||||
'Start upload': 'Comenzar Subida',
|
||||
'%d files queued': '%d archivos en cola.'
|
||||
'%d files queued': '%d archivos en cola.',
|
||||
"Error: Invalid file extension: " : $.i18n._("Error: Invalid file extension: ")
|
||||
});
|
||||
|
|
|
@ -21,5 +21,6 @@ plupload.addI18n({
|
|||
'Stop Upload': 'Arrêter les envois.',
|
||||
'Add Files': 'Ajouter des fichiers',
|
||||
'Start upload': 'Démarrer les envois.',
|
||||
'%d files queued': '%d fichiers en attente.'
|
||||
'%d files queued': '%d fichiers en attente.',
|
||||
"Error: Invalid file extension: " : $.i18n._("Error: Invalid file extension: ")
|
||||
});
|
||||
|
|
25
airtime_mvc/public/js/plupload/i18n/it_IT.js
Normal file
25
airtime_mvc/public/js/plupload/i18n/it_IT.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
// Italian
|
||||
plupload.addI18n({
|
||||
'Select files' : 'Seleziona i files',
|
||||
'Add files to the upload queue and click the start button.' : 'Aggiungi i file alla coda di caricamento e clicca il pulsante di avvio.',
|
||||
'Filename' : 'Nome file',
|
||||
'Status' : 'Stato',
|
||||
'Size' : 'Dimensione',
|
||||
'Add files' : 'Aggiungi file',
|
||||
'Stop current upload' : 'Interrompi il caricamento',
|
||||
'Start uploading queue' : 'Avvia il caricamento',
|
||||
'Uploaded %d/%d files': 'Caricati %d/%d file',
|
||||
'N/A' : 'N/D',
|
||||
'Drag files here.' : 'Trascina i file qui.',
|
||||
'File extension error.': 'Errore estensione file.',
|
||||
'File size error.': 'Errore dimensione file.',
|
||||
'Init error.': 'Errore inizializzazione.',
|
||||
'HTTP Error.': 'Errore HTTP.',
|
||||
'Security error.': 'Errore sicurezza.',
|
||||
'Generic error.': 'Errore generico.',
|
||||
"Error: Invalid file extension: " : $.i18n._("Error: Invalid file extension: "),
|
||||
'IO error.': 'Errore IO.',
|
||||
'Stop Upload': 'Ferma Upload',
|
||||
'Start upload': 'Inizia Upload',
|
||||
'%d files queued': '%d file in lista'
|
||||
});
|
|
@ -22,5 +22,6 @@ plupload.addI18n({
|
|||
'Add Files': '파일 추가',
|
||||
'Start Upload': '업로드 시작',
|
||||
'Start upload': '업로드 시작',
|
||||
'%d files queued': '%d개의 파일이 큐 되었습니다'
|
||||
'%d files queued': '%d개의 파일이 큐 되었습니다',
|
||||
"Error: Invalid file extension: " : $.i18n._("Error: Invalid file extension: ")
|
||||
});
|
|
@ -17,5 +17,6 @@ plupload.addI18n({
|
|||
'HTTP Error.': 'Ошибка HTTP.',
|
||||
'Security error.': 'Ошибка безопасности.',
|
||||
'Generic error.': 'Общая ошибка.',
|
||||
'IO error.': 'Ошибка ввода-вывода.'
|
||||
'IO error.': 'Ошибка ввода-вывода.',
|
||||
"Error: Invalid file extension: " : $.i18n._("Error: Invalid file extension: ")
|
||||
});
|
||||
|
|
27
airtime_mvc/public/js/plupload/i18n/zh_CN.js
Normal file
27
airtime_mvc/public/js/plupload/i18n/zh_CN.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
// Chinese
|
||||
plupload.addI18n({
|
||||
'Select files' : '选择文件',
|
||||
'Add files to the upload queue and click the start button.' : '往上传队列中添加文件,并且点击按钮开始上传。',
|
||||
'Filename' : '文件名',
|
||||
'Status' : '上传状态',
|
||||
'Size' : '大小',
|
||||
'Add files' : '添加文件',
|
||||
'Stop current upload' : '中断当前上传',
|
||||
'Start uploading queue' : '启动上传队列',
|
||||
'Uploaded %d/%d files': '已经上传%d/%d',
|
||||
'N/A' : '未知',
|
||||
'Drag files here.' : '拖拽文件至此处。',
|
||||
'File extension error.': '文件后缀名不符合要求。',
|
||||
'File size error.': '文件大小错误。',
|
||||
'Init error.': '初始化出错。',
|
||||
'HTTP Error.': 'HTTP错误。',
|
||||
'Security error.': '安全性错误',
|
||||
'Generic error.': '系统错误。',
|
||||
'IO error.': '输入输出错误。',
|
||||
'Stop Upload': '停止上传',
|
||||
'Add Files': '添加文件',
|
||||
'Start Upload': '开始上传',
|
||||
'Start upload': '开始上传',
|
||||
'%d files queued': '%d个文件在队列中',
|
||||
"Error: Invalid file extension: " : $.i18n._("Error: Invalid file extension: ")
|
||||
});
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue