science-ation/admin/award_awards.php

434 lines
15 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");
auth_required('admin');
send_header("Administration - Awards Awards");
if($_GET['award_sponsors_id']) $award_sponsors_id=$_GET['award_sponsors_id'];
else if($_POST['award_sponsors_id']) $award_sponsors_id=$_POST['award_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'];
echo "<a href=\"index.php\">&lt;&lt; ".i18n("Back to Administration")."</a>\n";
echo "<a href=\"awards.php\">&lt;&lt; ".i18n("Back to Awards Main")."</a>\n";
if($_POST['save']=="edit" || $_POST['save']=="add")
{
if(!$_POST['award_types_id']) {
echo error(i18n("Award Type is required"));
$_GET['action']=$_POST['save'];
}
else if(!$_POST['award_sponsors_id']) {
echo error(i18n("Award Sponsor is required"));
$_GET['action']=$_POST['save'];
}
else
{
if($_POST['save']=="add")
{
$q=mysql_query("INSERT INTO award_awards (award_sponsors_id,award_types_id,year) VALUES ('".$_POST['award_sponsors_id']."','".$_POST['award_types_id']."','".$config['FAIRYEAR']."')");
$id=mysql_insert_id();
}
else
$id=$_POST['id'];
$exec="UPDATE award_awards SET ".
"name='".mysql_escape_string(stripslashes($_POST['name']))."', ".
"`order`='".mysql_escape_string(stripslashes($_POST['order']))."', ".
"award_sponsors_id='".mysql_escape_string(stripslashes($_POST['award_sponsors_id']))."', ".
"award_types_id='".mysql_escape_string(stripslashes($_POST['award_types_id']))."', ".
"presenter='".mysql_escape_string(stripslashes($_POST['presenter']))."', ".
"excludefromac='".mysql_escape_string(stripslashes($_POST['excludefromac']))."', ".
"criteria='".mysql_escape_string(stripslashes($_POST['criteria']))."' ".
"WHERE id='$id'";
mysql_query($exec);
echo mysql_error();
//whipe out any old award-category links
mysql_query("DELETE FROM award_awards_projectcategories WHERE award_awards_id='$id'");
//now add the new ones
if(is_array($_POST['eligiblecategories']))
{
foreach($_POST['eligiblecategories'] AS $cat)
{
mysql_query("INSERT INTO award_awards_projectcategories (award_awards_id,projectcategories_id,year) VALUES ('$id','$cat','".$config['FAIRYEAR']."')");
}
}
//whipe out any old award-divisions links
mysql_query("DELETE FROM award_awards_projectdivisions WHERE award_awards_id='$id'");
//now add the new ones
if(is_array($_POST['eligibledivisions']))
{
foreach($_POST['eligibledivisions'] AS $div)
{
mysql_query("INSERT INTO award_awards_projectdivisions (award_awards_id,projectdivisions_id,year) VALUES ('$id','$div','".$config['FAIRYEAR']."')");
}
}
if($_POST['save']=="add")
echo happy("Award successfully added");
else
echo happy("Successfully saved changes to award");
}
}
if($_POST['action']=="reorder")
{
if(is_array($_POST['reorder']))
{
foreach($_POST['reorder'] AS $key=>$val)
{
mysql_query("UPDATE award_awards SET `order`='$val' WHERE id='$key'");
}
echo happy("Awards successfully reordered");
}
}
if($_GET['action']=="delete" && $_GET['delete'])
{
mysql_query("DELETE FROM award_awards WHERE id='".$_GET['delete']."'");
echo happy("Award successfully deleted");
}
if($_GET['action']=="edit" || $_GET['action']=="add")
{
//define these here so we dont forget :)
$currentcategories=array();
$currentdivisions=array();
echo "<a href=\"award_awards.php\">&lt;&lt; ".i18n("Back to Awards List")."</a>\n";
if($_GET['action']=="edit")
{
echo "<h3>".i18n("Edit Award")."</h3>\n";
$buttontext="Save Award";
$q=mysql_query("SELECT
award_awards.id,
award_awards.name,
award_awards.criteria,
award_awards.order,
award_awards.presenter,
award_awards.excludefromac,
award_types.id AS award_types_id,
award_types.type,
award_sponsors.id AS award_sponsors_id,
award_sponsors.organization
FROM
award_awards,
award_types,
award_sponsors
WHERE
award_awards.year='".$config['FAIRYEAR']."'
AND award_awards.id='".$_GET['edit']."'
AND award_awards.award_sponsors_id=award_sponsors.id
AND award_awards.award_types_id=award_types.id
");
echo mysql_error();
$r=mysql_fetch_object($q);
$award_awards_id=$r->id;
$award_awards_name=$r->name;
$award_awards_order=$r->order;
$award_awards_criteria=$r->criteria;
$award_types_id=$r->award_types_id;
$award_type=$r->type;
$award_sponsors_id=$r->award_sponsors_id;
$award_sponsor=$r->organization;
$award_awards_presenter=$r->presenter;
$award_awards_excludefromac=$r->excludefromac;
//select the current categories that this award is linked to
$ccq=mysql_query("SELECT * FROM award_awards_projectcategories WHERE award_awards_id='$r->id'");
while($ccr=mysql_fetch_object($ccq))
$currentcategories[]=$ccr->projectcategories_id;
//select the current categories that this award is linked to
$cdq=mysql_query("SELECT * FROM award_awards_projectdivisions WHERE award_awards_id='$r->id'");
while($cdr=mysql_fetch_object($cdq))
$currentdivisions[]=$cdr->projectdivisions_id;
}
else if($_GET['action']=="add")
{
echo "<h3>".i18n("Add Award")."</h3>\n";
$buttontext="Add Award";
$firstsponsor="<option value=\"\">".i18n("Choose a sponsor")."</option>\n";
$firsttype="<option value=\"\">".i18n("Choose an award type")."</option>\n";
}
$buttontext=i18n($buttontext);
//if we have POST values, then they should be used instead of the db values
//esp for adding, if there is an error then the POST values will be redisplayed
if($_POST['name']) $award_awards_name=$_POST['name'];
if($_POST['order']) $award_awards_order=$_POST['order'];
if($_POST['criteria']) $award_awards_criteria=$_POST['criteria'];
if($_POST['award_types_id']) $award_types_id=$_POST['award_types_id'];
if($_POST['award_sponsors_id']) $award_sponsors_id=$_POST['award_sponsors_id'];
if($_POST['eligiblecategories']) $currentcategories=$_POST['eligiblecategories'];
if($_POST['eligibledivisions']) $currentdivisions=$_POST['eligibledivisions'];
if($_POST['presenter']) $award_awards_presenter=$_POST['presenter'];
if($_POST['excludefromac']) $award_awards_excludefromac=$_POST['excludefromac'];
echo "<form method=\"post\" action=\"award_awards.php\">\n";
echo "<input type=\"hidden\" name=\"save\" value=\"".$_GET['action']."\">\n";
if($_GET['action']=="edit")
echo "<input type=\"hidden\" name=\"id\" value=\"".$_GET['edit']."\">\n";
echo "<table>\n";
echo "<tr><td>".i18n("Name")."</td><td><input type=\"text\" id=\"name\" name=\"name\" value=\"".htmlspecialchars($award_awards_name)."\" size=\"50\" maxlength=\"128\" /><script type=\"text/javascript\">translateButton('name');</script></td></tr>\n";
echo "<tr><td>".i18n("Order")."</td><td><input type=\"text\" name=\"order\" value=\"".htmlspecialchars($award_awards_order)."\" size=\"5\" maxlength=\"5\" />(".i18n("presentation order").")</td></tr>\n";
echo "<tr><td>".i18n("Sponsor")."</td><td>";
$sq=mysql_query("SELECT id,organization FROM award_sponsors ORDER BY organization");
echo "<select name=\"award_sponsors_id\">";
//only show the "choose a sponsor" option if we are adding,if we are editing, then they must have already chosen one.
echo $firstsponsor;
while($sr=mysql_fetch_object($sq))
{
if($sr->id == $award_sponsors_id)
$sel="selected=\"selected\"";
else
$sel="";
echo "<option $sel value=\"$sr->id\">".i18n($sr->organization)."</option>";
}
echo "</select>";
echo "</td></tr>";
echo "<tr><td>".i18n("Presenter")."</td><td><input type=\"text\" name=\"presenter\" value=\"".htmlspecialchars($award_awards_presenter)."\" size=\"50\" maxlength=\"128\" /></td></tr>\n";
echo "<tr><td>".i18n("Type")."</td><td>";
$tq=mysql_query("SELECT id,type FROM award_types WHERE year='{$config['FAIRYEAR']}' ORDER BY type");
echo "<select name=\"award_types_id\">";
//only show the "choose a type" option if we are adding,if we are editing, then they must have already chosen one.
echo $firsttype;
while($tr=mysql_fetch_object($tq))
{
if($tr->id == $award_types_id)
$sel="selected=\"selected\"";
else
$sel="";
echo "<option $sel value=\"$tr->id\">".i18n($tr->type)."</option>";
}
echo "</select>";
echo "</td></tr>";
echo "<tr><td>".i18n("Criteria")."</td><td><textarea id=\"criteria\" name=\"criteria\" rows=\"4\" cols=\"50\">".htmlspecialchars($award_awards_criteria)."</textarea><script type=\"text/javascript\">translateButton('criteria');</script></td></tr>\n";
echo "<tr><td>".i18n("Eligibility")."</td><td>";
echo "<table>";
echo "<tr>";
echo "<th>".i18n("Age Categories")."</th>";
echo "<th>".i18n("Divisions")."</th>";
echo "</tr>";
echo "<tr><td>";
//now select all the categories so we can list them all
$cq=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' ORDER BY mingrade");
echo mysql_error();
while($cr=mysql_fetch_object($cq))
{
if(in_array($cr->id,$currentcategories))
$ch="checked=\"checked\"";
else
$ch="";
echo "<input $ch type=\"checkbox\" name=\"eligiblecategories[]\" value=\"$cr->id\" />".i18n($cr->category)."<br />";
}
echo "</td>";
echo "<td>";
$dq=mysql_query("SELECT * FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' ORDER BY division");
echo mysql_error();
while($dr=mysql_fetch_object($dq))
{
if(in_array($dr->id,$currentdivisions))
$ch="checked=\"checked\"";
else
$ch="";
echo "<input $ch type=\"checkbox\" name=\"eligibledivisions[]\" value=\"$dr->id\" />".i18n($dr->division)."<br />";
}
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</td></tr>";
echo "<tr><td align=\"right\">";
if($award_awards_excludefromac==1) $ch="checked=\"checked\""; else $ch="";
echo "<input $ch type=\"checkbox\" name=\"excludefromac\" value=\"1\"></td><td>".i18n("Exclude this award from the award ceremony script")."</td></tr>";
echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"$buttontext\" /></td></tr>\n";
echo "</table>\n";
echo "</form>\n";
}
else
{
echo "<br />";
echo i18n("Filter By:");
echo "<form method=\"get\" action=\"award_awards.php\" name=\"filterchange\">";
echo "<table><tr><td>";
$q=mysql_query("SELECT id,organization FROM award_sponsors ORDER BY organization");
echo "<select name=\"award_sponsors_id\" onchange=\"document.forms.filterchange.submit()\">";
echo "<option value=\"\">".i18n("All Sponsors")."</option>";
while($r=mysql_fetch_object($q))
{
if($r->id == $award_sponsors_id)
{
$sel="selected=\"selected\"";
$award_sponsors_organization=$r->organization;
}
else
$sel="";
echo "<option $sel value=\"$r->id\">".i18n($r->organization)."</option>";
}
echo "</select>";
echo "</td><td>";
$q=mysql_query("SELECT id,type FROM award_types WHERE year='{$config['FAIRYEAR']}' ORDER BY type");
echo "<select name=\"award_types_id\" onchange=\"document.forms.filterchange.submit()\">";
echo "<option value=\"\">".i18n("All Award Types")."</option>";
while($r=mysql_fetch_object($q))
{
if($r->id == $award_types_id)
{
$sel="selected=\"selected\"";
$award_types_type=$r->type;
}
else
$sel="";
echo "<option $sel value=\"$r->id\">".i18n($r->type)."</option>";
}
echo "</select>";
echo "</form>";
echo "</td></tr>";
echo "</table>";
echo "<br />";
echo "<a href=\"award_awards.php?award_sponsors_id=$award_sponsors_id&award_types_id=$award_types_id&action=add\">".i18n("Add New Award")."</a>\n";
echo "<br />";
if($award_sponsors_id) $where_asi="AND award_sponsors_id='$award_sponsors_id'";
if($award_types_id) $where_ati="AND award_types_id='$award_types_id'";
if(!$orderby) $orderby="order";
$q=mysql_query("SELECT
award_awards.id,
award_awards.name,
award_awards.order,
award_types.type,
award_sponsors.organization
FROM
award_awards,
award_types,
award_sponsors
WHERE
award_awards.year='".$config['FAIRYEAR']."'
$where_asi
$where_ati
AND award_awards.award_sponsors_id=award_sponsors.id
AND award_awards.award_types_id=award_types.id
AND award_types.year='".$config['FAIRYEAR']."'
ORDER BY `$orderby`");
echo mysql_error();
if(mysql_num_rows($q))
{
echo "<form method=\"post\" action=\"award_awards.php\">";
echo "<input type=\"hidden\" name=\"action\" value=\"reorder\">";
echo "<table class=\"summarytable\">";
echo "<tr>";
echo " <th>".i18n("Order")."</th>";
echo " <th>".i18n("Sponsor")."</th>";
echo " <th>".i18n("Type")."</th>";
echo " <th>".i18n("Name")."</th>";
echo " <th>".i18n("# of Prizes")."</th>";
echo " <th>".i18n("Actions")."</th>";
echo "</tr>\n";
while($r=mysql_fetch_object($q))
{
echo "<tr>\n";
echo " <td><input type=\"text\" name=\"reorder[$r->id]\" value=\"$r->order\" size=\"3\" /></td>\n";
echo " <td>$r->organization</td>\n";
echo " <td>$r->type</td>\n";
echo " <td>$r->name</td>\n";
$numq=mysql_query("SELECT COUNT(id) AS num FROM award_prizes WHERE award_awards_id='$r->id'");
$numr=mysql_fetch_object($numq);
$numprizes=$numr->num;
echo " <td align=\"center\" valign=\"top\">";
echo "$numprizes &nbsp;";
echo "<a href=\"award_prizes.php?award_awards_id=$r->id\"><img alt=\"view\" border=\"0\" src=\"".$config['SFIABDIRECTORY']."/images/16/viewmag.".$config['icon_extension']."\"></a>";
echo "</td>";
echo " <td align=\"center\">";
echo "<a href=\"award_awards.php?action=edit&edit=$r->id\"><img border=\"0\" src=\"".$config['SFIABDIRECTORY']."/images/16/edit.".$config['icon_extension']."\"></a>";
echo "&nbsp;";
echo "<a onclick=\"return confirmClick('Are you sure you want to remove this award?')\" href=\"award_awards.php?action=delete&delete=$r->id\"><img border=0 src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.".$config['icon_extension']."\"></a>";
echo " </td>\n";
echo "</tr>\n";
}
echo "</table>\n";
echo "<input type=\"submit\" value=\"".i18n("Re-order awards")."\" />";
echo "</form>";
}
echo "<br />";
echo "<a href=\"award_prizes.php?award_awards_id=-1\">Edit prizes for the generic prize template</a>";
}
send_footer();
?>