forked from science-ation/science-ation
176 lines
7.1 KiB
PHP
176 lines
7.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');
|
|
require_once ('../user.inc.php');
|
|
user_auth_required('committee', 'config');
|
|
if (get_value_from_array($_GET, 'action') == 'edit' || get_value_from_array($_GET, 'action') == 'new') {
|
|
send_header(get_value_from_array($_GET, 'action') == 'edit' ? 'Edit Sub-Division' : 'New Sub-Division',
|
|
array('Committee Main' => 'committee_main.php',
|
|
'SFIAB Configuration' => 'config/index.php',
|
|
'Project Sub-Divisions' => 'config/subdivisions.php'),
|
|
'project_sub_divisions');
|
|
} else {
|
|
send_header('Project Sub-Divisions',
|
|
array('Committee Main' => 'committee_main.php',
|
|
'SFIAB Configuration' => 'config/index.php'),
|
|
'project_sub_divisions');
|
|
}
|
|
|
|
if (get_value_from_array($_POST, 'action') == 'edit') {
|
|
if (get_value_from_array($_POST, 'id') && get_value_from_array($_POST, 'projectdivisions_id') && get_value_from_array($_POST, 'subdivision')) {
|
|
$q = $pdo->prepare("SELECT id FROM projectsubdivisions WHERE id=? AND year=?");
|
|
$q->execute([$_POST['id'],$config['FAIRYEAR']]);
|
|
if ($q->rowCount() && $_POST['saveid'] != $_POST['id']) {
|
|
echo error(i18n('Sub-Division ID %1 already exists', array($_POST['id'])));
|
|
} else {
|
|
$stmt = $pdo->prepare('UPDATE projectsubdivisions SET '
|
|
. "id=?, "
|
|
. "projectdivisions_id=?, "
|
|
. "subdivision=?"
|
|
. "WHERE id=?");
|
|
$stmt->execute([$_POST['id'],$_POST['projectdivisions_id'],stripslashes($_POST['subdivision']),$_POST['saveid']]);
|
|
echo happy(i18n('Sub-Division successfully saved'));
|
|
}
|
|
} else {
|
|
echo error(i18n('All fields are required'));
|
|
}
|
|
}
|
|
|
|
if (get_value_from_array($_POST, 'action') == 'new') {
|
|
if (get_value_from_array($_POST, 'projectdivisions_id') && get_value_from_array($_POST, 'subdivision')) {
|
|
if (!$_POST['id']) {
|
|
$idq = $pdo->prepare('SELECT MAX(id) AS id FROM projectsubdivisions');
|
|
$idq->execute();
|
|
$idr = $idq->fetch(PDO::FETCH_OBJ);
|
|
$newid = $idr->id + 1;
|
|
} else
|
|
$newid = $_POST['id'];
|
|
|
|
$q = $pdo->prepare("SELECT id FROM projectsubdivisions WHERE id=? AND year=?");
|
|
$q->execute([$newid,$config['FAIRYEAR']]);
|
|
if ($q->rowCount()) {
|
|
echo error(i18n('Sub-Division ID %1 already exists', array($newid)));
|
|
} else {
|
|
$stmt = $pdo->prepare('INSERT INTO projectsubdivisions (id,projectdivisions_id,subdivision,year) VALUES ( '
|
|
. "'$newid', "
|
|
. "'" . $_POST['projectdivisions_id'] . "', "
|
|
. "'" . stripslashes($_POST['subdivision']) . "', "
|
|
. "'" . $config['FAIRYEAR'] . "') ");
|
|
$stmt->execute();
|
|
echo happy(i18n('Sub-Division successfully added'));
|
|
}
|
|
} else {
|
|
echo error(i18n('All fields except ID are required'));
|
|
}
|
|
}
|
|
|
|
if (get_value_from_array($_GET, 'action') == 'remove' && get_value_from_array($_GET, 'remove')) {
|
|
$stmt = $pdo->prepare("DELETE FROM projectsubdivisions WHERE id=?");
|
|
$stmt->execute([$_GET['remove']]);
|
|
echo happy(i18n('Sub-Division successfully removed'));
|
|
}
|
|
|
|
echo '<form method="post" action="' . $_SERVER['PHP_SELF'] . '">';
|
|
|
|
if (!(get_value_from_array($_GET, 'action') == 'edit' || get_value_from_array($_GET, 'action') == 'new'))
|
|
echo '<a href="' . $_SERVER['PHP_SELF'] . '?action=new">' . i18n('Add new sub-division') . "</a>\n";
|
|
|
|
echo '<table class="summarytable">';
|
|
echo '<tr>';
|
|
echo '<th>' . i18n('Parent Division') . "</th>\n";
|
|
echo '<th>' . i18n('ID') . "</th>\n";
|
|
echo '<th>' . i18n('Sub-Division') . "</th>\n";
|
|
echo '<th>' . i18n('Actions') . "</th>\n";
|
|
echo '</tr>';
|
|
|
|
if (get_value_from_array($_GET, 'action') == 'edit' || get_value_from_array($_GET, 'action') == 'new') {
|
|
echo '<input type="hidden" name="action" value="' . get_value_from_array($_GET, 'action') . "\">\n";
|
|
$divisionr = array();
|
|
if (get_value_from_array($_GET, 'action') == 'edit') {
|
|
echo '<input type="hidden" name="saveid" value="' . get_value_from_array($_GET, 'edit') . "\">\n";
|
|
$q = $pdo->prepare("SELECT * FROM projectsubdivisions WHERE id=? AND year=?");
|
|
$q->execute([get_value_from_array($_GET, 'edit'),$config['FAIRYEAR']]);
|
|
$divisionr = $q->fetch(PDO::FETCH_OBJ);
|
|
$buttontext = 'Save';
|
|
} else if ($_GET['action'] == 'new') {
|
|
$buttontext = 'Add';
|
|
}
|
|
echo '<tr>';
|
|
echo ' <td>';
|
|
echo '<select name="projectdivisions_id">';
|
|
$dq = $pdo->prepare("SELECT * FROM projectdivisions WHERE year=? ORDER BY division");
|
|
$dq->execute([$config['FAIRYEAR']]);
|
|
while ($dr = $dq->fetch(PDO::FETCH_OBJ)) {
|
|
if ($dr->id == $divisionr->projectdivisions_id)
|
|
$sel = 'selected="selected"';
|
|
else
|
|
$sel = '';
|
|
echo "<option $sel value=\"$dr->id\">$dr->division</option>\n";
|
|
}
|
|
echo '</select>';
|
|
echo '</td>';
|
|
echo ' <td><input type="text" size="3" name="id" value="' . get_value_from_array($divisionr, 'id', '') . '"></td>';
|
|
echo ' <td><input type="text" size="30" name="subdivision" value="' . get_value_from_array($divisionr, 'subdivision', '') . '"></td>';
|
|
echo ' <td><input type="submit" value="' . i18n($buttontext) . '"></td>';
|
|
$dq->execute();
|
|
echo '</tr>';
|
|
} else {
|
|
$q = $pdo->prepare("SELECT projectsubdivisions.id,
|
|
\t \t\t\tprojectsubdivisions.projectdivisions_id,
|
|
projectsubdivisions.subdivision,
|
|
projectdivisions.division
|
|
FROM
|
|
projectsubdivisions,
|
|
projectdivisions
|
|
WHERE
|
|
projectsubdivisions.year=?
|
|
AND projectdivisions.year=?
|
|
AND projectsubdivisions.projectdivisions_id=projectdivisions.id
|
|
ORDER BY
|
|
division,subdivision");
|
|
$q->execute([$config['FAIRYEAR'],$config['FAIRYEAR']]);
|
|
show_pdo_errors_if_any($pdo);
|
|
while ($r = $q->fetch(PDO::FETCH_OBJ)) {
|
|
echo '<tr>';
|
|
echo " <td>$r->division</td>";
|
|
echo " <td>$r->id</td>";
|
|
echo " <td>$r->subdivision</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>';
|
|
if (get_value_from_array($_GET, 'action') == 'new')
|
|
echo ' ' . i18n('Leave ID field blank to auto-assign next available ID');
|
|
echo '</form>';
|
|
|
|
send_footer();
|
|
?>
|