science-ation/config/divisions.php

214 lines
8.1 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('config');
send_header("Configuration - Project Divisions");
echo "<a href=\"index.php\">&lt;&lt; ".i18n("Back to Configuration")."</a><br />";
if($_POST['action']=="edit")
{
if($_POST['id'] && $_POST['division'] )
{
$q=mysql_query("SELECT id FROM projectdivisions WHERE id='".$_POST['id']."' AND year='".$config['FAIRYEAR']."'");
if(mysql_num_rows($q) && $_POST['saveid']!=$_POST['id'])
{
echo error(i18n("Division ID %1 already exists",array($_POST['id']),array("division ID")));
}
else
{
mysql_query("UPDATE projectdivisions SET ".
"id='".$_POST['id']."', ".
"division='".mysql_escape_string(stripslashes($_POST['division']))."', ".
"division_shortform='".mysql_escape_string(stripslashes($_POST['division_shortform']))."' ".
"WHERE id='".$_POST['saveid']."'");
//###### Feature Specific - filtering divisions by category
if($config['filterdivisionbycategory']=="yes"){
mysql_query("DELETE FROM projectcategoriesdivisions_link WHERE projectdivisions_id='".$_POST['saveid']."' AND year='".$config['FAIRYEAR']."'");
foreach($_POST['divcat'] as $tempcat){
mysql_query("INSERT INTO projectcategoriesdivisions_link (projectdivisions_id,projectcategories_id,year) VALUES ( ".
"'".$_POST['id']."', ".
"'".$tempcat."', ".
"'".$config['FAIRYEAR']."') ");
}
}
//###########
echo happy(i18n("Division successfully saved"));
}
}
else
{
echo error(i18n("All fields are required"));
}
}
if($_POST['action']=="new")
{
if($_POST['id'] && $_POST['division'])
{
$q=mysql_query("SELECT id FROM projectdivisions WHERE id='".$_POST['id']."' AND year='".$config['FAIRYEAR']."'");
if(mysql_num_rows($q))
{
echo error(i18n("Division ID %1 already exists",array($_POST['id']),array("division ID")));
}
else
{
mysql_query("INSERT INTO projectdivisions (id,division,division_shortform,year) VALUES ( ".
"'".$_POST['id']."', ".
"'".mysql_escape_string(stripslashes($_POST['division']))."', ".
"'".mysql_escape_string(stripslashes($_POST['division_shortform']))."', ".
"'".$config['FAIRYEAR']."') ");
//###### Feature Specific - filtering divisions by category
if($config['filterdivisionbycategory']=="yes"){
foreach($_POST['divcat'] as $tempcat){
mysql_query("INSERT INTO projectcategoriesdivisions_link (projectdivisions_id,projectcategories_id,year) VALUES ( ".
"'".$tempcat."', ".
"'".$config['FAIRYEAR']."') ");
}
}
//#######
echo happy(i18n("Division successfully added"));
}
}
else
{
echo error(i18n("All fields are required"));
}
}
if($_GET['action']=="remove" && $_GET['remove'])
{
//###### Feature Specific - filtering divisions by category - not conditional, cause even if they have the filtering turned off..if any links
//for this division exist they should be deleted
mysql_query("DELETE FROM projectcategoriesdivisions_link where projectdivisions_id='".$_GET['remove']."' AND year='".$config['FAIRYEAR']."'");
mysql_query("DELETE FROM projectdivisions WHERE id='".$_GET['remove']."' AND year='".$config['FAIRYEAR']."'");
echo happy(i18n("Division successfully removed"));
}
echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">";
echo "<h3>".i18n("Project Divisions")."</h3>";
if(! ($_GET['action']=="edit" || $_GET['action']=="new") )
echo "<a href=\"".$_SERVER['PHP_SELF']."?action=new\">".i18n("Add new division")."</a>\n";
echo "<table class=\"summarytable\">";
echo "<tr>";
echo "<th>".i18n("Division ID")."</th>\n";
echo "<th>".i18n("Division Name")."</th>\n";
echo "<th>".i18n("Short Form")."</th>\n";
//###### Feature Specific - filtering divisions by category
if($config['filterdivisionbycategory']=="yes")
echo "<th>".i18n("Categories")."</th>\n";
//#####
echo "<th>".i18n("Actions")."</th>\n";
echo "</tr>";
if($_GET['action']=="edit" || $_GET['action']=="new")
{
echo "<input type=\"hidden\" name=\"action\" value=\"".$_GET['action']."\">\n";
if($_GET['action']=="edit")
{
echo "<input type=\"hidden\" name=\"saveid\" value=\"".$_GET['edit']."\">\n";
$q=mysql_query("SELECT * FROM projectdivisions WHERE id='".$_GET['edit']."' AND year='".$config['FAIRYEAR']."'");
$divisionr=mysql_fetch_object($q);
$buttontext="Save";
}
else if($_GET['action']=="new")
{
$buttontext="Add";
}
echo "<tr>";
echo " <td><input type=\"text\" size=\"3\" name=\"id\" value=\"$divisionr->id\" /></td>";
echo " <td><input type=\"text\" size=\"40\" name=\"division\" value=\"$divisionr->division\" /></td>";
echo " <td align=\"center\"><input type=\"text\" size=\"5\" name=\"division_shortform\" value=\"$divisionr->division_shortform\" /></td>";
//###### Feature Specific - filtering divisions by category
if($config['filterdivisionbycategory']=="yes"){
echo " <td>";
$q=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' ORDER BY mingrade");
while($categoryr=mysql_fetch_object($q)){
$query="SELECT * FROM projectcategoriesdivisions_link WHERE projectdivisions_id=".$divisionr->id." AND projectcategories_id=".$categoryr->id." AND year='".$config['FAIRYEAR']."'";
$t=mysql_query($query);
if($t && mysql_num_rows($t)>0)
echo "<input type=\"checkbox\" size=\"5\" name=\"divcat[]\" value=\"$categoryr->id\" checked=\"checked\" /> $categoryr->category<br/>";
else
echo "<input type=\"checkbox\" size=\"5\" name=\"divcat[]\" value=\"$categoryr->id\" /> $categoryr->category<br/>";
}
echo "</td>";
}
echo " <td><input type=\"submit\" value=\"".i18n($buttontext)."\" /></td>";
echo "</tr>";
}
else
{
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
while($r=mysql_fetch_object($q))
{
echo "<tr>";
echo " <td>$r->id</td>";
echo " <td>".i18n($r->division)."</td>";
echo " <td align=\"center\">$r->division_shortform</td>";
//###### Feature Specific - filtering divisions by category
if($config['filterdivisionbycategory']=="yes"){
$c=mysql_query("SELECT category FROM projectcategoriesdivisions_link, projectcategories
WHERE projectcategoriesdivisions_link.projectcategories_id = projectcategories.id
AND projectdivisions_id='$r->id'
AND projectcategoriedivisions_link.year='".$config['FAIRYEAR']."'
ORDER BY projectcategories.mingrade");
if(!$c){
$tempcat="&nbsp;";
}else{
$tempcat="";
while($categoryr=mysql_fetch_object($c)){
$tempcat.=",".$categoryr->category;
}
$tempcat=substr($tempcat,1);
}
echo "<td> {$tempcat} </td>";
}
//############
echo " <td>";
echo "<a title=\"Edit\" href=\"".$_SERVER['PHP_SELF']."?action=edit&amp;edit=$r->id\"><img src=\"".$config['SFIABDIRECTORY']."/images/16/edit.".$config['icon_extension']."\" border=0></a>";
echo "&nbsp; &nbsp;";
echo "<a title=\"Remove\" onClick=\"return confirmClick('Are you sure you want to remove this division?');\" href=\"".$_SERVER['PHP_SELF']."?action=remove&amp;remove=$r->id\"><img src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.".$config['icon_extension']."\" border=0></a>";
echo " </td>";
echo "</tr>";
}
}
echo "</table>";
echo "</form>";
echo i18n("You should assign the 'Division ID's in numerical order, starting with 1. This Division ID is used to generate the project number");
send_footer();
?>