forked from science-ation/science-ation
214 lines
8.8 KiB
PHP
214 lines
8.8 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");
|
|
user_auth_required('config');
|
|
|
|
if($_GET['action']=="edit" || $_GET['action']=="new") {
|
|
send_header(($_GET['action']=="edit") ? "Edit Division" : "New Division",
|
|
array('Committee Main' => 'committee_main.php',
|
|
'SFIAB Configuration' => 'config/index.php',
|
|
'Project Divisions' => 'config/divisions.php'),
|
|
"project_divisions" );
|
|
} else {
|
|
send_header("Project Divisions",
|
|
array('Committee Main' => 'committee_main.php',
|
|
'SFIAB Configuration' => 'config/index.php'),
|
|
"project_divisions");
|
|
}
|
|
|
|
|
|
if($_POST['action']=="edit") {
|
|
if($_POST['id'] && $_POST['division'] ) {
|
|
$q=mysql_query("SELECT id FROM projectdivisions WHERE id='".$_POST['id']."' AND conferences_id='".$conference['id']."'");
|
|
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='".intval($_POST['id'])."', ".
|
|
"division='".mysql_real_escape_string($_POST['division'])."', ".
|
|
"division_shortform='".mysql_real_escape_string($_POST['division_shortform'])."' ".
|
|
"WHERE id='".intval($_POST['saveid'])."' AND conferences_id='{$conference['id']}'");
|
|
|
|
//###### Feature Specific - filtering divisions by category
|
|
if($config['filterdivisionbycategory']=="yes"){
|
|
mysql_query("DELETE FROM projectcategoriesdivisions_link WHERE projectdivisions_id='".intval($_POST['saveid'])."' AND conferences_id='".$conference['id']."'");
|
|
|
|
if(is_array($_POST['divcat'])) {
|
|
foreach($_POST['divcat'] as $tempcat) {
|
|
mysql_query("INSERT INTO projectcategoriesdivisions_link (projectdivisions_id,projectcategories_id,conferences_id) VALUES ( ".
|
|
"'".$_POST['id']."', ".
|
|
"'".$tempcat."', ".
|
|
"'".$conference['id']."') ");
|
|
}
|
|
}
|
|
}
|
|
//###########
|
|
|
|
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='".intval($_POST['id'])."' AND conferences_id='".$conference['id']."'");
|
|
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,conferences_id) VALUES ( ".
|
|
"'".intval($_POST['id'])."', ".
|
|
"'".mysql_real_escape_string($_POST['division'])."', ".
|
|
"'".mysql_real_escape_string($_POST['division_shortform'])."', ".
|
|
"'".$conference['id']."') ");
|
|
|
|
|
|
//###### 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,conferences_id) VALUES ( ".
|
|
"'".intval($tempcat)."', ".
|
|
"'".$conference['id']."') ");
|
|
}
|
|
}
|
|
//#######
|
|
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='".intval($_GET['remove'])."' AND conferences_id='".$conference['id']."'");
|
|
mysql_query("DELETE FROM projectdivisions WHERE id='".intval($_GET['remove'])."' AND conferences_id='".$conference['id']."'");
|
|
echo happy(i18n("Division successfully removed"));
|
|
}
|
|
|
|
echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">";
|
|
|
|
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 conferences_id='".$conference['id']."'");
|
|
$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=\"".htmlentities($divisionr->division)."\" /></td>";
|
|
echo " <td align=\"center\"><input type=\"text\" size=\"5\" name=\"division_shortform\" value=\"".htmlentities($divisionr->division_shortform)."\" /></td>";
|
|
|
|
//###### Feature Specific - filtering divisions by category
|
|
if($config['filterdivisionbycategory']=="yes"){
|
|
echo " <td>";
|
|
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='".$conference['id']."' 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 conferences_id='".$conference['id']."'";
|
|
$t=mysql_query($query);
|
|
if($t && mysql_num_rows($t)>0)
|
|
echo "<nobr><input type=\"checkbox\" name=\"divcat[]\" value=\"$categoryr->id\" checked=\"checked\" /> $categoryr->category</nobr><br/>";
|
|
else
|
|
echo "<nobr><input type=\"checkbox\" name=\"divcat[]\" value=\"$categoryr->id\" /> $categoryr->category</nobr><br/>";
|
|
|
|
}
|
|
echo "</td>";
|
|
}
|
|
|
|
echo " <td><input type=\"submit\" value=\"".i18n($buttontext)."\" /></td>";
|
|
echo "</tr>";
|
|
}
|
|
else {
|
|
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='".$conference['id']."' 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 projectcategoriesdivisions_link.conferences_id='".$conference['id']."'
|
|
AND projectcategories.conferences_id='".$conference['id']."'
|
|
ORDER BY projectcategories.mingrade");
|
|
echo mysql_error();
|
|
if(!$c){
|
|
$tempcat=" ";
|
|
}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&edit=$r->id\"><img src=\"".$config['SFIABDIRECTORY']."/images/16/edit.".$config['icon_extension']."\" border=0></a>";
|
|
echo " ";
|
|
echo "<a title=\"Remove\" onClick=\"return confirmClick('Are you sure you want to remove this division?');\" href=\"".$_SERVER['PHP_SELF']."?action=remove&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();
|
|
?>
|