forked from science-ation/science-ation
b9bcb127a6
award_awards award_prizes award_types award_awards_projectcategories award_awards_projectdivisions winners students projects registrations Also modified all code that uses those tables to work with the conference id instead of the year, with the exception of these files: communication.inc.php reports_students.inc.php rerollprizes.php remote.php The "rerollprizes.php" probably doesn't matter, having been a one-time usage file anyway. The others will need to be modified in the future to correctly use the conference id instead of the year.
271 lines
6.3 KiB
PHP
271 lines
6.3 KiB
PHP
<?
|
|
function getJudgingTeams()
|
|
{
|
|
global $config, $conference;
|
|
|
|
$q=mysql_query("SELECT judges_teams.id,
|
|
judges_teams.num,
|
|
judges_teams.name
|
|
FROM
|
|
judges_teams
|
|
WHERE
|
|
judges_teams.conferences_id='".$conference['id']."'
|
|
ORDER BY
|
|
num,name
|
|
");
|
|
|
|
$lastteamid=-1;
|
|
$lastteamnum=-1;
|
|
echo mysql_error();
|
|
$teams=array();
|
|
while($r=mysql_fetch_object($q))
|
|
{
|
|
$teams[$r->id]['id']=$r->id;
|
|
$teams[$r->id]['num']=$r->num;
|
|
$teams[$r->id]['name']=$r->name;
|
|
$lastteamid=$r->id;
|
|
$lastteamnum=$r->num;
|
|
|
|
/* Load timeslots */
|
|
$rounds = array();
|
|
$tq = mysql_query("SELECT * FROM judges_teams_timeslots_link
|
|
LEFT JOIN judges_timeslots ON judges_timeslots.id=judges_teams_timeslots_link.judges_timeslots_id
|
|
WHERE judges_teams_timeslots_link.judges_teams_id='{$r->id}'");
|
|
$teams[$r->id]['timeslots'] = array();
|
|
$teams[$r->id]['rounds'] = array();
|
|
while($ts = mysql_fetch_assoc($tq)) {
|
|
$teams[$r->id]['timeslots'][] = $ts;
|
|
$rounds[$ts['round_id']] = $ts['round_id'];
|
|
}
|
|
foreach($rounds as $round_id) {
|
|
$tq = mysql_query("SELECT * FROM judges_timeslots WHERE id='{$round_id}'");
|
|
$teams[$r->id]['rounds'][] = mysql_fetch_assoc($tq);
|
|
}
|
|
|
|
//get the members for this team
|
|
$mq=mysql_query("SELECT
|
|
users.id AS judges_id,
|
|
users.firstname,
|
|
users.lastname,
|
|
judges_teams_link.captain
|
|
|
|
FROM
|
|
users,
|
|
judges_teams_link
|
|
WHERE
|
|
judges_teams_link.users_id=users.id AND
|
|
judges_teams_link.judges_teams_id='$r->id'
|
|
ORDER BY
|
|
captain DESC,
|
|
lastname,
|
|
firstname");
|
|
echo mysql_error();
|
|
|
|
|
|
$teamlangs=array();
|
|
while($mr=mysql_fetch_object($mq))
|
|
{
|
|
$u = user_load($mr->judges_id, false);
|
|
$judgelangs = join('/', $u['languages']);
|
|
foreach($u['languages'] AS $l) {
|
|
if(!in_array($l,$teamlangs))
|
|
$teamlangs[]=$l;
|
|
}
|
|
|
|
$teams[$lastteamid]['members'][]=array(
|
|
"id"=>$mr->judges_id,
|
|
"firstname"=>$mr->firstname,
|
|
"lastname"=>$mr->lastname,
|
|
"captain"=>$mr->captain,
|
|
"languages"=>$judgelangs,
|
|
"languages_array"=>$u['languages']
|
|
);
|
|
}
|
|
$teams[$r->id]['languages_members']=$teamlangs;
|
|
|
|
//we also need to add all the languages that the team must JUDGE to the teams languages.
|
|
$lq=mysql_query("SELECT projects.language
|
|
FROM judges_teams_timeslots_projects_link
|
|
LEFT JOIN projects ON judges_teams_timeslots_projects_link.projects_id=projects.id
|
|
WHERE judges_teams_timeslots_projects_link.conferences_id='{$conference['id']}' AND
|
|
judges_teams_id='$r->id' ");
|
|
echo mysql_error();
|
|
$projectlangs=array();
|
|
while($lr=mysql_fetch_object($lq)) {
|
|
if(!in_array($lr->language,$projectlangs))
|
|
$projectlangs[]=$lr->language;
|
|
if(!in_array($lr->language,$teamlangs))
|
|
$teamlangs[]=$lr->language;
|
|
}
|
|
$teams[$r->id]['languages_projects']=$projectlangs;
|
|
$teams[$r->id]['languages']=$teamlangs;
|
|
|
|
//get the awards for this team
|
|
$aq=mysql_query("SELECT award_awards.id,
|
|
award_awards.name,
|
|
award_awards.criteria,
|
|
award_awards.award_types_id,
|
|
award_types.type AS award_type
|
|
FROM
|
|
award_awards,
|
|
judges_teams_awards_link,
|
|
award_types
|
|
WHERE
|
|
judges_teams_awards_link.award_awards_id=award_awards.id
|
|
AND judges_teams_awards_link.judges_teams_id='$r->id'
|
|
AND award_awards.award_types_id=award_types.id
|
|
AND award_types.conferences_id='{$conference['id']}'
|
|
ORDER BY
|
|
name
|
|
");
|
|
while($ar=mysql_fetch_object($aq))
|
|
{
|
|
$teams[$r->id]['awards'][]=array(
|
|
"id"=>$ar->id,
|
|
"name"=>$ar->name,
|
|
"criteria"=>$ar->criteria,
|
|
"award_types_id"=>$ar->award_types_id,
|
|
"award_type"=>$ar->award_type
|
|
);
|
|
}
|
|
}
|
|
return $teams;
|
|
}
|
|
|
|
function getJudgingTeam($teamid)
|
|
{
|
|
global $config;
|
|
|
|
$q=mysql_query("SELECT judges_teams.id,
|
|
judges_teams.num,
|
|
judges_teams.name
|
|
|
|
FROM
|
|
judges_teams
|
|
WHERE
|
|
judges_teams.conferences_id='".$conference['id']."' AND
|
|
judges_teams.id='$teamid'
|
|
ORDER BY
|
|
num,
|
|
name
|
|
");
|
|
|
|
$team=array();
|
|
|
|
$first=true;
|
|
while($r=mysql_fetch_object($q))
|
|
{
|
|
$team['id']=$r->id;
|
|
$team['num']=$r->num;
|
|
$team['name']=$r->name;
|
|
|
|
//get the members for this team
|
|
$mq=mysql_query("SELECT
|
|
users.id AS judges_id,
|
|
users.firstname,
|
|
users.lastname,
|
|
judges_teams_link.captain
|
|
|
|
FROM
|
|
users,
|
|
judges_teams_link
|
|
WHERE
|
|
judges_teams_link.users_id=users.id AND
|
|
judges_teams_link.judges_teams_id='$r->id'
|
|
ORDER BY
|
|
captain DESC,
|
|
lastname,
|
|
firstname");
|
|
echo mysql_error();
|
|
|
|
|
|
while($mr=mysql_fetch_object($mq))
|
|
{
|
|
$team['members'][]=array(
|
|
"id"=>$mr->judges_id,
|
|
"firstname"=>$mr->firstname,
|
|
"lastname"=>$mr->lastname,
|
|
"captain"=>$mr->captain
|
|
);
|
|
}
|
|
|
|
|
|
//get the awards for this team
|
|
$aq=mysql_query("SELECT award_awards.id,
|
|
award_awards.name,
|
|
award_awards.award_types_id,
|
|
award_types.type AS award_type
|
|
FROM
|
|
award_awards,
|
|
judges_teams_awards_link,
|
|
award_types
|
|
WHERE
|
|
judges_teams_awards_link.award_awards_id=award_awards.id
|
|
AND judges_teams_awards_link.judges_teams_id='$r->id'
|
|
AND award_awards.award_types_id=award_types.id
|
|
AND award_types.conferences_id='{$conference['id']}'
|
|
ORDER BY
|
|
name
|
|
");
|
|
while($ar=mysql_fetch_object($aq))
|
|
{
|
|
$team['awards'][]=array(
|
|
"id"=>$ar->id,
|
|
"name"=>$ar->name,
|
|
"award_types_id"=>$ar->award_types_id,
|
|
"award_type"=>$ar->award_type
|
|
);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
return $team;
|
|
|
|
}
|
|
|
|
function getJudgingEligibilityCode() {
|
|
global $config;
|
|
switch($config['project_status']) {
|
|
case 'open' :
|
|
return " AND registrations.status != 'open' ";
|
|
break;
|
|
case 'payment_pending' :
|
|
return " AND registrations.status IN ('paymentpending', 'complete')";
|
|
break;
|
|
case 'complete' :
|
|
return " AND registrations.status = 'complete'";
|
|
break;
|
|
}
|
|
}
|
|
|
|
function teamMemberToName($member)
|
|
{
|
|
return $member["firstname"] . " " . $member["lastname"];
|
|
}
|
|
|
|
function judges_load_all()
|
|
{
|
|
global $config;
|
|
|
|
$ret = array();
|
|
|
|
$r = mysql_query("
|
|
SELECT users.id FROM users JOIN user_roles ur ON ur.users_id = users.id
|
|
JOIN roles ON roles.id = ur.roles_id WHERE roles.type = 'judge'
|
|
AND conferences_id='{$conference['id']}'
|
|
AND deleted='no'
|
|
ORDER BY lastname, firstname
|
|
");
|
|
while($i = mysql_fetch_assoc($r)) {
|
|
$u = user_load($i['id']);
|
|
if($u['judge_complete'] == 'no') continue;
|
|
if($u['judge_active'] == 'no') continue;
|
|
|
|
$ret[$i['id']] = $u;
|
|
}
|
|
return $ret;
|
|
}
|
|
|
|
?>
|