forked from science-ation/science-ation
e8face39d6
the project number field if blank). - Add a new number option 'X', which counts among ALL projects, not just the ones in the same division/cat. - Add a padding argument to N or X (N0...N9) defaults to 2 for N, and 3 for X. - Adds 3 columns to the project table: - projectsort: for storing the expanded text - projectnumber_seq: for storing the N or X number for projects - projectsort_seq: for storing the N or X number for the sort order - Add a new config option for sorting, and expand the text for the projectnumber. - Change the default sorting for reports and project lists to use the projectsort category. - Remove the gvrsf_tn option from the database, it's not needed now.
272 lines
7.6 KiB
PHP
272 lines
7.6 KiB
PHP
<?
|
|
/*
|
|
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
|
|
projectsort
|
|
");
|
|
$projects=array();
|
|
while($prjr=mysql_fetch_object($prjq))
|
|
{
|
|
$projects[$prjr->projectnumber]=array(
|
|
"id"=>$prjr->projects_id,
|
|
"projectnumber"=>$prjr->projectnumber,
|
|
"title"=>$prjr->title
|
|
);
|
|
}
|
|
return $projects;
|
|
}
|
|
|
|
function getProjectsEligibleOrNominatedForAwards($awards_ids_array)
|
|
{
|
|
$projects=array();
|
|
foreach($awards_ids_array AS $award_id)
|
|
{
|
|
$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);
|
|
|
|
$awardprojects=array();
|
|
|
|
//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;
|
|
|
|
//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;
|
|
}
|
|
|
|
function getSpecialAwardsEligibleForProject($projectid)
|
|
{
|
|
global $config;
|
|
|
|
$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'
|
|
AND award_types.year='".$config['FAIRYEAR']."'
|
|
AND award_awards.year='".$config['FAIRYEAR']."'
|
|
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;
|
|
}
|
|
|
|
function getNominatedForNoSpecialAwardsForProject($projectid)
|
|
{
|
|
global $config;
|
|
$awardsq=mysql_query("SELECT
|
|
projects.id AS projects_id
|
|
FROM
|
|
project_specialawards_link,
|
|
projects
|
|
WHERE
|
|
project_specialawards_link.projects_id='$projectid'
|
|
AND projects.year='".$config['FAIRYEAR']."'
|
|
AND projects.id='$projectid'
|
|
AND project_specialawards_link.award_awards_id IS NULL
|
|
");
|
|
if(mysql_num_rows($awardsq) == 1) return true;
|
|
return false;
|
|
}
|
|
|
|
function getProjectsNominatedForSpecialAward($award_id)
|
|
{
|
|
global $config;
|
|
|
|
//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")
|
|
{
|
|
$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
|
|
projectsort
|
|
");
|
|
$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);
|
|
}
|
|
}
|
|
|
|
function getSpecialAwardsNominatedByRegistrationID($id)
|
|
{
|
|
global $config;
|
|
|
|
$awardq=mysql_query("SELECT
|
|
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
|
|
projectsort
|
|
");
|
|
$projects=array();
|
|
while($prjr=mysql_fetch_object($prjq))
|
|
{
|
|
$projects[$prjr->projectnumber]=array(
|
|
"id"=>$prjr->projects_id,
|
|
"projectnumber"=>$prjr->projectnumber,
|
|
"title"=>$prjr->title
|
|
);
|
|
}
|
|
return $projects;
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|