106 lines
4.5 KiB
PHP
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>
|