<?

/*
 * 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();
}

?>