function ratingData($item_id){
$inCore = cmsCore::getInstance();
$inDB = cmsDatabase::getInstance();
$sql = "SELECT *, IFNULL(AVG(points), 0) as rating, COUNT(id) as votes
FROM cms_uc_ratings
WHERE item_id = $item_id
GROUP BY item_id";
$result = $inDB->query($sql) ;
if ($inDB->num_rows($result)){
$data = $inDB->fetch_assoc($result);
} else {
$data['rating'] = 0;
$data['votes'] = 0;
}
return $data;
}
function buildRating($rating){
$inCore = cmsCore::getInstance();
$inDB = cmsDatabase::getInstance();
global $_LANG;
$rating = round($rating, 2); $html = '<a href="#" title="'.$_LANG['RATING'].': '.$rating.'">';
for($r = 1; $r < 5; $r++){
if (round($rating) > $r){ $html .= '<img src="/images/ratings/starfull.gif" border="0" style="padding:0;border:0;margin:0" />';
} else {
$html .= '<img src="/images/ratings/starhalf.gif" border="0" style="padding:0;border:0;margin:0" />';
}
}
$html .= '</a>';
return $html;
}
function alreadyVoted($item_id){
$inCore = cmsCore::getInstance();
$inDB = cmsDatabase::getInstance();
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "SELECT points FROM cms_uc_ratings WHERE item_id = $item_id AND ip = '$ip' LIMIT 1";
$result = $inDB->query($sql) ;
if ($inDB->num_rows($result)){
$data = $inDB->fetch_assoc($result);
return (int)$data['points'];
}
return false;
}
function ratingForm($ratingdata, $item_id){
$inCore = cmsCore::getInstance();
$inDB = cmsDatabase::getInstance();
$inUser = cmsUser::getInstance();
$userid=$inUser->id;
global $_LANG;
$html = '';
$html .= '<form name="rateform" action="" method="POST"><div class="uc_detailrating" style="margin:20px 0"><table><tr>' ."\n";
$html .= '<td width="90">'."\n";
$html .= '<strong>'.$_LANG['RATING'].':</strong> <span style="font-family:Georgia, Times New Roman, Times, serif; font-size:16px">'.round($ratingdata['rating'], 2).'</span>'."\n"; $html .= '</td>'."\n";
$html .= '<td width="100" valign="middle">'."\n";
$html .= buildRating($ratingdata['rating'])."\n";
$html .= '</td>'."\n";
$html .= '<td width="50">'."\n";
$html .= ''.$_LANG['VOTES'].': '."\n";
$html .= '</td>'."\n";
$html .= '<td width="40" valign="middle">'."\n";
$html .= '<span style="font-family:Georgia, Times New Roman, Times, serif; font-size:16px">'.$ratingdata['votes'].'</span>'."\n";
$html .= '</td>'."\n";
$userdata = $inDB->get_field('cms_uc_items', "id=$item_id", 'user_id');
if ($userdata==$userid) {} else {
$html .= '<td width="100">'."\n";
$html .= '<strong>'.$_LANG['YOUR_VOTE'].':</strong>'."\n";
$html .= '</td>'."\n";
$html .= '<td width="" align=left> '."\n";
$myvote = alreadyVoted($item_id);
if (!$myvote){
$html .= '<input type="hidden" name="rating" value="1"/>'."\n";
$html .= '<input type="hidden" name="item_id" value="'.$item_id.'"/>'."\n";
$html .= '<select name="points" style="width:50px" onchange="document.rateform.submit();">'."\n";
$html .= '<option value="-1"> -- </option>'."\n";
for($p=1; $p<=5; $p++) { $html .= '<option value="'.$p.'">'.$p.'</option>'."\n"; }
$html .= '</select>'."\n";
} else {
$html .= '<span style="font-family:Georgia, Times New Roman, Times, serif; font-size:16px">'.$myvote.'</span>';
}
$html .= '</td>'."\n";
}
$html .= '</tr></table></div></form>'."\n";
return $html;
}