forked from science-ation/science-ation
Wow I dont even know what all is in this commit: few things i do know:
1) add (preliminary) special awards nominations for students 2) add css right-margin to summarytable class 3) add new table for projets-specialawards-link 4) move projects.inc.php from admin/ to / (so particpant registration can use it)
This commit is contained in:
parent
b1810d05a2
commit
ed663e77eb
@ -25,7 +25,7 @@
|
||||
require("../common.inc.php");
|
||||
auth_required('admin');
|
||||
require("judges.inc.php");
|
||||
require("projects.inc.php");
|
||||
require("../projects.inc.php");
|
||||
|
||||
send_header("Judging Teams Projects");
|
||||
?>
|
||||
@ -343,7 +343,7 @@ if( ($action=="edit" || $action=="assign" ) && $edit)
|
||||
foreach($teams AS $team)
|
||||
{
|
||||
echo "<tr>";
|
||||
echo "<td>";
|
||||
echo "<td width=\"200\">";
|
||||
echo "<b>".$team['name']." (#".$team['num'].")</b><br />";
|
||||
$memberlist="";
|
||||
foreach($team['members'] AS $member)
|
||||
@ -383,7 +383,7 @@ if( ($action=="edit" || $action=="assign" ) && $edit)
|
||||
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
echo "<tr><td>";
|
||||
echo "<tr><td width=\"150\" align=\"center\">";
|
||||
|
||||
echo "<nobr>";
|
||||
if($show_date)
|
||||
|
@ -23,7 +23,7 @@
|
||||
?>
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require("projects.inc.php");
|
||||
require("../projects.inc.php");
|
||||
auth_required('admin');
|
||||
|
||||
send_header("Administration - Award Winners");
|
||||
|
@ -7,3 +7,10 @@ CREATE TABLE `judges_teams_awards_link` (
|
||||
);
|
||||
ALTER TABLE judges_teams_awards_link ADD UNIQUE (award_awards_id,judges_teams_id,year);
|
||||
ALTER TABLE `judges_teams` CHANGE `name` `name` VARCHAR( 255 ) NOT NULL;
|
||||
CREATE TABLE `project_specialawards_link` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
|
||||
`award_awards_id` INT UNSIGNED NOT NULL ,
|
||||
`projects_id` INT UNSIGNED NOT NULL ,
|
||||
`year` INT NOT NULL ,
|
||||
PRIMARY KEY ( `id` )
|
||||
);
|
||||
|
@ -76,11 +76,89 @@ function getProjectsEligibleForAwards($awards_ids_array)
|
||||
return $projects;
|
||||
}
|
||||
|
||||
function getAwardsEligibleForProject($projectnumber)
|
||||
function getSpecialAwardsEligibleForProject($projectid)
|
||||
{
|
||||
global $config;
|
||||
|
||||
$prjq=mysql_query("SELECT
|
||||
$awardsq=mysql_query("SELECT
|
||||
award_awards.id,
|
||||
award_awards.name,
|
||||
award_awards.criteria,
|
||||
award_awards_projectcategories.projectcategories_id,
|
||||
award_awards_projectdivisions.projectdivisions_id,
|
||||
projects.id AS projects_id
|
||||
FROM
|
||||
award_awards,
|
||||
award_awards_projectcategories,
|
||||
award_awards_projectdivisions,
|
||||
award_types,
|
||||
projects
|
||||
WHERE
|
||||
award_types.type='Special'
|
||||
AND award_types.id=award_awards.award_types_id
|
||||
AND award_awards.id=award_awards_projectcategories.award_awards_id
|
||||
AND award_awards.id=award_awards_projectdivisions.award_awards_id
|
||||
AND projects.projectcategories_id=award_awards_projectcategories.projectcategories_id
|
||||
AND projects.projectdivisions_id=award_awards_projectdivisions.projectdivisions_id
|
||||
AND award_awards.id is not null
|
||||
AND projects.year='".$config['FAIRYEAR']."'
|
||||
AND projects.id='$projectid'
|
||||
ORDER BY
|
||||
award_awards.name
|
||||
");
|
||||
$awards=array();
|
||||
echo mysql_error();
|
||||
while($r=mysql_fetch_object($awardsq))
|
||||
{
|
||||
$awards[$r->id]=array(
|
||||
"id"=>$r->id,
|
||||
"criteria"=>$r->criteria,
|
||||
"name"=>$r->name
|
||||
);
|
||||
}
|
||||
return $awards;
|
||||
}
|
||||
|
||||
function getSpecialAwardsNominatedForProject($projectid)
|
||||
{
|
||||
global $config;
|
||||
|
||||
//FIXME: this query isnt done yet, its still a copy from above
|
||||
$awardsq=mysql_query("SELECT
|
||||
award_awards.id,
|
||||
award_awards.name,
|
||||
award_awards.criteria,
|
||||
projects.id AS projects_id
|
||||
FROM
|
||||
award_awards,
|
||||
project_specialawards_link,
|
||||
projects
|
||||
WHERE
|
||||
project_specialawards_link.projects_id='$projectid'
|
||||
AND project_specialawards_link.award_awards_id=award_awards.id
|
||||
AND projects.year='".$config['FAIRYEAR']."'
|
||||
AND projects.id='$projectid'
|
||||
ORDER BY
|
||||
award_awards.name
|
||||
");
|
||||
$awards=array();
|
||||
echo mysql_error();
|
||||
while($r=mysql_fetch_object($awardsq))
|
||||
{
|
||||
$awards[$r->id]=array(
|
||||
"id"=>$r->id,
|
||||
"criteria"=>$r->criteria,
|
||||
"name"=>$r->name
|
||||
);
|
||||
}
|
||||
return $awards;
|
||||
}
|
||||
|
||||
function getSpecialAwardsNominatedByRegistrationID($id)
|
||||
{
|
||||
global $config;
|
||||
|
||||
$awardq=mysql_query("SELECT
|
||||
award_awards.id,
|
||||
award_awards.name,
|
||||
award_awards_projectcategories.projectcategories_id,
|
||||
@ -112,20 +190,9 @@ function getAwardsEligibleForProject($projectnumber)
|
||||
);
|
||||
}
|
||||
return $projects;
|
||||
|
||||
}
|
||||
|
||||
function getAwardsEligibleForProjects($awards_ids_array)
|
||||
{
|
||||
$projects=array();
|
||||
foreach($awards_ids_array AS $award_id)
|
||||
{
|
||||
$awardprojects=array();
|
||||
$awardprojects=getProjectsEligibleForAward($award_id);
|
||||
//this will just overwrite ones that already exist, but still keep things in order because the main key is the projectnumber (i hope)
|
||||
foreach($awardprojects AS $proj)
|
||||
$projects[$proj['projectnumber']]=$proj;
|
||||
}
|
||||
|
||||
return $projects;
|
||||
}
|
||||
|
||||
?>
|
@ -185,5 +185,31 @@ function safetyStatus($reg_id="")
|
||||
|
||||
}
|
||||
|
||||
function spawardStatus($reg_id="")
|
||||
{
|
||||
if($reg_id) $rid=$reg_id;
|
||||
else $rid=$_SESSION['registration_id'];
|
||||
|
||||
return false;
|
||||
//grab all of their answers
|
||||
$q=mysql_query("SELECT * FROM safety WHERE registrations_id='$rid'");
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
$safetyanswers[$r->safetyquestions_id]=$r->answer;
|
||||
}
|
||||
|
||||
//now grab all the questions
|
||||
$q=mysql_query("SELECT * FROM safetyquestions ORDER BY ord");
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
if($r->required=="yes" && !$safetyanswers[$r->id])
|
||||
{
|
||||
return "incomplete";
|
||||
}
|
||||
}
|
||||
return "complete";
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
|
@ -84,6 +84,8 @@ echo mysql_error();
|
||||
echo "<br />";
|
||||
echo "<br />";
|
||||
|
||||
echo "<table><tr><td>";
|
||||
|
||||
echo "<table class=\"summarytable\">";
|
||||
echo "<tr><th>".i18n("Registration Item")."</th><th>".i18n("Status")."</th></tr>";
|
||||
|
||||
@ -171,6 +173,28 @@ echo "</td></tr>";
|
||||
|
||||
echo "</table>" ;
|
||||
|
||||
echo "</td>";
|
||||
echo "<td align=\"left\" width=\"50%\">";
|
||||
if($config['specawardnom']!="none")
|
||||
{
|
||||
echo "<table class=\"summarytable\">";
|
||||
echo "<tr><th>".i18n("Special Award Nominations")."</th></tr>";
|
||||
if(registrationFormsReceived())
|
||||
{
|
||||
echo "<tr><td><a href=\"register_participants_spawards.php\">".i18n("Self-nominate for special awards")."</a></td></tr>";
|
||||
// $awards=getSpecialAwardsNominatedByRegistrationID($_SESSION['registration_id']);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<tr><td>".error(i18n("We must receive your signature form before you can nominate yourself for special awards"),"inline")."</td></tr>";
|
||||
}
|
||||
|
||||
echo "</table>";
|
||||
}
|
||||
|
||||
echo "</td></tr>";
|
||||
echo "</table>";
|
||||
|
||||
echo "<br /><br />";
|
||||
echo "<h3>".i18n("Registration Instructions")."</h3>";
|
||||
|
||||
|
167
register_participants_spawards.php
Normal file
167
register_participants_spawards.php
Normal file
@ -0,0 +1,167 @@
|
||||
<?
|
||||
/*
|
||||
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");
|
||||
include "register_participants.inc.php";
|
||||
include "projects.inc.php";
|
||||
|
||||
//authenticate based on email address and registration number from the SESSION
|
||||
if(!$_SESSION['email'])
|
||||
{
|
||||
header("Location: register_participants.php");
|
||||
exit;
|
||||
}
|
||||
if(!$_SESSION['registration_number'])
|
||||
{
|
||||
header("Location: register_participants.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
$q=mysql_query("SELECT registrations.id AS regid, students.id AS studentid, students.firstname FROM registrations,students ".
|
||||
"WHERE students.email='".$_SESSION['email']."' ".
|
||||
"AND registrations.num='".$_SESSION['registration_number']."' ".
|
||||
"AND registrations.id='".$_SESSION['registration_id']."' ".
|
||||
"AND students.registrations_id=registrations.id ".
|
||||
"AND registrations.year=".$config['FAIRYEAR']." ".
|
||||
"AND students.year=".$config['FAIRYEAR']);
|
||||
echo mysql_error();
|
||||
|
||||
if(mysql_num_rows($q)==0)
|
||||
{
|
||||
header("Location: register_participants.php");
|
||||
exit;
|
||||
|
||||
}
|
||||
$authinfo=mysql_fetch_object($q);
|
||||
|
||||
$q=mysql_query("SELECT * FROM projects WHERE registrations_id='".$_SESSION['registration_id']."'");
|
||||
$project=mysql_fetch_object($q);
|
||||
|
||||
//send the header
|
||||
send_header("Participant Registration - Self-Nomination for Special Awards");
|
||||
|
||||
echo "<a href=\"register_participants_main.php\"><< ".i18n("Back to Participant Registration Summary")."</a><br />";
|
||||
echo "<br />";
|
||||
|
||||
if($_POST['action']=="save")
|
||||
{
|
||||
//FIXME: check the date when they have to have this in by and dont let them submit after that date
|
||||
// if(registrationFormsReceived())
|
||||
// {
|
||||
// echo error(i18n("Cannot make changes to forms once they have been received by the fair"));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
//first we will delete all their old answer, its easier to delete and re-insert in this case then it would be to find the corresponding answers and update them
|
||||
mysql_query("DELETE FROM project_specialawards_link WHERE projects_id='$project->id' AND year='".$config['FAIRYEAR']."'");
|
||||
$count=0;
|
||||
foreach($_POST['spaward'] AS $spaward)
|
||||
{
|
||||
mysql_query("INSERT INTO project_specialawards_link (award_awards_id,projects_id,year) VALUES (".
|
||||
"'$spaward', ".
|
||||
"'$project->id', ".
|
||||
"'".$config['FAIRYEAR']."')");
|
||||
echo mysql_error();
|
||||
$count++;
|
||||
}
|
||||
echo happy(i18n("Successfully registered for %1 special awards",array($count)));
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
||||
//output the current status
|
||||
$newstatus=spawardStatus();
|
||||
if($newstatus!="complete")
|
||||
{
|
||||
echo error(i18n("Special Awards Self-Nomination Incomplete"));
|
||||
}
|
||||
else if($newstatus=="complete")
|
||||
{
|
||||
echo happy(i18n("Safety Awards Self-Nomination Complete"));
|
||||
|
||||
}
|
||||
|
||||
echo "<form method=\"post\" action=\"register_participants_spawards.php\">\n";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"save\">\n";
|
||||
echo "<table>\n";
|
||||
|
||||
$q=mysql_query("SELECT * FROM safety WHERE registrations_id='".$_SESSION['registration_id']."'");
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
$safetyanswers[$r->safetyquestions_id]=$r->answer;
|
||||
}
|
||||
|
||||
$eligibleawards=getSpecialAwardsEligibleForProject($project->id);
|
||||
$nominatedawards=getSpecialAwardsNominatedForProject($project->id);
|
||||
|
||||
echo "eligible awards <br>";
|
||||
echo nl2br(print_r($eligibleawards,true));
|
||||
echo "nominated awards <br>";
|
||||
echo nl2br(print_r($nominatedawards,true));
|
||||
|
||||
$nominatedawards_list=array();
|
||||
foreach($nominatedawards AS $naward)
|
||||
{
|
||||
$nominatedawards_list[]=$naward['id'];
|
||||
}
|
||||
|
||||
echo "<table>";
|
||||
foreach($eligibleawards AS $eaward)
|
||||
{
|
||||
echo "<tr><td rowspan=\"2\">";
|
||||
if(in_array($eaward['id'],$nominatedawards_list)) $ch="checked=\"checked\""; else $ch="";
|
||||
echo "<input $ch type=\"checkbox\" name=\"spaward[]\" value=\"".$eaward['id']."\" />";
|
||||
echo "</td><td>";
|
||||
echo "<b>".$eaward['name']."</b>";
|
||||
echo "</td></tr>";
|
||||
echo "<tr><td>";
|
||||
echo $eaward['criteria'];
|
||||
echo "<br /><br />";
|
||||
echo "</td></tr>";
|
||||
}
|
||||
echo "</table>";
|
||||
/*
|
||||
$num=1;
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
echo "<tr><td><b>$num</b>. </td><td>".i18n($r->question)."</td>";
|
||||
echo "<td>";
|
||||
if($r->type=="check")
|
||||
{
|
||||
if($safetyanswers[$r->id]=="checked") $ch="checked=\"checked\""; else $ch="";
|
||||
echo "<input $ch type=\"checkbox\" name=\"safety[$r->id]\" value=\"checked\" />";
|
||||
}
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
$num++;
|
||||
}
|
||||
echo "</table>";
|
||||
*/
|
||||
echo "<input type=\"submit\" value=\"".i18n("Save Safety Information")."\" />\n";
|
||||
echo "</form>";
|
||||
|
||||
|
||||
send_footer();
|
||||
?>
|
Loading…
Reference in New Issue
Block a user