<? /* * 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 ' '; echo ' '; 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 '  '; 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 '  '; echo '  '; if ($studnum > 1) echo i18n('Students') . ': ' . htmlspecialchars($students); else echo i18n('Student') . ': ' . htmlspecialchars($students); echo '<br />'; echo '  '; echo '  '; echo i18n('School') . ': '; $schoollist = ''; foreach ($schools AS $school) $schoollist .= $school . ', '; $schoollist = substr($schoollist, 0, -2); echo $schoollist; echo '<br />'; } else { echo '  '; 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 " <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(); ?>