This repository has been archived on 2025-05-24. You can view files and clone it, but cannot push or open issues or pull requests.
Files
qemudb/include/vote.php

183 lines
3.9 KiB
PHP
Raw Normal View History

<?php
2004-03-15 16:22:00 +00:00
/* max votes per user */
define('MAX_VOTES',3);
2004-03-15 16:22:00 +00:00
/**
2004-03-15 16:22:00 +00:00
* count the number of votes for appId by userId
*/
function vote_count($appId, $userId = null)
{
if(!$userId)
{
if($_SESSION['current']->isLoggedIn())
$userId = $_SESSION['current']->iUserId;
else
return 0;
}
$result = query_appdb("SELECT * FROM appVotes WHERE appId = $appId AND userId = $userId");
2004-03-15 16:22:00 +00:00
return mysql_num_rows($result);
}
/**
2004-03-15 16:22:00 +00:00
* total votes by userId
*/
function vote_count_user_total($userId = null)
{
if(!$userId)
{
if($_SESSION['current']->isLoggedIn())
$userId = $_SESSION['current']->iUserId;
else
return 0;
}
$result = query_appdb("SELECT * FROM appVotes WHERE userId = $userId");
2004-03-15 16:22:00 +00:00
return mysql_num_rows($result);
}
2004-03-15 16:22:00 +00:00
/*
* total votes for appId
*/
function vote_count_app_total($appId)
{
$result = query_appdb("SELECT * FROM appVotes WHERE appId = $appId");
2004-03-15 16:22:00 +00:00
return mysql_num_rows($result);
}
/**
2004-03-15 16:22:00 +00:00
* add a vote for appId
*/
function vote_add($appId, $slot, $userId = null)
{
if(!$userId)
{
if($_SESSION['current']->isLoggedIn())
$userId = $_SESSION['current']->iUserId;
2004-03-15 16:22:00 +00:00
else
return;
}
if($slot > MAX_VOTES)
return;
vote_remove($slot, $userId);
query_appdb("INSERT INTO appVotes VALUES (null, null, $appId, $userId, $slot)");
2004-03-15 16:22:00 +00:00
}
/**
* remove vote for a slot
2004-03-15 16:22:00 +00:00
*/
function vote_remove($slot, $userId = null)
2004-03-15 16:22:00 +00:00
{
2004-03-15 16:22:00 +00:00
if(!$userId)
{
if($_SESSION['current']->isLoggedIn())
$userId = $_SESSION['current']->iUserId;
2004-03-15 16:22:00 +00:00
else
return;
}
query_appdb("DELETE FROM appVotes WHERE userId = $userId AND slot = $slot");
2004-03-15 16:22:00 +00:00
}
2004-03-15 16:22:00 +00:00
function vote_get_user_votes($userId = null)
{
if(!$userId)
{
if($_SESSION['current']->isLoggedIn())
$userId = $_SESSION['current']->iUserId;
if(!$userId)
return array();
}
$result = query_appdb("SELECT * FROM appVotes WHERE userId = $userId");
2004-03-15 16:22:00 +00:00
if(!$result)
return array();
2004-03-15 16:22:00 +00:00
$obs = array();
while($ob = mysql_fetch_object($result))
$obs[$ob->slot] = $ob;
2004-03-15 16:22:00 +00:00
return $obs;
}
2004-03-15 16:22:00 +00:00
function vote_menu()
{
$m = new htmlmenu("Votes","updatevote.php");
$votes = vote_get_user_votes();
for($i = 1;$i <= MAX_VOTES; $i++)
{
if(isset($votes[$i]))
{
$appName = lookupAppName($votes[$i]->appId);
$str = "<a href='appview.php?appId=".$votes[$i]->appId."'> $appName</a>";
$m->add("<input type=radio name=slot value='$i'> ".$str);
}
else
$m->add("<input type=radio name=slot value='$i'> No App Selected");
}
2004-03-15 16:22:00 +00:00
$m->addmisc("&nbsp;");
$m->add("<input type=submit name=clear value=' Clear Vote ' class=votebutton>");
$m->add("<input type=submit name=vote value='Vote for App' class=votebutton>");
$m->addmisc("<input type=hidden name=appId value={$_REQUEST['appId']}>");
2004-03-15 16:22:00 +00:00
$m->add("View Results", BASE."votestats.php");
$m->add("Voting Help", BASE."help/?topic=voting");
2004-03-15 16:22:00 +00:00
$m->done(1);
}
function dump($arr)
{
while(list($key, $val) = each($arr))
{
echo "$key => $val <br>\n";
}
2004-03-15 16:22:00 +00:00
}
2004-03-15 16:22:00 +00:00
function vote_update($vars)
{
if(!$_SESSION['current']->isLoggedIn())
{
errorpage("You must be logged in to vote");
return;
}
2004-03-15 16:22:00 +00:00
dump($vars);
echo "<br>\n";
if( !is_numeric($vars['appId']) OR !is_numeric($vars['slot']))
{
addmsg("No application or vote slot selected", "red");
return;
}
2004-03-15 16:22:00 +00:00
if($vars["vote"])
{
addmsg("Registered vote for App #".$vars["appId"], "green");
vote_add($vars["appId"], $vars["slot"]);
}
else
if($vars["clear"])
{
addmsg("Removed vote for App #".$vars["appId"], "green");
vote_remove($vars["slot"]);
2004-03-15 16:22:00 +00:00
}
}
?>