discourse-legacysite-perl/site/retailers/top_retailers_dan_only.php
2024-06-17 22:42:14 +10:00

122 lines
4.3 KiB
PHP

<?PHP include("config.php");
require_once("rating/classes/include.all.php");
include("rating/int.to.words.php");
if(is_logged_in($user)){
$username = base64_decode($_SESSION['user']);
if($username != "Slowman" && $username != "Rappstar") {
header('Location: '.$site_url);
exit();
}
} else {
header('Location: '.$site_url);
exit();
}
//weights
$w_respondents = 1;
$w_retailer_shopper_tags = 5;
$w_retailer_fitbikes = 10;
$w_retailer_motioncapture = 10;
$w_retailer_wetsuits = 2.5;
$w_retailer_bikes = 2.5;
$w_retailer_fist_names = 5;
$w_retailer_cart = 10;
$x_years_ago = time()-3*31556926;
$min_number_of_votes = 5;
$results = mysql_query("SELECT COUNT(DISTINCT(grr.rating_ip)) AS respondents, ROUND(AVG(grr.rating_vote), 2) AS score, COUNT(grr.rating_vote) AS votes, gr.retailer_id, gr.retailer_name, gr.retailer_address, gr.retailer_address_two, gr.retailer_city, gr.retailer_state, gr.retailer_zip, gr.retailer_phone, gr.retailer_fax, gr.retailer_email, gr.retailer_website, gr.retailer_cart, retailer_shopper_tags, retailer_fitbikes, retailer_motioncapture, retailer_wetsuits, retailer_bikes, retailer_fist_names FROM gforum_RetailersRating AS grr RIGHT JOIN gforum_Retailers AS gr ON gr.retailer_id = grr.rating_retailer_id WHERE grr.rating_date> ".$x_years_ago." GROUP BY grr.rating_retailer_id HAVING COUNT(grr.rating_vote) > ".$min_number_of_votes." ORDER BY score DESC, votes DESC");
$top_retailers = array();
while($row = mysql_fetch_array($results)) {
$row['weighted_score'] = $row['score']+$w_respondents*($row['respondents']);
$row['weighted_score'] = $row['weighted_score']+$w_retailer_cart*($row['retailer_cart']);
$row['weighted_score'] = $row['weighted_score']+$w_retailer_shopper_tags*substr_count($row['retailer_shopper_tags'], ',');
$row['weighted_score'] = $row['weighted_score']+$w_retailer_fitbikes*substr_count($row['retailer_fitbikes'], ',');
$row['weighted_score'] = $row['weighted_score']* $w_retailer_motioncapture+substr_count($row['retailer_motioncapture'], ',');
$row['weighted_score'] = $row['weighted_score']+$w_retailer_wetsuits*substr_count($row['retailer_wetsuits'], ',');
$row['weighted_score'] = $row['weighted_score']+$w_retailer_bikes*substr_count($row['retailer_bikes'], ',');
$row['weighted_score'] = $row['weighted_score']+$w_retailer_fist_names*substr_count($row['retailer_fist_names'], ',');
array_push($top_retailers, $row);
}
//sort the array by keyword match success instead of by date
function cmp($a, $b)
{
if ($a['weighted_score'] == $b['weighted_score']) {
return 0;
}
return ($a['weighted_score'] > $b['weighted_score']) ? -1 : 1;
}
usort($top_retailers, "cmp");
// set the page title
$pagetitle = "Top Retailers";
// set meta tags
$meta_keywords = "top ranked retailers";
$meta_description = "Top ranked triathlon retailers based on rankings submitted by the user.";
?>
<? include("include_common_head.php"); ?>
<? include("include_common_content.php"); ?>
<!-- Start outer -->
<div id="outer">
<!-- BODY -->
<div class="content">
<!-- LEFT COLUMN -->
<!-- End left column -->
<!-- Content col -->
<h1 class="content-title"><strong>Top Ranked Triathlon Retailers</strong></h1>
<div class="indent">
These rankings are compiled based off Slowtwitch.com's own scoring algorithm. The individual ranking - by stars - of each shop is still shown. But the list's ranking and the score shown on this page is the Slowtwitch.com score for each retailer.<br /><br />
<?
if($none == TRUE){
echo "No triathlon retailers have been entered yet.";
}
?>
<table border="0" cellspacing="0" cellpadding="1" width="580">
<?
$x = 0;
//while($row = mysql_fetch_array($results)
array_splice($top_retailers, 150);
foreach ($top_retailers AS $row){
$x++;
if($x == 1) { $max_score = $row['weighted_score']; }
if($x % 2 == 0){ $bg = '#dddddd'; }else{ $bg = '#eeeeee'; }
?>
<tr bgcolor="<? echo "$bg"; ?>">
<td>
<a class="sub-hdr" style="margin-left: 5px;" href="<? echo "individual.php?retailer_id=$row[retailer_id]"; ?>">
<? echo $row['retailer_name']."</a> - ".$row[retailer_city].", ".$row[retailer_state]." -"; ?> <? echo(round($row['weighted_score']*5.00/$max_score, 2)); ?>
</div></td></tr>
<? } ?>
</table>
</div>
<!-- End content col -->
</div>
<!-- End BODY -->
</div>
<!-- End Outer -->
<? include("include_common_footer.php"); ?>