science-ation/admin/winners.php

387 lines
10 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.
*/
?>
<?
require("../common.inc.php");
require_once("../user.inc.php");
require("../projects.inc.php");
user_auth_required('committee', 'admin');
if($_GET['sponsors_id']) $sponsors_id=$_GET['sponsors_id'];
else if($_POST['sponsors_id']) $sponsors_id=$_POST['sponsors_id'];
if($_GET['award_types_id']) $award_types_id=$_GET['award_types_id'];
else if($_POST['award_types_id']) $award_types_id=$_POST['award_types_id'];
if($_GET['edit']) $edit=intval($_GET['edit']);
if($_POST['edit']) $edit=intval($_POST['edit']);
if($_GET['action']) $action=$_GET['action'];
if($_POST['action']) $action=$_POST['action'];
if($action=="addwinner")
{
if($_POST['winner'])
{
//first check how many we are allowed to have
$q=mysql_query("SELECT number FROM award_prizes WHERE id='".$_POST['prize_id']."'");
echo mysql_Error();
$r=mysql_fetch_object($q);
$number=$r->number;
$q=mysql_query("SELECT COUNT(*) AS count FROM winners WHERE awards_prizes_id='".$_POST['prize_id']."'");
echo mysql_Error();
$r=mysql_fetch_object($q);
$count=$r->count;
if($count<$number)
{
mysql_query("INSERT INTO winners (awards_prizes_id,projects_id,year) VALUES ('".$_POST['prize_id']."','".$_POST['winner']."','".$config['FAIRYEAR']."')");
$notice = 'added';
}
else
{
$notice = 'nomore';
$notice_data = array($number);
}
}
$action="edit";
}
if($action=="delete")
{
if($_GET['prize_id'] && $_GET['project_id'])
{
mysql_query("DELETE FROM winners WHERE awards_prizes_id='".$_GET['prize_id']."' AND projects_id='".$_GET['project_id']."'");
$notice = 'removed';
}
$action="edit";
}
if($action=="edit" && $edit)
{
send_header("Choose Projects",
array('Committee Main' => 'committee_main.php',
'Administration' => 'admin/index.php',
'Enter Winning Projects' => 'admin/winners.php'),
"enter_winning_projects"
);
switch($notice) {
case 'removed':
echo happy(i18n("Winning project removed"));
break;
case 'nomore':
echo error(i18n("This prize cannot accept any more winners. Maximum: %1",$notice_data));
break;
case 'added':
echo happy(i18n("Winning project added"));
break;
}
$q=mysql_query("SELECT
award_awards.id,
award_awards.name,
award_awards.criteria,
award_awards.order AS awards_order,
award_types.type
FROM
award_awards,
award_types
WHERE
award_awards.year='".$config['FAIRYEAR']."'
AND award_awards.award_types_id=award_types.id
AND award_awards.id='$edit'
");
echo mysql_error();
if($r=mysql_fetch_object($q))
{
echo "<br />";
//get the projets that are eligible for the award, given the award ID ($r->id)
if($r->type=="Special" && !$_GET['eligible'])
{
$projects=getProjectsNominatedForSpecialAward($r->id);
}
else
$projects=getProjectsEligibleForAward($r->id);
$winq=mysql_query("SELECT
winners.projects_id
FROM
winners,award_prizes,award_awards
WHERE
award_awards.id='$r->id'
AND award_prizes.award_awards_id=award_awards.id
AND winners.awards_prizes_id=award_prizes.id
ORDER BY
projects_id
");
echo mysql_error();
$alreadywinners=array();
while($winr=mysql_fetch_object($winq))
{
$alreadywinners[]=$winr->projects_id;
}
//print_r($alreadywinners);
/*
echo "projects:";
echo nl2br(print_r($projects,true));
echo "<br />";
*/
// echo "<img border=\"0\" src=\"".$config['SFIABDIRECTORY']."/images/16/edit.".$config['icon_extension']."\">";
echo "<b>{$r->type} - {$r->name}</b><br />";
echo "{$r->criteria}<br />";
$pq=mysql_query("SELECT
award_prizes.prize,
award_prizes.number,
award_prizes.id,
award_prizes.cash,
award_prizes.scholarship,
winners.projects_id,
projects.projectnumber,
projects.title
FROM
award_prizes
LEFT JOIN winners ON winners.awards_prizes_id=award_prizes.id
LEFT JOIN projects ON projects.id=winners.projects_id
WHERE
award_awards_id='$r->id'
AND award_prizes.year='".$config['FAIRYEAR']."'
ORDER BY
`order`");
echo mysql_error();
$prevprizeid=-1;
while($pr=mysql_fetch_object($pq))
{
if($prevprizeid!=$pr->id)
{
echo "<hr>";
echo "&nbsp;";
echo "&nbsp;";
echo "<b>";
echo "$pr->prize";
if($pr->cash || $pr->scholarship)
{
echo " (";
if($pr->cash && $pr->scholarship)
echo "\$$pr->cash cash / \$$pr->scholarship scholarship";
else if($pr->cash)
echo "\$$pr->cash cash";
else if($pr->scholarship)
echo "\$$pr->scholarship scholarship";
echo ")";
}
$cq=mysql_query("SELECT COUNT(*) AS count FROM winners WHERE awards_prizes_id='$pr->id'");
echo mysql_Error();
$cr=mysql_fetch_object($cq);
$count=$cr->count;
if($count<$pr->number) $color="red"; else $color="green";
echo " <font color=\"$color\">[".$count."/".$pr->number."]</font>";
echo "</b>";
$prevprizeid=$pr->id;
if($count<$pr->number)
{
echo "<form method=\"post\" action=\"winners.php\">";
echo "<input type=\"hidden\" name=\"action\" value=\"addwinner\">";
echo "<input type=\"hidden\" name=\"prize_id\" value=\"$pr->id\">";
echo "<input type=\"hidden\" name=\"edit\" value=\"$edit\">";
echo "<select name=\"winner\">";
echo "<option value=\"\">".i18n("Choose a project")."</option>\n";
foreach($projects AS $proj)
{
if(!in_array($proj['id'],$alreadywinners))
echo "<option value=\"".$proj['id']."\">(".$proj['projectnumber'].") ".$proj['title']."</option>";
}
echo "</select>";
echo "<input type=\"submit\" value=\"".i18n("Add")."\">";
echo "</form>";
echo "<a href=\"winners.php?action=$action&edit=$edit&eligible=true\">Show All Eligible</a>";
echo "<br />";
}
else
echo "<br />";
}
if($pr->projectnumber)
{
echo "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
echo "<a onclick=\"return confirmClick('Are you sure you want to remove this project from this prize?')\" href=\"winners.php?action=delete&edit=$edit&prize_id=$pr->id&project_id=$pr->projects_id\"><img border=0 src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.".$config['icon_extension']."\"></a>";
echo " ($pr->projectnumber) $pr->title";
echo "<br />";
}
}
}
}
else
{
send_header("Enter Winning Projects",
array('Committee Main' => 'committee_main.php',
'Administration' => 'admin/index.php'),
"enter_winning_projects"
);
switch($notice) {
case 'removed':
echo happy(i18n("Winning project removed"));
break;
case 'nomore':
echo error(i18n("This prize cannot accept any more winners. Maximum: %1",$notice_data));
break;
case 'added':
echo happy(i18n("Winning project added"));
break;
}
$q=mysql_query("SELECT
award_awards.id,
award_awards.name,
award_awards.order AS awards_order,
award_types.type,
sponsors.organization
FROM
award_awards,
award_types,
sponsors
WHERE
award_awards.year='".$config['FAIRYEAR']."'
AND award_awards.award_types_id=award_types.id
AND award_types.year='".$config['FAIRYEAR']."'
AND award_awards.sponsors_id=sponsors.id
ORDER BY awards_order");
echo mysql_error();
if(mysql_num_rows($q))
{
echo "<br />";
echo i18n("Choose an award to assign winners");
echo "<br />";
echo "<br />";
while($r=mysql_fetch_object($q))
{
echo "<a href=\"winners.php?action=edit&edit=$r->id\">";
// echo "<img border=\"0\" src=\"".$config['SFIABDIRECTORY']."/images/16/edit.".$config['icon_extension']."\">";
echo " $r->type - \n";
echo " $r->name \n";
echo "</a>";
echo " <span style=\"font-size: 0.8em; font-style: italic;\">(".$r->organization.")</span><br />";
$pq=mysql_query("SELECT
award_prizes.prize,
award_prizes.number,
award_prizes.id,
award_prizes.cash,
award_prizes.scholarship,
winners.projects_id,
projects.projectnumber,
projects.title
FROM
award_prizes
LEFT JOIN winners ON winners.awards_prizes_id=award_prizes.id
LEFT JOIN projects ON projects.id=winners.projects_id
WHERE
award_awards_id='$r->id'
AND award_prizes.year='".$config['FAIRYEAR']."'
ORDER BY
`order`");
echo mysql_error();
$prevprizeid=-1;
while($pr=mysql_fetch_object($pq))
{
if($prevprizeid!=$pr->id)
{
echo "&nbsp;";
echo "&nbsp;";
echo "<b>";
echo "$pr->prize";
if($pr->cash || $pr->scholarship)
{
echo " (";
if($pr->cash && $pr->scholarship)
echo "\$$pr->cash cash / \$$pr->scholarship scholarship";
else if($pr->cash)
echo "\$$pr->cash cash";
else if($pr->scholarship)
echo "\$$pr->scholarship scholarship";
echo ")";
}
$cq=mysql_query("SELECT COUNT(*) AS count FROM winners WHERE awards_prizes_id='$pr->id'");
echo mysql_Error();
$cr=mysql_fetch_object($cq);
$count=$cr->count;
if($count<$pr->number) $color="red"; else $color="green";
echo " <font color=\"$color\">[".$count."/".$pr->number."]</font>";
echo "</b>";
echo "<br />";
$prevprizeid=$pr->id;
}
if($pr->projectnumber)
{
echo "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
echo "($pr->projectnumber) $pr->title";
echo "<br />";
}
else
{
/*
echo "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
echo "<font color=\"red\">No winner(s) specified</font>";
*/
}
}
echo "<br />";
}
}
}
send_footer();
?>