science-ation/fair_stats.php

344 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($_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['action']) {
case 'save':
$stats = $_POST['stats'];
$conferences_id = intval($_POST['conferences_id']);
foreach($stats as $k=>$v) {
$stats[$k] = mysql_escape_string($stats[$k]);
}
// $str = join(',',$stats);
$keys = '`fairs_id`,`conferences_id`,`'.join('`,`', array_keys($stats)).'`';
$vals = "'{$u['fairs_id']}','$conferences_id','".join("','", array_values($stats))."'";
mysql_query("DELETE FROM fairs_stats WHERE fairs_id='{$u['fairs_id']}' AND conferences_id='$conferences_id'");
echo mysql_error();
mysql_query("INSERT INTO fairs_stats (`id`,$keys) VALUES ('',$vals)");
echo mysql_error();
happy_("Fair Information Saved.");
exit;
}
if($_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;
/* Get the stats we want from this fair */
$q = mysql_query("SELECT * FROM fairs WHERE id='{$u['fairs_id']}'");
echo mysql_error();
$fair = mysql_fetch_assoc($q);
$s = explode(',', $fair['gather_stats']);
foreach($s as $k) {
if(trim($k) == '') continue;
$server_config[$k] = true;
$server_any_stats = true;
}
/* Load stats */
$confDat = null;
if(array_key_exists('conferences_id', $_POST)){
$conferences_id = intval($_POST['conferences_id']);
$confDat = get_conference_info($conferences_id);
}
if($confDat == null){ // can't be an else, as get_conference_info returns null if the id isn't found
$conferences_id = $conference['id'];
$confDat = get_conference_info($conferences_id);
}
$q = mysql_query("SELECT * FROM fairs_stats WHERE fairs_id='{$u['fairs_id']}'
AND conferences_id='$conferences_id'");
$stats = mysql_fetch_assoc($q);
/* Print stats */
/* Print all blocks the server requests */
echo "<br />";
echo "<form id=\"stats_form\" name=\"stats_form\">";
echo "<input type=\"hidden\" name=\"conferences_id\" value=\"$conferences_id\" />";
if($server_config['info']) {
echo '<h3>'.i18n('%1 information', array($confDat['name'])).'</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 Chairperson (if known)', array($confDat['name'])).'</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($confDat['name'])).'</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($confDat['name'])).'</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 participation', array($confDat['name'])).'</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($confDat['name'])).'</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($confDat['name'])).'</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($confDat['name'])).'</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($confDat['name'])).'</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($_SESSION['embed'] != true) {
send_footer();
}
?>