Mercurial > hg > fapweb
changeset 144:c030c3cf0d80
More work on display system.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 23 Oct 2013 01:42:21 +0300 |
parents | 20893a5442b7 |
children | 66b485431cac |
files | msite.inc.php show.php showajax.php |
diffstat | 3 files changed, 80 insertions(+), 44 deletions(-) [+] |
line wrap: on
line diff
--- a/msite.inc.php Wed Oct 23 01:21:12 2013 +0300 +++ b/msite.inc.php Wed Oct 23 01:42:21 2013 +0300 @@ -131,7 +131,7 @@ function stSaveDisplayVars() { - global $displayVars, $displayVarsChanged; + global $db, $displayVars, $displayVarsChanged; foreach (stExecSQL("SELECT * FROM displayVars") as $item) if (isset($displayVarsChanged[$item["key"]]))
--- a/show.php Wed Oct 23 01:21:12 2013 +0300 +++ b/show.php Wed Oct 23 01:42:21 2013 +0300 @@ -37,6 +37,7 @@ var failCount = 0; var prevView = -1, activeView = 0; +var activeSlide = -1, activeSlideMode = -1; var errorView = false; @@ -77,47 +78,72 @@ // function viewChanged() { - var msuccess = function(txt) + var msuccess3 = function(txt) { // Successfully fetched new data, initiate view update - failCount = 0; - errorView = false; updateView(txt); } - sendPOSTRequest("action=get", msuccess, displayError); + var msuccess2 = function(txt) + { + activeSlide = txt; + sendPOSTRequest("action=get&type=slide", msuccess3, displayError); + } + + var msuccess1 = function(txt) + { + activeSlideMode = txt; + sendPOSTRequest("action=get&type=activeSlide", msuccess2, displayError); + } + + sendPOSTRequest("action=get&type=activeSlideMode", 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(); - setTimeout("tickMain();", 500); + if (!timeOutSet) + { + setTimeout("tickMain();", 500); + timeOutSet = true; + } } else { - setTimeout("tickMain();", 2000); + if (!timeOutSet) + { + setTimeout("tickMain();", 2000); + timeOutSet = true; + } } } var mfail = function(txt) { displayError(); - setTimeout("tickMain();", 5000); + if (!timeOutSet) + { + setTimeout("tickMain();", 5000); + timeOutSet = true; + } } - sendPOSTRequest("action=check", msuccess, mfail); + sendPOSTRequest("action=check&activeSlide="+activeSlide+"&activeSlideMode="+activeSlideMode, msuccess, mfail); } - setTimeout("tickMain();", 1000); setInterval("tickAnim();", 25); viewChanged();
--- a/showajax.php Wed Oct 23 01:21:12 2013 +0300 +++ b/showajax.php Wed Oct 23 01:42:21 2013 +0300 @@ -136,57 +136,67 @@ break; } +$type = stGetRequestItem("type"); -$action = stChkRequestItem("action") ? $_REQUEST["action"] : ""; -switch ($action) +switch (stGetRequestItem("action")) { case "check": // Check if there has been any change $changed = stGetRequestItem("activeSlide") != stGetDisplayVar("activeSlide") || - stGetRequestItem("activeSlide") != stGetDisplayVar("activeSlide"); + stGetRequestItem("activeSlideMode") != stGetDisplayVar("activeSlideMode"); echo $changed ? "changed" : "nochange"; stSetStatus(200, "OK"); break; case "get": - // Based on the currently active mode ... - switch (stGetDisplayVar("activeSlideMode")) + switch ($type) { - case SMODE_ROTATE: - // Slide rotation mode, display currently active slide - if (stGetDisplayVar("activeSlide") > 0) - { - $sql = stPrepareSQL("SELECT * FROM displaySlides WHERE id=%d", - stGetDisplayVar("activeSlide")); - - if (($slide = stFetchSQL($sql)) !== false) - stPrintRotationSlide($slide); - } - else - { - echo "<div>ERROR!</div>\n"; - } + case "activeSlideMode": + case "activeSlide": + echo stGetDisplayVar($type); break; - - case SMODE_COMPO: - // Competition mode - $compo = stFetchSQL(stPrepareSQL( - "SELECT * FROM compos WHERE id=%d", - stGetDisplayVar("compoCompo"))); + + case "slide": + // Based on the currently active mode ... + switch (stGetDisplayVar("activeSlideMode")) + { + case SMODE_ROTATE: + // Slide rotation mode, display currently active slide + if (stGetDisplayVar("activeSlide") > 0) + { + $sql = stPrepareSQL("SELECT * FROM displaySlides WHERE id=%d", + stGetDisplayVar("activeSlide")); - $prev = stFetchSQL(stPrepareSQL( - "SELECT * FROM entries WHERE id=%d", - stGetDisplayVar("compoPrevEntry"))); + if (($slide = stFetchSQL($sql)) !== false) + stPrintRotationSlide($slide); + } + else + { + echo "<div>ERROR!</div>\n"; + } + break; + + case SMODE_COMPO: + // Competition mode + $compo = stFetchSQL(stPrepareSQL( + "SELECT * FROM compos WHERE id=%d", + stGetDisplayVar("compoCompo"))); - $entry = stFetchSQL(stPrepareSQL( - "SELECT * FROM entries WHERE id=%d", - stGetDisplayVar("compoCurrEntry"))); + $prev = stFetchSQL(stPrepareSQL( + "SELECT * FROM entries WHERE id=%d", + stGetDisplayVar("compoPrevEntry"))); - if ($compo !== false) - stPrintCompoSlide($compo, $entry, $prev); - break; + $entry = stFetchSQL(stPrepareSQL( + "SELECT * FROM entries WHERE id=%d", + stGetDisplayVar("compoCurrEntry"))); + + if ($compo !== false) + stPrintCompoSlide($compo, $entry, $prev); + break; + } + break; } break;