science-ation/admin/judges_info.php
james 44a79493aa Get age category preference from judges as they register
Create scheduler configuration page to handle setup parameters for the automatic judge team assignments
Create the annealer to handle the actual assignments of judges to judging teams based on the lowest cost function of each individual team.  Currently takes into account: a) age category preference, b) divisional areas of expertise.  still requires: years of experience, language preference, and 'team captain' scheduling.
2006-01-03 02:08:23 +00:00

219 lines
6.5 KiB
PHP

<?
/*
This file is part of the 'Science Fair In A Box' project
SFIAB Website: http://www.sfiab.ca
Copyright (C) 2005 Sci-Tech Ontario Inc <info@scitechontario.org>
Copyright (C) 2005 James Grant <james@lightbox.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation, version 2.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
?>
<?
//this file is meant to be used as a popup from the judging teams page to view the judge info
//it needs the judge ID passed into it.
//thus, we do not need the normal header and footer
require("../common.inc.php");
auth_required('admin');
$preferencechoices=array(
-2=>"Very Low",
-1=>"Low",
0=>"Indifferent",
1=>"Medium",
2=>"High"
);
if($_GET['id'])
{
//include "../register_judges.inc.php";
$q=mysql_query("SELECT
judges.*
FROM
judges
WHERE
judges.id='".$_GET['id']."'");
echo mysql_error();
$judgeinfo=mysql_fetch_object($q);
send_popup_header(i18n("Judge Information - %1 %2",array($judgeinfo->firstname,$judgeinfo->lastname)));
echo "<h3>".i18n("Personal Info")."</h3>";
echo "<table class=\"viewtable\">\n";
echo "<tr>\n";
echo " <th>".i18n("First Name")."</th><td>$judgeinfo->firstname</td>\n";
echo " <th>".i18n("Last Name")."</th><td>$judgeinfo->lastname</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th>".i18n("Email Address")."</th><td>$judgeinfo->email</td>\n";
echo " <th>".i18n("City")."</th><td>$judgeinfo->city</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th>".i18n("Address 1")."</th><td>$judgeinfo->address</td>\n";
echo " <th>".i18n("Province")."</th><td>$judgeinfo->province";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th>".i18n("Address 2")."</th><td>$judgeinfo->address2</td>\n";
echo " <th>".i18n("Phone (Home)")."</th><td>$judgeinfo->phonehome</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th>".i18n("Postal Code")."</th><td>$judgeinfo->postalcode</td>\n";
echo " <th>".i18n("Phone (Work)")."</th><td>$judgeinfo->phonework&nbsp;ext $judgeinfo->phoneworkext</td>\n";
echo "</tr>";
echo "<tr>\n";
echo " <th>".i18n("Organization")."</th><td>$judgeinfo->organization</td>\n";
echo " <th>".i18n("Phone (Cell)")."</th><td>$judgeinfo->phonecell</td>\n";
echo "</tr>";
echo "<tr><td colspan=\"4\"><hr /></td></tr>";
echo "<tr>\n";
echo " <th valign=\"top\"colspan=\"2\">".i18n("Age category preference")."</th><td colspan=\"2\">";
$q=mysql_query("SELECT judges_catpref.*,projectcategories.category FROM judges_catpref,projectcategories WHERE judges_id='{$_GET['id']}' AND judges_catpref.year='".$config['FAIRYEAR']."' AND judges_catpref.projectcategories_id=projectcategories.id");
echo mysql_error();
while($r=mysql_fetch_object($q))
echo i18n($r->category).": ".$preferencechoices[$r->rank]." <br />";
echo "</td>\n";
echo "</tr>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th colspan=\"2\">".i18n("Highest post-secondary degree")."</th>";
echo " <td colspan=\"2\">$judgeinfo->highest_psd</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th colspan=\"2\">".i18n("Other professional qualifications")."</th>";
echo " <td colspan=\"2\">$judgeinfo->professional_quals</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th colspan=\"2\" valign=\"top\">".i18n("Languages")."</th>";
echo " <td colspan=\"2\">";
$q=mysql_query("SELECT languages_lang FROM judges_languages WHERE judges_id='$judgeinfo->id'");
while($r=mysql_fetch_object($q))
{
echo $r->languages_lang;
echo "<br />";
}
echo " </td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th colspan=\"2\">".i18n("Judging experience at school/local level")."</th>\n";
echo " <td colspan=\"2\">$judgeinfo->years_school ".i18n("years")."</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th colspan=\"2\">".i18n("Judging experience at regional level")."</th>\n";
echo " <td colspan=\"2\">$judgeinfo->years_regional ".i18n("years")."</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th colspan=\"2\">".i18n("Judging experience at national level")."</th>\n";
echo " <td colspan=\"2\">$judgeinfo->years_national ".i18n("years")."</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo " <th colspan=\"2\">".i18n("Willing to act as a division chair?")."</th>\n";
echo " <td colspan=\"2\">$judgeinfo->willing_chair";
echo "</tr>\n";
echo "<tr>\n";
echo " <th colspan=\"2\">".i18n("Attending lunch?")."</th>\n";
echo " <td colspan=\"2\">$judgeinfo->attending_lunch";
echo "</tr>\n";
echo "</table>";
echo "<hr />";
echo "<br />";
echo "<h3>Areas of Expertise</h3>";
echo "<table class=\"viewtable\">";
//grab the list of divisions, because the last fields of the table will be the sub-divisions
$q=mysql_query("SELECT * FROM projectdivisions ORDER BY id AND year='".$config['FAIRYEAR']."'");
$divs=array();
while($r=mysql_fetch_object($q))
{
$divs[]=$r->id;
$divnames[$r->id]=$r->division;
}
$subdivq=mysql_query("SELECT judges_expertise.*, projectsubdivisions.subdivision, projectsubdivisions.projectdivisions_id AS parent_id FROM judges_expertise
LEFT JOIN projectsubdivisions ON judges_expertise.projectsubdivisions_id=projectsubdivisions.id
WHERE judges_id='$judgeinfo->id' AND judges_expertise.year='".$config['FAIRYEAR']."' ORDER BY projectdivisions_id, projectsubdivisions_id");
$judge_divs=array();
$judge_subdivs=array();
$divdata=array();
while($subdivr=mysql_fetch_object($subdivq))
{
if($subdivr->projectdivisions_id)
{
$judge_divs[$subdivr->projectdivisions_id]=$subdivr->val;
}
else
$judge_subdivs[$subdivr->parent_id][]=$subdivr->subdivision;
}
foreach($divs as $div)
{
echo "<tr><th>".i18n($divnames[$div])."</th>";
echo " <td>".$judge_divs[$div]."/5</td>";
echo "<td>";
if(count($judge_subdivs[$div]))
{
$divdata=implode(", ",$judge_subdivs[$div]);
echo "$divdata";
}
else
echo "&nbsp;";
echo "</td>";
echo "</tr>";
}
echo "</table>";
}
else
{
send_popup_header("Judge Information");
echo error(i18n("No Judge ID passed to Judges Info"));
}
send_popup_footer();
?>