forked from science-ation/science-ation
259 lines
8.6 KiB
PHP
259 lines
8.6 KiB
PHP
<?
|
|
|
|
/*
|
|
* This file is part of the 'Science Fair In A Box' project
|
|
* Science-ation Website: https://science-ation.ca/
|
|
*
|
|
* Copyright (C) 2005 Sci-Tech Ontario Inc <info@scitechontario.org>
|
|
* Copyright (C) 2005 James Grant <james@lightbox.org>
|
|
* Copyright (C) 2024 AlgoLibre Inc. <science-ation@algolibre.io>
|
|
*
|
|
* 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', 'admin');
|
|
|
|
send_header(
|
|
'Create All Divisional Awards',
|
|
array(
|
|
'Committee Main' => 'committee_main.php',
|
|
'Administration' => 'admin/index.php',
|
|
'Awards Main' => 'admin/awards.php'
|
|
)
|
|
);
|
|
|
|
if (get_value_from_array($_GET, 'sponsors_id'))
|
|
$sponsors_id = $_GET['sponsors_id'];
|
|
else if (get_value_from_array($_POST, 'sponsors_id'))
|
|
$sponsors_id = $_POST['sponsors_id'];
|
|
|
|
if (get_value_from_array($_GET, 'award_types_id'))
|
|
$award_types_id = $_GET['award_types_id'];
|
|
else if (get_value_from_array($_POST, 'award_types_id'))
|
|
$award_types_id = $_POST['award_types_id'];
|
|
|
|
// first, we can only do this if we dont have any type=divisional awards created yet
|
|
|
|
$q = $pdo->prepare("SELECT COUNT(id) AS num FROM award_awards WHERE award_types_id='1' AND year='{$config['FAIRYEAR']}'");
|
|
$q->execute();
|
|
$r = $q->fetch(PDO::FETCH_OBJ);
|
|
if ($r->num) {
|
|
echo error(i18n('%1 Divisional awards already exist. There must not be any divisional awards in order to run this wizard', array($r->num)));
|
|
} else {
|
|
$q = $pdo->prepare("SELECT * FROM projectdivisions WHERE year='" . $config['FAIRYEAR'] . "' ORDER BY id");
|
|
$q->execute();
|
|
while ($r = $q->fetch(PDO::FETCH_OBJ))
|
|
$div[$r->id] = $r->division;
|
|
|
|
$q = $pdo->prepare("SELECT * FROM projectcategories WHERE year='" . $config['FAIRYEAR'] . "' ORDER BY id");
|
|
$q->execute();
|
|
while ($r = $q->fetch(PDO::FETCH_OBJ))
|
|
$cat[$r->id] = $r->category;
|
|
|
|
$dkeys = array_keys($div);
|
|
$ckeys = array_keys($cat);
|
|
|
|
if ($config['filterdivisionbycategory'] == 'yes') {
|
|
$q = $pdo->prepare("SELECT * FROM projectcategoriesdivisions_link WHERE year='" . $config['FAIRYEAR'] . "' ORDER BY projectdivisions_id,projectcategories_id");
|
|
$q->execute();
|
|
$divcat = array();
|
|
while ($r = $q->fetch(PDO::FETCH_OBJ)) {
|
|
$divcat[] = array('c' => $r->projectcategories_id, 'd' => $r->projectdivisions_id);
|
|
}
|
|
} else {
|
|
$divcat = array();
|
|
foreach ($dkeys as $d) {
|
|
foreach ($ckeys as $c) {
|
|
$divcat[] = array('c' => $c, 'd' => $d);
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($_GET['action'] == 'create' && $_GET['sponsors_id']) {
|
|
$q = $pdo->prepare("SELECT * FROM award_prizes WHERE year='-1' AND award_awards_id='0' ORDER BY `order`");
|
|
$q->execute();
|
|
$prizes = array();
|
|
while ($r = $q->fetch(PDO::FETCH_OBJ)) {
|
|
$prizes[] = array(
|
|
'cash' => $r->cash,
|
|
'scholarship' => $r->scholarship,
|
|
'value' => $r->value,
|
|
'prize' => $r->prize,
|
|
'number' => $r->number,
|
|
'excludefromac' => $r->excludefromac,
|
|
'trophystudentkeeper' => $r->trophystudentkeeper,
|
|
'trophystudentreturn' => $r->trophystudentreturn,
|
|
'trophyschoolkeeper' => $r->trophyschoolkeeper,
|
|
'trophyschoolreturn' => $r->trophyschoolreturn,
|
|
'order' => $r->order
|
|
);
|
|
}
|
|
|
|
$ord = 1;
|
|
echo '<br />';
|
|
foreach ($divcat as $dc) {
|
|
$d_id = $dc['d'];
|
|
$c_id = $dc['c'];
|
|
$d_division = $div[$d_id];
|
|
$c_category = $cat[$c_id];
|
|
|
|
echo i18n('Creating %1 - %2', array($c_category, $d_division)) . '<br />';
|
|
|
|
$q = $pdo->prepare("INSERT INTO award_awards (sponsors_id,award_types_id,name,criteria,`order`,year) VALUES (
|
|
'{$_GET['sponsors_id']}',
|
|
'1',
|
|
'$c_category - $d_division',
|
|
'" . i18n('Best %1 projects in the %2 division', array($c_category, $d_division)) . "',
|
|
'$ord',
|
|
'{$config['FAIRYEAR']}'
|
|
)");
|
|
$q->execute();
|
|
show_pdo_errors_if_any($pdo);
|
|
$award_awards_id = $pdo->lastInsertId();
|
|
|
|
$q = $pdo->prepare("INSERT INTO award_awards_projectcategories (award_awards_id,projectcategories_id,year) VALUES ('$award_awards_id','$c_id','{$config['FAIRYEAR']}')");
|
|
$q->execute();
|
|
|
|
$q = $pdo->prepare("INSERT INTO award_awards_projectdivisions (award_awards_id,projectdivisions_id,year) VALUES ('$award_awards_id','$d_id','{$config['FAIRYEAR']}')");
|
|
$q->execute();
|
|
$ord++;
|
|
|
|
echo ' ' . i18n('Prizes: ');
|
|
foreach ($prizes as $prize) {
|
|
$q = $pdo->prepare("INSERT INTO award_prizes (award_awards_id,cash,scholarship,value,prize,number,`order`,excludefromac,trophystudentkeeper,trophystudentreturn,trophyschoolkeeper,trophyschoolreturn,year) VALUES (
|
|
'$award_awards_id',
|
|
'{$prize['cash']}',
|
|
'{$prize['scholarship']}',
|
|
'{$prize['value']}',
|
|
'{$prize['prize']}',
|
|
'{$prize['number']}',
|
|
'{$prize['order']}',
|
|
'{$prize['excludefromac']}',
|
|
'{$prize['trophystudentkeeper']}',
|
|
'{$prize['trophystudentreturn']}',
|
|
'{$prize['trophyschoolkeeper']}',
|
|
'{$prize['trophyschoolreturn']}',
|
|
'{$config['FAIRYEAR']}'
|
|
)");
|
|
|
|
$q->execute();
|
|
|
|
echo $prize['prize'] . ',';
|
|
}
|
|
echo '<br />';
|
|
}
|
|
echo happy(i18n('All divisional awards and prizes successfully created'));
|
|
echo '<a href="award_awards.php">' . i18n('Go to awards manager') . "</a>\n";
|
|
} else {
|
|
echo '<br />';
|
|
echo i18n('Please choose the sponsor and create the prizes that will be added to all divisional awards');
|
|
echo '<form method="get" action="award_awardcreatedivisional.php">';
|
|
|
|
echo '<table>';
|
|
echo '<tr><td>' . i18n('Sponsor') . ':</td><td>';
|
|
|
|
$sq = $pdo->prepare('SELECT id,organization FROM sponsors ORDER BY organization');
|
|
$sq->execute();
|
|
echo '<select name="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 = $sq->fetch(PDO::FETCH_OBJ)) {
|
|
if ($sr->id == $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('Prizes') . '</td><td><a href="award_prizes.php?award_awards_id=-1">Edit prize template for divisional awards</a>';
|
|
// the 'generic' template prizes for the awards are stored with year =-1 and award_awards_id=0
|
|
|
|
$q = $pdo->prepare("SELECT * FROM award_prizes WHERE year='-1' AND award_awards_id='0' ORDER BY `order`");
|
|
$q->execute();
|
|
|
|
if ($q->rowCount()) {
|
|
/*
|
|
* echo "<form method=\"post\" action=\"award_prizes.php\">";
|
|
* echo "<input type=\"hidden\" name=\"action\" value=\"reorder\">";
|
|
* echo "<input type=\"hidden\" name=\"award_awards_id\" value=\"$award_awards_id\">";
|
|
*/
|
|
|
|
echo '<table class="summarytable">';
|
|
echo '<tr>';
|
|
// echo " <th>".i18n("Order")."</th>";
|
|
echo ' <th>' . i18n('Prize Description') . '</th>';
|
|
echo ' <th>' . i18n('Cash Amount') . '</th>';
|
|
echo ' <th>' . i18n('Scholarship Amount') . '</th>';
|
|
echo ' <th>' . i18n('Value') . '</th>';
|
|
echo ' <th>' . i18n('# of Prizes') . '</th>';
|
|
// echo " <th>Actions</th>";
|
|
echo "</tr>\n";
|
|
|
|
while ($r = $q->fetch(PDO::FETCH_OBJ)) {
|
|
echo "<tr>\n";
|
|
echo " <td>$r->prize</td>\n";
|
|
echo ' <td align="right">';
|
|
if ($r->cash)
|
|
echo "\$$r->cash";
|
|
else
|
|
echo ' ';
|
|
echo ' </td>';
|
|
echo ' <td align="right">';
|
|
if ($r->scholarship)
|
|
echo "\$$r->scholarship";
|
|
else
|
|
echo ' ';
|
|
echo ' </td>';
|
|
echo ' <td align="right">';
|
|
if ($r->value)
|
|
echo "\$$r->value";
|
|
else
|
|
echo ' ';
|
|
echo ' </td>';
|
|
echo " <td align=\"center\">$r->number</td>\n";
|
|
echo "</tr>\n";
|
|
}
|
|
|
|
echo "</table>\n";
|
|
}
|
|
|
|
echo '</td></tr>';
|
|
echo '</table>';
|
|
|
|
echo '<b>' . i18n('We will create the following awards with the prizes listed above') . ':</b>';
|
|
echo '<br />';
|
|
|
|
foreach ($divcat as $dc) {
|
|
$d_id = $dc['d'];
|
|
$c_id = $dc['c'];
|
|
$d_division = $div[$d_id];
|
|
$c_category = $cat[$c_id];
|
|
|
|
echo i18n($c_category) . ' - ' . i18n($d_division) . '<br />';
|
|
}
|
|
|
|
echo '<input type="hidden" name="action" value="create">';
|
|
echo '<input type="submit" value="' . i18n('Create all divisional awards') . '">';
|
|
echo '</form>';
|
|
}
|
|
}
|
|
send_footer();
|
|
?>
|