# HG changeset patch # User Matti Hamalainen # Date 1485265794 -7200 # Node ID 2d7d5940ec4794d932167c2cbccf8432c1a0caf2 # Parent 755c1acae3f3a2add22c7db3f0a7f47c67a8fe7e# Parent 511147c1e119ec25801e1a9f451c5ee47acb38e2 Merged. diff -r 755c1acae3f3 -r 2d7d5940ec47 show.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/show.js Tue Jan 24 15:49:54 2017 +0200 @@ -0,0 +1,102 @@ +// +// FAPWeb - Simple Web-based Demoparty Management System +// Party main screen viewer +// (C) Copyright 2012-2017 Tecnic Software productions (TNSP) +// + +var failCount = 0; +var lastUpdate = 0; +var errorView = false; + + +function updateView(txt) +{ + var view = document.getElementById("mainView"); + if (view && txt != false && txt != "") + view.innerHTML = txt; +} + + +function displayError() +{ + // Increase failure count + if (++failCount >= 3 && !errorView) + { + errorView = true; + updateView("
Software Failure.   Press left mouse button to continue.
Guru Meditation #00000004.0000AAC0
"); + } +} + + +// +// Update view when triggered by main tick +// +function viewChanged() +{ + var msuccess2 = function(txt) + { + // Successfully fetched new data, initiate view update + updateView(txt); + } + + var msuccess1 = function(txt) + { + lastUpdate = txt; + jsSendPOSTRequest("action=get&type=slide", msuccess2, displayError); + } + + jsSendPOSTRequest("action=get&type=update", msuccess1, displayError); +} + + +// +// Main tick function, check for updates from server +// +var timeOutSet = false; + +function tickMain() +{ + timeOutSet = false; + + var msuccess = function(txt) + { + failCount = 0; + if (txt == "changed") + { + viewChanged(); + if (!timeOutSet) + { + setTimeout("tickMain();", 250); + timeOutSet = true; + } + } + else + if (txt == "reload") + { + location.reload(); + } + else + { + if (!timeOutSet) + { + setTimeout("tickMain();", 500); + timeOutSet = true; + } + } + } + + var mfail = function(txt) + { + displayError(); + if (!timeOutSet) + { + setTimeout("tickMain();", 5000); + timeOutSet = true; + } + } + + jsSendPOSTRequest("action=check&lastUpdate="+lastUpdate, msuccess, mfail); +} + +setTimeout("tickMain();", 100); +viewChanged(); diff -r 755c1acae3f3 -r 2d7d5940ec47 show.php --- a/show.php Sat Nov 19 03:31:10 2016 +0200 +++ b/show.php Tue Jan 24 15:49:54 2017 +0200 @@ -17,8 +17,6 @@ stCommonAJAX("showajax.php", "show.php"); ?> - -