2005-05-06 20:02:20 +00:00
< ?
/*
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 .
*/
?>
< ?
function getProjectsEligibleForAward ( $award_id )
{
global $config ;
$prjq = mysql_query ( " SELECT
award_awards . id ,
award_awards_projectcategories . projectcategories_id ,
award_awards_projectdivisions . projectdivisions_id ,
projects . projectnumber ,
projects . title ,
projects . id AS projects_id
FROM
award_awards ,
award_awards_projectcategories ,
award_awards_projectdivisions ,
projects
WHERE
award_awards . id = '$award_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 projects . projectnumber is not null
AND projects . year = '".$config[' FAIRYEAR ']."'
ORDER BY
projectnumber
" );
$projects = array ();
while ( $prjr = mysql_fetch_object ( $prjq ))
{
$projects [ $prjr -> projectnumber ] = array (
" id " => $prjr -> projects_id ,
" projectnumber " => $prjr -> projectnumber ,
" title " => $prjr -> title
);
}
return $projects ;
}
2005-05-12 19:47:50 +00:00
function getProjectsEligibleOrNominatedForAwards ( $awards_ids_array )
2005-05-06 20:02:20 +00:00
{
$projects = array ();
foreach ( $awards_ids_array AS $award_id )
{
2005-05-12 19:47:50 +00:00
$q = mysql_query ( " SELECT award_types.type FROM award_awards, award_types WHERE award_awards.id=' $award_id ' AND award_awards.award_types_id=award_types.id " );
$r = mysql_fetch_object ( $q );
2005-05-06 20:02:20 +00:00
$awardprojects = array ();
2005-05-12 19:47:50 +00:00
//for special awards, we only want the ones that were nominated for it.
//for everything else, we weant all the eligible projects
if ( $r -> type == " Special " )
$awardprojects = getProjectsNominatedForSpecialAward ( $award_id );
else
$awardprojects = getProjectsEligibleForAward ( $award_id );
// $projects[$award_id]=$awardprojects;
2005-05-06 20:02:20 +00:00
//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 ;
}
2005-05-10 21:51:22 +00:00
2005-05-11 04:13:27 +00:00
function getSpecialAwardsEligibleForProject ( $projectid )
2005-05-10 21:51:22 +00:00
{
global $config ;
2005-05-11 04:13:27 +00:00
$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 ;
$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 ;
}
2005-05-12 19:47:50 +00:00
function getProjectsNominatedForSpecialAward ( $award_id )
{
global $config ;
2006-01-26 15:06:56 +00:00
//if they dont use special award nominations, then we will instead get all of the projects that
//are eligible for the award, instead of nominated for it.
if ( $config [ 'specialawardnomination' ] != " none " )
2005-05-12 19:47:50 +00:00
{
2006-01-26 15:06:56 +00:00
$prjq = mysql_query ( " SELECT
projects . projectnumber ,
projects . title ,
projects . id AS projects_id
FROM
project_specialawards_link ,
projects
WHERE
project_specialawards_link . award_awards_id = '$award_id'
AND project_specialawards_link . projects_id = projects . id
AND projects . projectnumber is not null
AND projects . year = '".$config[' FAIRYEAR ']."'
ORDER BY
projectnumber
" );
$projects = array ();
while ( $prjr = mysql_fetch_object ( $prjq ))
{
$projects [ $prjr -> projectnumber ] = array (
" id " => $prjr -> projects_id ,
" projectnumber " => $prjr -> projectnumber ,
" title " => $prjr -> title
);
}
//return the projects that have self-nominated themselves for the award
return $projects ;
}
else
{
//return the projects that are eligible for the award instead
return getProjectsEligibleForAward ( $award_id );
2005-05-12 19:47:50 +00:00
}
}
2005-05-11 04:13:27 +00:00
function getSpecialAwardsNominatedByRegistrationID ( $id )
{
global $config ;
$awardq = mysql_query ( " SELECT
2005-05-10 21:51:22 +00:00
award_awards . id ,
award_awards . name ,
award_awards_projectcategories . projectcategories_id ,
award_awards_projectdivisions . projectdivisions_id ,
projects . id AS projects_id
FROM
award_awards ,
award_awards_projectcategories ,
award_awards_projectdivisions ,
projects
WHERE
award_awards . id = '$award_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 projects . projectnumber is not null
AND projects . year = '".$config[' FAIRYEAR ']."'
ORDER BY
projectnumber
" );
$projects = array ();
while ( $prjr = mysql_fetch_object ( $prjq ))
{
$projects [ $prjr -> projectnumber ] = array (
" id " => $prjr -> projects_id ,
" projectnumber " => $prjr -> projectnumber ,
" title " => $prjr -> title
);
}
return $projects ;
2005-05-11 04:13:27 +00:00
2005-05-10 21:51:22 +00:00
}
2005-05-11 04:13:27 +00:00
2005-05-10 21:51:22 +00:00
?>