<?php
/*******************************************************************************
 * Copyright (c) 2008 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
  *    Eclipse Foundation - initial API and implementation
*******************************************************************************/


require_once("frag_global.php");

$query = "SELECT value, quantity FROM scoreboard WHERE itemid = 'TOPTR' ORDER BY quantity DESC";

$res = mysqli_query($dbh, $query);

?>
<div id="top-translators-area">
	<h2>Top Translators</h2>
	<dl>
	<?php
		while($row = mysqli_fetch_assoc($res)) {
			echo "<dt>" . $row['value'] . "</dt>";
			echo "<dd>" . $row['quantity'] . "</dd>";
		}
	?>
	</dl>
	<br />
	<a href="stats.php">More stats...</a>
</div>

<br style='clear: both;'>
