forked from science-ation/science-ation
304 lines
8.3 KiB
PHP
304 lines
8.3 KiB
PHP
<?
|
|
require("../common.inc.php");
|
|
require_once("../user.inc.php");
|
|
user_auth_required('admin');
|
|
require("../lpdf.php");
|
|
require("../lcsv.php");
|
|
|
|
if($_GET['foryear']){
|
|
// backwards compatability
|
|
$r = mysql_fetch_assoc(mysql_query("SELECT id FROM conferences WHERE year = " . $_GET['foryear']));
|
|
if(is_array($r)){
|
|
$forconference = $r['id'];
|
|
}else{
|
|
$forconference = $conference['id'];
|
|
}
|
|
}
|
|
if($_GET['conference']) $forconference=$_GET['conference'];
|
|
else $forconference=$conference['id'];
|
|
|
|
if($_GET['awardtype']=="All") $awardtype="";
|
|
else if($_GET['awardtype']) $awardtype=" AND award_types.type='".mysql_escape_string($_GET['awardtype'])."'";
|
|
else $awardtype="";
|
|
|
|
if($_GET['show_unawarded_awards']=="on") $show_unawarded_awards="yes";
|
|
else $show_unawarded_awards="no";
|
|
|
|
if($_GET['show_unawarded_prizes']=="on") $show_unawarded_prizes="yes";
|
|
else $show_unawarded_prizes="no";
|
|
|
|
$show_pronunciation= ($_GET['show_pronunciation'] == 'on') ? TRUE : FALSE;
|
|
$group_by_prize= ($_GET['group_by_prize'] == 'on') ? true : false;
|
|
|
|
if(is_array($_GET['show_category'])) {
|
|
$show_category = array();
|
|
foreach($_GET['show_category'] as $id=>$val) {
|
|
$show_category[] = "award_awards_projectcategories.projectcategories_id='$id'";
|
|
}
|
|
$and_categories = join(' OR ', $show_category);
|
|
} else {
|
|
$and_categories = '1';
|
|
}
|
|
|
|
$show_criteria = ($_GET['show_criteria']=='on') ? true : false;
|
|
|
|
$type=$_GET['type'];
|
|
if(!$type) $type="pdf";
|
|
|
|
$scriptformat=$_GET['scriptformat'];
|
|
if(!$scriptformat) $scriptformat="default";
|
|
|
|
if($type=="pdf") {
|
|
$rep=new lpdf( i18n($config['fairname']),
|
|
i18n("Awards Ceremony Script"),
|
|
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']}-logo-200.gif"
|
|
);
|
|
|
|
$rep->newPage();
|
|
if($scriptformat=="default") $rep->setFontSize(12);
|
|
if($scriptformat=="formatted") $rep->setFontSize(14);
|
|
}
|
|
else if($type=="csv") {
|
|
$rep=new lcsv(i18n("Awards Ceremony Script"));
|
|
}
|
|
$q=mysql_query("SELECT
|
|
award_awards.id,
|
|
award_awards.name,
|
|
award_awards.presenter,
|
|
award_awards.description,
|
|
award_awards.criteria,
|
|
award_awards.order AS awards_order,
|
|
award_types.type,
|
|
sponsors.organization
|
|
FROM
|
|
award_awards,
|
|
award_types,
|
|
sponsors,
|
|
award_awards_projectcategories
|
|
WHERE
|
|
award_awards.conferences_id='$forconference'
|
|
AND award_types.conferences_id='$forconference'
|
|
AND award_awards.award_types_id=award_types.id
|
|
AND award_awards.sponsors_id=sponsors.id
|
|
AND award_awards.id=award_awards_projectcategories.award_awards_id
|
|
AND award_awards.excludefromac='0'
|
|
AND ($and_categories)
|
|
$awardtype
|
|
GROUP BY award_awards.id
|
|
ORDER BY awards_order");
|
|
|
|
echo mysql_error();
|
|
// echo "<pre>";
|
|
if(!mysql_num_rows($q)) {
|
|
$rep->output();
|
|
exit;
|
|
}
|
|
$awards = array();
|
|
|
|
while($r=mysql_fetch_object($q)) {
|
|
|
|
$pq=mysql_query("SELECT
|
|
award_prizes.prize,
|
|
award_prizes.number,
|
|
award_prizes.id,
|
|
award_prizes.cash,
|
|
award_prizes.scholarship,
|
|
winners.projects_id,
|
|
projects.projectnumber,
|
|
projects.title,
|
|
projects.projectcategories_id,
|
|
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.conferences_id='$forconference'
|
|
AND award_prizes.excludefromac='0'
|
|
ORDER BY
|
|
`order`,
|
|
projects.projectnumber");
|
|
echo mysql_error();
|
|
|
|
$r->winners = array();
|
|
$r->awarded_count = 0;
|
|
while($w = mysql_fetch_object($pq)) {
|
|
if($w->projects_id)
|
|
{
|
|
$r->awarded_count++;
|
|
}
|
|
if($r->type == 'Divisional' && $group_by_prize==true) {
|
|
/* Search awards for an award name that matches this prize */
|
|
$found = false;
|
|
foreach($awards as &$p_award) {
|
|
if($p_award->name == $w->prize) {
|
|
/* Match! Set the prize name to the award name,
|
|
* and add the prize to the award */
|
|
$w->prize = $r->name;
|
|
$p_award->winners[] = $w;
|
|
$found = true;
|
|
// echo "Add to award {$p_award->name}: "; print_r($w);
|
|
break;
|
|
}
|
|
}
|
|
if($found == false) {
|
|
/* Make a new award and set it equal to the prize name */
|
|
$n = $r->name;
|
|
$new_award = clone($r);
|
|
$new_award->name = $w->prize;
|
|
/* Now add the prize with the award's name */
|
|
$w->prize = $n;
|
|
$new_award->winners[] = $w;
|
|
$awards[] = $new_award;
|
|
// echo "Create Award:"; print_r($new_award);
|
|
}
|
|
|
|
} else {
|
|
// echo "Add non-div winner\n";
|
|
$r->winners[] = $w;
|
|
}
|
|
}
|
|
|
|
if($show_unawarded_awards=="no" && $r->awarded_count == 0) {
|
|
/* No winners */
|
|
continue;
|
|
}
|
|
|
|
|
|
if($r->type == 'Divisional' && $group_by_prize == true) {
|
|
/* Do nothing */
|
|
} else {
|
|
$awards[] = $r;
|
|
}
|
|
}
|
|
// echo '<pre>'; print_r($awards);
|
|
|
|
foreach($awards as $r) {
|
|
|
|
if($scriptformat=="formatted")
|
|
$rep->newPage();
|
|
|
|
if($scriptformat=="default")
|
|
$rep->heading("$r->name ($r->type)");
|
|
if($scriptformat=="formatted") {
|
|
$rep->setFontBold();
|
|
$rep->addText("$r->name ($r->type)");
|
|
$rep->setFontNormal();
|
|
}
|
|
if($r->type!="Divisional")
|
|
$rep->addText(i18n("Sponsored by: %1",array($r->organization)));
|
|
if($r->presenter)
|
|
$rep->addText(i18n("Presented by: %1",array($r->presenter)));
|
|
if($r->description)
|
|
$rep->addText(i18n("Description: %1",array($r->description)));
|
|
if($show_criteria)
|
|
$rep->addText(i18n("Criteria: %1",array($r->criteria)));
|
|
|
|
if($scriptformat=="formatted") $rep->nextline();
|
|
|
|
if($r->awarded_count == 0)
|
|
{
|
|
$rep->addText("Not awarded");
|
|
}
|
|
|
|
$prevprizeid=-1;
|
|
|
|
foreach($r->winners as $pr) {
|
|
|
|
if($pr->projectnumber || $show_unawarded_prizes=="yes") {
|
|
if($prevprizeid!=$pr->id) {
|
|
$prizetext=$pr->prize;
|
|
|
|
if($pr->cash || $pr->scholarship) {
|
|
$prizetext.=" (";
|
|
if($pr->cash && $pr->scholarship)
|
|
$prizetext.="\$$pr->cash cash / \$$pr->scholarship scholarship";
|
|
else if($pr->cash)
|
|
$prizetext.= "\$$pr->cash cash";
|
|
else if($pr->scholarship)
|
|
$prizetext.= "\$$pr->scholarship scholarship";
|
|
$prizetext.= ")";
|
|
|
|
}
|
|
if($scriptformat=="default")
|
|
$rep->addText($prizetext);
|
|
if($scriptformat=="formatted") {
|
|
$rep->setFontBold();
|
|
$rep->addText($prizetext);
|
|
$rep->setFontNormal();
|
|
$rep->nextline();
|
|
}
|
|
|
|
$prevprizeid=$pr->id;
|
|
}
|
|
|
|
if($pr->projectnumber) {
|
|
if($scriptformat=="default")
|
|
$rep->addText( " ($pr->projectnumber) $pr->title");
|
|
|
|
$sq=mysql_query("SELECT users.firstname,
|
|
users.lastname,
|
|
users.pronunciation,
|
|
users.schools_id,
|
|
schools.school
|
|
FROM
|
|
users,
|
|
schools
|
|
WHERE
|
|
users.registrations_id='$pr->reg_id'
|
|
AND users.schools_id=schools.id
|
|
");
|
|
|
|
$students=" Students: ";
|
|
$studnum=0;
|
|
$pronounce = "";
|
|
$rawpronounce = "";
|
|
while($studentinfo=mysql_fetch_object($sq)) {
|
|
if($studnum>0) $students.=", ";
|
|
$students.="$studentinfo->firstname $studentinfo->lastname";
|
|
|
|
if($studentinfo->pronunciation) {
|
|
$students .= " (Pronounced \"{$studentinfo->pronunciation}\")";
|
|
}
|
|
|
|
$student_winner[$studnum] = "$studentinfo->firstname $studentinfo->lastname";
|
|
$student_win_pronunc[$studnum] = "$studentinfo->pronunciation";
|
|
$student_school[$studnum] = $studentinfo->school;
|
|
$studnum++;
|
|
}
|
|
|
|
if($scriptformat=="default") {
|
|
$rep->addText($students);
|
|
$rep->addText(" School: {$student_school[0]}");
|
|
}
|
|
if($scriptformat=="formatted") {
|
|
$rep->addTextX("$pr->projectnumber",0.5);
|
|
for($x=0; $x<$studnum; $x++) {
|
|
$rep->addTextX($student_winner[$x],1.4);
|
|
$rep->addTextX($student_school[$x],5.5);
|
|
if($show_pronunciation == TRUE && $student_win_pronunc[$x]) {
|
|
$rep->nextline();
|
|
$rep->addTextX("({$student_win_pronunc[$x]})",2.0);
|
|
}
|
|
if($type=="pdf")
|
|
$rep->nextline();
|
|
}
|
|
if(($studnum==1) && ($type == "csv")) $rep->addTextX("");
|
|
if(($studnum==1) && ($type == "csv")) $rep->addTextX("");
|
|
$rep->addText($pr->title,'left', 1.4);
|
|
if($type=="pdf") $rep->nextline();
|
|
$rep->nextline();
|
|
}
|
|
}
|
|
else {
|
|
$rep->addText(" Prize not awarded");
|
|
}
|
|
}
|
|
}
|
|
$rep->nextLine();
|
|
}
|
|
|
|
$rep->output();
|
|
?>
|