\n {title}\n <\/strong>\n {msg}<\/p>\n {html}\n {created}<\/small>\n <\/div>\n <\/div>\n <\/a>\n {icon}<\/div>\n
\n <\/i>\n <\/button>\n<\/div>"
var requiredUserNotificationTemplateFields = ["href","onclick","status","element_class","element_id","type","image","icon","title","msg","html","id","created"]
var autoPlayAjax=false;
var img1 = new Image();img1.src="https://vod.lifestream.tv/view/img/video-placeholder-gray.png";
var _adWasPlayed = 0;
$(document).ready(function () {
YPTHidenavbar();
});
async function refreshGetLiveImage(selector) {
$(selector).find('.thumbsImage img').each(function (index) {
var src = $(this).attr('src');
src = addGetParam(src, 'cache', Math.random());
$(this).attr('src', src);
});
setTimeout(function () {
$(selector).slideDown();
}, 1000); // give some time to load the new images
}
var _processLiveStats_processingNow = 0;
async function processLiveStats(response) {
if (_processLiveStats_processingNow) {
return false;
}
_processLiveStats_processingNow = 1;
setTimeout(function () {
_processLiveStats_processingNow = 0;
}, 200);
if (typeof response !== 'undefined') {
if (isArray(response)) {
for (var i in response) {
if (typeof response[i] !== 'object') {
continue;
}
//console.log('processLiveStats is array', response[i]);
processApplicationLive(response[i]);
}
} else {
//console.log('processLiveStats not array', response);
processApplicationLive(response);
}
if (!response.countLiveStream) {
availableLiveStreamNotFound();
} else {
$('#availableLiveStream').removeClass('notfound');
}
$('.onlineApplications').text($('#availableLiveStream > div').length);
}
setTimeout(function () {
}, 200);
}
function getStatsMenu(recurrentCall) {
if (avideoSocketIsActive()) {
return false;
}
availableLiveStreamIsLoading();
$.ajax({
url: webSiteRootURL + 'plugin/Live/stats.json.php?Menu',
success: function (response) {
//console.log('getStatsMenu processLiveStats', response);
processLiveStats(response);
if (avideoSocketIsActive()) {
//console.log('getStatsMenu: Socket is enabled we will not process ajax result');
return false;
}
if (recurrentCall) {
var timeOut = 15000;
setTimeout(function () {
getStatsMenu(true);
}, timeOut);
}
}
});
}
async function processApplicationLive(response) {
if (typeof response.applications !== 'undefined') {
var applications = response.applications;
response.applications = [];
for (let key in applications) {
if (applications[key].hasOwnProperty('html')) {
response.applications.push(applications[key]);
}
}
if (typeof onlineLabelOnline == 'function' && response.applications.length) {
//console.log('processApplicationLive 1', response.applications, response.applications.length);
for (i = 0; i < response.applications.length; i++) {
//console.log('processApplicationLive 1 title', response.applications[i].title);
if (!empty(response.applications[i].expires) && response.applications[i].expires < _serverTime) {
return false;
}
processApplication(response.applications[i]);
if (!response.applications[i].comingsoon) {
if (typeof response.applications[i].live_cleanKey !== 'undefined') {
selector = '.liveViewStatusClass_' + response.applications[i].live_cleanKey;
onlineLabelOnline(selector);
}
if (typeof response.applications[i].key !== 'undefined') {
selector = '.liveViewStatusClass_' + response.applications[i].key;
onlineLabelOnline(selector);
}
}
}
mouseEffect();
} else {
//console.log('processApplicationLive ERROR', response);
}
}
// check for live servers
var count = 0;
while (typeof response[count] !== 'undefined') {
//console.log('processApplicationLive 2',count, response[count].applications, response[count].applications.length);
for (i = 0; i < response[count].applications.length; i++) {
processApplication(response[count].applications[i]);
}
count++;
}
}
function availableLiveStreamIsLoading() {
if ($('#availableLiveStream').hasClass('notfound')) {
availableLiveStreamEmpty();
}
}
function availableLiveStreamNotFound() {
$('#availableLiveStream').addClass('notfound');
availableLiveStreamEmpty();
}
async function availableLiveStreamEmpty() {
$('#availableLiveStream').empty();
}
var hideWhenExpireClasses = [];
function hideWhenExpire(application){
var className = application.className;
// 604.800 = 1 WEEK
if (!empty(application.expires) && application.expires < 604800 && !in_array(className, hideWhenExpireClasses)) {
var expires_in_seconds = application.expires - _serverTime;
console.log('hideWhenExpire', expires_in_seconds, className);
hideWhenExpireClasses.push(className);
setTimeout(function(){
console.log('hideWhenExpire now', className);
$('.'+className).slideUp();
$('.onlineApplications').text($('.onlineApplications').text()-1);
},expires_in_seconds*1000);
}
}
var linksToEmbedTimeout;
async function processApplication(application) {
href = application.href;
title = application.title;
name = application.name;
user = application.user;
photo = application.photo;
if (!empty(application.expires) && application.expires < _serverTime) {
return false;
}
hideWhenExpire(application);
if (application && typeof application.key == 'string') {
key = application.key.replace(/[&=]/g, '');
} else {
key = '';
}
////console.log('processApplication', application.className);
callback = '';
if (typeof application.callback === 'string') {
callback = application.callback;
}
isPrivate = application.isPrivate;
if (application.type === 'Live') {
online = application.users.online;
views = application.users.views;
} else {
online = 0;
views = 0;
}
if (typeof application.html != 'undefined') {
var notificationHTML = $(application.html);
var notificatioID = (notificationHTML.attr('id') + '_notification').replace(/[&=]/g, '');
if (typeof key !== 'undefined') {
////console.log('processApplication remove class .live_' + key);
$('.live_' + key).remove();
}
if (!$('#' + notificatioID).length) {
notificationHTML.attr('id', notificatioID);
if (application.comingsoon) {
//console.log('application.comingsoon 1', application.comingsoon, application.method);
$('#availableLiveStream').append(notificationHTML);
} else {
$('#availableLiveStream').prepend(notificationHTML);
}
animateChilds('#availableLiveStream', 'animate__bounceInRight', 0.05);
} else {
////console.log('processApplication is already present '+notificatioID, application.className);
}
var html;
html = application.htmlExtra;
var id = $(html).attr('id').replace(/[&=]/g, '');
if ($('#' + id).length) {
//console.log('processApplication key found', id);
return false;
}
//console.log('processApplication key NOT found', id);
if (application.comingsoon && application.comingsoon > _serverTime) {
////console.log('application.comingsoon 2', application.comingsoon, application.method);
$('#liveScheduleVideos .extraVideos').append(html);
$('#liveScheduleVideos').slideDown();
} else {
$('#liveVideos .extraVideos').prepend(html);
$('#liveVideos').slideDown();
}
processUserNotificationFromApplication(application);
setTimeout(function () {
lazyImage();
}, 1000);
if (callback) {
eval("try {" + callback + ";} catch (e) {console.log('processApplication application.callback error',e.message);}");
}
} else {
//console.log('application.html is undefined');
}
clearTimeout(linksToEmbedTimeout);
linksToEmbedTimeout = setTimeout(function () {
avideoSocket();
}, 500);
if (application.users && typeof application.users.views !== 'undefined') {
$('.views_on_total_on_live_' + application.users.transmition_key + '_' + application.users.live_servers_id).text(application.users.views);
}
}
function processUserNotificationFromApplication(application){
if(typeof addTemplateFromArray !== 'function'){
return false;
}
var itemsArray = {};
itemsArray.priority = 3;
itemsArray.image = application.poster;
itemsArray.title = application.title;
itemsArray.href = application.href;
itemsArray.element_class = application.className;
itemsArray.element_id = application.className;
itemsArray.icon = 'fas fa-video';
itemsArray.type = 'info';
itemsArray.html = 'LIVE NOW ';
addTemplateFromArray(itemsArray);
}
function socketLiveONCallback(json) {
//console.log('socketLiveONCallback processLiveStats', json);
processLiveStats(json.stats);
var selector = '.live_' + json.live_servers_id + "_" + json.key;
$(selector).slideDown();
if (typeof onlineLabelOnline == 'function') {
selector = '#liveViewStatusID_' + json.key + '_' + json.live_servers_id;
onlineLabelOnline(selector);
selector = '.liveViewStatusClass_' + json.key + '_' + json.live_servers_id;
onlineLabelOnline(selector);
selector = '.liveViewStatusClass_' + json.cleanKey;
////console.log('socketLiveOFFCallback 3', selector);
onlineLabelOnline(selector);
}
// update the chat if the history changes
var IframeClass = ".yptchat2IframeClass_" + json.key + "_" + json.live_servers_id;
if ($(IframeClass).length) {
var src = $(IframeClass).attr('src');
if (src) {
avideoToast('Loading new chat');
var newSRC = addGetParam(src, 'live_transmitions_history_id', json.live_transmitions_history_id);
$(IframeClass).attr('src', newSRC);
}
}
if (isInLive(json)) {
playerPlay();
showImage('prerollPoster', json.cleanKey);
}
}
function socketLiveOFFCallback(json) {
//console.log('socketLiveOFFCallback', json);
var selector = '.live_' + json.live_servers_id + "_" + json.key;
selector += ', .liveVideo_live_' + json.live_servers_id + "_" + json.key;
selector += ', .live_' + json.key;
////console.log('socketLiveOFFCallback 1', selector);
$(selector).slideUp("fast", function () {
$(this).remove();
});
if (typeof onlineLabelOffline == 'function') {
selector = '#liveViewStatusID_' + json.key + '_' + json.live_servers_id;
////console.log('socketLiveOFFCallback 2', selector);
onlineLabelOffline(selector);
selector = '.liveViewStatusClass_' + json.key + '_' + json.live_servers_id;
////console.log('socketLiveOFFCallback 3', selector);
onlineLabelOffline(selector);
selector = '.liveViewStatusClass_' + json.cleanKey;
////console.log('socketLiveOFFCallback 3', selector);
onlineLabelOffline(selector);
}
setTimeout(function () {
//console.log('socketLiveOFFCallback processLiveStats');
processLiveStats(json.stats);
setTimeout(function () {
hideExtraVideosIfEmpty();
}, 500);
}, 500);
if (isInLive(json)) {
showImage('postrollPoster', json.cleanKey);
}
if(typeof updateUserNotificationCount == 'function'){
updateUserNotificationCount();
}
}
async function hideExtraVideosIfEmpty() {
$('#liveScheduleVideos .extraVideos').each(function (index, currentElement) {
var somethingIsVisible = false;
$(this).children('div').each(function (index2, currentElement2) {
if ($(this).is(":visible")) {
somethingIsVisible = true;
return false;
}
});
if (!somethingIsVisible) {
$('#liveScheduleVideos').slideUp();
}
});
$('#liveVideos .extraVideos').each(function (index, currentElement) {
var somethingIsVisible = false;
$(this).children('div').each(function (index2, currentElement2) {
if ($(this).is(":visible")) {
somethingIsVisible = true;
return false;
}
});
if (!somethingIsVisible) {
$('#liveVideos').slideUp();
}
});
}
$(document).ready(function () {
if (typeof avideoSocketIsActive == 'function' && !avideoSocketIsActive()) {
availableLiveStreamIsLoading();
getStatsMenu(true);
}
processLiveStats({"applications":[{"html":"