forked from science-ation/science-ation
370 lines
14 KiB
PHP
370 lines
14 KiB
PHP
<?
|
|
|
|
/*
|
|
* This file is part of the 'Science Fair In A Box' project
|
|
* SFIAB Website: http://www.sfiab.ca
|
|
*
|
|
* Copyright (C) 2007 James Grant <james@lightbox.org>
|
|
* Copyright (C) 2009 David Grant <dave@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_once ('common.inc.php');
|
|
require_once ('user.inc.php');
|
|
require_once ('admin/stats.inc.php');
|
|
|
|
/* Sort out who we're editting */
|
|
if (get_value_from_array($_POST, 'users_id'))
|
|
$eid = intval($_POST['users_id']); /* From a save form */
|
|
else if (array_key_exists('embed_edit_id', $_SESSION))
|
|
$eid = $_SESSION['embed_edit_id']; /* From the embedded editor */
|
|
else
|
|
$eid = $_SESSION['users_id']; /* Regular entry */
|
|
|
|
if ($eid != $_SESSION['users_id']) {
|
|
/*
|
|
* Not editing ourself, we had better be
|
|
* a committee member
|
|
*/
|
|
user_auth_required('committee', 'admin');
|
|
}
|
|
$u = user_load($eid);
|
|
|
|
switch (get_value_from_array($_GET, 'action')) {
|
|
case 'save':
|
|
$stats = $_POST['stats'];
|
|
$year = intval($_POST['year']);
|
|
|
|
foreach ($stats as $k => $v) {
|
|
$stats[$k] = $stats[$k];
|
|
}
|
|
|
|
// $str = join(',',$stats);
|
|
$keys = '`fairs_id`,`year`,`' . join('`,`', array_keys($stats)) . '`';
|
|
$vals = "'{$u['fairs_id']}','$year','" . join("','", array_values($stats)) . "'";
|
|
$stmt = $pdo->prepare('DELETE FROM fairs_stats WHERE fairs_id = :fairs_id AND year = :year');
|
|
$stmt->execute([
|
|
':fairs_id' => $u['fairs_id'],
|
|
':year' => $year
|
|
]);
|
|
$stmt = $pdo->prepare("INSERT INTO fairs_stats (`id`,?) VALUES ('',?)");
|
|
$stmt->execute([$keys,$vals]);
|
|
|
|
happy_('Fair Information Saved.');
|
|
exit;
|
|
}
|
|
|
|
if (get_value_from_array($_SESSION, 'embed') == true) {
|
|
echo '<br/>';
|
|
display_messages();
|
|
echo '<h3>' . i18n('Fair Information and Statistics') . '</h3>';
|
|
echo '<br/>';
|
|
} else {
|
|
send_header('Fair Information and Statistics',
|
|
array('Fair Main' => 'fair_main.php'),
|
|
'fair_stats');
|
|
}
|
|
|
|
?>
|
|
<script type="text/javascript">
|
|
function stats_save()
|
|
{
|
|
$("#debug").load("<?= $config['SFIABDIRECTORY'] ?>/fair_stats.php?action=save", $("#stats_form").serializeArray());
|
|
return false;
|
|
}
|
|
</script>
|
|
|
|
<?
|
|
|
|
/*
|
|
* This was the remote upload code, seems silly to change the config names. server_config really isn't
|
|
* from the server here, it's just our local name
|
|
*/
|
|
|
|
/* SFIAB config options server side */
|
|
$server_config = array();
|
|
$server_config['participation'] = false;
|
|
$server_config['schools_ext'] = false;
|
|
$server_config['minorities'] = false;
|
|
$server_config['guests'] = false;
|
|
$server_config['sffbc_misc'] = false;
|
|
$server_config['info'] = false;
|
|
$server_config['next_chair'] = false;
|
|
$server_config['scholarships'] = false;
|
|
$server_config['delegates'] = false;
|
|
$server_any_stats = false;
|
|
|
|
$year = intval(get_value_from_array($_POST, 'year'));
|
|
if ($year < 1900)
|
|
$year = $config['FAIRYEAR'];
|
|
|
|
/* Get the stats we want from this fair */
|
|
$q = $pdo->prepare('SELECT * FROM fairs WHERE id = :fairs_id');
|
|
|
|
$q->execute([
|
|
':fairs_id' => $u['fairs_id']
|
|
]);
|
|
|
|
|
|
$fair = $q->fetch(PDO::FETCH_ASSOC);
|
|
|
|
$s = explode(',', $fair['gather_stats']);
|
|
foreach ($s as $k) {
|
|
if (trim($k) == '')
|
|
continue;
|
|
$server_config[$k] = true;
|
|
$server_any_stats = true;
|
|
}
|
|
|
|
/*
|
|
* $s = ($_SESSION['embed'] == true) ? $_SESSION['embed_submit_url'] : 'fair_stats.php';
|
|
* echo "<form id=\"year_form\" name=\"year_form\" method=\"post\" action=\"$s\">";
|
|
* echo i18n('Select Year').": ";
|
|
* $q = mysql_query("SELECT DISTINCT year FROM config WHERE year>1000 ORDER BY year DESC");
|
|
* echo "<select name=\"year\" id=\"year\" onchange=\"this.form.submit()\">";
|
|
* while($i = mysql_fetch_assoc($q)) {
|
|
* $y = $i['year'];
|
|
* $sel = ($config['FAIRYEAR'] == $y) ? 'selected=\"selected\"' : '';
|
|
* echo "<option value=\"$y\" $sel>$y</option>";
|
|
* }
|
|
* echo "</select>";
|
|
* echo "</form>";
|
|
*/
|
|
echo '<br />';
|
|
|
|
/* Load stats */
|
|
$q = $pdo->prepare('SELECT * FROM fairs_stats WHERE fairs_id = :fairs_id AND year = :year');
|
|
|
|
$q->execute([
|
|
':fairs_id' => $u['fairs_id'],
|
|
':year' => $year
|
|
]);
|
|
|
|
$stats = $q->fetch(PDO::FETCH_ASSOC);
|
|
|
|
/* Print stats */
|
|
|
|
/* Print all blocks the server requests */
|
|
|
|
echo '<form id="stats_form" name="stats_form">';
|
|
echo "<input type=\"hidden\" name=\"year\" value=\"$year\" />";
|
|
|
|
if ($server_config['info']) {
|
|
echo '<h3>' . i18n('%1 Fair information', array($year)) . '</h3>';
|
|
echo '<table>';
|
|
echo '<tr><td>' . i18n('Fair Start Date') . ':</td>';
|
|
echo "<td><input type=\"text\" size=\"12\" name=\"stats[start_date]\" value=\"{$stats['start_date']}\">(YYYY-MM-DD)</td></tr>";
|
|
echo '<tr><td>' . i18n('Fair End Date') . ':</td>';
|
|
echo "<td><input type=\"text\" size=\"12\" name=\"stats[end_date]\" value=\"{$stats['end_date']}\">(YYYY-MM-DD)</td></tr>";
|
|
echo '<tr><td>' . i18n('Fair Location/Address') . ':</td>';
|
|
echo '<td><textarea name="address" rows="4" cols="60">' . htmlspecialchars($stats['address']) . '</textarea></td>';
|
|
echo '<tr><td>' . i18n('Fair Budget') . ':</td>';
|
|
echo "<td>\$<input type=text name=\"stats[budget]\" value=\"{$stats['budget']}\"></td></tr>";
|
|
echo '<tr><td>' . i18n('Youth Science Canada Affiliation Complete') . '?</td>';
|
|
echo '<td><select name="ysf_affiliation_complete">';
|
|
$sel = $stats['ysf_affiliation_complete'] == 'N' ? 'selected="selected"' : '';
|
|
echo " <option value=\"N\" $sel >No</option>";
|
|
$sel = $stats['ysf_affiliation_complete'] == 'Y' ? 'selected="selected"' : '';
|
|
echo " <option value=\"Y\" $sel >Yes</option>";
|
|
echo '</select></td></tr>';
|
|
echo '<tr><td>' . i18n('Charity Number or Information') . '?</td>';
|
|
echo "<td><input type=text size=\"40\" name=\"stats[charity]\" value=\"{$stats['charity']}\"></td></tr>";
|
|
echo '</table>';
|
|
echo '<br />';
|
|
echo '<br />';
|
|
}
|
|
|
|
if ($server_config['next_chair']) {
|
|
echo '<h3>' . i18n('%1 - %2 Chairperson (if known)', array($year, $year + 1)) . '</h3>';
|
|
echo '<table>';
|
|
echo '<tr><td>' . i18n('Name') . ': </td>';
|
|
echo "<td><input type=text name=\"stats[next_chair_name]\" value=\"{$stats['next_chair_name']}\"></td>";
|
|
echo '<td>' . i18n('Email') . ': </td>';
|
|
echo "<td><input type=text name=\"stats[next_chair_email]\" value=\"{$stats['next_chair_email']}\"></td></tr>";
|
|
echo '<tr><td>' . i18n('Tel. Bus') . ': </td>';
|
|
echo "<td><input type=text name=\"stats[next_chair_bphone]\" value=\"{$stats['next_chair_bphone']}\"></td>";
|
|
echo '<td>' . i18n('Tel. Home') . ': </td>';
|
|
echo "<td><input type=text name=\"stats[next_chair_hphone]\" value=\"{$stats['next_chair_hphone']}\"></td></tr>";
|
|
echo '<tr><td>' . i18n('Fax') . ': </td>';
|
|
echo "<td><input type=text name=\"stats[next_chair_fax]\" value=\"{$stats['next_chair_fax']}\"></td>";
|
|
echo '</tr>';
|
|
|
|
echo '</table>';
|
|
echo '<br /><br />';
|
|
}
|
|
|
|
if ($server_config['delegates']) {
|
|
echo '<h3>' . i18n('%1 CWSF Delegates and Alternatives', array($year)) . '</h3>';
|
|
echo '<table>';
|
|
echo '<tr><td>' . i18n('Delegate Name(s)') . '</td><td>' . i18n('Email') . '</td><td>' . i18n('Jacket Size') . '<td></tr>';
|
|
for ($x = 1; $x <= 3; $x++) {
|
|
$sizes = array('small' => 'Small', 'medium' => 'Medium', 'large' => 'Large', 'xlarge' => 'X-Large');
|
|
echo "<td><input type=text size=\"25\" name=\"delegate$x\" value=\"{$stats["delegate$x"]}\"></td>";
|
|
echo "<td><input type=text size=\"25\" name=\"delegate{$x}_email\" value=\"{$stats["delegate{$x}_email"]}\"></td>";
|
|
echo "<td><select name=\"delegate{$x}_size\">";
|
|
$sz = $stats["delegate{$x}_size"];
|
|
foreach ($sizes as $s => $t) {
|
|
$sel = ($sz == $s) ? 'selected="selected"' : '';
|
|
echo " <option value=\"$s\" $sel >" . i18n($t) . '</option>';
|
|
}
|
|
echo '</select></td></tr>';
|
|
}
|
|
echo '</table>';
|
|
echo i18n('Remember, the jackets fit smaller than normal sizes.');
|
|
echo '<br /><br />';
|
|
}
|
|
|
|
if ($server_config['scholarships']) {
|
|
echo '<h3>' . i18n('%1 Scholarships', array($year)) . '</h3>';
|
|
echo 'How many university/college scholarships are available at your fair? (use a format like: <br /><b>6 - University of British Columbia - Entrance Scholarships</b><br />';
|
|
echo '<textarea name="stats[scholarships]" rows="4\" cols="80">' . htmlspecialchars($stats['scholarships']) . '</textarea>';
|
|
echo '<br /><br />';
|
|
}
|
|
|
|
if ($server_config['participation']) {
|
|
$rangemap = array(1 => '1-3', 4 => '4-6', 7 => '7-8', 9 => '9-10', 11 => '11-12');
|
|
echo '<h3>' . i18n('%1 Fair participation', array($year)) . '</h3>';
|
|
echo '<br />';
|
|
echo i18n('Number of students') . ': ';
|
|
echo "<input type=text name=\"stats[students_total]\" size=\"5\" value=\"{$stats['students_total']}\">";
|
|
echo '<table><tr><td></td><td></td><td></td><td align=\"center\">' . i18n('Grade') . '</td><td></td><td></td></tr>';
|
|
echo '<tr><td></td>';
|
|
foreach ($rangemap as $k => $v)
|
|
echo "<td align=\"center\" width=\"50px\" >$v</td>";
|
|
echo '</tr><tr>';
|
|
echo '<td>' . i18n('Male') . '</td>';
|
|
foreach ($rangemap as $k => $v)
|
|
echo "<td align=\"right\"><input type=text size=\"4\" name=\"stats[male_$k]\" value=\"{$stats["male_$k"]}\"></td>";
|
|
echo '</tr><tr>';
|
|
echo '<td>' . i18n('Female') . '</td>';
|
|
foreach ($rangemap as $k => $v)
|
|
echo "<td align=\"right\"><input type=text size=\"4\" name=\"stats[female_$k]\" value=\"{$stats["female_$k"]}\"></td>";
|
|
echo '</tr><tr>';
|
|
echo '<td>' . i18n('Projects') . '</td>';
|
|
foreach ($rangemap as $k => $v)
|
|
echo "<td align=\"right\"><input type=text size=\"4\" name=\"stats[projects_$k]\" value=\"{$stats["projects_$k"]}\"></td>";
|
|
echo '</tr>';
|
|
echo '</table>';
|
|
echo '<br />';
|
|
echo i18n('Number of schools') . ": <input type=text size=\"5\" name=\"stats[schools_total]\" value=\"{$stats['schools_total']}\">";
|
|
echo '<br />';
|
|
echo i18n('Number of active schools') . ": <input type=text size=\"5\" name=\"stats[schools_active]\" value=\"{$stats['schools_active']}\">";
|
|
echo '<br />';
|
|
echo '<br />';
|
|
echo i18n('Number of committee members') . ": <input type=text size=\"5\" name=\"stats[committee_members]\" value=\"{$stats['committee_members']}\">";
|
|
echo '<br />';
|
|
echo i18n('Number of judges') . ": <input type=text size=\"5\" name=\"stats[judges]\" value=\"{$stats['judges']}\">";
|
|
echo '<br />';
|
|
echo '<br />';
|
|
echo '<br />';
|
|
}
|
|
|
|
if ($server_config['schools_ext']) {
|
|
echo '<h3>' . i18n('%1 Extended School/Participant data', array($year)) . '</h3>';
|
|
echo '<br />';
|
|
?>
|
|
<table><tr>
|
|
<td><?= i18n('Public schools') ?>:</td>
|
|
<td><input type=text size="5" name="stats[schools_public]" value="<?= $stats['schools_public'] ?>"></td>
|
|
<td><?= i18n('Public school Students') ?>:</td>
|
|
<td><input type=text size="5" name="stats[students_public]" value="<?= $stats['students_public'] ?>"></td>
|
|
</tr><tr>
|
|
<td><?= i18n('Private/Independent schools') ?>:</td>
|
|
<td><input type=text size="5" name="stats[schools_private]" value="<?= $stats['schools_private'] ?>"></td>
|
|
<td><?= i18n('Private/Independent school Students') ?>:</td>
|
|
<td><input type=text size="5" name="stats[students_private]" value="<?= $stats['students_private'] ?>"></td>
|
|
</tr><tr>
|
|
<td><?= i18n('At-risk/inner city schools') ?>:</td>
|
|
<td><input type=text size="5" name="stats[schools_atrisk]" value="<?= $stats['schools_atrisk'] ?>"></td>
|
|
<td><?= i18n('At-risk/inner city school Students') ?>:</td>
|
|
<td><input type=text size="5" name="stats[students_atrisk]" value="<?= $stats['students_atrisk'] ?>"></td>
|
|
</tr><tr>
|
|
<td><?= i18n('Number of school boards/distrcits') ?>:</td>
|
|
<td><input type=text size="5" name="stats[schools_districts]" value="<?= $stats['schools_districts'] ?>"></td>
|
|
<td></td><td></td>
|
|
</tr></table>
|
|
<br /> <br /> <br />
|
|
<?
|
|
}
|
|
if ($server_config['minorities']) {
|
|
echo '<h3>' . i18n('%1 Data on minority groups', array($year)) . '</h3>';
|
|
echo '<br />';
|
|
echo '<table>';
|
|
echo '<tr><td>' . i18n('Number of First Nations students');
|
|
echo ": </td><td><input type=\"text\" name=\"stats[firstnations]\" value=\"{$stats['firstnations']}\" size=\"5\" />";
|
|
echo '</td></tr>';
|
|
echo '</table>';
|
|
echo '<br />';
|
|
echo '<br />';
|
|
}
|
|
if ($server_config['guests']) {
|
|
echo '<h3>' . i18n('%1 Guests visiting the fair', array($year)) . '</h3>';
|
|
echo '<br />';
|
|
echo '<table>';
|
|
echo '<tr><td>' . i18n('Number of Students that visited the fair (tours, etc.)');
|
|
echo ": </td><td><input type=\"text\" name=\"stats[studentsvisiting]\" value=\"{$stats['studentsvisiting']}\" size=\"5\" />";
|
|
echo '</td></tr>';
|
|
echo '<tr><td>' . i18n('Number of Public Guests that visited the fair');
|
|
echo ": </td><td><input type=\"text\" name=\"stats[publicvisiting]\" value=\"{$stats['publicvisiting']}\" size=\"5\" />";
|
|
echo '</td></tr>';
|
|
echo '</table>';
|
|
echo '<br />';
|
|
echo '<br />';
|
|
}
|
|
|
|
if ($server_config['sffbc_misc']) {
|
|
echo '<h3>' . i18n('%1 Misc. SFFBC Questions', array($year)) . '</h3>';
|
|
echo '<br />';
|
|
echo '<table>';
|
|
echo '<tr><td>' . i18n('Number of Teachers supporting student projects');
|
|
echo ": </td><td><input type=\"text\" name=\"stats[teacherssupporting]\" value=\"{$stats['teacherssupporting']}\" size=\"5\" />";
|
|
echo '</td></tr>';
|
|
echo '<tr><td>' . i18n('Number of Students indicating increased interest in science & technology');
|
|
echo ": </td><td><input type=\"text\" name=\"stats[increasedinterest]\" value=\"{$stats['increasedinterest']}\" size=\"5\" />";
|
|
echo '</td></tr>';
|
|
echo '<tr><td>' . i18n('Number of Students considering careers in science & technology');
|
|
echo ": </td><td><input type=\"text\" name=\"stats[consideringcareer]\" value=\"{$stats['consideringcareer']}\" size=\"5\" />";
|
|
echo '</td></tr>';
|
|
echo '</table>';
|
|
echo '<br />';
|
|
echo '<br />';
|
|
}
|
|
|
|
if ($server_any_stats == false) {
|
|
/* Every condition below will fail, tell the user something */
|
|
echo i18n('No stats to gather. Contact the admins if you believe this is an error.');
|
|
} else {
|
|
echo '<input type="submit" onClick="stats_save(); return false;"value="' . i18n('Save Fair Information') . '" />';
|
|
}
|
|
|
|
echo '</form>';
|
|
echo '<br />';
|
|
echo '<br />';
|
|
|
|
/*
|
|
* echo "<hr /><pre>";
|
|
* print_r($fair);
|
|
* print_r($server_config);
|
|
* print_r($stats);
|
|
* echo "</pre>";
|
|
*/
|
|
if (get_value_from_array($_SESSION, 'embed') != true) {
|
|
send_footer();
|
|
}
|
|
|
|
?>
|