Correct some bugs in Team class.
This commit is contained in:
parent
3d5c762d7c
commit
a767c4d900
@ -2,6 +2,16 @@
|
|||||||
|
|
||||||
if(!defined('ONYX')) exit;
|
if(!defined('ONYX')) exit;
|
||||||
|
|
||||||
|
function cmp_team_pts($i1, $i2)
|
||||||
|
{
|
||||||
|
if ($i1->get_pts() == $i2->get_pts()){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return ($i1->get_pts() < $i2->get_pts()) ? 1 : -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class Team
|
class Team
|
||||||
{
|
{
|
||||||
var $id = null;
|
var $id = null;
|
||||||
@ -24,6 +34,7 @@ class Team
|
|||||||
|
|
||||||
if (!empty($res))
|
if (!empty($res))
|
||||||
{
|
{
|
||||||
|
$this->id = $res['id'];
|
||||||
$this->firstname = $res['firstname'];
|
$this->firstname = $res['firstname'];
|
||||||
$this->lastname = $res['lastname'];
|
$this->lastname = $res['lastname'];
|
||||||
$this->username = $res['username'];
|
$this->username = $res['username'];
|
||||||
@ -94,15 +105,16 @@ class Team
|
|||||||
|
|
||||||
function get_pts()
|
function get_pts()
|
||||||
{
|
{
|
||||||
if(isset($this->points))
|
if(!isset($this->points))
|
||||||
{
|
{
|
||||||
$db = new BDD();
|
$db = new BDD();
|
||||||
|
|
||||||
$res = $db->query("SELECT e.id, s.id_user, SUM(e.points) as sum_points
|
$res = $db->unique_query("SELECT e.id, s.id_user, SUM(e.points) as sum_points
|
||||||
FROM exercices e
|
FROM exercices e
|
||||||
LEFT OUTER JOIN solved s ON e.id = s.id_exercice
|
LEFT OUTER JOIN solved s ON e.id = s.id_exercice
|
||||||
WHERE s.id_user = " . intval($this->id) . "
|
WHERE s.id_user = " . $this->id . "
|
||||||
GROUP BY s.id_user");
|
GROUP BY s.id_user");
|
||||||
|
|
||||||
$db->deconnexion();
|
$db->deconnexion();
|
||||||
|
|
||||||
if (!empty($res))
|
if (!empty($res))
|
||||||
@ -110,6 +122,8 @@ class Team
|
|||||||
$this->points = $res['sum_points'];
|
$this->points = $res['sum_points'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $this->points;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_groupIds()
|
function get_groupIds()
|
||||||
@ -145,19 +159,9 @@ class Team
|
|||||||
// TODO: Not tested, need feeding BDD
|
// TODO: Not tested, need feeding BDD
|
||||||
public static function get_top()
|
public static function get_top()
|
||||||
{
|
{
|
||||||
function cmp($i1, $i2)
|
$teams = Team::get_teams();
|
||||||
{
|
|
||||||
if ($i1->get_pts() == $i2->get_pts()){
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return ($i1->get_pts() < $i2->get_pts) ? -1 : 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$teams = $this->get_teams();
|
usort($teams, "cmp_team_pts");
|
||||||
|
|
||||||
usort($teams, "cmp");
|
|
||||||
return $teams;
|
return $teams;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user