Clearing an empty vote would result in a blank screen, instead redirect the

user to an appropriate page. Don't report that we removed votes for empty
slots.  Improve the message on the votestats page if there are no voting
results.
This commit is contained in:
Chris Morgan
2005-05-11 03:08:07 +00:00
committed by WineHQ
parent cdc1c129bd
commit a88e2d16da
2 changed files with 58 additions and 25 deletions

View File

@@ -83,7 +83,9 @@ function vote_remove($slot, $userId = null)
else
return;
}
query_appdb("DELETE FROM appVotes WHERE userId = $userId AND slot = $slot");
$sQuery="DELETE FROM appVotes WHERE userId = $userId AND slot = $slot";
query_appdb($sQuery);
}
@@ -149,7 +151,11 @@ function vote_update($vars)
if( !is_numeric($vars['appId']) OR !is_numeric($vars['slot']))
{
addmsg("No application or vote slot selected", "red");
if(is_numeric($vars['appId']))
redirect(apidb_fullurl("appview.php?appId=".$vars["appId"]));
else
redirect(apidb_fullurl("index.php"));
return;
}
@@ -157,16 +163,44 @@ function vote_update($vars)
{
addmsg("Registered vote for App #".$vars["appId"], "green");
vote_add($vars["appId"], $vars["slot"]);
redirect(apidb_fullurl("appview.php?appId=".$vars["appId"]));
}
else
if($vars["clear"])
} else if($vars["clear"])
{
/* see if we have a vote in this slot, if we don't there is */
/* little reason to remove it or even mention that we did anything */
if(is_vote_in_slot($vars["slot"]))
{
addmsg("Removed vote for App #".$vars["appId"], "green");
vote_remove($vars["slot"]);
redirect(apidb_fullurl("appview.php?appId=".$vars["appId"]));
addmsg("Removed vote for App #".$vars["appId"], "green");
}
}
redirect(apidb_fullurl("appview.php?appId=".$vars["appId"]));
}
// tell us if there is a vote in a given slot so we don't
// display incorrect information to the user or go
// through the trouble of trying to remove a vote that doesn't exist
function is_vote_in_slot($slot, $userId = null)
{
if(!$userId)
{
if($_SESSION['current']->isLoggedIn())
$userId = $_SESSION['current']->iUserId;
else
return;
}
$sQuery="SELECT COUNT(*) as count from appVotes WHERE userId = '".$userId."' AND slot = '".$slot."';";
if($hResult = query_appdb($sQuery))
{
$oRow = mysql_fetch_object($hResult);
if($oRow->count != 0)
return true;
else
return false;
}
return false;
}
?>

View File

@@ -185,11 +185,10 @@ if($result = query_appdb($sVoteQuery))
/* think that something went wrong with the server */
if($c == 1)
{
echo '<h2 align="center">No apps found in this category</h2>';
echo '<h2 align="center">No apps found in this category, please vote for your favorite apps!</h2>';
}
echo '<p align="center"><a href="help/?topic=voting">What does this screen mean?</a></p>';
}
apidb_footer();