<?
function getRating($name){
$total = 0;
$rows = 0;
$sel = mysql_query("SELECT rating_num FROM ratings WHERE rating_id = '$name'");
$total = $total + $data['rating_num'];
$rows++;
}
$perc = ($total/$rows) * 20;
//$newPerc = round($perc/5)*5;
//return $newPerc.'%';
$newPerc = round($perc,2
); return $newPerc.'%';
} else {
return '0%';
}
}
function outOfFive($name){
$name = $_SERVER['REQUEST_URI'];
$total = 0;
$rows = 0;
$sel = mysql_query("SELECT rating_num FROM ratings WHERE rating_id = '$name'");
$total = $total + $data['rating_num'];
$rows++;
}
$perc = ($total/$rows);
//return round(($perc*2), 0)/2; // 3.5
} else {
return '0';
}
}
function getVotes($name){
$name = $_SERVER['REQUEST_URI'];
$sel = mysql_query("SELECT rating_num FROM ratings WHERE rating_id = '$name'"); if($rows == 0){
$votes = '0 Votes';
}
else if($rows == 1){
$votes = '1 Vote';
} else {
$votes = $rows.' Votes';
}
return $votes;
}
add_shortcode('rater', 'pullRating');
function pullRating($attr){
$name = $attr['name'];
$show5 = $attr['show5'];
$showPerc=$attr['showPerc'];
$showVotes=$attr['showVotes'];
$static= $attr['static'];
// Check if they have already voted...
$text = '';
$sel = mysql_query("SELECT id FROM ratings WHERE IP = '".$_SERVER['REMOTE_ADDR']."' AND rating_id = '$name'");
if($show5 || $showPerc || $showVotes){
$text .= '<div class="rated_text">';
}
if($show5){
$text .= 'Rated <span id="outOfFive_'.$name.'" class="out5Class">'.outOfFive($name).'</span>/5';
}
if($showPerc){
$text .= ' (<span id="percentage_'.$name.'" class="percentClass">'.getRating($name).'</span>)';
}
if($showVotes){
$text .= ' (<span id="showvotes_'.$name.'" class="votesClass">'.getVotes($name).'</span>)';
}
if($show5 || $showPerc || $showVotes){
$text .= '</div>';
}
return $text.'
<ul class="star-rating2" id="rater_'.$name.'">
<li class="current-rating" style="width:'.getRating($name).';" id="ul_'.$name.'"></li>
<li><a onclick="return false;" href="#" title="1 star out of 5" class="one-star" >1</a></li>
<li><a onclick="return false;" href="#" title="2 stars out of 5" class="two-stars">2</a></li>
<li><a onclick="return false;" href="#" title="3 stars out of 5" class="three-stars">3</a></li>
<li><a onclick="return false;" href="#" title="4 stars out of 5" class="four-stars">4</a></li>
<li><a onclick="return false;" href="#" title="5 stars out of 5" class="five-stars">5</a></li>
</ul>
<div id="loading_'.$name.'"></div>';
} else {
if($show5 || $showPerc || $showVotes){
$text .= '<div class="rated_text">';
}
if($show5){
$show5bool = 'true';
$text .= 'Rated <span id="outOfFive_'.$name.'" class="out5Class">'.outOfFive($name).'</span>/5';
} else {
$show5bool = 'false';
}
if($showPerc){
$showPercbool = 'true';
$text .= ' (<span id="percentage_'.$name.'" class="percentClass">'.getRating($name).'</span>)';
} else {
$showPercbool = 'false';
}
if($showVotes){
$showVotesbool = 'true';
$text .= ' (<span id="showvotes_'.$name.'" class="votesClass">'.getVotes($name).'</span>)';
} else {
$showVotesbool = 'false';
}
if($show5 || $showPerc || $showVotes){
$text .= '</div>';
}
return $text.'
<ul class="star-rating" id="rater_'.$name.'">
<li class="current-rating" style="width:'.getRating($name).';" id="ul_'.$name.'"></li>
<li><a onclick="rate(\'1\',\''.$name.'\','.$show5bool.','.$showPercbool.','.$showVotesbool.'); return false;" href="includes/rating_process.php?id='.$name.'&rating=1" title="1 star out of 5" class="one-star" >1</a></li>
<li><a onclick="rate(\'2\',\''.$name.'\','.$show5bool.','.$showPercbool.','.$showVotesbool.'); return false;" href="includes/rating_process.php?id='.$name.'&rating=2" title="2 stars out of 5" class="two-stars">2</a></li>
<li><a onclick="rate(\'3\',\''.$name.'\','.$show5bool.','.$showPercbool.','.$showVotesbool.'); return false;" href="includes/rating_process.php?id='.$name.'&rating=3" title="3 stars out of 5" class="three-stars">3</a></li>
<li><a onclick="rate(\'4\',\''.$name.'\','.$show5bool.','.$showPercbool.','.$showVotesbool.'); return false;" href="includes/rating_process.php?id='.$name.'&rating=4" title="4 stars out of 5" class="four-stars">4</a></li>
<li><a onclick="rate(\'5\',\''.$name.'\','.$show5bool.','.$showPercbool.','.$showVotesbool.'); return false;" href="includes/rating_process.php?id='.$name.'&rating=5" title="5 stars out of 5" class="five-stars">5</a></li>
</ul>
<div id="loading_'.$name.'"></div>';
}
}
// Added in version 1.5
// Fixed sort in version 1.7
function getTopRated($limit, $table, $namefield, $namefield){
$name = $_SERVER['REQUEST_URI'];
$result = '';
$sql = "SELECT COUNT(ratings.id) as rates,ratings.rating_id,".$table.".".$namefield." as thenamefield,ROUND(AVG(ratings.rating_num),2) as rating
FROM ratings,".$table." WHERE ".$table.".".$namefield." = ratings.rating_id GROUP BY rating_id
ORDER BY rates DESC,rating DESC LIMIT ".$limit."";
$result .= '<ul class="topRatedList">'."\n";
$result .= '<li>'.$data['thenamefield'].' ('.$data['rating'].')</li>'."\n";
}
$result .= '</ul>'."\n";
return $result;
}
?>