<?

/*
 * 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 ('projects.inc.php');
require_once ('helper.inc.php');

global $pdo;

send_header('Winners');

if (get_value_from_array($_GET, 'edit'))
	$edit = $_GET['edit'];
if (get_value_from_array($_POST, 'edit'))
	$edit = $_POST['edit'];

if (get_value_from_array($_GET, 'action'))
	$action = $_GET['action'];
if (get_value_from_array($_POST, 'action'))
	$action = $_POST['action'];

if (get_value_from_array($_GET, 'year') && get_value_from_array($_GET, 'type')) {
	$show_unawarded_awards = 'no';
	$show_unawarded_prizes = 'no';
	$year = intval($_GET['year']);
	$type = $_GET['type'];

	echo '<h2>' . i18n('%1 ' . $type . ' Award Winners', array($_GET['year'])) . '</h2>';

	$ok = true;
	// first, lets make sure someone isnt tryint to see something that they arent allowed to!
	// but only if the year they want is the FAIRYEAR.  If they want a past year, thats cool
	if ($_GET['year'] >= $config['FAIRYEAR']) {
		$q = $pdo->prepare("SELECT (NOW()>'" . $config['dates']['postwinners'] . "') AS test");
		$q->execute();
		$r = $q->fetch(PDO::FETCH_OBJ);
		if ($r->test != 1) {
			echo error(i18n('Crystal ball says future is very hard to see!'));
			$ok = false;
		}
	}

	if ($ok) {
		$q = $pdo->prepare("SELECT 
					award_awards.id,
					award_awards.name,
					award_awards.order AS awards_order,
					award_types.type
				FROM 
					award_awards,
					award_types
				WHERE 
						award_awards.year='$year'
					AND\taward_awards.award_types_id=award_types.id
					AND\taward_types.type='$type'
					AND\taward_types.year='$year'
				ORDER BY 
					awards_order");

		$q->execute();
		show_pdo_errors_if_any($pdo);

		if ($q->rowCount()) {
			echo '<a href="winners.php">' . i18n('Back to Winners main page') . '</a>';
			echo '<br />';
			while ($r = $q->fetch(PDO::FETCH_OBJ)) {
				$pq = $pdo->prepare("SELECT 
							award_prizes.prize,
							award_prizes.number,
							award_prizes.id,
							award_prizes.cash,
							award_prizes.scholarship,
							winners.projects_id,
							projects.projectnumber,
							projects.title,
							projects.registrations_id AS reg_id
						FROM 
							award_prizes 
							LEFT JOIN winners ON winners.awards_prizes_id=award_prizes.id
							LEFT JOIN projects ON projects.id=winners.projects_id
						WHERE 
							award_awards_id='$r->id' 
							AND award_prizes.year='$year'
						ORDER BY 
							`order`");
				$pq->execute();
				show_pdo_errors_if_any($pdo);
				$awarded_count = 0;
				if ($show_unawarded_awards == 'no') {
					while ($pr = $pq->fetch(PDO::FETCH_OBJ)) {
						if ($pr->projectnumber) {
							$awarded_count++;
						}
					}
				
					$pq->fetch(PDO::FETCH_ORI_ABS, 0);
				}
				if ($show_unawarded_awards == 'yes' || $awarded_count > 0) {
					echo '<h3>' . i18n($r->name) . "</h3> \n";
				}

				$prevprizeid = -1;
				while ($pr = $pq->fetch(PDO::FETCH_OBJ)) {
					if (!($pr->projectnumber) && $show_unawarded_prizes == 'no') {
						continue;
					}
					if ($prevprizeid != $pr->id) {
						echo '&nbsp;';
						echo '&nbsp;';
						echo '<b>';
						echo i18n($pr->prize);
						if (($pr->cash || $pr->scholarship) && $config['winners_show_prize_amounts'] == 'yes') {
							echo ' (';
							if ($pr->cash && $pr->scholarship)
								echo i18n('$%1 cash / $%2 scholarship', array($pr->cash, $pr->scholarship), array('Cash dollar value', 'Scholarship dollar value'));
							else if ($pr->cash)
								echo i18n('$%1 cash', array($pr->cash), array('Cash dollar value'));
							else if ($pr->scholarship)
								echo i18n('$%1 scholarship', array($pr->scholarship), array('Scholarship dollar value'));
							echo ')';
						}
						echo '</b>';
						echo '<br />';
						$prevprizeid = $pr->id;
					}

					if ($pr->projectnumber) {
						echo '&nbsp&nbsp;&nbsp;&nbsp;';
						echo "($pr->projectnumber) " . htmlspecialchars($pr->title);

						$sq = $pdo->prepare("SELECT students.firstname,
									students.lastname,
									students.schools_id,
									students.webfirst,
									students.weblast,
									students.webphoto,
									schools.school
								FROM
									students,
									schools
								WHERE
									students.registrations_id='$pr->reg_id'
									AND students.schools_id=schools.id
								");
						$sq->execute();

						$studnum = 0;
						$students = '';
						$schools = array();
						while ($studentinfo = $sq->fetch(PDO::FETCH_OBJ)) {
							if ($studnum > 0 && $prev)
								$students .= ', ';

							if ($studentinfo->webfirst == 'yes')
								$students .= "$studentinfo->firstname ";
							if ($studentinfo->weblast == 'yes')
								$students .= "$studentinfo->lastname ";
							if ($r->studentinfo->webfirst == 'yes' || $studentinfo->weblast == 'yes')
								$prev = true;
							else
								$prev = false;

							//							$students.="$studentinfo->firstname $studentinfo->lastname";
							$studnum++;

							// we will assume that they are coming from the same school, so lets just grab the last students school
							// and use it.
							if (!in_array($studentinfo->school, $schools))
								$schools[] = $studentinfo->school;

							//							$school=$studentinfo->school;
						}
						echo '<br />';
						echo '&nbsp&nbsp;&nbsp;&nbsp;';
						echo '&nbsp&nbsp;&nbsp;&nbsp;';
						if ($studnum > 1)
							echo i18n('Students') . ': ' . htmlspecialchars($students);
						else
							echo i18n('Student') . ': ' . htmlspecialchars($students);

						echo '<br />';
						echo '&nbsp&nbsp;&nbsp;&nbsp;';
						echo '&nbsp&nbsp;&nbsp;&nbsp;';
						echo i18n('School') . ': ';
						$schoollist = '';
						foreach ($schools AS $school)
							$schoollist .= $school . ', ';
						$schoollist = substr($schoollist, 0, -2);
						echo $schoollist;
						echo '<br />';
					} else {
						echo '&nbsp&nbsp;&nbsp;&nbsp;';
						echo i18n('Prize not awarded');
						echo '<br />';
					}
					echo '<br />';
				}
			}
		}
	}
} else {
	$q = $pdo->prepare("SELECT 
				DISTINCT(winners.year) AS year, 
				dates.date 
			FROM 
				winners,
				dates 
			WHERE 
				winners.year=dates.year
				AND dates.name='postwinners'
				AND dates.date<=NOW()
			ORDER BY 
				year DESC");
	$q->execute();

	$first = true;
	if ($q->rowCount()) {
		while ($r = $q->fetch(PDO::FETCH_OBJ)) {
			if ($first && $r->year != $config['FAIRYEAR']) {
				list($d, $t) = explode(' ', $config['dates']['postwinners']);
				echo '<h2>' . i18n('%1 Winners', array($config['FAIRYEAR'])) . '</h2>';
				echo i18n('Winners of the %1 %2 will be posted here on %3 at %4', array($config['FAIRYEAR'], $config['fairname'], format_date($d), format_time($t)));
				echo "<br />\n";
				echo "<br />\n";
				$first = false;
			}
			// get the "winnersposted" date for the year, and make
			echo '<h2>' . i18n('%1 Winners', array($r->year)) . '</h2>';

			// do this each time, because each year the names of the award types could change, along with what is actually given out.
			//
			$tq = $pdo->prepare("SELECT 
						DISTINCT(award_types.type) AS type
					FROM
						winners,
						award_types,
						award_awards,
						award_prizes
					WHERE
						award_awards.award_types_id=award_types.id
						AND winners.awards_prizes_id=award_prizes.id
						AND award_prizes.award_awards_id=award_awards.id
						AND winners.year='$r->year'
					ORDER BY
						award_types.order
					");
			$tq->execute();
			$errorInfo = $pdo->errorInfo();
			if ($errorInfo[0] != '00000') {
				// If there's an error (the SQLSTATE isn't '00000', which means no error)
				echo 'Error: ' . $errorInfo[2];  // The third element contains the error message
			}
			while ($tr = $tq->fetch(PDO::FETCH_OBJ)) {
				echo "&nbsp;&nbsp;<a href=\"winners.php?year=$r->year&type=$tr->type\">" . i18n("%1 $tr->type award winners", array($r->year)) . '</a><br />';
			}
			echo '<br />';
			$first = false;
		}
	} else {
		list($d, $t) = explode(' ', $config['dates']['postwinners']);
		echo '<h2>' . i18n('%1 Winners', array($config['FAIRYEAR'])) . '</h2>';
		echo i18n('Winners of the %1 %2 will be posted here on %3 at %4', array($config['FAIRYEAR'], $config['fairname'], format_date($d), format_time($t)));
	}
}

send_footer();

?>