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

106 lines
4.5 KiB
PHP

<?PHP include("config.php");
require_once("rating/classes/include.all.php");
include("rating/int.to.words.php");
//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"); ?>
<body class="listings">
<? include($common_path . "/ads/ad_wallpaper.html"); ?>
<div class="container">
<? include($common_path . "/templates/include_header.php"); ?>
<div class="main">
<div class="contentwrapper clearfix">
<? include("include_breadcrumb.php"); ?>
<section class="section listings section-has-widgets section-static remove-sidebar">
<div class="sidebar-b">
<? $selected_item = 'top' ?>
<? include("include_sidebar.php"); ?>
</div>
<div class="content content-has-widgets">
<div class="grid">
<div class="clearfix">
<h1>Top Ranked Triathlon Retailers</h1>
<hr class="line" />
<? include("../runshops/include_region_list.php"); ?>
<p>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.</p>
<?
if($none == TRUE){
echo "No triathlon retailers have been entered yet.";
}
?>
<?
$x = 0;
array_splice($top_retailers, 10);
foreach ($top_retailers AS $row) {
$x++;
if ($x == 1) { $max_score = $row['weighted_score']; }
include("include_store.php");
}
?>
</div><!-- end col-2/3 -->
</div><!-- end grid -->
</div><!-- end content -->
</section>
</div><!-- end contentwrapper -->
</div> <!-- end main -->
<? include($common_path . "/templates/include_footer.php") ?>
</div> <!-- container -->
</body>
<? include($common_path . "/templates/include_global_js.php") ?>
</html>