Auto Update not working
Auto Update not working
I tried to use the score auto update last night and it did not work. any ideas?
- raider_nation
- Posts: 34
- Joined: Mon Aug 26, 2013 8:10 pm
Re: Auto Update not working
You beat me to it. See my post.
Re: Auto Update not working
Auto Update also does not work if there are any games in progress. The code just hangs. I think that this not a bug but a feature to ensure that only complete games are updated.
Re: Auto Update not working
This is how it was last year as well, it wouldn't update until all games for a given day were completed.
I don't know enough about the code to try and fix it or point it toward a different site, I am just not that good with code to update it.
I was hoping someone would have found a work around for this, but still doesn't appear that there is one.
I know there are other sites out there that have scores on them, but again I just don't know how to alter the code so I don't screw it all up.
Phil
I don't know enough about the code to try and fix it or point it toward a different site, I am just not that good with code to update it.
I was hoping someone would have found a work around for this, but still doesn't appear that there is one.
I know there are other sites out there that have scores on them, but again I just don't know how to alter the code so I don't screw it all up.
Phil
Re: Auto Update not working
OK, had a friend (Doug K from Turbo Tourney) help me fix this issue, and I now have it working, here is the fix:
Find the updateScores.asp file in your root directory
Find:
Replace with:
Again a huge thanks to Doug for helping fix this issue!!
Here was his explanation:
The problem is with in-progress games this value is null and so the comparison to the "final" is failing (not being handled by error handling). This will cause the code to skip the game if the value is null.
Phil
Find the updateScores.asp file in your root directory
Find:
Code: Select all
if (s.toLowerCase() == "final") {
Code: Select all
if ((s != null) && (s.toLowerCase() == "final")) {
Here was his explanation:
The problem is with in-progress games this value is null and so the comparison to the "final" is failing (not being handled by error handling). This will cause the code to skip the game if the value is null.
Phil
Re: Auto Update not working
Works like a champ. Thanks for the update.
-
- Posts: 7
- Joined: Thu Sep 05, 2013 9:37 am
Re: Auto Update not working
WOW! Thankyou for this fix! For 7 years now I have been updating these manually, never could get that auto-update to work. Woohoo! Whats your paypal? Id like to donate a few bucks as a thanks!
Re: Auto Update not working
Honestly I am just as thankful to have it fixed. Just spread the word to use this board for support on the program so we can get as much knowledge on here as possible.
And all the thanks goes to my friend, Doug, if you need basketball software check out his site [click]www.turbotourney.com[/click]
Phil
And all the thanks goes to my friend, Doug, if you need basketball software check out his site [click]www.turbotourney.com[/click]
Phil
Re: Auto Update not working
One of the other things was that 2012 was still in my updatescores.asp, so I had to update that as well. Great work!
Anyone ever figured out how to get spreads to update like the scores??
Anyone ever figured out how to get spreads to update like the scores??
Re: Auto Update not working
There was another thread about the 2012 issue, and Mike had actually updated that and posted it on his site as well.
I don't use spreads so I never look at that to be honest.
Phil
I don't use spreads so I never look at that to be honest.
Phil
Re: Auto Update not working
One other benefit is now that if you leave it on the scoring page and have the "Auto-Update" checked it will updates games on an interval and you don't even have to monitor it!!
-
- Posts: 15
- Joined: Wed Aug 28, 2013 9:19 am
Re: Auto Update not working
YES!!!!! Thanks for getting this working!!!!
Re: Auto Update not working
Can someone post the full updatescores.asp code with the fix. I manually made the fix above and it still says no updates and currently all games this week but 2 have completed.
thanks
thanks
Re: Auto Update not working
Are you using the new 2014 code? OR are you using a past file that may have an older year in it like 2013 and therefore it may not be working because of that.
I haven't looked at the new code yet, I don't have anything setup. Once I get it up and going I'll take a look and see if it changed for this year.
Phil
I haven't looked at the new code yet, I don't have anything setup. Once I get it up and going I'll take a look and see if it changed for this year.
Phil
Re: Auto Update not working
this is my coding. I kept my old code page and compared it to the latest version and made the appropriate changes.
Then i made the change mentioned above.
Then i made the change mentioned above.
Code: Select all
<%@ LANGUAGE="VBScript" %>
<!-- #include file="includes/config.asp" --><!-- #include file="includes/common.asp" --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- #include file="includes/email.asp" -->
<!-- #include file="includes/encryption.asp" -->
<!-- #include file="includes/form.asp" -->
<!-- #include file="includes/side.asp" -->
<!-- #include file="includes/weekly.asp" -->
<% 'Limit access to the Administrator.
'call CheckAccess(true) <==COMMENT OUT
if Session(SESSION_USERNAME_KEY) = "" or not(IsAdmin() or Session(SESSION_USERNAME_KEY) = "drizzt09") then
Response.Redirect("userLogin.asp")
end if
'Open the database.
call OpenDb() %>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<% PageSubTitle = "Enter Game Scores"
if not ENABLE_SCORES_ADDON then
call BuildPageHeader("", "")
else
call BuildPageHeader("loadDialogs.css", "") %>
<script type="text/javascript">//<![CDATA[
//=========================================================================
// Module: scoresLoader
//
// Used to set game scores using data retrieved from the NFL.com web site.
//=========================================================================
var scoresLoader = function () {
// The update form.
var formEl = null;
// The week to update.
var week = "";
// Define an array to hold form field information for each game listed
// on the form.
var gameFields = [];
// These are used to load the scores page from the NFL.com web site.
var scoresIframe = null;
var scoresUrlBase = "http://www.nfl.com/scores/2014/PRE"
var loadCheckIntervalID = null;
var loadCheckInterval = 1000; // one second.
var loadCheckMaxWaitTime = 30000; // 30 seconds.
var loadStartTime = 0;
// Auto-update parameters.
var autoUpdate = false;
var autoUpdateLoadTimeoutID = null;
var autoUpdateLoadTimeout = 600000; // 10 minutes.
var autoUpdateDialogTimeout = 500; // one half second.
// Holds the data parsed from the scores page.
var gameData = null;
// Used for dialog messages.
var resultMsg = "";
var errorMsg = "";
var foundNewResults = false;
//---------------------------------------------------------------------
// Initializes the scores loader.
//---------------------------------------------------------------------
function init() {
// Get the scores update form.
formEl = document.getElementById("scoresForm");
// Get the week.
week = formEl.elements["week"].value;
// Scan the form and build the games fields array.
var i = 1;
var el;
while ((el = formEl.elements["id-" + i]) != null) {
var vid = formEl.elements["vid-" + i].value;
var hid = formEl.elements["hid-" + i].value;
var vscoreEl = formEl.elements["vscore-" + i];
var hscoreEl = formEl.elements["hscore-" + i];
var otEl = formEl.elements["ot-" + i];
gameFields.push({
"visitorID" : vid,
"visitorScoreEl" : vscoreEl,
"homeID" : hid,
"homeScoreEl" : hscoreEl,
"overtimeEl" : otEl
});
i++;
}
// If auto-update is checked, start it.
autoUpdate = formEl.elements["autoUpdate"].checked;
if (autoUpdate)
autoUpdateLoadTimeoutID = setTimeout(getScores, autoUpdateLoadTimeout);
}
//---------------------------------------------------------------------
// Initiates the retrieval of game results.
//---------------------------------------------------------------------
function getScores() {
// Clear any existing game data.
gameData = [];
// Clear any highlighting on the form fields.
for (var i = 0; i < gameFields.length; i++) {
domUtils.removeClass(gameFields[i].visitorScoreEl, "fieldLoaded");
domUtils.removeClass(gameFields[i].homeScoreEl, "fieldLoaded");
domUtils.removeClass(gameFields[i].overtimeEl.parentNode, "fieldLoaded");
}
// Initialize the display.
foundNewResults = false;
showLoadingDisplay("loadingActive");
// Create an iframe for loading the scores page and set an interval
// timer to monitor it.
if (scoresIframe != null)
getScoresCleanUp();
scoresIframe = document.createElement("IFRAME");
scoresIframe.src = "javascript:false;document.write('');document.close();";
scoresIframe.width = 0;
scoresIframe.height = 0;
scoresIframe.style.display ="none";
scoresIframe = document.body.appendChild(scoresIframe);
scoresIframe.src = "getHtmlScores.asp?url=" + escape(scoresUrlBase + week);
loadStartTime = new Date();
loadCheckIntervalID = setInterval(scoresLoadedCheck, loadCheckInterval);
return false;
}
//-------------------------------------------------------------------------
// Called by an interval timer to determine if the scores page has been
// loaded.
//-------------------------------------------------------------------------
function scoresLoadedCheck() {
try {
// Get the document within the iframe.
var obj = scoresIframe.contentWindow || scoresIframe.contentDocument;
if (obj.document != null) {
scoresIframe.scoresDoc = obj.document;
// Check for our marker element to be sure the whole page
// has been loaded.
if (scoresIframe.scoresDoc.getElementById("BrainJar") != null) {
// Stop checking.
if (loadCheckIntervalID != null) {
clearInterval(loadCheckIntervalID);
loadCheckIntervalID = null;
}
// Process the scores page, clean-up and exit.
processScores();
getScoresCleanUp();
return;
}
}
}
catch (ex) {}
// Has the max wait time been exceeded?
var currentTime = new Date();
if (currentTime.valueOf() - loadStartTime.valueOf() > loadCheckMaxWaitTime) {
// Yes, abort.
getScoresCleanUp();
errorMsg = "The operation timed out, try again later.";
showLoadingDisplay("loadingError");
// If auto-update is on, set for the next attempt.
if (autoUpdate) {
setTimeout(hideLoadingDisplay, autoUpdateDialogTimeout);
autoUpdateLoadTimeoutID = setTimeout(getScores, autoUpdateLoadTimeout);
}
}
}
//---------------------------------------------------------------------
// Cleans up after an attempt to load game results.
//---------------------------------------------------------------------
function getScoresCleanUp() {
// Clear the interval timer.
if (loadCheckIntervalID != null) {
clearInterval(loadCheckIntervalID);
loadCheckIntervalID = null;
}
// Remove the IFRAME.
if (scoresIframe != null) {
document.body.removeChild(scoresIframe);
scoresIframe = null;
}
}
//---------------------------------------------------------------------
// Parses the scores page and updates the form with any new game
// results.
//---------------------------------------------------------------------
function processScores() {
// Get the document loaded in the iframe.
var doc = scoresIframe.scoresDoc;
// Scan the document for final game results. Below is the basic
// pattern searched for. There should be one of these for each
// game:
//
// <div class="new-score-box">
// <div class="team-wrapper">
// <div class="away-team">
// <a href="/teams/profile?team=AWAY_ID" ...>...</a>
// <div class="team-data">
// <div class="team-info">
// <p class="team-record">...</p>
// <p class="team-name"><a href="/teams/profile?team=AWAY_ID" ...>...</a></p>
// </div>
// <p class="total-score">AWAY_SCORE</p>
// <p class="quarters-score"><span class="first-qt">nn</span><span class="second-qt">nn</span><span class="third-qt">nn</span><span class="fourth-qt">nn</span><span class="ot-qt">nn</span></p>
// </div>
// </div>
// </div>
// <div class="team-wrapper">
// <div class="home-team">
// <a href="/teams/profile?team=HOME_ID" ...>...</a>
// <div class="team-data">
// <div class="team-info">
// <p class="team-record">...</p>
// <p class="team-name"><a href="/teams/profile?team=HOME_ID" ...>...</a></p>
// </div>
// <p class="total-score">HOME_SCORE</p>
// <p class="quarters-score"><span class="first-qt">nn</span><span class="second-qt">nn</span><span class="third-qt">nn</span><span class="fourth-qt">nn</span><span class="ot-qt">nn</span></p>
// </div>
// </div>
// </div>
// <div class="game-center-area">
// ...
// <p><span class="time-left">FINAL</span></p>
// ...
// </div>
// ...
// </div>
var vid, hid, vscore, hscore, ot;
var s
var el, el2;
var vn, hn;
var divEls = doc.getElementsByTagName("DIV");
for (var i = 0; i < divEls.length; i++) {
// Is this a "new-score-box" DIV?
if (domUtils.hasClass(divEls[i], "new-score-box")) {
vid = "";
hid = "";
vscore = "";
hscore = "";
ot = false;
el = getFirstSubTagWithClass(divEls[i], "SPAN", "time-left");
if (el) {
// Is the score final?
s = el.firstChild.nodeValue;
if (s != null) {
if ((s != null) && (s.toLowerCase() == "final")) {
// Get visitor team data.
el = getFirstSubTagWithClass(divEls[i], "DIV", "away-team");
el2 = getFirstSubTagWithClass(el, "P", "team-name");
el2 = getFirstSubTag(el2, "A");
if (el2)
vid = getQueryStringParameter(el2.search, "team");
el2 = getFirstSubTagWithClass(el, "P", "total-score");
if (el2 && el2.firstChild)
vscore = el2.firstChild.nodeValue;
el2 = getFirstSubTagWithClass(el, "P", "quarters-score");
el2 = getFirstSubTagWithClass(el2, "SPAN", "ot-qt");
vn = null;
if (el2 && el2.firstChild)
vn = el2.firstChild.nodeValue;
// Get home team data.
el = getFirstSubTagWithClass(divEls[i], "DIV", "home-team");
el2 = getFirstSubTagWithClass(el, "P", "team-name");
el2 = getFirstSubTag(el, "A");
if (el2)
hid = getQueryStringParameter(el2.search, "team");
el2 = getFirstSubTagWithClass(el, "P", "total-score");
if (el2 && el2.firstChild)
hscore = el2.firstChild.nodeValue;
el2 = getFirstSubTagWithClass(el, "P", "quarters-score");
el2 = getFirstSubTagWithClass(el2, "SPAN", "ot-qt");
hn = null;
if (el2 && el2.firstChild)
hn = el2.firstChild.nodeValue;
// Check for overtime.
if (vn && !isNaN(vn) && hn && !isNaN(hn))
ot = true;
// Fix team IDs.
if (vid == "JAC")
vid = "JAX";
if (hid == "JAC")
hid = "JAX";
// Save the results.
gameData.push({
"visitorID" : vid,
"visitorScore" : vscore,
"homeID" : hid,
"homeScore" : hscore,
"overtime" : ot
});
}
}
}
}
}
// Copy any new results to the appropriate form fields and reset
// the display.
setGameFields();
if (foundNewResults) {
hideLoadingDisplay();
// If auto-update is on, submit the form to update the scores.
if (autoUpdate) {
// Add a new submit button to the form and click it to
// perform the update.
var inputEl = document.createElement("INPUT");
inputEl.name = "submit";
inputEl.type = "submit";
inputEl.value = "Update";
inputEl = formEl.appendChild(inputEl);
inputEl.click();
}
}
else {
showLoadingDisplay("loadingComplete");
// Handle auto-update.
if (autoUpdate) {
setTimeout(hideLoadingDisplay, autoUpdateDialogTimeout);
// Determine if any scores are still missing.
var missingScores = false;
for (i = 0; i < gameFields.length && !missingScores; i++)
if (gameFields[i].visitorScoreEl.value == "" || gameFields[i].homeScoreEl.value == "")
missingScores = true;
// If there are missing scores, set for the next attempt.
// Otherwise off turn auto-update.
if (missingScores)
autoUpdateLoadTimeoutID = setTimeout(getScores, autoUpdateLoadTimeout);
else
stopAutoUpdate();
}
}
}
//---------------------------------------------------------------------
// Given an element, finds the first occurrence of the given tag with
// the given class name in its descendants.
//---------------------------------------------------------------------
function getFirstSubTagWithClass(el, tName, cName) {
if (el != null) {
var elList = el.getElementsByTagName(tName);
for (var i = 0; i < elList.length; i++)
if (domUtils.hasClass(elList[i], cName))
return elList[i];
}
return null;
}
//---------------------------------------------------------------------
// Given an element, finds the first occurrence of the given tag in
// its descendants.
//---------------------------------------------------------------------
function getFirstSubTag(el, tName) {
if (el != null) {
var elList = el.getElementsByTagName(tName);
if (elList.length > 0)
return elList[0];
}
return null;
}
//---------------------------------------------------------------------
// Given a url, returns the value assigned to the given query string
// parameter.
//---------------------------------------------------------------------
function getQueryStringParameter(qs, pName) {
var re = new RegExp( "[?&]" + pName + "=([^&$]*)", "i" );
var offset = qs.search(re);
if (offset == -1)
return "";
return RegExp.$1;
}
//---------------------------------------------------------------------
// Takes the parsed game results and updates the appropriate form
// fields.
//---------------------------------------------------------------------
function setGameFields() {
// For each game result found, find a matching set of form fields
// to load the data into.
if (gameData.length > 0) {
resultMsg = "All game results are up to date.";
for (var i = 0; i < gameFields.length; i++)
for (var j = 0; j < gameData.length; j++)
// Check if the teams match.
if (gameFields[i].visitorID == gameData[j].visitorID && gameFields[i].homeID == gameData[j].homeID)
{
// Set the individual form fields.
setFormField(gameFields[i].visitorScoreEl, gameData[j].visitorScore);
setFormField(gameFields[i].homeScoreEl, gameData[j].homeScore);
setFormField(gameFields[i].overtimeEl, gameData[j].overtime);
break;
}
}
else
resultMsg = "No results available, try again later.";
}
//---------------------------------------------------------------------
// Updates a single form field with the given value (if that value is
// different from the field's current value).
//---------------------------------------------------------------------
function setFormField(fieldEl, newValue) {
// Compare the old and new values.
var oldValue = fieldEl.value;
if (fieldEl.type == "checkbox")
oldValue = fieldEl.checked;
// If the values are the same, exit.
if (oldValue == newValue)
return;
// Set the form field value and highlight it.
if (fieldEl.type == "checkbox") {
fieldEl.checked = newValue;
domUtils.addClass(fieldEl.parentNode, "fieldLoaded");
}
else {
fieldEl.value = newValue;
domUtils.addClass(fieldEl, "fieldLoaded");
}
// Note that we have new results.
foundNewResults = true;
}
//---------------------------------------------------------------------
// Shows the loading display with the specified message box.
//---------------------------------------------------------------------
function showLoadingDisplay(id) {
// Hide all the message boxes.
document.getElementById("loadingActive").style.display = "none";
document.getElementById("loadingComplete").style.display = "none";
document.getElementById("loadingError").style.display = "none";
// Set the result and error messages.
var el = document.getElementById("loadingResultMsg");
while (el.firstChild != null)
el.removeChild(el.firstChild);
document.getElementById("loadingResultMsg").appendChild(document.createTextNode(resultMsg));
var el = document.getElementById("loadingErrorMsg");
while (el.firstChild != null)
el.removeChild(el.firstChild);
document.getElementById("loadingErrorMsg").appendChild(document.createTextNode(errorMsg));
// Show the specified message box.
el = document.getElementById(id);
if (el != null)
el.style.display = "";
// Make it visible.
document.getElementById("loadingDisplay").style.visibility = "visible";
}
//---------------------------------------------------------------------
// Hides the loading display.
//---------------------------------------------------------------------
function hideLoadingDisplay() {
document.getElementById("loadingDisplay").style.visibility = "hidden";
}
//---------------------------------------------------------------------
// Turns auto-update off.
//---------------------------------------------------------------------
function stopAutoUpdate() {
// Cancel any pending attempt.
if (autoUpdateLoadTimeoutID != null) {
clearTimeout(autoUpdateLoadTimeoutID);
autoUpdateLoadTimeoutID = null;
}
// Set the flag to false and clear the checkbox.
autoUpdate = false;
formEl.elements["autoUpdate"].checked = false;
}
//=====================================================================
// Initialization code.
//=====================================================================
// Initialize on page load.
domUtils.onready(init);
//=====================================================================
// Public properties and methods.
//=====================================================================
return {
//-----------------------------------------------------------------
// Loads game scores for the given week.
//-----------------------------------------------------------------
load : function () {
// Turn off auto-update, if it is on.
if (autoUpdate)
stopAutoUpdate();
getScores();
return false;
},
//-----------------------------------------------------------------
// Cancels a load.
//-----------------------------------------------------------------
cancel : function () {
getScoresCleanUp();
hideLoadingDisplay();
// If auto-update is on, turn it off.
if (autoUpdate)
stopAutoUpdate();
return false;
},
//-----------------------------------------------------------------
// Closes the load display.
//-----------------------------------------------------------------
close : function () {
hideLoadingDisplay();
return false;
},
//-----------------------------------------------------------------
// Toggles auto-update.
//-----------------------------------------------------------------
toggleAutoUpdate : function () {
// If auto-update is on, turn it off. Otherwise, turn it on and
// make an attempt.
if (autoUpdate)
stopAutoUpdate();
else {
autoUpdate = true;
getScores();
}
// Allow the check box to change.
return true;
}
}
}();
//]]></script>
<% end if %>
<!-- #include file="includes/custom.asp" -->
</head>
<body>
<!-- #include file="includes/header.asp" -->
<!-- #include file="includes/menu.asp" -->
<div id="contentSection">
<table id="mainWrapper" border="0" cellpadding="0" cellspacing="0"><tr><td>
<% 'Get the week to display.
dim week
week = GetRequestedWeek()
'If there is form data, process it.
dim n, i
dim gameID, vscore, hscore, ot
dim notify, infoMsg
dim sql, rs
n = GetGameCount(week, false)
if Request.ServerVariables("Content_Length") > 0 and not IsCancelRequest() then
for i = 1 to n
'Get the form fields.
gameID = Trim(Request.Form("id-" & i))
vscore = Trim(Request.Form("vscore-" & i))
hscore = Trim(Request.Form("hscore-" & i))
ot = Trim(Request.Form("ot-" & i))
'Validate the form fields.
if vscore <> "" or hscore <> "" or ot <> "" then
if not IsValidInteger(vscore) then
FormFieldErrors.Add "vscore-" & i, "'" & vscore & "' is not a valid game score."
else
if CInt(vscore) < 0 then
FormFieldErrors.Add "vscore-" & i, "'" & vscore & "' is not a valid game score."
end if
end if
if not IsValidInteger(hscore) then
FormFieldErrors.Add "hscore-" & i, "'" & hscore & "' is not a valid game score."
else
if CInt(hscore) < 0 then
FormFieldErrors.Add "hscore-" & i, "'" & hscore & "' is not a valid game score."
end if
end if
end if
next
'If there were any errors, display the error summary message.
'Otherwise, do the updates.
if FormFieldErrors.Count > 0 then
call DisplayFormFieldErrorsMessage("Error: Invalid fields. Please correct and resubmit.")
else
for i = 1 to n
gameID = Trim(Request.Form("id-" & i))
vscore = Trim(Request.Form("vscore-" & i))
hscore = Trim(Request.Form("hscore-" & i))
ot = Trim(Request.Form("ot-" & i))
if LCase(ot) <> "true" then
ot = false
end if
'Update the scores.
if vscore = "" then
vscore ="NULL"
end if
if hscore = "" then
hscore ="NULL"
end if
sql = "UPDATE Schedule SET" _
& " VisitorScore = " & vscore & "," _
& " HomeScore = " & hscore & "," _
& " OT = " & ot _
& " WHERE GameID = " & gameID
call DbConn.Execute(sql)
'Update the results.
call SetGameResults(gameID)
next
'Clear any cached pool results.
call ClearWeeklyResultsCache(week)
if ENABLE_MARGIN_POOL then
call ClearMarginResultsCache(week)
end if
if ENABLE_SURVIVOR_POOL then
call ClearSurvivorStatus(week)
end if
'Send out email notifications, if checked.
infoMsg = "Update successful."
notify = Trim(Request.Form("notify"))
if LCase(notify) = "true" then
infoMsg = "Update successful, notifications sent."
call SendNotifications()
end if
'Updates done, show an informational message.
call DisplaySuccessMessage(infoMsg)
end if
end if
'Display the schedule for the specified week.
dim cols
cols = 9
if USE_POINT_SPREADS then
cols = cols + 1
end if %>
<form id="scoresForm" action="<% = Request.ServerVariables("SCRIPT_NAME") %>" method="post">
<div><input type="hidden" name="week" value="<% = week %>" /></div>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="padding: 0px;">
<table class="main" border="0" cellpadding="0" cellspacing="0">
<tr class="header bottomEdge">
<th align="left" colspan="<% = cols %>">Week <% = week %></th>
</tr>
<% if ENABLE_SCORES_ADDON then
dim autoUpdate, missingScores
autoUpdate = false
missingScores = false
end if
dim gameDate, gameTime, vid, hid
dim visitor, home, result, checkedStr
dim spread, atsResult
dim alt
set rs = GetGamesRecordset(week, false)
if not (rs.EOF and rs.BOF) then
n = 1
alt = false
do while not rs.EOF
gameID = rs.Fields("GameID").Value
gameDate = rs.Fields("Date").Value
gameTime = rs.Fields("Time").Value
vid = rs.Fields("VisitorID").Value
vscore = rs.Fields("VisitorScore").Value
spread = rs.Fields("PointSpread").Value
hid = rs.Fields("HomeID").Value
hscore = rs.Fields("HomeScore").Value
ot = rs.Fields("OT").Value
result = rs.Fields("Result").Value
atsResult = rs.Fields("ATSResult").Value
visitor = rs.Fields("VCity").Value
home = rs.Fields("HCity").Value
if ENABLE_SCORES_ADDON then
if IsNull(vscore) or IsNull(hscore) then
missingScores = true
end if
end if
'Set the team names for display.
if rs.Fields("VDisplayName").Value <> "" then
visitor = rs.Fields("VDisplayName").Value
end if
if rs.Fields("HDisplayName").Value <> "" then
home = rs.Fields("HDisplayName").Value
end if
'Highlight the results.
if result = vid then
visitor = FormatWinner(visitor)
elseif result = hid then
home = FormatWinner(home)
end if
if atsResult = vid then
visitor = FormatATSWinner(visitor)
elseif atsResult = hid then
home = FormatATSWinner(home)
end if
'If there were errors on the form post processing, restore those fields.
if FormFieldErrors.Count > 0 then
vscore = GetFieldValue("vscore-" & n, vscore)
hscore = GetFieldValue("hscore-" & n, hscore)
ot = FormFieldExists("ot-" & n)
end if
'Set the OT checkbox state.
checkedStr = ""
if ot then
checkedStr = CHECKED_ATTRIBUTE
end if
if alt then %>
<tr align="right" class="alt">
<% else %>
<tr align="right">
<% end if
alt = not alt %>
<% if ENABLE_SCORES_ADDON then %>
<td><input type="hidden" name="id-<% = n %>" value="<% = gameID %>" /><input type="hidden" name="vid-<% = n %>" value="<% = vid %>" /><input type="hidden" name="hid-<% = n %>" value="<% = hid %>" /><% = WeekdayName(Weekday(gameDate), true) %></td>
<% else %>
<td><input type="hidden" name="id-<% = n %>" value="<% = gameID %>" /><% = WeekdayName(Weekday(gameDate), true) %></td>
<% end if %>
<td><% = FormatDate(gameDate) %></td>
<td><% = FormatTime(gameTime) %></td>
<td align="left"><% call DisplayTeamLogo(vid) %><% = visitor %></td>
<td><input type="text" name="vscore-<% = n %>" value="<% = vscore %>" size="2" class="<% = StyleFormField("numeric", "vscore-" & n) %>" /></td>
<% if USE_POINT_SPREADS then %>
<td><% = FormatPointSpread(spread) %></td>
<% end if %>
<td>at</td>
<td align="left"><% call DisplayTeamLogo(hid) %><% = home %></td>
<td><input type="text" name="hscore-<% = n %>" value="<% = hscore %>" size="2" class="<% = StyleFormField("numeric", "hscore-" & n) %>" /></td>
<td><label for="ot-<% = n %>"><span class="small">OT</span></label> <span class="fieldWrapper"><input type="checkbox" id="ot-<% = n %>" name="ot-<% = n %>" value="true"<% = checkedStr %> /></span></td>
</tr>
<% rs.MoveNext
n = n + 1
loop
if SERVER_EMAIL_ENABLED then %>
<tr class="subHeader topEdge">
<th align="left" colspan="<% = cols %>"><input type="checkbox" id="notify" name="notify" value="true" /> <label for="notify">Send update notification to users.</label></th>
</tr>
<% end if %>
</table>
<% 'List open dates.
call DisplayOpenDates(week)
end if
if ENABLE_SCORES_ADDON then
'If this was an auto-update post, turn the option on again but only if
'there are still scores to get.
autoUpdate = FormFieldExists("autoUpdate")
if IsCancelRequest() or not missingScores then
autoUpdate = false
end if %>
<p></p>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%;">
<tr valign="middle">
<td style="padding: 0px;"><input type="submit" id="updateButton" name="submit" value="Update" class="button" /> <input type="submit" name="submit" value="Cancel" class="button" /></td>
<td align="right" style="padding: 0px;"><input type="checkbox" id="autoUpdate" name="autoUpdate" value="true"<% if autoUpdate then Response.Write(" checked=""checked""") end if %> onclick="return scoresLoader.toggleAutoUpdate();" /> <label for="autoUpdate">Auto-update</label> </td>
<td align="right" style="padding: 0px;"><input type="submit" name="submit" value="Load" class="button" onclick="return scoresLoader.load(<% = week %>);" /></td>
</tr>
</table>
<% else %>
<p><input type="submit" name="submit" value="Update" class="button" /> <input type="submit" name="submit" value="Cancel" class="button" /></p>
<% end if %>
</td></tr></table>
</form>
<% 'List links to view other weeks.
call DisplayGoToNavigation("week", GetWeekCount(), "") %>
</td></tr></table>
</div>
<!-- #include file="includes/footer.asp" -->
<% if ENABLE_SCORES_ADDON then %>
<div id="loadingDisplay" style="visibility: hidden;">
<div id="loadingDialog">
<div id="loadingActive">
<h2><em>Loading...</em></h2>
<form action="#" method="post" onsubmit="return false;">
<p><img src="graphics/loading.gif" alt="" /></p>
<p><input type="submit" name="submit" value="Cancel" class="button" onclick="return scoresLoader.cancel();" /></p>
</form>
</div>
<div id="loadingComplete">
<h2>Load Complete</h2>
<form action="#" method="post" onsubmit="return false;">
<div class="successMsg"><div><span id="loadingResultMsg"></span></div></div>
<p><input type="submit" name="submit" value="Close" class="button" onclick="return scoresLoader.close();" /></p>
</form>
</div>
<div id="loadingError">
<h2>Load Failed</h2>
<form action="#" method="post" onsubmit="return false;">
<div class="errorMsg"><div><span id="loadingErrorMsg"></span></div></div>
<p><input type="submit" name="submit" value="Close" class="button" onclick="return scoresLoader.close();" /></p>
</form>
</div>
</div>
</div>
<% end if %>
</body>
</html>
<% '**************************************************************************
'* Local functions and subroutines. *
'**************************************************************************
'--------------------------------------------------------------------------
' Sends an email notification to any users who have elected to receive
' them.
'--------------------------------------------------------------------------
sub SendNotifications()
dim subj, body
dim rs
dim vscore, hscore
dim list, email
subj = "Football Pool Game Results Notification"
body = "Games results for Week " & week & " have been updated." & vbCrLf & vbCrLf
'Show results.
set rs = GetGamesRecordset(week, true)
do while not rs.EOF
vscore = ""
hscore = ""
if not IsNull(rs.Fields("Result").Value) then
vscore = " " & rs.Fields("VisitorScore").Value
hscore = " " & rs.Fields("HomeScore").Value
end if
body = body & rs.Fields("VisitorID").Value & vscore
if USE_POINT_SPREADS then
body = body & " (" & GetPlainTextPointSpread(rs.Fields("PointSpread").Value) & ")"
end if
body = body & " at " & rs.Fields("HomeID").Value & hscore
if rs.Fields("OT").Value then
body = body & " OT"
end if
body = body & vbCrLf
rs.moveNext
loop
list = GetNotificationList("NotifyOfResultUpdates")
for each email in list
call SendMail(email, subj, body)
next
end sub %>
Re: Auto Update not working
I think you need this part of the code:
To look like this:
Try that and let us know.
Phil
Code: Select all
// Is the score final?
s = el.firstChild.nodeValue;
if (s != null) {
if ((s != null) && (s.toLowerCase() == "final")) {
Code: Select all
// Is the score final?
s = el.firstChild.nodeValue;
if ((s != null) && ((s.trim().toLowerCase() == "final") || (s.trim().toLowerCase() == "final ot"))) {
Phil
Re: Auto Update not working
nope, auto update or the load button results in: "No results available, try again later."
I replaced it with your coding and I also changed:
var scoresUrlBase = "http://www.nfl.com/scores/2014/PRE"
to
var scoresUrlBase = "http://www.nfl.com/scores/2014/REG"
still no change
I replaced it with your coding and I also changed:
var scoresUrlBase = "http://www.nfl.com/scores/2014/PRE"
to
var scoresUrlBase = "http://www.nfl.com/scores/2014/REG"
still no change
Re: Auto Update not working
Hmm, I think you need to keep it as "PRE" and not "REG" for now as it is pre-season, but maybe I am thinking about it incorrectly, did you try it with my code fix and with it as "PRE" or only with my code change and "REG"?
Re: Auto Update not working
And sorry I can't test yet I don't have it loaded up yet, working on doing that, but have to wait on a buddy that has a web server that supports the .asp files to hook me up again this year.
Re: Auto Update not working
that did it. your fix plus changing back to PRE solved it, bad KC loss updated with LOAD button. I will test auto update after tonights game.
thanks
thanks
Re: Auto Update not working
Great, glad it is working. Come the "regular" season you will need to edit that back from "PRE" to "REG" then to get it pointed at the right location.
-
- Posts: 9
- Joined: Fri Oct 30, 2015 11:08 pm
Re: Auto Update not working
I will test auto update after tonights game.
ทางเข้า genting princess
ทางเข้า genting princess