function tv_direct_go_visio(LOGIN,sid,actusite,idRoom,actuwdname,actudir,is_first_time) {
if (!is_first_time) first_time=false; else first_time=true;
if (!LOGIN) LOGIN="";
if (!sid) sid="";
if ((LOGIN=="") || (sid=="")) {
alert("Veuillez vous faire reconnaitre ou vous inscrire pour accéder à la visio SVP");
return false;
}
else
{// OK GO
if (!document.getElementById("visioconnect_form")) {
if (document.getElementById('menu_bas')) {
// site
if (document.location.href.replace('taosrv','')==document.location.href) document.getElementById('menu_bas').innerHTML=document.getElementById('menu_bas').innerHTML+'
';
else {
// ligne suivante pour dev uniquement
document.getElementById('menu_bas').innerHTML=document.getElementById('menu_bas').innerHTML+'';
}
}
}
if (document.getElementById("visioconnect_form")) {
form=document.getElementById("visioconnect_form");
if (LOGIN) form.LOGIN.value=LOGIN;
if (sid) form.sid.value=sid;
if (actusite) form.actusite.value=actusite;
if (idRoom) form.idRoom.value=idRoom;
if (actuwdname) form.actuwdname.value=actuwdname;
if (actudir) form.actudir.value=actudir;
//--------
// form.action="../visio_chat/camfrg_nw.php"; // dev uniquement !
//--------
form.target="visioactive";
nw_fen=window.open("","visioactive","location=no,status=no,directories=no,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=400,height=300");
if (!nw_fen) {
alert("Votre anti-popup est activé. \nVeuillez le désactiver pour ouvrir la fenetre VISIO SVP");
}
else {
parent.blur();
// nw_fen.focus();
}
form.submit();
} else alert("ERROR calling visio !");
} // fin test connect
}
function tv_get_realdir() {
realdir=document.location.href;
realdir=realdir.substring(0,realdir.lastIndexOf('/'));
realdir=(document.location.href.replace('mserveur','')!=document.location.href) ? 'http://taosrv.dyndns.org/mserveur/webconcert/webtv/' : realdir+'/' ;
return realdir;
}
function tv_ajax_data_eval(data,ptarget,test_exec) {
if (!test_exec) var test_exec=false;
if ((!data)||(data=="")||(!ptarget)||(ptarget=="")) return false;
if (window.XMLHttpRequest) {// Firefox
var xhr_object = new XMLHttpRequest();
}
else if (window.ActiveXObject) {// OLD Internet Explorer
try {
xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
var xhr_object = null;
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
//----------------------------------------------------
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4)
{
/*
alert("AJAX response :\n"+xhr_object.responseText);
*/
if (xhr_object.responseText+""!="")
eval(xhr_object.responseText); // evecute le code javascript contenu dans la réponse
delete(xhr_object);
xhr_object=null;
}
}
//----------------------------------------------------
try {
xhr_object.open("POST", ptarget, true);
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // Only for POST
xhr_object.send(data);
//alert("sent :"+data);
}
catch(err) {return false;}
return test_exec;
}
function tv_ajax_data_just_post(data,ptarget) {
if ((!data)||(data=="")||(!ptarget)||(ptarget=="")) return false;
if (window.XMLHttpRequest) {// Firefox
var xhr_object = new XMLHttpRequest();
}
else if (window.ActiveXObject) {// OLD Internet Explorer
try {
xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
var xhr_object = null;
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {
// nothing to do - just to exec a file
/*
alert("AJAX response :\n"+xhr_object.responseText);
eval(xhr_object.responseText); // evecute le code javascript contenu dans la réponse
*/
delete(xhr_object);
xhr_object=null;
}
}
xhr_object.open("POST", ptarget, true);
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // Only for POST
xhr_object.send(data);
}
//---------------------------------------------
// initial values rendus par common
//---------------------------------------------
WEBTV_id=216;
site_NAME="Réseau DjVisio";
site_URL="www.djvisio.com";
WEBTV_banner="../webtv_banners/DjVisioTV.jpg";
WEBTV_small_logo="";
WEBTV_Nom="* T6 DjVisio TV";
WEBTV_URL_Streamers="http://djvisio-provider.video-worldvisio.com/flvprovider.php";
WEBTV_FluxDirect="rtmp_djcsl.flv";
WEBTV_Server_FluxDirect="rtmp://94.23.16.185/oflaDemo/";
WEBTV_fond_player="../webtv_banners/logodjvisio.jpg";
WEBTV_incruste_player="";
WEBTV_publogo="";
WEBTV_fond_prochainement="../webtv/images/encart_previewGVP.gif";
WEBTV_fond_actuellement="../webtv/images/bobine.gif";
WEBTV_fond_dernierement="../webtv/images/cinema2.jpg";
//---------------------------------------------
player_in_use=tv_get_realdir()+'webtv/';
div_affichage='';
playlist_programme=tv_get_realdir()+'webtv/playlist_programme.php?wtv='+WEBTV_id+'&link=1';
//---------------------------------------------
//---------------------------------------------
var loop_inop_tick_count=0;
var flux_inop_tick_count=0;
var ekst_tktmr=null;
var stream_tktmr=null;
function echo_state() {
loop_inop_tick_count++;
clearTimeout(ekst_tktmr);
ekst_tktmr=null;
streamer=GetDataToFlashMovie("streamer")+"-";
insert_comment((fluxHasStarted ? "--»FLUX HAS STARTED" : "--» FLUX STILL INOP "));
// faudrait tester si buffer >0 ici pour voir si le flux est réeelement stopped !
// au cas ou le listener n'aurait pas marché
if ((!fluxHasStarted)&&(streamer.replace("rtmp://","")!=streamer))
{
if (flux_inop_tick_count>3)
{
flux_inop_tick_count=0;
// if (document.getElementById("testdiv")) {document.getElementById("testdiv").innerHTML="";}
insert_comment('ERROR : TOO MANY TRIES ON RTMP - tick='+loop_inop_tick_count);
if (errorencountered==true)
{
document.getElementById('error_div').innerHTML='
La connexion au serveur a échoué.
Veuillez cliquez ici pour faire une nouvelle tentative';
//check if pubs
// if not : basculer sur pubs avec timer à 5 minutes
filename=GetDataToFlashMovie("file");
if (filename.replace("playlist_progrondedp",'')==filename)
{
insert_comment('ERROR STOP => SWITCHING TO RondeDePubs');
ronde_de_pub_proc();
}
else
insert_comment('ERROR STOP ALL (file='+filename+') line 843');
}
else
{
if (loop_inop_tick_count<12)
{
// restart
insert_comment('reloading file only : '+loaded_file+' TICK INOP line 853');
enable_stopstart_detection=false;
jwplayer.sendEvent('STOP');
jwplayer.sendEvent('LOAD', loaded_file); // reload file
setTimeout("jwplayer.sendEvent('PLAY');enable_stopstart_detection=true;",300);
}
else
{
document.getElementById('error_div').innerHTML='
La connexion automatique au serveur n\'a pas abouti
Veuillez actualiser cette page SVP...';
// window.location.reload(true);
insert_comment('STOP ALL line 2249');
}
}
}
else {
if (document.getElementById('error_div'))
{
document.getElementById('error_div').innerHTML='
Connexion au serveur
Veuillez patienter SVP...';
document.getElementById('error_div').style.display="";
document.getElementById(div_affichage).style.visibility="hidden";
}
nt=5000+(loop_inop_tick_count*500);
insert_comment('--------------- check state in '+nt+"s");
ekst_tktmr=setTimeout('echo_state()',nt); // try nt seconds later
}
}
// else clearTimeout(ekst_tktmr);
flux_inop_tick_count++;
}
function main_video_playliste_flash(zone,playliste,file,logo,mwidth,mheight,volume,autostart) {
fluxHasStarted = false;
var ver = deconcept.SWFObjectUtil.getPlayerVersion();
if (ver.major < 9) {
comment='';
document.getElementById(zone).innerHTML=comment;
return false;
}//http://get.adobe.com/fr/flashplayer/
if (!logo) logo='';
if (!playliste) playliste='';
if (!file) file='';
if (!autostart) autostart='false';
realdir=tv_get_realdir();
if (file=='') file=playliste;
if (!volume) volume="80";
if (!mwidth) mwidth=680;
if (!mheight) mheight=384;
if (document.getElementById(zone)) {
//---------- OKI : zone exists --------------
document.getElementById(zone).innerHTML=" ";
document.getElementById(zone).align="center";
document.getElementById(zone).style.paddingTop="20px";
var s1 = new SWFObject(realdir+"player/player.swf",actual_myplayer_id,mwidth,mheight,"9");
s1.addParam("allowfullscreen","true");
s1.addParam("allowscriptaccess","always");
s1.addParam("wmode","transparent");
s1.addVariable("file",file);
loaded_file=file;
if (logo!='') s1.addVariable("image",logo);
s1.addVariable("width",mwidth);
s1.addVariable("height",mheight);
s1.addVariable('autostart',autostart);
s1.addVariable('volume',volume);
s1.addVariable('bufferlength','0.5');
if (playliste!='') {
s1.addVariable("playlist","right");
s1.addVariable("playlistsize","210");
}
s1.addVariable("skin",realdir+"player/skins/swift/swift.swf");
s1.write(zone);
} //-------- fin OKI ----------
}
function video_read_flash(zone,filename,mwidth,mheight,ystyle) {
if (!ystyle) ystyle="swift";
if (!filename) filename="rtmp_djcsl.flv";
if (!mwidth) mwidth=660;
if (!mheight) mheight=530;
fluxHasStarted = false;
document.getElementById(zone).innerHTML=" ";
document.getElementById(zone).align="center";
document.getElementById(zone).style.paddingTop="20px";
realdir=tv_get_realdir();
var s1 = new SWFObject(realdir+"player/player.swf",actual_myplayer_id,mwidth,mheight,"9");
s1.addParam("allowfullscreen","true");
s1.addParam("allowscriptaccess","always");
s1.addParam("wmode","transparent");
// s1.addVariable("streamer","rtmp://94.23.16.194/oflaDemo/");
s1.addVariable("file",filename);
loaded_file=filename;
s1.addVariable("width",mwidth);
s1.addVariable("height",mheight);
s1.addVariable('volume','80');
s1.addVariable('autostart','true');
s1.addVariable('bufferlength','0.5');
s1.addVariable('respectduration','false');
s1.addVariable('image','../webtv_banners/logodjvisio.jpg');
s1.addVariable("skin",realdir+"player/skins/"+ystyle+"/"+ystyle+".swf");
s1.write(zone);
}
//-----------------------------------------------------
var last_flashcommand="";
var return_flashcommand="";
var playercount=0;
var actual_myplayer_id="webtvjwplayer"+playercount+"";
var player_zone="";
var test_txt="";
var currentItem = -1;
var real_height=0;
var real_width=0;
var change_file_id = "-1";
var jwplayer = null;
var fluxHasStarted = false;
var enable_stopstart_detection = true;
var iniplayerTMR = null;
var errorencountered = false;
var reload_playlist_tmr= null;
var tmr_playlist = null;
var tmr_addlisteners = null;
var loaded_file = null;
var tktmr = null;
var permanent_error = false;
var currentVolume = 80;
var buffering_timeout=null;
function webtv_stream_flash(zone,filename,mwidth,mheight,ystyle,disallowfullscreen,streamer,playliste,yeitem) {
if (reload_playlist_tmr!=null) {clearTimeout(reload_playlist_tmr);reload_playlist_tmr=null;};
if (iniplayerTMR!=null) {clearTimeout(iniplayerTMR);iniplayerTMR=null;}
if (permanent_error==true) window.location.reload(true);
else remove_listeners(); // try to remove listeners
// increment player
//playercount++;
//actual_myplayer_id="webtvjwplayer"+playercount+"";
errorencountered=false;
currentItem = -1;// reset playlist item number
// destroy the actual player
try {delete(jwplayer);jwplayer=null;}
catch(err) {}
document.getElementById(div_affichage).innerHTML=""; // clear all
if (document.getElementById('error_div'))
{
document.getElementById('error_div').style.display="none";
document.getElementById(div_affichage).style.visibility="visible";
}
var ver = deconcept.SWFObjectUtil.getPlayerVersion();
if (ver.major < 9) {
document.getElementById(zone).style.align="center";
comment='';
document.getElementById(zone).innerHTML=comment;
return false;
}//http://get.adobe.com/fr/flashplayer/
if (filename.replace('rtmp_','')!=filename) {
tv_ajax_data_just_post('ctl=MTdkYzhmYTgzNDk0NjM0OWYzMTY1NDM5Yzc2ZGVhNDd8cnRtcDovLzk0LjIzLjE2LjE4NS9vZmxhRGVtby8=|'+filename,'scripts/log_rtmp_request.php');
}
test_txt="";
player_zone=zone;
if (!playliste) playliste="";
if (!yeitem) yeitem=0;
last_flashcommand="webtv_stream_flash('"+zone+"','"+filename+"','"+mwidth+"','"+mheight+"','"+ystyle+"',"+(!disallowfullscreen ? "false" : "true")+",'streamer','"+playliste+"',item);";
//playliste="";
if ((!streamer)||(streamer=='streamer'))
streamer=WEBTV_Server_FluxDirect;
else streamer=WEBTV_URL_Streamers;
//streamer="rtmp://94.23.16.185/oflaDemo/";
//else streamer="http://djvisio-provider.video-worldvisio.com/flvprovider.php";
if (!disallowfullscreen) {disallowfullscreen=false;allowfullscreen="true";} else {disallowfullscreen=true;allowfullscreen="false";}
if (!ystyle) ystyle="swift";
if (!filename) filename="rtmp_djcsl.flv";
if (!mwidth) mwidth=660;
if (!mheight) mheight=540;
if (filename.indexOf('flvprovider.php?file=')>0) {
streamer=filename.substring(0,filename.indexOf('?file='));
filename=filename.substring(filename.indexOf('?file='),filename.length);
filename=filename.replace('?file=','');
if (streamer=="_flvprovider.php") streamer="http://djvisio-provider.video-worldvisio.com/flvprovider.php";
}
//last_flashcommand="webtv_stream_flash('"+zone+"','"+filename+"','"+mwidth+"','"+mheight+"','"+ystyle+"',"+(disallowfullscreen ? "true" : "false")+",'"+streamer+"','"+(playliste ? playliste : '')+"',item);";
//last_flashcommand="webtv_stream_flash('"+zone+"','"+filename+"','"+mwidth+"','"+mheight+"','"+ystyle+"',"+(disallowfullscreen ? "true" : "false")+",'streamer','"+(playliste ? playliste : '')+"',item);";
test_txt=test_txt+"last flash command = "+last_flashcommand+" on line 1056 ";
tflnm="-"+filename;
if (tflnm.indexOf('rtmp://')>0) {
streamer=filename.substring(0,filename.lastIndexOf('/'));
filename=filename.substring(filename.indexOf('/'),filename.length);
filename=filename.replace('/','');
if (filename=="flux_direct") filename="rtmp_djcsl.flv";
}
realdir=tv_get_realdir();
if (playliste!='') {
pl_width=270;
mwidth=mwidth+pl_width;
filename=realdir+filename;
}
document.getElementById(zone).innerHTML=" ";
document.getElementById(zone).align="center";
document.getElementById(zone).style.paddingTop="20px";
myplayer=realdir+"player/player4-4.swf";
var s1 = new SWFObject(myplayer,actual_myplayer_id,mwidth,mheight,"9");
//type="application/x-shockwave-flash" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"
test_txt=test_txt+'s1 = new SWFObject('+myplayer+','+actual_myplayer_id+','+mwidth+','+mheight+',"9");'+" ";
// test spécial full screen
if (mheight<345) allowfullscreen="false"; else allowfullscreen="true";
s1.addParam("allowfullscreen",allowfullscreen); test_txt=test_txt+"allowfullscreen ="+allowfullscreen+" ";
s1.addParam("allowscriptaccess","always"); test_txt=test_txt+"allowscriptaccess =always ";
//swliveconnect="true"
s1.addParam("wmode","transparent"); test_txt=test_txt+"wmode =transparent ";
if ((filename.replace('@','')!=filename)&&(streamer.replace("rtmp://","")!=streamer)) {
// akamai
filename=filename.replace('.flv','');
s1.addParam("subscribe","true"); test_txt=test_txt+"param subscribe =true ";
s1.addVariable("type","fcsubscribe"); test_txt=test_txt+"type = fcsubscribe on line 474 ";
s1.addVariable("subscribe","true"); test_txt=test_txt+"subscribe = true on line 475 ";
}
s1.addVariable("file",filename); test_txt=test_txt+"file ="+filename+" on line 478 ";
loaded_file=filename;
// useful for LINUX
s1.addVariable("id",actual_myplayer_id); test_txt=test_txt+"id ="+actual_myplayer_id+" ";
s1.addVariable("width",mwidth); test_txt=test_txt+"width ="+mwidth+" ";
s1.addVariable("height",mheight); test_txt=test_txt+"height ="+mheight+" ";
real_height=mheight;
real_width=mwidth;
s1.addVariable('volume','80'); test_txt=test_txt+"volume =80 ";
s1.addVariable('autostart','true'); test_txt=test_txt+"autostart =true ";
if ((streamer.replace("rtmp://","")!=streamer))
{
s1.addVariable('bufferlength','0.5'); test_txt=test_txt+"bufferlength =0.5 ";
}
else
{
s1.addVariable('bufferlength','2'); test_txt=test_txt+"bufferlength =2 ";
}
s1.addVariable('image','../webtv_banners/logodjvisio.jpg'); test_txt=test_txt+'image=../webtv_banners/logodjvisio.jpg'+" ";
if (playliste!='') {
s1.addVariable("playlist","right"); test_txt=test_txt+"playlist=right"+" ";
s1.addVariable("playlistsize",pl_width); test_txt=test_txt+"playlistsize="+pl_width+" ";
// s1.addVariable("overstretch","fit"); test_txt=test_txt+"overstretch=fit ";
// s1.addVariable("thumbsinplaylist","true"); test_txt=test_txt+"playlistsize=true ";
}
if (yeitem!=0) {
s1.addVariable('item',yeitem); test_txt=test_txt+'start item='+yeitem+" ";
}
currentItem=yeitem;
s1.addVariable("streamer",streamer); test_txt=test_txt+"streamer="+streamer+" ";
if ((filename.replace("playlist_prog",'')!=filename)||(streamer.replace("rtmp://","")!=streamer)) { // stream actual playlist stream
//---------- playliste ---------------
if (filename.replace("playlist_prog",'')!=filename)
{
if (
(filename.replace("playlist_progevts",'')!=filename) || // special pour evènements
(filename.replace("playlist_progpubs",'')!=filename) || // special pour pubs
(filename.replace("playlist_progrondedp",'')!=filename) // special pour pubs
)
{
s1.addVariable('repeat','always'); test_txt=test_txt+'repeat=always'+" ";
}
else
{
s1.addVariable('repeat','list'); test_txt=test_txt+'repeat=list'+" ";
}
}
//------------------ fin play liste --------------------
s1.addVariable('controlbar','none'); test_txt=test_txt+'controlbar=none'+" ";
if ((filename.replace("link=1",'')!=filename)|| //link=1
((streamer.replace("rtmp://","")!=streamer)&&(mheight<345))
)
{
if ((streamer.replace("rtmp://","")!=streamer)&&(mheight<345)) {s1.addVariable('link','plain.php?wtv=216'); test_txt=test_txt+'link=plain.php?wtv=216'+" ";}
s1.addVariable('displayclick','link'); test_txt=test_txt+'displayclick=link'+" ";
s1.addVariable('linktarget','_self'); test_txt=test_txt+'linktarget=_self'+" ";
}
else
{
s1.addVariable('displayclick','fullscreen'); test_txt=test_txt+'displayclick=fullscreen'+" ";// fullscreen or link
}
}
// s1.addVariable('plugins', 'plugins=hd-1');
// s1.addVariable('hd.file', filename); // *.mov
if (WEBTV_incruste_player!="") {// logo to show
s1.addVariable('logo',WEBTV_incruste_player); test_txt=test_txt+"logo ="+WEBTV_incruste_player+" ";
}
//else s1.addVariable("image","http://www.entreprisepartners.com/userfiles/images/festivaldecannes/gifcannes01.gif");
s1.addVariable("skin",realdir+"player/skins/"+ystyle+"/"+ystyle+".swf"); test_txt=test_txt+"skin="+realdir+"player/skins/"+ystyle+"/"+ystyle+".swf"+" ";
s1.write(zone);
delete(s1); // fo voir
// rajout log si rtmp_ // not _flvprovider
if ((streamer.replace("rtmp://","")!=streamer) && (filename.replace('_flvprovider','')==filename)) {
// log internal en direct
tv_ajax_data_eval('streamer='+streamer+'&vfile='+filename,'../tv/scripts/ajax_send_stat.php');
}
ini_set_jwplayer();
//------------------
// test pour tick synchro program
if (filename)
{
if (filename.replace("playlist_progrondedp",'')!=filename)
{
if (reload_playlist_tmr!=null)
{
clearTimeout(reload_playlist_tmr);
test_txt=test_txt+'-------------------------clear reload_playlist_tmr';
}
}
}
//------------------
}
function main_tmr_control(tick_seconds) {// used in ajax_tick_day_prog.php
if (tktmr!=null) {clearTimeout(tktmr);tktmr=null;}
filename=GetDataToFlashMovie("file");
if (filename.replace("playlist_v",'')!=filename) return true; // pas de timer si vod !
insert_comment('--- TMR CONTROL --------------');
tick_seconds=tick_seconds*1000;
if (tktmr!=null) {clearTimeout(tktmr);tktmr=null;}
try {
if (filename.replace("playlist_progrondedp",'')==filename)
{
if (reload_playlist_tmr!=null) clearTimeout(reload_playlist_tmr);
reload_playlist_tmr=setTimeout("change_playlist_file('playlist_programme.php?wtv="+WEBTV_id+"&link=1')",tick_seconds);
insert_comment('-------------------------ajaxtick reload_playlist_tmr=|'+reload_playlist_tmr+'|');
}
else tktmr=setTimeout('tick_refresh_onair_titres()',tick_seconds);
}
catch(err) {tktmr=setTimeout('tick_refresh_onair_titres()',tick_seconds);}
insert_comment('--- TMR CONTROL ----------------------ajaxtick tktmr=|'+tktmr+'|');
}
function tick_refresh_onair_titres() {
filename=GetDataToFlashMovie("file");
if (
(filename.replace("playlist_progrondedp",'')==filename) &&
(filename.replace("playlist_v",'')==filename)
)
{ // pas ronde de pubs
insert_comment("--- Changing titres line 1674 (ronde de pub = no)");
tv_ajax_data_eval("wtv=216","scripts/ajax_tick_day_prog.php");
}
}
function refresh_titres_summary(title,ntitle,summary) {
if(!title) title=false;
if(!ntitle) ntitle=false;
if(!summary) summary=false;
insert_comment('-------------------------- REFRESHING TITLES ON LINE 608');
filename=GetDataToFlashMovie("file");
// ne rien afficher si ronde de pub !
if (filename.replace("playlist_progrondedp",'')!=filename) {
if (document.getElementById("on_play_titre")) document.getElementById("on_play_titre").innerHTML="Interlude";//"Pubs & Sponsors";
if (document.getElementById("on_air_titre")) document.getElementById("on_air_titre").innerHTML="Interlude";//"Pubs & Sponsors";
return false;
}
if (title)
{
if (document.getElementById("on_play_titre")) {
insert_comment('----------line 1682 - string titre = '+title);
document.getElementById("on_play_titre").innerHTML=title;
}
if (document.getElementById("on_air_titre")) {
insert_comment('----------line 1687 - string titre = '+title);
document.getElementById("on_air_titre").innerHTML=title;
}
}
if (ntitle)
{
if (document.getElementById("nxton_air_titre")) {
if (ntitle) document.getElementById("nxton_air_titre").innerHTML=ntitle;
}
}
if (document.getElementById("on_play_resume"))
{
if (summary) document.getElementById("on_play_resume").innerHTML=summary;
}
}
//-------------------------------------------
//--- flash API
//-------------------------------------------
var trynbr = 0;
var playlist_array=new Array();
//var currentItem = -1; // voir au dessus
function getFlashMovieObject(movieName)
{
if (window.document[movieName])
{
return window.document[movieName];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(movieName);
}
}
function StopFlashMovie()
{
var flashMovie=getFlashMovieObject(actual_myplayer_id);
flashMovie.StopPlay();
}
function PlayFlashMovie()
{
var flashMovie=getFlashMovieObject(actual_myplayer_id);
flashMovie.Play();
}
function SendDataToFlashMovie(feild,value)
{
var flashMovie=getFlashMovieObject(actual_myplayer_id);
flashMovie.SetVariable(feild,value);
}
function GetDataToFlashMovie(feild)
{
var flashMovie=getFlashMovieObject(actual_myplayer_id);
if (feild=="file") return loaded_file;
else {
try {return flashMovie.GetVariable(feild);} catch(err) {}
}
}
//-----------------------
function get_flash_filename() {
return jwplayer.getConfig().file;
}
//-----------------------
var has_to_change_to_rtmp_file = "";
listener_retries=0;
playlist_retries=0;
listener_number=0;
function restart_playlist(playlist) {
filename=GetDataToFlashMovie("streamer");
if (filename.replace('rtmp://','')!=filename) return true;
filename=GetDataToFlashMovie("file");
if (filename!=playlist)
{
insert_comment(' -!- NOT READY / PLAYLIST FILE = '+filename+' != '+playlist+'');
setTimeout("restart_playlist('"+playlist+"')",300);
}
else
{
if (playlist.replace("playlist_prog",'')!=playlist)
{
if (
(playlist.replace("playlist_progevts",'')!=playlist) || // special pour evènements
(playlist.replace("playlist_progpubs",'')!=playlist) || // special pour pubs
(playlist.replace("playlist_progrondedp",'')!=playlist) // special pour pubs
)
{
jwplayer.sendEvent('repeat','always');
SendDataToFlashMovie('repeat','always');
}
else
{
jwplayer.sendEvent('repeat','list');
SendDataToFlashMovie('repeat','list');
}
} else {
jwplayer.sendEvent('repeat','none');
SendDataToFlashMovie('repeat','none');
}
currentItem = -1;
// reload playlist
playlist_retries=0;
getPlaylistData(); // s'assurer des titres !!
// refresh_titres_summary(playlist_array[currentItem]['title'],playlist_array[currentItem+1]['title'],playlist_array[currentItem]['summary']);
jwplayer.sendEvent('PLAY');
// flashMovie.Play();
// enable error handler
enable_stopstart_detection=true;
jwplayer.sendEvent('VOLUME', currentVolume);
insert_comment(' -!- PLAYLIST FILE = '+GetDataToFlashMovie("file")+'');
}
}
function change_playlist_file(playlist) {
if (tmr_playlist!=null) clearTimeout(tmr_playlist);
insert_comment('-!- JUST RELOADING PLAYLIST= '+playlist+'');
// disable error handler
enable_stopstart_detection=false;
jwplayer.sendEvent('STOP');
fluxHasStarted = false;
jwplayer.sendEvent('LOAD', playlist);
loaded_file=playlist;
setTimeout("restart_playlist('"+playlist+"')",300);
}
function ini_set_jwplayer() {
nbr=0;yes=false;
if (jwplayer != null) delete(jwplayer);
if (iniplayerTMR!=null) clearTimeout(iniplayerTMR);
if (buffering_timeout!=null) {clearTimeout(buffering_timeout);buffering_timeout=null;} // deadman timer : buffering timeout
//alert(document.embeds.length);
for (i=0;i<((document.embeds.length) && (!yes));i++)
if ((document.embeds[i])&&(document.embeds[i].id==actual_myplayer_id))
{
jwplayer = document.embeds[i];
nbr=i;
yes=(yes || true);
}
if ((!yes)&&(document.getElementById(actual_myplayer_id)))
{
jwplayer = document.getElementById(actual_myplayer_id);
yes=true;
}
okyee=yes;
try {jwplayer.addModelListener("ERROR", "errorListener");}
catch(err) {okyee=false;if (trynbr>200) insert_comment('ERROR init addModelListener on player '+actual_myplayer_id);}
try {jwplayer.addModelListener("STATE", "stateListener");}
catch(err) {okyee=false;if (trynbr>200) insert_comment('ERROR init stateListener on player '+actual_myplayer_id);}
if (okyee) { // try to detect start
insert_comment('------------------------------------------------------------------------ '+
test_txt+
'------------------------------------------------------------------------');
laconfig=jwplayer.getConfig();
for (var nm in laconfig ) insert_comment(nm+" : "+laconfig[nm]);
insert_comment('------------------------------------------------------------------------ ');
//------------------------------------------------------------------------
playlist_retries=0;
getPlaylistData();
if (has_to_change_to_rtmp_file!="") change_to_rtmp_streamer(has_to_change_to_rtmp_file);
else
{
insert_comment('---------- VERSION 17-3');
listener_retries=0;
listener_number=0;
addListeners();
insert_comment('player initialized OK line 1321');
tick_refresh_onair_titres(); // mets le titre
insert_comment('ini ticking line 1295');
//----------------
streamer=GetDataToFlashMovie("streamer")+"";
insert_comment("streamer="+streamer+" line 1326");
insert_comment("controll bar="+GetDataToFlashMovie("controlbar")+" line 1327");
insert_comment("file="+GetDataToFlashMovie("file")+" line 1440");
//----------------
fluxHasStarted = false;
if (streamer.replace("rtmp://","")!=streamer) {
insert_comment("-----------------------------------check start in 12 seconds");
ekst_tktmr=null;
ekst_tktmr=setTimeout('echo_state()',12000); // check state
}
}
//------------------------------------------------------------------------
}
else
{
trynbr++;
if (trynbr<200) iniplayerTMR=setTimeout("ini_set_jwplayer()",100);
else
{
insert_comment('-PLAYER ERROR----------------------------------------------------------------------- '+
test_txt+
'------------------------------------------------------------------------');
try {
laconfig=jwplayer.getConfig();
for (var nm in laconfig ) insert_comment(nm+" : "+laconfig[nm]);
insert_comment('------------------------------------------------------------------------ ');
}
catch(err) {insert_comment('------------------------------------------------------------------------ ');}
if (yes) insert_comment('player detected but not ready');
else insert_comment('player not detected');
permanent_error=true; // force reload page on next action !
trynbr=0;
// if (yes) getPlaylistData();
}
}
}
function insert_comment(txt) {
if (document.getElementById("testdiv")) {
s=document.getElementById("testdiv");
if (s.style.display=="none") s.innerHTML=" ";
s.innerHTML=s.innerHTML+txt+' ';
}
}
function stop_player() {
if (jwplayer) {
enable_stopstart_detection=false;
try {jwplayer.sendEvent('STOP');} catch(err) {}
}
}
function ronde_de_pub_proc() {
// envoyer des pub pendant 5 minutes et réessayer
insert_comment('-!- play liste vide : envoyer des pubs et réessayer dans 6 minutes si pas déja timer');
if (buffering_timeout!=null) {clearTimeout(buffering_timeout);buffering_timeout=null;} // deadman timer : buffering timeout
laconfig=jwplayer.getConfig();
testfile=laconfig.file;
test_streamer=laconfig.streamer;
if (test_streamer.replace("rtmp://",'')!=test_streamer)
{ // reload player - it will get back to stream 30s later
enable_stopstart_detection=false;
jwplayer.sendEvent('STOP');
insert_comment("RELOADING PLAYER WITH PUBS : "+last_flashcommand);
webtv_stream_flash(div_affichage,'playlist_progrondedp.php?wtv='+WEBTV_id+'',laconfig.width,laconfig.height,'stylish',false,true,'');
//playercount++;
//actual_myplayer_id="webtvjwplayer"+playercount+"";
//eval(last_flashcommand);
}
else
{ // just change playlist
change_playlist_file('playlist_progrondedp.php?wtv='+WEBTV_id+'');
}
if (reload_playlist_tmr==null)
{
reload_tpcom='playlist_programme.php?wtv='+WEBTV_id+"&"+"link=1";
if (reload_playlist_tmr!=null) reload_playlist_tmr=null;
reload_playlist_tmr=setTimeout("change_playlist_file('"+reload_tpcom+"')",300000); // 5 minutes retry
}
}
function errorListener(obj) {
if (obj.message!="") {
//ERROR : No valid filetypes found in this playlist
//ERROR : Video not found
insert_comment('ERROR : '+obj.message+'');
} else insert_comment('ERROR : UNKNOWN');
fluxHasStarted=false;
errorencountered = true;
if (streamer.replace("rtmp://","")!=streamer)
{
echo_state(); // go to retries handler
}
else
if (
(obj.message.replace('No valid filetypes found','')!=obj.message)&&
(last_flashcommand.replace('playlist_programme','')!=last_flashcommand)
)
{ // playlist vide
ronde_de_pub_proc();
}
}
function loadedListener(obj) {
insert_comment("loadedListener > loaded:"+obj.loaded+" total:"+obj.total+" offset:"+obj.offset+"");
}
function stateListener(obj) { //IDLE, BUFFERING, PLAYING, PAUSED, COMPLETED
currentState = obj.newstate;
previousState = obj.oldstate;
insert_comment("current state: " + currentState + " - previous state: " + previousState);
if (buffering_timeout!=null) {clearTimeout(buffering_timeout);buffering_timeout=null;} // deadman timer : buffering timeout
if ((currentState == "BUFFERING") && (loaded_file.replace('rtmp_','')!=loaded_file))
{
buffering_timeout=setTimeout("ronde_de_pub_proc()",12000);
}
if (
(currentState == "PLAYING")//&&(previousState == "BUFFERING")
)
{
fluxHasStarted = true;
if (ekst_tktmr!=null) clearTimeout(ekst_tktmr);
if (document.getElementById('error_div'))
{
document.getElementById('error_div').style.display="none";
document.getElementById(div_affichage).style.visibility="visible";
}
}
if ((currentState == "IDLE")&&(previousState == "BUFFERING")) {
// check if flux direct or not
insert_comment('STATE : have to check filename : '+playlist_array[currentItem]['file']);
}
if ((currentState == "PAUSED")&&(previousState == "BUFFERING")) {
// check if flux direct or not
insert_comment('SEND COMMAND PLAY');
jwplayer.sendEvent('PLAY');
}
if ((currentState == "COMPLETED")&&(previousState == "PLAYING")) {
tick_refresh_onair_titres();
insert_comment('stateListener - tickink');
insert_comment('playlist_array='+(playlist_array ? "yes" : "no")+" currentitem="+currentItem+" pl_length="+playlist_array.length+"");
if (playlist_array)
{
if ((playlist_array.length-1==currentItem) || (currentItem==-1))
{
filename=GetDataToFlashMovie("file");
if (
(filename.replace("playlist_programme",'')!=filename) ||
(filename.replace("playlist_progpubs",'')!=filename) ||
((filename.replace("playlist_progrondedp.php",'')!=filename)&&(currentItem==-1))
)
{
// reload playlist to have next file
// clear all timers
last_flashcommand=last_flashcommand.replace('item',0);
insert_comment('END OF PLAYLIST => change_playlist_file : playlist_programme.php?wtv='+WEBTV_id+'&link=1 at line 1448');
insert_comment('reload_playlist_tmr = |'+reload_playlist_tmr+'| line 1531');
change_playlist_file('playlist_programme.php?wtv='+WEBTV_id+'&link=1');
}
if ((filename.replace("playlist_progrondedp.php",'')!=filename) && (currentItem!=-1))
{
insert_comment('END OF PLAYLIST => reload : playlist_progrondedp.php?wtv='+WEBTV_id+' at line 1448');
insert_comment('reload_playlist_tmr = |'+reload_playlist_tmr+'| line 1531');
change_playlist_file('playlist_progrondedp.php?wtv='+WEBTV_id+'');
//enable_stopstart_detection=false;
jwplayer.sendEvent('ITEM',0);
//jwplayer.sendEvent('PLAY');
//enable_stopstart_detection=true;
}
}
} else insert_comment('ERROR : NO PLAYLIST !');
}
}
function itemMonitor(obj)
{
if(currentItem != obj.index)
{
old_item=currentItem;
currentItem = obj.index;
tick_refresh_onair_titres();
insert_comment('itemMonitor - tickink item='+currentItem);
// check if change_item_command exists
// si oui, execute
try {eval(change_item_command);}
catch(err) {}
if (!playlist_array[currentItem]) {insert_comment('playlist not ready');} else
{
insert_comment('---------------------- titre='+playlist_array[currentItem]['title']+' file='+playlist_array[currentItem]['file']+' on line 1593 ');
// reset resumé
if (document.getElementById("on_play_resume")) document.getElementById("on_play_resume").innerHTML=" ";
ye_streamer=GetDataToFlashMovie("streamer");
is_rtmp_streamer=(ye_streamer.replace('rtmp://','')!=ye_streamer) ? true : false;
ye_file=playlist_array[currentItem]['file'];
is_rtmp_file=(ye_file.replace('rtmp_','')!=ye_file) ? true : false;
if ((!is_rtmp_streamer)&&(is_rtmp_file))
{
change_to_rtmp_streamer(ye_file);
}
//---------- ca n'arrivera jamais : en streaming, pas de playliste !! mixées http/rtmp -----------
if ((is_rtmp_streamer)&&(!is_rtmp_file))
{
insert_comment('!!!! swicthing streamer to http');
insert_comment(last_flashcommand);
//last_flashcommand=last_flashcommand.replace('rtmp://94.23.16.194/oflaDemo','http://94.23.16.194/flvprovider.php');
last_flashcommand=last_flashcommand.replace('streamer','true');
last_flashcommand=last_flashcommand.replace('item',currentItem);
insert_comment(last_flashcommand);
playercount++;
actual_myplayer_id="webtvjwplayer"+playercount+"";
document.getElementById(player_zone).innerHTML=" ";
eval(last_flashcommand);
//ini_set_jwplayer();
}
//-------------------------------------------------------------------
// check if has to change
// rtmp is there ?
insert_comment('-------------------REFRESHIN TITLES---');
refresh_titres_summary(playlist_array[currentItem]['title'],playlist_array[currentItem+1]['title'],playlist_array[currentItem]['summary']);
// envoyer ajax pour récupérer "résumé" titre et next anyway !! passeque sakapamaché autrement !
tmp=playlist_array[currentItem]['author'];
//Récup '- vid'N° (id_videoTV)
if (tmp.indexOf('- vId')>0) {
change_file_id=tmp.substr(tmp.indexOf('- vId'),tmp.length);
change_file_id=change_file_id.replace('- vId','');
tv_ajax_data_eval("id_videoTV="+change_file_id,"../webtv/scripts/ajax_get_playresume.php");
}
}
}
};
function viewcheck(obj) {
if (enable_stopstart_detection==true) {
insert_comment('FORBIDDEN NEXT, PREV, SEEK, PLAY ou STOP detected !!');
// reload page ou reload reader
last_flashcommand=last_flashcommand.replace('item',0);
insert_comment('reloading player : '+last_flashcommand+' VIEWCHECK line 2811');
eval(last_flashcommand);
} else insert_comment('ALLOWED NEXT, PREV, SEEK, PLAY ou STOP detected !!');
}
var muteState=false;
function volumeListener(obj) {
currentVolume = obj.percentage;
try {if (currentVolume*1!=currentVolume) currentVolume=0;}
catch(err) {currentVolume=0;}
if (currentVolume==0) muteState=true; else muteState=false;
show_volume(Math.floor(currentVolume/10));
}
function muteListener(obj) {
if (muteState==false) {muteState=true;currentVolume=0;}
else muteState=false;
// change_volume(Math.floor(currentVolume/10));
show_volume(Math.floor(currentVolume/10));
}
function addListeners() {
if (tmr_addlisteners!=null) clearTimeout(tmr_addlisteners);
listener_number=2; // already done
try {jwplayer.addControllerListener("ERROR", "errorListener");listener_number++;}
catch(err) {}
try {jwplayer.addControllerListener('ITEM', 'itemMonitor');listener_number++;}
catch(err) {}
try {
jwplayer.addControllerListener("VOLUME", "volumeListener");listener_number++;}
catch(err) {}
try {
jwplayer.addControllerListener("MUTE","muteListener");listener_number++;}
catch(err) {}
try {
if (GetDataToFlashMovie("controlbar")=="none") {
jwplayer.addViewListener('NEXT','viewcheck');
jwplayer.addViewListener('PREV','viewcheck');
jwplayer.addViewListener('SEEK','viewcheck');
jwplayer.addViewListener('PLAY','viewcheck');
// jwplayer.addViewListener('STOP','viewcheck');
}
listener_number=listener_number+4;
}
catch(err)
{}
if ((listener_number<10)&&(listener_retries++<30))
{
insert_comment('!!! JWPLAYER addModelListener NOT OK : retry adding listeners ('+listener_number+') retrynbr='+listener_retries+'');
tmr_addlisteners=setTimeout("addListeners()",100+(listener_retries*20));
}
else {
if (listener_number==10) jwplayer.sendEvent('VOLUME', 80);
}
}
function remove_listeners() {
try {
delete(jwplayer);
}
catch(err) {}
}
function change_to_rtmp_streamer(ye_file) {
if (reload_playlist_tmr!=null) clearTimeout(reload_playlist_tmr);
insert_comment('!!!! swicthing streamer to rtmp');
insert_comment("actual player is "+actual_myplayer_id);
insert_comment('last_command='+last_flashcommand);
return_flashcommand=last_flashcommand.replace("item","0"); // toujours laisser à 0 !! because remis à jour lors de construction playliste
insert_comment('return_command='+return_flashcommand);
playercount=(playercount*1)+1; // pas obligatoire, ca marche quand meme si pas
actual_myplayer_id="webtvjwplayer"+playercount+"";
insert_comment("next player is "+actual_myplayer_id+"");
// clear zone
//document.getElementById(player_zone).innerHTML=" ";
tmp=playlist_array[currentItem]['author']; // N° de programmation contenue dans author : '- gId'+N°
if (tmp.indexOf('- gId')>0)
{
change_file_id=tmp.substr(tmp.indexOf('- gId'),tmp.length);
change_file_id=change_file_id.replace('- gId','');
insert_comment("N° prog is "+change_file_id+"");
// envoyer ajax pour récupérer un timer pour la fin et le prog à suivre !! + le titre à mettre
// settimeout(return_flashcommand,time???) // = rebasculer sur la play liste normale
tv_ajax_data_eval("gId="+change_file_id+"&progcount="+playlist_array.length+"","../webtv/scripts/gimme_vprogduration.php");
}
has_to_change_to_rtmp_file=""; // reset has to change
webtv_stream_flash(div_affichage,ye_file,real_width,real_height,'stylish',true);
insert_comment("command executed = webtv_stream_flash('"+div_affichage+"','"+ye_file+"',"+real_width+","+real_height+",'stylish',true); at line 1776");
}
function getPlaylistData() {
var plst = null;
var spt_file = null;
var nxttitre=-1;
if (tmr_playlist!=null) clearTimeout(tmr_playlist);
//if (currentItem<0) currentItem=0;
tval=true;
ye_streamer="";
try {
plst = jwplayer.getPlaylist();
ye_streamer=GetDataToFlashMovie("streamer");
is_rtmp_streamer=(ye_streamer.replace('rtmp://','')!=ye_streamer) ? true : false;
spt_file=GetDataToFlashMovie("file");
}
catch(err) {}
if ((plst!=null)&&(spt_file!=null))
{
if (playlist_array.length>0) for(var n in playlist_array) delete(playlist_array[n]);
for(var itm in plst)
{
playlist_array[itm]=new Array();
playlist_array[itm]['title']=plst[itm].title;
playlist_array[itm]['author']=plst[itm].author;
playlist_array[itm]['file']=plst[itm].file;
playlist_array[itm]['summary']=plst[itm].summary;
playlist_array[itm]['number']=itm;
if (itm==currentItem) {
refresh_titres_summary((playlist_array[itm]['title'] ? playlist_array[itm]['title'] : false),false,(playlist_array[itm]['summary'] ? playlist_array[itm]['summary'] : false));
insert_comment('actual file is : '+playlist_array[itm]['file']+' item='+currentItem+' on line 2102');
// check if have to change
ye_file=playlist_array[currentItem]['file'];
is_rtmp_file=(ye_file.replace('rtmp_','')!=ye_file) ? true : false;
if ((!is_rtmp_streamer)&&(is_rtmp_file))
{
insert_comment('IMMEDIATE change to live-stream REASON : streamer='+ye_streamer+' AND file='+ye_file+'');
has_to_change_to_rtmp_file=ye_file;
// do it immediate !!
change_to_rtmp_streamer(ye_file);
} else insert_comment('dont have to change to live-stream');
}
if (itm==currentItem+1)
{
nxttitre=itm;
if (spt_file.replace('playlist_prog','')==spt_file)
{
if (
document.getElementById("nxton_air_titre") &&
(playlist_array[nxttitre]) &&
(playlist_array[nxttitre]['title'])
)
{
insert_comment("--- Changing NEXT TITRE line 1904 : "+playlist_array[nxttitre]['title']);
document.getElementById("nxton_air_titre").innerHTML=playlist_array[nxttitre]['title'];
}
else
if (document.getElementById("nxton_air_titre")) document.getElementById("nxton_air_titre").innerHTML=" ";
}
}
}
if (playlist_array.length==0)
{ // go to ronde de pub
ronde_de_pub_proc();
}
} else {
insert_comment("---retrying getPlaylistData");
playlist_retries++;
if (playlist_retries<60) tmr_playlist=setTimeout("getPlaylistData()",300);
else
{
// have to reload page
window.location.reload();
}
}
}
function show_volume(n) {
try {if (n*1!=n) n=0;}
catch(err) {n=0;}
if (jwplayer) {
try {
i=n;
if (n==0) {document.getElementById('imgsound0').src='images/hp_off.gif';}
else {
document.getElementById('imgsound0').src='images/hp_on.gif';
for (i=1;i<=n;i++) document.getElementById('imgsound'+i).style.backgroundColor='#CCCCCC';
}
while (i<10) {document.getElementById('imgsound'+i).style.backgroundColor='#333333';i++;}
}
catch(err) {}
}
}
function change_volume(n) {
if (jwplayer) {
try {
jwplayer.sendEvent('VOLUME', n*10);
}
catch(err) {}
}
}
//------------------- fin flash API ------------------------