Set up 2FA without a Mobile Device (2024)

    ").removeClass("vimeo").addClass("yt"); $(".nav",context).addClass("yt"); player = new YT.Player($(".video div",context)[0],{ videoId : id, playerVars: { 'autoplay': autoplay ? 1 : 0, 'controls': 0, "showinfo" : 0, 'rel' : 0, 'fs' : 0, "modestbranding" : 1, "playsinline" : 1, "allowfullscreen" : 1 }, events : { "onStateChange" : ytStateChange, "onReady" : ()=>{ if(isMuted) player.mute(); onLoaded(); playerTimer = setInterval(ytTimeUpdate,100); } } }); player.playerType="yt"; youTubePlayers.push(player); bindControls(); showPlayer(); }, ytTimeUpdate=()=>{ var currentTime = !player.getCurrentTime ? 0.0 : player.getCurrentTime(), duration = !player.getDuration ? 0.0 : player.getDuration(), percent = currentTime / duration; updatePosition(percent); if(player.getPlayerState()==2) $(".nav .play",context).removeClass("playing"); else $(".nav .play",context).addClass("playing"); $(".nav .loaded",context).width((player.getVideoLoadedFraction() * 100) + "%"); updateTime(duration - currentTime); }, ytStateChange=(e)=>{ if(e.data==0) playNext(); }, createVimeoPlayer=(data)=>{ dataArray=data.split(","); $(".video",context).html("").removeClass("yt").addClass("vimeo"); $(".nav",context).removeClass("yt"); player = new Vimeo.Player($(".video div",context)[0], { id : dataArray[0], autoplay : autoplay, controls : false, transparent : false, playsinline : true }); player.playerType="vimeo"; player.on("timeupdate", vimeoTimeUpdate); player.on("ended", vimeoEnded); player.on("progress", vimeoProgress); player.on("loaded", onLoaded); player.on("play", hideLoading); playerTimer = setInterval(vimeoStatusUpdate,100); player.thumbs=dataArray[1]; if(isMuted){ player.setVolume(0); } else{ player.setVolume(vimeoVolumeLevel); } renderVimeoTextTracks(); initThumbs(); bindControls(); showPlayer(); }, setSubtitleLanguage=()=>{ let currentLang = getCookie("language"); $(".nav .subtitle li", context).removeClass("active"); if(getCookie("language")!=="en"){ player.enableTextTrack(getCookie("language")); $(".nav .subtitle li[data-language=" + currentLang + "]",context).addClass("active"); }else{ player.disableTextTrack(); $(".nav .subtitle li[data-language='']",context).addClass("active"); } }, renderVimeoTextTracks=()=>{ $(".nav",context).removeClass("subtitle"); $(".nav .subtitle ul",context).html(""); player.getTextTracks().then(data=>{ if(data.length>0){ $(".nav",context).addClass("subtitle"); //create 'None' language in text tracks list // data.push({ data.unshift({ label: "NO SUBTITLES", language: "", mode : data.filter(e=>{return e.mode=="showing"}).length==0 ? "showing" : "none" }); data.forEach(e=>{ $(".nav .subtitle ul",context).append(`
  • ${e.label}
  • `); }); $(".nav .subtitle li",context).click(subtitleLanguageClickHandler); //Remove English Auto generated text if($('li[data-language="en-x-autogen"]').length !== 0){ var autoGen = $('li[data-language="en-x-autogen"]')[0].innerHTML.split(" ")[0]; $('li[data-language="en-x-autogen"]').html(autoGen); } $(".nav .subtitle",context).css("display", "block"); }else{ $(".nav .subtitle",context).css("display", "none"); } setSubtitleLanguage(); }); }, subtitleClickHandler=e=>{ $(".nav .subtitle ul",context).toggle(); }, subtitleLanguageClickHandler=e=>{ if(e.currentTarget.dataset.language.length>0) player.enableTextTrack(e.currentTarget.dataset.language); else player.disableTextTrack(); $(".nav .subtitle li", context).removeClass("active"); $(".nav .subtitle ul",context).toggle(); subtitleClickHandler(); $(e.currentTarget).addClass("active"); }, vimeoTimeUpdate=(e)=>{ updatePosition(e.percent); updateTime(e.duration - e.seconds); }, vimeoStatusUpdate=()=>{ player.getPaused().then(paused=>{ if(paused){ $(context).removeClass("playing"); } else{ hideLoading(); $(context).addClass("playing"); $(context).addClass("show"); } }); }, vimeoEnded=()=>{ if(assets==undefined) vimeoRestart(); else playNext(); }, vimeoProgress=e=>{ $(".nav .loaded",context).width((e.percent * 100) + "%"); }, vimeoRestart=()=>{ player.setCurrentTime(0); resetControls(); showBigPlay(); }, updateLabels=(asset)=>{ $(".name",context).html(asset.Name?.toUpperCase()); $(".description",context).html(asset?.Content); $(".sub",context).html(asset?.Var2); $(window).resize(); }, updatePosition=(percent)=>{ $(".seek .position",context).width((percent * 100) + "%"); }, updateTime=seconds=>{ if(seconds < 0) seconds = 0; $(".nav .time",context).text(getTimeText(seconds)); }, getTime=seconds=>{ return { minutes : Math.floor(seconds / 60), seconds : seconds % 60 }; }, getTimeText=seconds=>{ var time=getTime(seconds); return time.minutes + ":" + Math.floor(time.seconds).toString().padStart(2,"0"); }, bigPlayTimer = 0, playPauseMorph=()=>{ var tl = new TimelineMax(); var playR = $(".playR",context), playL = $(".playL",context), pauseR = $(".pauseR",context), pauseL = $(".pauseL",context); showBigPlay(); hideClickPlay(); tl .to(playL, 0.5, {morphSVG:{shape: pauseL,shapeIndex:4},delay:0.5}) .to(playR, 0.5, {morphSVG:{shape:pauseR,shapeIndex:4},delay:0.5},0); $(".play.bigPlay .arrow",context).show(); $(".play.bigPlay .pause",context).hide(); setTimeout(()=>{ hideBigPlay(); bigPlayTimer=1500; }, bigPlayTimer); }, pausePlayMorph=()=>{ var tl = new TimelineMax(); var playR = $(".playR",context), playL = $(".playL",context), pauseR = $(".pauseR",context), pauseL = $(".pauseL",context); playLRef= $(".playLRef",context); playRRef= $(".playRRef",context); showBigPlay(); tl .to(playL, 0.5, {morphSVG:{shape: playLRef,shapeIndex:4}, delay:0.5}) .to(playR, 0.5, {morphSVG:{shape:playRRef,shapeIndex:4},delay:0.5},0); $(".play.bigPlay .arrow",context).hide(); $(".play.bigPlay .pause",context).show(); setTimeout(()=>{ hideBigPlay(); }, 1500); }, resetMorph=()=>{ var tl = new TimelineMax(); var playR = $(".playR"), playL = $(".playL"), pauseR = $(".pauseR"), pauseL = $(".pauseL"); playLRef= $(".playLRef"); playRRef= $(".playRRef"); tl .to(playL, 0.5, {morphSVG:{shape: playLRef,shapeIndex:4}, delay:0.5}) .to(playR, 0.5, {morphSVG:{shape:playRRef,shapeIndex:4},delay:0.5},0); }, playPause=()=>{ $(".nav .subtitle ul",context).css("display", "none"); if(!autoplay){ stopAllVideos(); } if(player.playerType=="vimeo"){ player.getPaused().then(paused=>{ if(paused){ player.play(); // hideBigPlay(); playPauseMorph(); $(".frame .poster",context).hide(); // clearPoster(); } else{ player.pause(); // showBigPlay(); pausePlayMorph(); } }); } else{ if(player.getPlayerState() == 1){ player.pauseVideo(); $(context).removeClass("playing"); // showBigPlay(); pausePlayMorph(); } else{ $(context).addClass("show"); $(context).addClass("playing"); $(".frame .poster",context).hide(); player.playVideo(); // hideBigPlay(); playPauseMorph() } } }, stopAllVideos=()=>{ // Find all Vimeo iframes var vimeoFrames = document.querySelectorAll(".video.vimeo"); // Loop through each YouTube iframe and create a player instance if(youTubePlayers.length>=1){ youTubePlayers.forEach(function(p) { p.pauseVideo(); }) } if (vimeoFrames.length>=1){ // Loop through each Vimeo iframe and create a player instance vimeoFrames.forEach(function(frame) { var player = new Vimeo.Player(frame); player.getPaused().then(paused=>{ if(!paused){ // Stop Vimeo playback player.pause(); } }) }); } resetMorph(); }, addVolumeControl=()=>{ $( ".slider-vertical",context).slider({ orientation: "vertical", range: "min", min: 0, max: 100, value: 60, slide: function(e, ui) { // volumeLevel = ui.value/100; volumeLevel = ui.value; // player.setVolume(volumeLevel/100); vimeoVolumeLevel = volumeLevel/100; if(player.playerType=="vimeo"){ player.setVolume(vimeoVolumeLevel); if(vimeoVolumeLevel == 0){ setMuted(); }else{ volumeUnmute(); } }else{ player.setVolume(volumeLevel); if(volumeLevel == 0){ setMuted(); }else{ volumeUnmute(); } } } }); }, volumeUnmute=()=>{ if(player.playerType=="vimeo"){ player.getVolume().then(vol=>{ player.setVolume(vimeoVolumeLevel); $(".nav .mute",context).removeClass("muted"); }); } else{ player.unMute(); $(".nav .mute",context).removeClass("muted"); $(".player .nav.yt .ui-slider-vertical .ui-slider-range-min",context).height(volumeLevel + "%"); player.setVolume(volumeLevel); } }, volume=()=>{ $( ".volume" ,context).addClass("volumeSlider"); $(".nav .volumeControls" ,context).on("mouseout", function(){ hideVolume(); }) }, hideVolume=()=>{ $( ".volume" ,context ).removeClass("volumeSlider"); }, isMuted = false, setMuted=()=>{ $(".nav .mute",context).addClass("muted"); $(".slider-vertical" ,context).slider({value: 0}); isMuted = true }, clearMuted=()=>{ $(".nav .mute",context).removeClass("muted"); // $(".slider-vertical" ,context ).slider({value: volumeLevel*100}); $(".slider-vertical" ,context ).slider({value: volumeLevel}); isMuted = false; }, mute=()=>{ if(player.playerType=="vimeo"){ player.getVolume().then(vol=>{ if(vol != 0){ player.setVolume(0); setMuted(); } else{ if(volumeLevel == 0){ vimeoVolumeLevel = 0.5; volumeLevel = 50; }; player.setVolume(vimeoVolumeLevel); clearMuted(); } }); } else{ if(player.isMuted()){ if(volumeLevel == 0){ vimeoVolumeLevel = 0.5; volumeLevel = 50; }; player.unMute(); clearMuted(); } else{ player.mute(); setMuted(); } } }, fullscreen=()=>{ target = $("iframe",context)[0]; switch(true){ case target.requestFullScreen != undefined: target.requestFullScreen(); break; case target.webkitRequestFullscreen != undefined: target.webkitRequestFullscreen(); break; case target.mozRequestFullScreen != undefined: target.mozRequestFullScreen(); break; case target.webkitRequestFullscreen != undefined: target.webkitRequestFullscreen(); break; case player.requestFullscreen != undefined: player.requestFullscreen(); break; } hideBigPlay(); }, seek=(e)=>{ updateThumbs(e); if(e.buttons==0 && e.which == 0) return; rect = e.currentTarget.getBoundingClientRect(); percent = (e.clientX - rect.left) / rect.width; if(player.playerType=="vimeo"){ player.getDuration().then(duration=>{ var seconds = Math.floor(duration * percent); player.setCurrentTime(seconds); updateTime(seconds); updatePosition(percent); }); } else{ var seconds = player.getDuration() * percent; player.seekTo(seconds); updateTime(seconds); } }, thumbsVideo, initThumbs=()=>{ if(player.thumbs==undefined) return; thumbsVideo=$(".thumbs video",context)[0]; thumbsVideo.src="/asset/" + player.thumbs; }, updateThumbs=e=>{ if(player.thumbs==undefined) return; var seconds=thumbsVideo.duration * (e.originalEvent.offsetX / e.currentTarget.clientWidth); thumbsVideo.currentTime = seconds; if(seconds<0) seconds = 0; $(".thumbs .label",context).text(getTimeText(seconds)); gsap.set($(".thumbs",context)[0], {x : e.originalEvent.offsetX}); $(".thumbs",context).show(); }, navMouseEnter=()=>{ $(".thumbs",context).show(); }, navMouseleave=()=>{ $(".thumbs",context).hide(); }, assertControls=()=>{ if(assets==undefined){ $(context).addClass("single"); } }, bindControls=()=>{ unbindControls(); assertControls(); $(".nav .play",context).click(playPause); $(".nav .volumeControls .mute",context).click(mute); addVolumeControl(); $(".nav .volumeControls",context).on( "mouseover", (e)=> { volume(); e.preventDefault(); }); $(".nav .fullscreen",context).click(fullscreen); $(".close",context).click(closePlayer); $(".seek",context).click(seek).on("mousemove",seek).on("touchmove",seek); $(".next",context).click(playNext); $(".prev",context).click(playPrevious); $(".frame .play",context).click(bigPlayClickHandler); $(".nav .subtitle",context).click(subtitleClickHandler); // $(".frame .play").click(playPause); if(player.thumbs!=undefined){ $(".seek",context).on("mouseenter", navMouseEnter); $(".seek",context).on("mouseleave", navMouseleave); } }, unbindControls=()=>{ $(".nav .play, .nav .mute, .nav .fullscreen, .close, .seek, .next, .prev, .frame > .play, .nav .subtitle",context).off("click").off("mouseenter").off("mousemove").off("mouseleave").off("touchmove"); }, closePlayer=()=>{ if(player.playerType=="vimeo"){ player.pause(); } else{ player.pauseVideo(); } clearInterval(playerTimer); hidePlayer(); hideBigPlay(); clearTimeout(playerTimer); player.destroy(); isActive=false; }, getNextAsset=()=>{ if(assets==undefined) return player.asset; var index=assets.indexOf(player.asset); if(index==(assets.length-1)) return assets[0]; return assets[index+1]; }, getPreviousAsset=()=>{ if(assets==undefined) return player.asset; var index=assets.indexOf(player.asset); if(index==0) return assets[assets.length-1]; return assets[index-1]; }, playNext=()=>{ clearInterval(playerTimer); createPlayer(getNextAsset()) hideBigPlay(); }, playPrevious=()=>{ clearInterval(playerTimer); createPlayer(getPreviousAsset()); hideBigPlay(); }, resetControls=()=>{ $(context).removeClass("show"); $(".seek .position, .nav .loaded",context).width(0); $(context).removeClass("playing"); $(".nav .time",context).text("-0:00"); $(".nav .mute",context).removeClass("muted"); $(".frame .loading",context).show(); }, onLoaded=()=>{ hideLoading(); //play if available if(autoplay){ if(player.playerType=="vimeo"){ var playPromise = player.play(); if (playPromise !== undefined) { playPromise.then((e) => { // Auto-play started playPauseMorph(); if(e?.result && isActive){ playPause(); } }).catch((error) => { // Auto-play was prevented // Show a UI element to let the user manually start playback // showBigPlay(); showClickPlay(); // setPoster(asset.Guid); // pausePlayMorph(); }); } } else{ canAutoplay.video().then(e=>{ if(e.result && isActive){ $(context).addClass("show"); $(context).addClass("playing"); $(".frame .poster",context).hide(); player.playVideo(); hideBigPlay(); playPauseMorph(); $(".frame .loading",context).hide(); } }); } } else { showBigPlay(); } }, hideLoading=()=>{ $(".frame .loading",context).hide(); }, hideLoadingDelay=()=>{ setTimeout(hideLoading,1000); }, showClickPlay=()=>{ $(".frame > .play",context).addClass("autoPlay"); hideLoading(); }, hideClickPlay=()=>{ $(".frame > .play",context).removeClass("autoPlay"); }, showBigPlay=()=>{ $(".frame > .play",context).addClass("bigPlay"); hideLoading(); }, hideBigPlay=()=>{ $(".frame > .play",context).removeClass("bigPlay"); }, bigPlayClickHandler=()=>{ // playPause(); $(".nav .subtitle ul",context).css("display", "none"); if(!autoplay){ stopAllVideos(); } if(player.playerType=="vimeo"){ player.getPaused().then(paused=>{ if(paused){ player.play(); // hideBigPlay(); playPauseMorph(); $(".frame .poster",context).hide(); // clearPoster(); } else{ player.pause(); // showBigPlay(); pausePlayMorph(); } }); } else{ if(player.getPlayerState() == 1){ player.pauseVideo(); $(context).removeClass("playing"); // showBigPlay(); pausePlayMorph(); } else{ $(context).addClass("show"); $(context).addClass("playing"); $(".frame .poster",context).hide(); player.playVideo(); // hideBigPlay(); playPauseMorph(); } } }, showPlayer=()=>{ if($(context).css("display")!="block"){ gsap.set(context, {opacity:0, duration: 0.7, display:"block"}); gsap.to(context, { opacity:1 }); } //$(".player").css({opacity:0}).show().animate({opacity:1},500); }, hidePlayer=()=>{ gsap.to(context, {opacity:0, duration: 0.7, onComplete: ()=>{ gsap.set(context, {display: "none"}); }}); //$(".player").animate({opacity:0},500,); }, setPoster=guid=>{ $(".frame .poster",context).css("background-image","url(/asset/" + guid + ")").show(); } clearPoster=()=>{ $(".frame .poster",context).hide(); } ; createPlayer(asset,target); }, // autoplay with url ?play parameter initAutoplay=()=>{ play=$.getQueryParameters().play; if(play!=undefined){ getName=n=>{ if(n==null || n==undefined) return ""; return n.replace(/:/g,"").replace(/'/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/-/g," ").replace(/\./g," ").replace(/,/g,"").replace(/!/g,"").replace(/&/g,"and").replace(/á/g,"a").replace(/à/g,"a").trim(); } play=play.replace(/-/g," "); //autoplay=false; asset = assets.find(a=>getName(a.Name).toLowerCase()==play.toLowerCase()); if(asset!=undefined) createPlayer(asset); //$($(".gallery .tile").toArray().find(e=>$(e).data().asset.Name.toLowerCase()==play)).click(); } }, // iframe events initEvents=()=>{ window.document.addEventListener("player_play", e=>{ //received play event from child document in iframe e.preventDefault(); //signal to embedded player that this player will play the video. createPlayer(e.detail); }); }, dispatchEvent = asset=>{ try{ return window.parent.document.dispatchEvent(new CustomEvent("player_play", { cancelable : true, detail : asset })); } catch(e){ return true; } }, //ga events logEvent=(asset)=>{ gtag("event","Trailer", { event_label : asset.Name }); }, // inline player createInlineElement=e=>{ if(Array.isArray(e)){ e.forEach(e=>{ initInlineVideoElement(e); }); } else{ initInlineVideoElement(e); } }, initInlineVideoElement=e=>{ //create asset var asset={ Guid: e.parentElement.dataset.assetid, Var1: e.dataset.var1, }; createPlayer(asset,e); } ; init(); return { createPlayer : (asset)=>{createPlayer(asset);}, createInlineElement : e=>{createInlineElement(e);}, setAssets: (data)=>{assets = data;}, initAutoplay: ()=>{initAutoplay();}, getPlayers: ()=>{return players;}, //initEvents : ()=>{initEvents();} };})();

    Choose Platform:

    • PIX for macOS
    • PIX for Windows
    • PIX for iOS
    • PIX for Browser
    • PIX for tvOS

    Set up 2FA without a Mobile Device (4)

    While we usually recommend that users set up 2-Factor Authentication (2FA) with a mobile device, you can instead opt to download a third-party authentication application to your computer and complete the setup without the use of a mobile device.

    Two commonly used desktop apps for 2FA are OTP Manager and Authy. Both applications are compatible with macOS and Windows operating systems. See links at the bottom of this page for where to download them.

    Set up 2FA without a Mobile Device (5)

    Steps for setting up 2FA on your desktop

    After installing your preferred authentication application - proceed with the following steps.
    Note that depending on which application you are using, the terminology can be a little different. We have provided generalized instructions below that should apply to most authentication apps.

    1. Sign in to PIX with your username and password.
    2. If 2FA is required, you will be prompted to set it up for your account after hitting Sign In.
    3. Press continue on the 2FA screen.
    4. You will then be presented with a QR barcode.
    5. Click the option below the barcode that says Barcode Scanning Not Available.
    6. PIX will reveal a 32-digit key containing numbers and letters.
    7. Copy this key.
    8. Open your Authentication app and click the plus sign/add new token/account button.
      • Depending on the application you are using you will also need to enter Issuer information as well as Account/Username information. Enter PIX SYSTEM for the Issuer/Company and enter your PIX username for the account/username.
    9. Paste the 32-digit key into your preferred authentication app's Secret/Token/Code field.
    10. Click Add Token.

    2FA Application pictured: OTP Manager

    Steps for setting up 2FA on your desktop

    Set up 2FA without a Mobile Device (7)

    After installing your preferred authentication application - proceed with the following steps.
    Note that depending on which application you are using, the terminology can be a little different. We have provided generalized instructions below that should apply to most authentication apps.

    1. Sign in to PIX with your username and password.
    2. If 2FA is required, you will be prompted to set it up for your account after hitting Sign In.
    3. Press continue on the 2FA screen.
    4. You will then be presented with a QR barcode.
    5. Click the option below the barcode that says Barcode Scanning Not Available.
    6. PIX will reveal a 32-digit key containing numbers and letters.
    7. Copy this key.
    8. Open your Authentication app and click the plus sign/add new token/account button.
      • Depending on the application you are using you will also need to enter Issuer information as well as Account/Username information. Enter PIX SYSTEM for the Issuer/Company and enter your PIX username for the account/username.
    9. Paste the 32-digit key into your preferred authentication app's Secret/Token/Code field.
    10. Click Add Token.

    2FA Application pictured: OTP Manager

    Set up 2FA without a Mobile Device (8)

    2FA Application pictured: Authy

    Set up 2FA without a Mobile Device (9)

    2FA Application pictured: Authy

    Set up 2FA without a Mobile Device (10)

    11. Once the authentication app accepts the set-up key/token/code you will see the 6-digit authentication code needed to log in to PIX displayed in your tokens window.
    12. Copy and paste the authentication code into PIX's 2FA field to sign in.

    2FA Application pictured: OTP Manager

    Set up 2FA without a Mobile Device (11)

    11. Once the authentication app accepts the set-up key/token/code you will see the 6-digit authentication code needed to log in to PIX displayed in your tokens window.
    12. Copy and paste the authentication code into PIX's 2FA field to sign in.

    2FA Application pictured: OTP Manager

    Set up 2FA without a Mobile Device (12)

    Your PIX account is now set up with 2FA.

    After linking your 2FA app and your PIX account, the authenticator application will continue to generate a 6-digit authentication code. You will need to copy and paste this code into PIX whenever you are signing into PIX.

    For more information about how 2FA works, as well as troubleshooting steps, please check out the additional Help Center pages linked at the bottom of this page.

    2FA Application pictured: Authy

    Set up 2FA without a Mobile Device (13)

    Your PIX account is now set up with 2FA.

    After linking your 2FA app and your PIX account, the authenticator application will continue to generate a 6-digit authentication code. You will need to copy and paste this code into PIX whenever you are signing into PIX.

    For more information about how 2FA works, as well as troubleshooting steps, please check out the additional Help Center pages linked at the bottom of this page.

    2FA Application pictured: Authy

    Set up 2FA without a Mobile Device (14)

    Related Links

    

    Related Links

    Set up 2FA without a Mobile Device (15)

    

    Set up 2FA without a Mobile Device (16)

    Set up 2FA without a Mobile Device (17)

    Set up 2FA without a Mobile Device (18)

    Set up 2FA without a Mobile Device (19)

    Set up 2FA without a Mobile Device (20)

    Set up 2FA without a Mobile Device (21)

    Set up 2FA without a Mobile Device (22)

    Set up 2FA without a Mobile Device (23)

    Set up 2FA without a Mobile Device (24)

    Set up 2FA without a Mobile Device (25)

    Set up 2FA without a Mobile Device (26)

    Set up 2FA without a Mobile Device (27)

    Set up 2FA without a Mobile Device (28)

    Set up 2FA without a Mobile Device (29)

    Set up 2FA without a Mobile Device (30)

    Set up 2FA without a Mobile Device (31)

    Set up 2FA without a Mobile Device (32)

    Set up 2FA without a Mobile Device (33)

    Set up 2FA without a Mobile Device (34)

    Set up 2FA without a Mobile Device (35)

    Set up 2FA without a Mobile Device (36)

    ").dialog({ modal: true, title: false, dialogClass : "download-dialog" }); }); initPageOptions(); initVideo(); bindEvents(); }); initTitle(); $(document).ready(function() { // updateZoomText(); }); }, updateZoomText=()=>{ $(".enable-image-zoom .imageframe").attr('data-before', $(".viewfull").html()); $(".enable-image-zoom .imageframe:hover").attr('data-before', $(".viewfull").html()); } hideUnusedElements=()=>{ $("#main p").each(function() { if($(this).text()=="") $(this).hide(); }); $("#main a button").each(function() { if($(this).text()=="") $(this).parent().hide(); }); $("section .textframe h2").each(function() { if($(this).text()=="") $(this).closest("section").hide(); if($(this).text()==" ") $("hr",$(this).closest("section")).hide(); }); //hide image panel if no image $("section").each(function(){ if($(".section-image",this).attr("src") == undefined) $(this).addClass("no-image"); }); //hide unused download panels $("#content2 .download table").each(function(){ if($("h2",this).text() == ""){ $(this).hide(); } }); }, initPageOptions=()=>{ //add body classes $("*[data-custom-field-name='Page Options']").text().toLowerCase().split(",").forEach(e=>{if(e.length>0)document.body.classList.add(e.trim().replace(/ /g,"-"));}); }, //video initVideo=()=>{ $template=$("#playerTemplate"); $(".titleframe img[data-var1], .imageframe img[data-var1]").each((i,e)=>{ var context; player.createInlineElement(e); //get videoid // videoId=e.dataset.var1; // //get thumb image url thumb=e.src; // //get player template // $player = $template.clone().removeAttr("id").data("videoId",videoId); // //attach handlers // $player.click(videoClickHandler); // //set thumb image $(".frame .poster",context).css("background-image", "url(" + thumb + ")"); // $element=$(e).replaceWith($player); }); }, playHandler=e=>{ }, videoClickHandler=e=>{ $(e.currentTarget).off("click"); target=e.currentTarget; $(".video",target).css("background-image",""); initPlayer($(target).data().videoId,target); }, initPlayer=(videoId,element)=>{ let player, $player=$(element), controlTimer, isControlsVisible=true, initControls=()=>{ $player.on("mousemove",()=>{ if(isControlsVisible){ clearTimeout(controlTimer); controlTimer = setTimeout(hideControls, 3000); } else { showControls(); } }); }, hideControls=()=>{ isControlsVisible=false; $(".nav",$player).animate({opacity : 0},750); }, showControls=()=>{ isControlsVisible=true; $(".nav",$player).animate({opacity : 1},250); }, /* preloadImages=(data)=>{ data.forEach(asset=>{ $("Set up 2FA without a Mobile Device (37)"); }); }, attachHandlers=()=>{ $(".gallery .tile").click(tileClickHandler); }, tileClickHandler=(e)=>{ createPlayer($(e.currentTarget).data().asset); }, */ createPlayer=(videoId,element)=>{ resetControls(); //determin if video id is vimeo or yt if(isNaN(videoId)) createYTPlayer(videoId,element); else createVimeoPlayer(videoId,element); //player.asset=asset; //updateLabels(asset); //bind to videoplay event to prevent simultaneous play. window.addEventListener("videoplay", playEventHandler); }, createYTPlayer=(id,element)=>{ player = new YT.Player($(element)[0],{ videoId : id, playerVars: { 'autoplay': 1, 'controls': 0, "showinfo" : 0, 'rel' : 0, 'fs' : 0, "modestbranding" : 1, "playsinline" : 1, "allowfullscreen" : 1 }, events : { "onStateChange" : ytStateChange, "onReady" : ()=>{ if(isMuted) player.mute(); hideLoading(); } } }); player.playerType="yt"; playerTimer = setInterval(ytTimeUpdate,100); dispatchPlay(); bindControls(); }, playerTimer, ytTimeUpdate=()=>{ var currentTime = player.getCurrentTime(), duration = player.getDuration(), percent = currentTime / duration; updatePosition(percent); if(player.getPlayerState()==2) $(".nav .play",$player).removeClass("playing"); else{ $(".nav .play",$player).addClass("playing"); dispatchPlay(); } $(".nav .loaded",$player).width((player.getVideoLoadedFraction() * 100) + "%"); updateTime(duration - currentTime); }, ytStateChange=(e)=>{ //if(e.data==0) //playNext(); }, createVimeoPlayer=(id,element)=>{ player = new Vimeo.Player($(element)[0], { id : id, autoplay : true, controls : false, transparent : false }); player.playerType="vimeo"; player.on("timeupdate", vimeoTimeUpdate); player.on("ended", vimeoEnded); player.on("progress", vimeoProgress); player.on("loaded", hideLoadingDelay); player.on("play", hideLoading); playerTimer = setInterval(vimeoStatusUpdate,100); if(isMuted) player.setVolume(0); else player.setVolume(1); dispatchPlay(); bindControls(); }, vimeoTimeUpdate=(e)=>{ updatePosition(e.percent); updateTime(e.duration - e.seconds); }, vimeoStatusUpdate=()=>{ player.getPaused().then(paused=>{ if(paused) $(".nav .play",$player).removeClass("playing"); else{ if(!$(".nav .play",$player).hasClass("playing")){ $(".nav .play",$player).addClass("playing"); dispatchPlay(); } } }); }, vimeoEnded=()=>{ //playNext(); }, vimeoProgress=e=>{ $(".nav .loaded",$player).width((e.percent * 100) + "%"); }, updatePosition=(percent)=>{ $(".seek .position",$player).width((percent * 100) + "%"); }, updateTime=seconds=>{ if(seconds < 0) seconds = 0; var time = { minutes : Math.floor(seconds / 60), seconds : seconds % 60 }; $(".nav .time",$player).text(time.minutes + ":" + Math.floor(time.seconds).toString().padStart(2,"0")); }, playPause=()=>{ if(player.playerType=="vimeo"){ player.getPaused().then(paused=>{ if(paused){ player.play(); dispatchPlay(); } else player.pause(); }); } else{ if(player.getPlayerState() == 1) player.pauseVideo() else{ player.playVideo(); dispatchPlay(); } } }, pause=()=>{ if(player.playerType=="vimeo") player.pause(); else player.pauseVideo(); }, dispatchPlay=()=>{ window.dispatchEvent(new CustomEvent("videoplay", { detail : { player : player } })); }, isMuted = false, mute=()=>{ var setMuted=()=>{ $(".nav .mute",$player).addClass("muted"); isMuted = true }, clearMuted=()=>{ $(".nav .mute",$player).removeClass("muted"); isMuted = false; }; if(player.playerType=="vimeo"){ player.getVolume().then(vol=>{ if(vol != 0){ player.setVolume(0); setMuted(); } else{ player.setVolume(1); clearMuted(); } }); } else{ if(player.isMuted()){ player.unMute(); clearMuted(); } else{ player.mute(); setMuted(); } } }, fullscreen=()=>{ target = $("iframe",$player)[0]; switch(true){ case target.requestFullScreen != undefined: target.requestFullScreen(); break; case target.webkitRequestFullScreen != undefined: target.webkitRequestFullScreen(); break; case target.mozRequestFullScreen != undefined: target.mozRequestFullScreen(); break; } }, seek=(e)=>{ if(e.buttons==0 && e.which == 0) return; rect = e.currentTarget.getBoundingClientRect(); percent = (e.clientX - rect.left) / rect.width; if(player.playerType=="vimeo"){ player.getDuration().then(duration=>{ var seconds = duration * percent; player.setCurrentTime(seconds); updateTime(seconds); updatePosition(percent); }); } else{ var seconds = player.getDuration() * percent; player.seekTo(seconds); updateTime(seconds); } }, bindControls=()=>{ unbindControls(); $(".nav .play",$player).click(playPause); $(".nav .mute",$player).click(mute); $(".nav .fullscreen",$player).click(fullscreen); //$(".close",$player).click(closePlayer); $(".seek",$player).click(seek).on("mousemove",seek); //$(".next",$player).click(playNext); //$(".prev",$player).click(playPrevious); }, unbindControls=()=>{ $(".nav .play, .nav .mute, .nav .fullscreen, .close, .seek, .next, .prev",$player).off("click"); }, resetControls=()=>{ $(".seek .position, .player .nav .loaded",$player).width(0); $(".play",$player).removeClass("playing"); $(".nav .time",$player).text(""); $(".frame .loading",$player).show(); }, hideLoading=()=>{ $(".frame .loading",$player).hide(); }, hideLoadingDelay=()=>{ setTimeout(hideLoading,1000); }, playEventHandler=e=>{ //ignore play event if sent from this player. if(e.detail.player != player) pause(); } ; createPlayer(videoId,$(".video",$player)); }, initTitle=()=>{ document.title += (document.title.length>0 ? " - " : "") + "PIX Help"; }, bindEvents=()=>{ $(".section-image").click(zoomElement); $(".imageframe img").click(zoomElement); // if(document.body.classList.contains("enable-image-zoom")){ // $(".section-image").click(zoomElement); // } }, zoomElement=e=>{ $("#imagedialog img")[0].src="/asset/" + e.currentTarget.dataset.guid; $("#imagedialog").show(); fullscreen(imagedialog, e=>{$("#imagedialog").hide();}); }, fullscreen=(element,closeHandler)=>{ //fullscreenchange handler. attach after requestfullscreen promise so it fires on fullscreen close var handler=()=>{ closeHandler(); //unbind fullscreenchange handler switch(true){ case typeof(element.onfullscreenchange) != undefined: element.onfullscreenchange=null; break; case typeof(element.onwebkitfullscreenchange) != undefined: element.onwebkitfullscreenchange=null; break; case typeof(element.onmozfullscreenchange) != undefined: element.onmozfullscreenchange=null; break; } }; switch(true){ case element.requestFullscreen != undefined: element.requestFullscreen(); setTimeout(()=>{ element.onfullscreenchange=handler; },500); break; case element.webkitRequestFullscreen != undefined: element.webkitRequestFullscreen(); setTimeout(()=>{ element.onwebkitfullscreenchange=handler; },500); break; case element.mozRequestFullScreen != undefined: element.mozRequestFullScreen(); setTimeout(()=>{ element.onmozfullscreenchange=handler; },500); break; case element.requestFullScreen != undefined: element.requestFullScreen(); setTimeout(()=>{ element.onfullscreenchange=handler; },500); break; } imagedialog.onclick=()=>{ switch(true){ case document.exitFullscreen != undefined: document.exitFullscreen(); break; case document.webkitExitFullscreen != undefined: document.webkitExitFullscreen(); break; case document.mozExitFullscreen != undefined: document.mozExitFullscreen(); break; case document.ExitFullScreen != undefined: document.ExitFullScreen(); break; } }; } ; init(); return {};})();

    Our support team is available to answer any questions 24 hours a day, 7 days a week.

    PIX Support Email: support@pixsystem.com
    PIX US Support: +1 415 357 9720
    PIX UK Support: +44 20 3695 4945
    PIX HU Support: +36 1 700 9445
    PIX NZ Support: +64 4 831 9128

    STATUS

    Set up 2FA without a Mobile Device (38)

      System Status

        This site uses cookies. Learn More.

        Set up 2FA without a Mobile Device (2024)
        Top Articles
        Latest Posts
        Article information

        Author: Jonah Leffler

        Last Updated:

        Views: 5896

        Rating: 4.4 / 5 (65 voted)

        Reviews: 80% of readers found this page helpful

        Author information

        Name: Jonah Leffler

        Birthday: 1997-10-27

        Address: 8987 Kieth Ports, Luettgenland, CT 54657-9808

        Phone: +2611128251586

        Job: Mining Supervisor

        Hobby: Worldbuilding, Electronics, Amateur radio, Skiing, Cycling, Jogging, Taxidermy

        Introduction: My name is Jonah Leffler, I am a determined, faithful, outstanding, inexpensive, cheerful, determined, smiling person who loves writing and wants to share my knowledge and understanding with you.