Hi everyone, Can anyone help me understand this script.
Not sure what the $days,$m,$C mean at all.
but also i want to make it so that if a person voted already, to say already voted instead of showing the form again, but have no clue where to add it or how to make it.
ANy help would be great.
$days = 1;
$m = 20;
$C = 6;
@mysql_connect("localhost",$username,$password);
@mysql_select_db($database);
if($_POST['action'] == "doit")
{
if($_POST['rates']>0 && $_POST['rates']<11 && !empty($_POST['rateit_id']))
{
$ip = getenv("REMOTE_ADDR");
$query = "SELECT count(*) AS num FROM ratings WHERE (datum>SUBDATE(CURRENT_DATE(),INTERVAL ".$GLOBALS['days']." DAY) AND ip='$ip' AND article='".$_POST['rateit_id']."')";
$rs = mysql_query($query) or die("LINE 17:".mysql_error());
$as = mysql_fetch_array($rs);
if($as[num]==0)
mysql_query("INSERT INTO ratings VALUES(0,'".$_POST['rateit_id']."','".$_POST['rates']."','".$ip."',NOW())") or die(mysql_error());
//echo $as[num];
}
}
function ShowForm($id,$num,$rate_me="Rate Me",$rate_it="Rate!",$class="")
{
echo '<form action="'.$SCRIPT_NAME.'" method="post">';
echo '<select name="rates" class="'.$class.'">';
echo '<option value="x" selected>'.$rate_me.'</option>';
for($x=$num;$x>0;$x--)
echo '<option value="'.$x.'">'.$x.'</option>';
echo '</select>';
echo '<input type="hidden" name="rateit_id" value="'.$id.'">';
echo '<input type="hidden" name="action" value="doit"> ';
echo ' <input type="submit" value="'.$rate_it.'" class="'.$class.'">';
echo '</form>';
}
function NumRates($id)
{
$res = mysql_query("SELECT count(*) AS num FROM ratings WHERE article='".$id."'") or die("LINE 50:".mysql_error());
$ar = mysql_fetch_array($res);
if(empty($ar[num])) $ar[num] = "0";
return $ar[num];
}
function ShowResult($id)
{
$query = "SELECT COUNT(*) as num, ((COUNT(*)/(COUNT(*)+".$GLOBALS['m']."))*AVG(rate)+(".$GLOBALS['m']."/(COUNT(*)+".$GLOBALS['m']."))*".$GLOBALS['C'].") AS rate FROM ".$GLOBALS['table']." WHERE rate>0 AND rate<11 AND article=".$id;
$res = mysql_query($query) or die("<b>LINE 74</b>:".mysql_error());
$ar = mysql_fetch_array($res);
$procent = $ar[rate];
if(empty($procent) || $procent<0) $procent=0;
echo $procent;
}
function ShowStars($id,$width=20)
{
$query = "SELECT COUNT(*) as num, ((COUNT(*)/(COUNT(*)+".$GLOBALS['m']."))*AVG(rate)+(".$GLOBALS['m']."/(COUNT(*)+".$GLOBALS['m']."))*".$GLOBALS['C'].") AS rate FROM ".$GLOBALS['table']." WHERE rate>0 AND rate<11 AND article=".$id;
$res = mysql_query($query) or die("<b>LINE 85</b>:".mysql_error());
$ar = mysql_fetch_array($res);
$procent = (int) $ar[rate]+0.5;
if(empty($procent) || $procent<0) $procent=0;
for($x=1;$x<=$procent;$x++)
echo '<img src="./gfx/star1.jpg" alt="" width="'.$width.'"/>';
$io = $ar[rate] - (int)$ar[rate];
if($io>0.49) echo '<img src="./gfx/star2.jpg" alt="" width="'.$width.'"/>';
}